*** mriedem has quit IRC | 00:38 | |
*** altlogbot_0 has quit IRC | 01:37 | |
*** altlogbot_1 has joined #openstack-sdks | 01:39 | |
*** ricolin has joined #openstack-sdks | 02:16 | |
*** gtema has joined #openstack-sdks | 02:30 | |
*** gtema has quit IRC | 02:34 | |
*** slaweq has quit IRC | 02:35 | |
*** whoami-rajat has joined #openstack-sdks | 03:08 | |
*** yolanda has quit IRC | 03:21 | |
*** yolanda has joined #openstack-sdks | 03:22 | |
*** Luzi has joined #openstack-sdks | 05:05 | |
*** gkadam_ has joined #openstack-sdks | 05:54 | |
*** gkadam_ has quit IRC | 05:54 | |
*** gkadam has quit IRC | 05:56 | |
*** slaweq has joined #openstack-sdks | 07:06 | |
*** tosky has joined #openstack-sdks | 07:24 | |
*** ralonsoh has joined #openstack-sdks | 07:43 | |
*** cdent has joined #openstack-sdks | 07:44 | |
*** jpich has joined #openstack-sdks | 07:51 | |
*** gtema has joined #openstack-sdks | 07:56 | |
*** gtema has quit IRC | 08:14 | |
*** gtema has joined #openstack-sdks | 08:14 | |
*** dtantsur|afk is now known as dtantsur | 08:22 | |
*** gtema has quit IRC | 08:24 | |
dtantsur | Shrews, mordred: there was an existing patch for the traits problem, but thanks for fixing it anyway | 08:24 |
---|---|---|
*** e0ne has joined #openstack-sdks | 08:35 | |
*** jpich has quit IRC | 09:38 | |
*** jpich has joined #openstack-sdks | 09:39 | |
openstackgerrit | Merged openstack/openstacksdk master: Update betacloud vendor entry https://review.opendev.org/674715 | 10:22 |
openstackgerrit | Merged openstack/openstacksdk master: Add Python 3 Train unit tests https://review.opendev.org/667494 | 10:22 |
dtantsur | mordred: we don't support global_request_id in SDK, do we? | 10:32 |
dtantsur | also it seems that the Volume support it very basic, right? | 10:36 |
*** jpich has quit IRC | 11:41 | |
*** jpich has joined #openstack-sdks | 11:42 | |
*** zbr is now known as zbr|lunch | 12:01 | |
mordred | dtantsur: I'm not sure what global_request_id is? so probably not - but maybe we do via keystoneauth? | 12:10 |
mordred | dtantsur: and yeah - the openstack.block_storage layer could use more love for sure. | 12:11 |
dtantsur | oh, yeah, global_request_id is a keystoneauth thing. I just need to know how to pass it to a Connectin.. | 12:25 |
*** zbr|lunch is now known as zbr | 12:38 | |
mordred | dtantsur: ok. I just read the global_request_id stuff in ksa | 12:44 |
mordred | this is going to be a fun one ... because it's supposed to be set per-request, but the individual requests aren't partcularly exposed | 12:45 |
mordred | dtantsur: I almost think we should make a $something like a context manager or something, so you coudl say with conn.global_request_id(the_id) as req_conn: req_conn.baremetal.machines() ... or something similar | 12:46 |
mordred | (because a Connection can be used from a multi-threaded context, so just setting a global_request_id attribute on the Connection object so that it picked it up and passed it in to the request arguments would be a step, but it wouldnt' be the full picture) | 12:48 |
dtantsur | Ironic currently creates a connection per request (may end up in 1-10 sdk requests, but still) | 12:48 |
dtantsur | but I like the idea with a context manager | 12:49 |
mordred | dtantsur: let me poke for just a sec - I think I can make you a patch real quick | 12:50 |
*** mriedem has joined #openstack-sdks | 13:00 | |
openstackgerrit | Monty Taylor proposed openstack/openstacksdk master: Add support for global_request_id https://review.opendev.org/674807 | 13:04 |
mordred | dtantsur: ^^ how about that? | 13:04 |
dtantsur | lemme see | 13:04 |
mordred | dtantsur: (it should also let you just set it in the constructor in ironic since you're only doing connection per request anyway) | 13:04 |
rm_work | dtroyer: apparently here | 13:23 |
dtroyer | rm_work: +1 | 13:24 |
rm_work | dtroyer: barbican meeting happening right now and there's some discussion of the right direction for client work, like ... python-Xclient, openstack-sdk, and interfacing with openstackclient etc | 13:25 |
rm_work | i dunno if they want to spend meeting time on it or if we might just follow up after, but i know you had some thoughts on this from the last time we talked at the PTG I think? | 13:25 |
rm_work | they're considering deprecating their python-barbicanclient and moving to openstacksdk only? is that right right direction? | 13:27 |
rm_work | and then would they write in openstack-client support via the SDK code? | 13:27 |
dtroyer | rm_work: I'm in another meeting at the moment but everything is basically converging on SDK, so I'd support tha | 13:27 |
rm_work | kk | 13:27 |
rm_work | np maybe can talk after | 13:27 |
mordred | rm_work: yes - deprecating python-*client and moving to SDK is the right direction for sure | 13:31 |
*** olaph has quit IRC | 13:34 | |
rm_work | ok cool thanks :) | 13:43 |
efried | mordred, dtantsur: I just added that global_request_id kwarg in ksa's Session.request so you can set it per call | 13:55 |
efried | I haven't looked at what you're doing in sdk yet... | 13:56 |
mordred | efried: yah - I bumped the sdk min so we can consume it | 13:56 |
efried | ah cool | 13:56 |
mordred | (and added some hooks and stuff) | 13:56 |
*** Luzi has quit IRC | 13:56 | |
efried | okay, I'll take a closer look. | 13:56 |
dtantsur | great! | 14:04 |
*** altlogbot_1 has quit IRC | 14:12 | |
*** altlogbot_3 has joined #openstack-sdks | 14:14 | |
Shrews | dtantsur: oops, sorry for missing the traits fix | 14:20 |
*** jpich has quit IRC | 15:35 | |
*** jpich has joined #openstack-sdks | 15:36 | |
*** ricolin has quit IRC | 16:20 | |
*** tosky has quit IRC | 16:25 | |
*** jpich has quit IRC | 16:37 | |
Shrews | mordred: so that code... seems to delete a single object, yet from my cleanup, i see multiple objects for each image. does sdk split that up into separate objects, or is that something rax does behind the scenes? | 16:37 |
mordred | Shrews: it's something we do ... one sec | 16:38 |
mordred | Shrews: if you look in openstack/cloud/_object_store.py - and look for "use_slo" | 16:38 |
mordred | Shrews: and then _upload_large_object | 16:39 |
mordred | Shrews: https://docs.openstack.org/swift/latest/overview_large_objects.html is the docs for the feature | 16:40 |
Shrews | ok. i'll have to study this | 16:42 |
mordred | Shrews: and in delete_object in openstack/cloud/_object_store.py - we check to see if it was a static-large-object. if not, we pass the multipart-manifest = delete param which shoudl cause deleting the dynamic-large-object to delete all the segments. and if it is a static large object deleting the manifest is _supposed_ to delete the segments *I think* | 16:42 |
mordred | it's also possibel that with static large objects it's our responsibility to delete the segments | 16:42 |
mordred | or with dynamic | 16:42 |
mordred | I might be getting the boolean backwards | 16:42 |
mordred | anyway - yes - please learn things - I'm probably wrong about many parts | 16:43 |
timburke | ?multipart-manifest=delete works on SLOs -- it does *not* work on DLOs | 16:48 |
*** e0ne has quit IRC | 16:48 | |
*** cdent has quit IRC | 16:48 | |
mordred | timburke: on DLOs, we're supposed to delete all of the segments ourselves, yes? | 16:50 |
*** dtantsur is now known as dtantsur|afk | 17:07 | |
*** ralonsoh has quit IRC | 17:08 | |
timburke | mordred, yup, client's gotta manage the segments for DLO | 17:16 |
*** mgariepy has quit IRC | 17:25 | |
mordred | Shrews: ^^ - ok, so on DLO we're almost certainly leaking segments | 18:14 |
mordred | Shrews: but I don't see anywhere in nodepool where we're setting use_slo to false so I'd expect we're using SLO | 18:14 |
Shrews | mordred: would that come from a clouds.yaml setting? | 18:15 |
Shrews | rackspace profile maybe? | 18:16 |
Shrews | hrm, all i see is "image_api_use_tasks": true | 18:17 |
*** e0ne has joined #openstack-sdks | 18:17 | |
mordred | yeah - it's not a setting we set in clouds.yaml | 18:29 |
mordred | Shrews: so - a few things ... | 18:29 |
mordred | Shrews: I think it's entirely possible that we will leak swift objects any time sometihng _else_ goes wrong in an image upload that doesn't trigger that finally | 18:30 |
mordred | also - maybe we leaked a bunch of things a while back - I think there was a time when the default of use_slo was the opposite | 18:30 |
mordred | Shrews: maybe on use_tasks clouds we should have delete_image go and look for the object that would have been used and try to delete it? | 18:31 |
* mordred just thinking out loud | 18:31 | |
*** e0ne has quit IRC | 18:31 | |
Shrews | maybe | 18:31 |
Shrews | mordred: is the slo manifest an object within itself? where would i find it? | 18:34 |
Shrews | wondering if i can view it from the openstack client. all i see are the segments in 'images' | 18:35 |
mordred | Shrews: it is an object | 18:40 |
mordred | Shrews: iirc, there should be a bunch of segment objects like foo/123456 - and then there should be a manifest object foo | 18:40 |
mordred | which should contain a json document pointing to all of the segment objects | 18:41 |
*** jangutter has quit IRC | 18:42 | |
Shrews | mordred: ah, maybe something... | 18:47 |
Shrews | openstack.exceptions.BadRequestException: BadRequestException: 400: Client Error for url: https://storage101.ord1.clouddrive.com/v1/MossoCloudFS_28a933f9-900d-40b8-9de3-deb24d213aa2/images/opensuse-15-1564920980?multipart-manifest=put, Bad Request | 18:47 |
Shrews | mordred: if we fail to save the manifest, i bet we don't (can't?) delete the segments | 18:48 |
Shrews | that one happened 2 days ago, and is the only image segments i did not delete in ORD because it was too recent | 18:49 |
Shrews | mordred: so feeling like your first suspicion might be viable | 18:50 |
mordred | Shrews: ah - yeah | 18:51 |
mordred | Shrews: sounds like we should maybe retry the manifest put - and if it exceeds retries maybe unwind deleting teh segments since we do have the list of segments in the manifest at that point? | 18:52 |
Shrews | mordred: yup | 18:52 |
mordred | Shrews: also - a retry at that point is WAY cheaper than a hard-fail followed by re-uploading all of the segments later | 18:53 |
Shrews | totally | 18:56 |
Shrews | will see what kind of code i can barf out after the meeting | 18:56 |
Shrews | mordred: also, i'm guessing the 'images_segments' container is an old artifact? doesn't seem to be used | 18:57 |
Shrews | it exists in rax, but empty across the board | 18:58 |
*** e0ne has joined #openstack-sdks | 19:04 | |
*** mriedem has quit IRC | 19:08 | |
mordred | yeah - I thnk old | 19:08 |
*** mriedem has joined #openstack-sdks | 19:09 | |
mordred | efried: dammit. your sensible request for tests has caused me to remember that something else is broken and find a whole new thing is broken | 19:12 |
*** e0ne has quit IRC | 19:13 | |
*** e0ne has joined #openstack-sdks | 19:14 | |
*** e0ne has quit IRC | 19:15 | |
openstackgerrit | Monty Taylor proposed openstack/openstacksdk master: Add support for global_request_id https://review.opendev.org/674807 | 19:17 |
mordred | efried, dtantsur|afk: ^^ that adds a test and fixes the other issues - and also 2 things are borked that I would like to get fixed | 19:17 |
efried | mordred: ack, and #sorrynotsorry | 19:49 |
*** e0ne has joined #openstack-sdks | 19:51 | |
mordred | Shrews: we're naming the swift object after the image name, right? | 20:00 |
Shrews | mordred: i believe so | 20:01 |
mordred | Shrews: so we could also do a scan of objects matching the pattern ${imagename}/${index} on image delete perhaps? | 20:01 |
Shrews | mordred: well, yeah, but why? as an extra precaution? | 20:02 |
efried | mordred: reviewed | 20:03 |
Shrews | mordred: unless in rax, the images automatically reference the swift object? i had assumed that there was some step after uploading to make it a proper "image", but maybe that's not correct | 20:05 |
mordred | Shrews: well - there's no swift object anywhere but rax | 20:07 |
mordred | Shrews: but yeah - extra precaution - probably not worth the energy | 20:07 |
*** slaweq has quit IRC | 20:09 | |
*** factor has joined #openstack-sdks | 20:22 | |
*** slaweq has joined #openstack-sdks | 20:25 | |
*** slaweq has quit IRC | 20:30 | |
*** mriedem is now known as mriedem_afk | 20:46 | |
*** e0ne has quit IRC | 20:48 | |
*** whoami-rajat has quit IRC | 20:56 | |
*** mriedem_afk is now known as mriedem | 21:20 | |
*** mriedem has quit IRC | 23:40 |
Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!