Wednesday, 2020-07-22

*** gyee has quit IRC00:20
*** k_mouza has joined #openstack-glance01:12
*** k_mouza has quit IRC01:16
openstackgerritDan Smith proposed openstack/glance master: Make image conversion use a proper python interpreter for prlimit  https://review.opendev.org/74231402:44
*** baojg has quit IRC03:10
*** Liang__ has joined #openstack-glance03:31
openstackgerritMerged openstack/glance master: Make our tempest job use import, standalone, and inject_metadata  https://review.opendev.org/74127604:12
*** ratailor has joined #openstack-glance04:14
*** ratailor_ has joined #openstack-glance04:26
*** ratailor has quit IRC04:26
*** m75abrams has joined #openstack-glance04:53
*** ajitha has joined #openstack-glance05:09
*** udesale has joined #openstack-glance05:27
*** rosmaita has quit IRC05:41
*** rosmaita has joined #openstack-glance05:41
*** ajitha has quit IRC06:09
*** nikparasyr has joined #openstack-glance06:31
*** amoralej|off is now known as amoralej07:22
nikparasyrgoodmorning. any1 using https://docs.openstack.org/glance/stein/admin/interoperable-image-import.html for auto-convert and/or injecting default image properties? I have some issues using it07:23
*** ralonsoh has joined #openstack-glance07:29
*** rcernin has quit IRC07:32
*** baojg has joined #openstack-glance08:26
openstackgerritAbhishek Kekane proposed openstack/glance_store master: PoC Cinder multiple stores  https://review.opendev.org/74237108:44
openstackgerritAbhishek Kekane proposed openstack/glance master: PoC for lazy loading cinder store  https://review.opendev.org/74237308:49
*** ratailor__ has joined #openstack-glance09:04
*** ratailor_ has quit IRC09:06
* abhishekk will be back around 1400 UTC09:07
*** rcernin has joined #openstack-glance09:10
*** rcernin has quit IRC09:35
*** Liang__ has quit IRC09:40
*** k_mouza has joined #openstack-glance09:53
*** udesale_ has joined #openstack-glance09:58
*** udesale has quit IRC10:01
*** priteau has joined #openstack-glance10:33
*** tkajinam has quit IRC10:59
jokkenikparasyr: what's up11:06
nikparasyrjokke hello :). I have enabled the image_conversion and inject_image_metadata plugins. The config can be seen here: https://pastebin.com/GKYkgAX3.  after reconfiguring I create an image via:  glance image-create-via-import --disk-format raw --container-format bare --name conversion_test --import-method web-download --uri https://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img. The image is still qcow2, that is what11:38
nikparasyr image show indicates and also if i download and check the format its qcow2. properties are also not added. I'm running a 3-node glance-api with haproxy on top.  based on documentation the underlying filesystem between the nodes should be shared, which is not the case in my setup. I switched off the glance-api from 2 of the nodes and tried with the same results.11:38
nikparasyrdebug level logs do not have any error, they show the flow transitioning from imported etc but no "convert" step11:38
nikparasyrquestion is am i possibly missing something in the configuration?11:39
nikparasyrstore is ceph11:39
*** rcernin has joined #openstack-glance11:49
*** baojg has quit IRC11:49
*** baojg has joined #openstack-glance11:50
*** amoralej is now known as amoralej|lunch12:05
*** baojg has quit IRC12:11
*** baojg has joined #openstack-glance12:12
jokkenikparasyr: I don't see the staging path in your config12:27
nikparasyrisnt the default /tmp/staging used?12:27
nikparasyrsorry im using kolla-ansible to deploy, and the snippet i sent is basically what im overwriting to the default configuration12:28
jokkeah ok ... sorry12:29
jokkeso you have that folder and it creates the image, you have your metadata injected but no convert?12:29
nikparasyrno covnert and also no metadata injected12:29
jokkehow is kolla starting glance (if you check `ps aux | grep glance-api` is it specifying config file or config folder?12:31
nikparasyrgimme a sec to check12:31
jokkesure12:31
jokkeiirc we have had problems getting the extra configs picked up unless the config dir is used so that might be a thing if it just points to glance-api.conf12:32
nikparasyrruns inside a docker container. ps aux | grep glance on the container gives: glance      24  0.0  0.1 549944 110196 ?       S    Jul21   0:00 /usr/bin/python2 /usr/bin/glance-api12:33
nikparasyrthe config files are under /etc/glance12:33
nikparasyryday i also configured adding property policy file and that worked well, the difference though is that for that one you explicitely define the property policy file location on the glance-api.conf12:36
*** rm_work has quit IRC12:38
jokkeyeah12:39
*** mordred has quit IRC12:40
jokkeso if you start glance-api with debug logging, it lists all it's config options it picks up at the start, I'm pretty sure you won't see image_import_opts.image_import_plugins nor inject_metadata_properties & image_conversion groups there12:41
jokkelet me see if we managed to fix the config pickup issue and which branches we actually backported it12:41
*** rm_work has joined #openstack-glance12:42
nikparasyrok. i was going through the logs yday after reconfiguring and setting debug mode. i didnt notice something like that and i think i would. I'll run it again in a bit to doublecheck12:43
*** ratailor__ has quit IRC12:45
nikparasyrbtw in case that this is useful:12:46
nikparasyr(glance-api)[root@control-t01 /]# glance-api --version12:46
nikparasyr18.0.112:46
*** mordred has joined #openstack-glance12:49
jokkenikparasyr: https://bugs.launchpad.net/glance/+bug/1775782 I think you're hitting this one12:52
openstackLaunchpad bug 1775782 in Glance "glance-image-import.conf not parsed when running under wsgi" [Critical,In progress] - Assigned to Erno Kuvaja (jokke)12:52
jokkeor actually pretty sure you are12:52
jokkenikparasyr: so indeed the config file is not being picked up12:53
jokkenikparasyr: so 2 quick approaches to get you moving with that. 1st and least intrusive is to change the glance startup script to run it with --config-dir parameter or 2nd option would be to modify the glance/cmd/api.py as abhishekk mentioned in https://bugs.launchpad.net/glance/+bug/1775782/comments/212:56
openstackLaunchpad bug 1775782 in Glance "glance-image-import.conf not parsed when running under wsgi" [Critical,In progress] - Assigned to Erno Kuvaja (jokke)12:56
nikparasyrok. i'll have a look. thanks a lot for the help. i'll keep you updated. Another question is: for these features to work is it a hard requirement to have either a single-node glance or if multinode have a shared fs below?13:04
*** amoralej|lunch is now known as amoralej13:19
*** baojg has quit IRC13:23
*** baojg has joined #openstack-glance13:24
*** rcernin has quit IRC13:32
openstackgerritDan Smith proposed openstack/glance master: Make image conversion use a proper python interpreter for prlimit  https://review.opendev.org/74231413:32
dansmithabhishekk: I forgot to set the interpreter config in ^ but it _did_ try image conversion in wsgi in CI at least13:33
jokkenikparasyr: for glance-direct it is atm.13:34
jokkenikparasyr: we're trying to find our ways around that but the problem with glance-direct is that the stage and the import calls might land on different nodes, which will fail the import if it doesn't have access to the staged data. web-download works just fine even with split staging13:35
openstackgerritDan Smith proposed openstack/glance master: Make glance-api able to do async tasks in WSGI mode  https://review.opendev.org/74206513:38
openstackgerritDan Smith proposed openstack/glance master: Make image conversion use a proper python interpreter for prlimit  https://review.opendev.org/74231413:38
jokkedansmith: that starts to look promising13:38
dansmithjokke: as of that second patch I don't know of anything that doesn't work under uwsgi13:39
dansmithso, yes :)13:39
nikparasyrjokke: thanks for this as well. in our case these features are quite important but switching to single-node only to have them might be a big trade-off that we might not be willing to make. in any case. figuring out how to config kolla to have glance-api start with --config-dir13:41
*** baojg has quit IRC13:41
*** baojg has joined #openstack-glance13:43
openstackgerritDan Smith proposed openstack/glance master: Make image conversion use a proper python interpreter for prlimit  https://review.opendev.org/74231413:45
smcginnisdansmith: You're just doing whatever you can to avoid working on that fence.13:47
dansmithhehe13:47
jokke:P13:50
abhishekkdansmith, ack13:57
dansmithabhishekk: what else do you think we need to see to get the wsgi stuff merged?13:57
*** Liang__ has joined #openstack-glance13:58
abhishekkdansmith, I remember we introduced that async pool for graceful shutdown of api service, I need to check if it is working with uwsgi (which last time I checked was not working)13:59
*** Liang__ is now known as LiangFang13:59
abhishekkBut that can be fixed afterwards as well14:00
dansmithabhishekk: oh do you drain the thread pool on exit? point me at that and I can look too, although yeah, I don't think this makes it any worse :)14:00
abhishekkAlso as commented on the patch we need to add periodic job support for prefetcher14:00
abhishekkdansmith, give me some time, I will let you know14:01
dansmithwe need that before we merge it or we need that before it's considered done? ;)14:01
dansmithjust asking because there are so many inter-dependent patches up right now and it would help to merge things so we can start to unwind that14:02
abhishekkwe need that before it is considered as done14:06
dansmithack14:06
dansmithabhishekk: stores-info is an api call I can make to glance?14:09
abhishekkdansmith, yes14:09
dansmithis that info/stores like info/import ?14:09
abhishekkyes14:10
dansmithokay14:10
*** LiangFang has quit IRC14:12
dansmithabhishekk: so stores is either an empty array or an array with some things, and if it's anything other than empty, then multistore is enabled?14:12
abhishekkdansmith, yes14:12
dansmithokay14:12
abhishekkhttps://docs.openstack.org/api-ref/image/v2/?expanded=list-stores-detail#list-stores14:13
*** Liang__ has joined #openstack-glance14:14
* abhishekk still need to work on policy doc :(14:14
dansmithabhishekk: yeah I saw that, it just isn't clear what it looks like if stores is not enabled, AFAICT14:16
abhishekkdansmith, if stores is not enabled then it will return {"stores": []}14:16
dansmithroger14:16
dansmithabhishekk: it's not clear to me if the same rule applies to all_stores14:21
dansmithI assume it does14:22
*** baojg has quit IRC14:22
abhishekkdansmith, it applies for all_stores_must_succeed only14:23
dansmithokay that's ... confusing14:23
*** baojg has joined #openstack-glance14:24
dansmithgmann: if I need to rise an exception from images_client because the test asked for something the server can't do due to config, is InvalidConfiguration legit to use?14:25
openstackgerritErno Kuvaja proposed openstack/glance stable/train: Fix reloading under PY3  https://review.opendev.org/71372014:32
abhishekkdansmith, jokke sorry I need to drop early today, medical emergency, will try to come back in 2-3 hours14:33
dansmithabhishekk: np, thanks for your help14:33
abhishekkthanks14:34
openstackgerritDan Smith proposed openstack/glance master: Make glance-api able to do async tasks in WSGI mode  https://review.opendev.org/74206514:35
openstackgerritDan Smith proposed openstack/glance master: Make image conversion use a proper python interpreter for prlimit  https://review.opendev.org/74231414:35
*** nikparasyr has left #openstack-glance14:54
*** k_mouza has quit IRC15:00
*** k_mouza has joined #openstack-glance15:01
*** Liang__ has quit IRC15:15
*** Liang__ has joined #openstack-glance15:19
*** Liang__ has quit IRC15:23
*** rcernin has joined #openstack-glance15:24
*** rcernin has quit IRC15:29
*** k_mouza has quit IRC15:41
*** k_mouza has joined #openstack-glance15:44
*** gyee has joined #openstack-glance15:48
*** baojg has quit IRC15:54
*** k_mouza has quit IRC15:55
*** baojg has joined #openstack-glance15:56
*** m75abrams has quit IRC16:21
*** baojg has quit IRC16:34
*** udesale_ has quit IRC16:47
openstackgerritDan Smith proposed openstack/glance master: Make wsgi_app support graceful shutdown  https://review.opendev.org/74249317:05
dansmithjokke: your config-reload expectation is that SIGHUP triggers the reload, is that right?17:06
*** amoralej is now known as amoralej|off17:08
dansmithAFAICT, we get that for free with the way uwsgi does its worker recycling, so if I HUP the master process, I see it barf out new config values that I've changed since the first start17:15
dansmithabhishekk: ^17:15
dansmithsmcginnis: I will reward your ninja-like review with a fix of your nit :)17:18
smcginnisHaha, great.17:18
openstackgerritDan Smith proposed openstack/glance master: Make wsgi_app support graceful shutdown  https://review.opendev.org/74249317:18
dansmithsmcginnis: bad news, the lumber truck just showed up :/17:23
dansmithI'm running out of excuses17:23
smcginnisYou need to let the lumber adapt to the local heat and humidity. So really you should wait a few days before you work with it. :)17:25
smcginnisDon't want a warped fence.17:25
dansmithooh, like a goldfish?17:25
smcginnisHaha17:25
*** k_mouza has joined #openstack-glance17:55
*** k_mouza has quit IRC17:59
gmanndansmith: from client we can raise what ever API reply. and config based request param we can handle on test side. i mean client call API with whatever param test want and return what API return18:00
dansmithgmann: well, I wanted to raise an exception that isn't an API exception, because abhishekk says we need to avoid putting things into the request body if the server doesn't support something,18:01
dansmithso we need to probe18:01
dansmithgmann: here https://review.opendev.org/#/c/741425/10/tempest/lib/services/image/v2/images_client.py@24318:02
gmanndansmith: yeah, that we can handle on test side not to add in request body18:02
gmannthat is how we do for all other client where method accept **kwargs so if we need to write negative test for unknown param, then test should be able to pass it till API and get what API return18:03
dansmithgmann: this is just related to your ask for including all the params in the client18:03
dansmithgmann: ah, so you want the client to put them in there if the test asks, and make the test check to see if it should or not first?18:03
gmannyeah, we can add those in request body in client based of 'If not None'18:04
gmannlike url i added in web-download case18:04
dansmithokay18:07
dansmithI'll change it again18:07
gmanndansmith: you can just add those param in client method with None default and when we will write copy test then we can add those param with /info/store checks18:11
dansmithyep, that's what I'm doing.. is it okay to leave the has_multistore check there for later since I already wrote it?18:11
gmanndansmith: few comment, +1 on keeping that method but let's return resp body to give store names to test18:19
dansmithah yea18:19
dansmithI guess I'll remove the caching then18:19
dansmithI was going to do that since I was checking inside the import function, but no reason now18:19
gmanndansmith: /info/stores urls need to be corrected - https://review.opendev.org/#/c/741425/12/tempest/lib/services/image/v2/images_client.py@19418:23
dansmithcripes18:24
dansmithgmann: sorry18:24
jokkedansmith: yeah, it basically spins the workers around without killing any existing connections18:30
dansmithjokke: you mean without dropping tasks I assume? it seems to just propagate the HUP to the children, but then they also seem to ignore further HUP signals after the first one,18:32
dansmithso I assume things are supposed to die off after that too18:32
dansmithuwsgi will SIGTERM the current processes and send new requests to fresh children so I think we don't even need the oslo.config reload stuff for that to work18:33
jokkedansmith: iirc how it works is that it basically keeps X workers running and tells the workers to go and die when you have nothing to do. When the worker finally dies it spawns a new one to replace it18:34
dansmithjokke: you're talking about the standalone based approach right?18:34
jokkeyeah18:34
dansmithyeah, okay18:34
dansmithuwsgi just does that for us18:35
dansmithso with the graceful shutdown stuff, we'll get that for free without dropping anything that is mid-flight18:35
jokkeso if the worker is streaming image to client, that worker dies when it's finished, istead of interrupting the request it's currently serving18:35
dansmithyup18:35
dansmithjokke: while I have you here... I'm seeing functional test jobs in CI that just hang until timeout, which I think I've seen outside of this async work, but logstash is fubar right now so I can't check18:36
dansmithdoes that sound familiar?18:36
dansmithI haven't been able to repro locally so I can get a stack trace or anything18:36
jokkeyeah, it has been ongoing for couple of weeks. It looked like it corrected itself mid last week but have seen it reappearing again this week18:37
jokkewe neither ... have no idea what's causing it18:37
dansmithokay cool, just wanted to make sure it wasn't me causing that with the threading stuff18:37
jokkeI don't think so18:38
dansmithjokke: you know anything about the _after_fork warnings in functional?18:38
dansmithI wonder if that's related, but I do see that locally18:38
jokkethose are eventlet monkeypatching threading for greenthreads ...18:39
dansmithah, I see there's an eventlet bug open for it18:39
dansmithwith py3718:39
jokkestarted py37 when python changed the threading18:39
jokkeyup18:39
jokkenon related as well as the functional test timeouts happens in both py36 and py38 variants18:40
dansmithwell, it seemed like it could be since it's warning about having live threads across fork I think, which could maybe lead to a deadlock sometimes,18:41
dansmithbut I guess if 37 brought the problem and the deadlock happens on 36 then probably not18:42
jokkeif our py36 job actually runs py36 :P18:42
jokkewouldn't be first time18:42
jokkeI think we ran our py27 on py3 for a year or so before noticing18:42
jokke:P18:42
dansmithI thought there was only a 37 and 38 job now18:43
* dansmith looks18:43
dansmithoh, 36 and 38 I see18:43
dansmithI run 37 locally18:43
jokkeok, dinner time. I'll poke my head here after so feel free to ping me if you need anything18:44
dansmithack18:44
dansmithgmann: do you know any tricks for getting a better state snapshot of a stalled functional/unit test in the gate? we don't get a stack trace from the aborted tox run that I can see18:45
*** ralonsoh has quit IRC18:45
gmanndansmith: afaik job-output.txt is all we can get for tox runs18:48
gmannfor aborted, we do not get any of job log even they were finished18:49
dansmithhmm, I dunno what to do then18:49
openstackgerritSean McGinnis proposed openstack/glance stable/train: Fix reloading under PY3  https://review.opendev.org/71372018:51
*** baojg has joined #openstack-glance19:07
*** baojg has quit IRC19:31
*** baojg has joined #openstack-glance19:32
openstackgerritMerged openstack/glance master: Add image_set_property_atomic() helper  https://review.opendev.org/73786820:16
*** priteau has quit IRC20:47
*** baojg has quit IRC21:22
*** baojg has joined #openstack-glance21:23
*** rosmaita has quit IRC21:44
*** rosmaita has joined #openstack-glance21:46
*** rcernin has joined #openstack-glance22:51
*** rcernin has quit IRC22:58
*** rcernin has joined #openstack-glance23:01
*** rcernin has quit IRC23:04
*** rcernin has joined #openstack-glance23:05

Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!