Earlier  
Posted Nick Remark
#openstack-sdks - 2022-10-26
15:11:20 fungi amending
15:11:48 frickler also capping cinderclient\<8 seems to be enough
15:11:57 fungi yep, i was about to test that
15:14:25 fungi okay, amended
15:14:43 fungi also confirmed that <8 works if i drop the v1 override from the command
15:15:31 fungi remains to be seen if i'll be able to do things like server attach/detach now, but at least volume list is working
15:15:37 fungi i'll play around with it a bit more
15:34:57 opendevreview Stephen Finucane proposed openstack/python-openstackclient master: compute: Fix '--network none/auto' handling https://review.opendev.org/c/openstack/python-openstackclient/+/862730
15:35:01 opendevreview Stephen Finucane proposed openstack/python-openstackclient master: compute: Add missing microversion check for networks https://review.opendev.org/c/openstack/python-openstackclient/+/862731
17:38:26 opendevreview Merged openstack/ansible-collections-openstack master: Refactored ci script with shellcheck suggestions and install collections https://review.opendev.org/c/openstack/ansible-collections-openstack/+/861955
17:49:31 opendevreview Denys Mishchenko proposed openstack/ansible-collections-openstack master: Existing images update name, visibility etc https://review.opendev.org/c/openstack/ansible-collections-openstack/+/862565
18:20:34 opendevreview Jakob Meng proposed openstack/ansible-collections-openstack master: Always remove temporary files in volume's integration test https://review.opendev.org/c/openstack/ansible-collections-openstack/+/862741
20:06:17 opendevreview Denys Mishchenko proposed openstack/ansible-collections-openstack master: Existing images update name, visibility etc https://review.opendev.org/c/openstack/ansible-collections-openstack/+/862565
20:22:00 opendevreview Denys Mishchenko proposed openstack/ansible-collections-openstack master: Existing images update name, visibility etc https://review.opendev.org/c/openstack/ansible-collections-openstack/+/862565
21:04:22 opendevreview Denys Mishchenko proposed openstack/ansible-collections-openstack master: Existing images update name, visibility etc https://review.opendev.org/c/openstack/ansible-collections-openstack/+/862565
#openstack-sdks - 2022-10-27
06:58:16 opendevreview Jiri Podivin proposed openstack/cliff master: Clarification of the algorithm used https://review.opendev.org/c/openstack/cliff/+/862690
07:03:00 opendevreview Jakob Meng proposed openstack/ansible-collections-openstack master: Run Ansible devel branch job on Python 3.10 https://review.opendev.org/c/openstack/ansible-collections-openstack/+/856987
07:23:47 opendevreview Jakob Meng proposed openstack/ansible-collections-openstack master: Always remove temporary files in volume's integration test https://review.opendev.org/c/openstack/ansible-collections-openstack/+/862741
08:47:16 opendevreview Jiri Podivin proposed openstack/cliff master: Clarification of the algorithm used https://review.opendev.org/c/openstack/cliff/+/862690
09:10:16 opendevreview Jakob Meng proposed openstack/ansible-collections-openstack master: Always remove temporary files in volume's integration test https://review.opendev.org/c/openstack/ansible-collections-openstack/+/862741
10:02:16 opendevreview Jakob Meng proposed openstack/ansible-collections-openstack master: Run Ansible devel branch job on Python 3.10 https://review.opendev.org/c/openstack/ansible-collections-openstack/+/856987
12:13:00 opendevreview Jakob Meng proposed openstack/ansible-collections-openstack master: Run Ansible devel branch job on Python 3.10 https://review.opendev.org/c/openstack/ansible-collections-openstack/+/856987
12:13:34 opendevreview Jakob Meng proposed openstack/ansible-collections-openstack master: Run Ansible devel branch job on Python 3.10 https://review.opendev.org/c/openstack/ansible-collections-openstack/+/856987
12:30:36 opendevreview Jakob Meng proposed openstack/ansible-collections-openstack master: Run *-devstack-ansible-devel job on Ubuntu 22.04 LTS (Jammy Jellyfish) https://review.opendev.org/c/openstack/ansible-collections-openstack/+/856987
12:31:34 opendevreview Jakob Meng proposed openstack/ansible-collections-openstack master: Run *-devstack-ansible-devel job on Ubuntu 22.04 LTS (Jammy Jellyfish) https://review.opendev.org/c/openstack/ansible-collections-openstack/+/856987
12:34:47 opendevreview Jakob Meng proposed openstack/ansible-collections-openstack master: Run *-devstack-ansible-devel job on Ubuntu 22.04 LTS (Jammy Jellyfish) https://review.opendev.org/c/openstack/ansible-collections-openstack/+/856987
15:48:56 opendevreview Merged openstack/ansible-collections-openstack master: Always remove temporary files in volume's integration test https://review.opendev.org/c/openstack/ansible-collections-openstack/+/862741
16:02:34 opendevreview Merged openstack/ansible-collections-openstack master: Run *-devstack-ansible-devel job on Ubuntu 22.04 LTS (Jammy Jellyfish) https://review.opendev.org/c/openstack/ansible-collections-openstack/+/856987
18:36:55 ard_ hey, I am working on a https://review.opendev.org/c/openstack/ansible-collections-openstack/+/862565 and have several question which I can't answer myself. According to https://docs.openstack.org/api-ref/image/v2/index.html?expanded=update-image-detail there is a set of image properties which can't be updated and this will result in 403 reply. The set I believe is here: https://github.com/openstack/glance/blob/master/etc/schema-image.json
18:36:55 ard_ and this does include kernel_id and ramdisk_id . At the same time version of the script tries to change them if such params defined and differs from the present image.
18:38:26 ard_ at the same time min_disk and min_ram are not tried to be updated. Am I missing something?
19:37:44 ard_ jm1: regarding image.update_image with id and image object. If you send image object request.body being produced with {'op': 'remove', 'path': '/stores'} and lots of properties which aren't planned to touch. Because they are correct in existing image. openstacksdk==0.102.0 So my change has this strange workaround https://review.opendev.org/c/openstack/ansible-collections-openstack/+/862565/8/plugins/modules/image.py#585
19:53:39 ard_ Here is a little bit more details: https://paste.opendev.org/show/817361/ So does it means that update args should contain all properties to not attempt removing them? Then the logic in the module is not correct. Otherwise there is an issue in sdk version .0.102.0
#openstack-sdks - 2022-10-28
07:05:48 opendevreview Denys Mishchenko proposed openstack/ansible-collections-openstack master: Existing images update name, visibility etc https://review.opendev.org/c/openstack/ansible-collections-openstack/+/862565
07:34:38 jm1 ard_: o/ lets ask gtema about this :D
07:35:02 jm1 gtema: update functions such as update_image take a image object or id as first parameter
07:35:33 gtema yes, or something like a dict representing object
07:35:43 jm1 gtema: iiuc when an image object is given, then proxy class will take all other update_image args and assign them to the image object
07:35:46 gtema {"id": "fakeid", "name": "fakename"}
07:37:08 jm1 gtema: ard_'s issue seems to be that this image+updated-args object is passed to glance api
07:38:09 jm1 gtema: from ard_'s description is looks like glance raises an error because it gets stuff which cannot be updated
07:38:33 jm1 gtema: is this excepted?
07:39:01 gtema not really
07:39:15 gtema https://opendev.org/openstack/openstacksdk/src/branch/master/openstack/tests/functional/image/v2/test_image.py#L69 - we test changing image name in func tests
07:39:27 jm1 gtema: maybe the issue is here: "and this does include kernel_id and ramdisk_id . At the same time version of the script tries to change them if such params defined and differs from the present image."
07:40:32 gtema it should not be the case. If you pass as first param whole image it should only update change attrs
07:40:56 gtema but image is specific in that it does things differently and tries to construct json patch
07:41:11 ard_ I tried to debug and see different body in api calls
07:42:16 gtema would be good if you give me some reproduce case (small sdk script)
07:43:07 ard_ the params are actually updated, when those 'op': 'remove' objects are added. It just complains with 409 error from api
07:43:38 ard_ give me 10 minutes
07:43:52 gtema no hurry, I am going for meeting now anyway
07:48:09 jm1 ard_: so we have different issues here? the kernel_id/ramdisk_id issue is separate from the image.id/image issue?
07:48:49 jm1 ard_: reading the glance api doc i agree with you that updating kernel_id/ramdisk_id is not going to work: "An attempt to modify any of the “base” image properties that are managed by the Image Service. These are the properties specified as read only in the Image Schema."
07:52:47 opendevreview Jakob Meng proposed openstack/ansible-collections-openstack master: [DNM] Image update test https://review.opendev.org/c/openstack/ansible-collections-openstack/+/862864
07:53:00 ard_ jm1: yes, sorry that I brought multiple questions at the same time. Yes, it is separate and should not be tried to be updated. This is the question 1. Question 2: min_disk and min_ram - they are allowed to be changed
07:54:04 jm1 ard_: this should fail if we read the api correctly https://review.opendev.org/c/openstack/ansible-collections-openstack/+/862864
07:55:36 jm1 ard_: may i alter your patch?
07:56:43 ard_ jm1: of course you can. I came here to get a working solution at the end.
08:01:32 opendevreview Jakob Meng proposed openstack/ansible-collections-openstack master: Existing images update name, visibility etc https://review.opendev.org/c/openstack/ansible-collections-openstack/+/862565
08:01:55 jm1 ard_: ^ does this answer your question regarding min_disk..? :D
08:06:12 opendevreview Jakob Meng proposed openstack/ansible-collections-openstack master: Existing images update name, visibility etc https://review.opendev.org/c/openstack/ansible-collections-openstack/+/862565
08:06:40 ard_ jm1: yes, this does answer it. I didn't put it in myself, wanted to discuss first as there might been a reason for this. Especially with the kernel parameter present. Also, min_disk has a default value of 0, so you can't just do like you did. It's default value should be moved to _build_params function
08:07:32 ard_ jm1: here https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/image.py#L460
08:12:55 jm1 ard_: why does min_disk not work?
08:14:51 ard_ if you run update image without this value it will be defaulted to 0 and if image had a limit, it will be reset to 0
08:23:42 jm1 ard_: sure which is to be expected with default values. but i agree we should think about removing the default values for min_disk and min_ram
08:24:45 jm1 ard_: i would not mix create and update parameters though, since they are not necessarily the same
08:25:58 jm1 ard_: actually i see more stuff which could be refactored... lets focus on the important parts here and i will refactor this one later
08:41:34 opendevreview Jakob Meng proposed openstack/ansible-collections-openstack master: Existing images update name, visibility etc https://review.opendev.org/c/openstack/ansible-collections-openstack/+/862565
08:44:12 jm1 ard_: does this ^ work for you? are we missing anything?
08:44:16 ard_ jm1: I guess having min_disk and min_ram set to 0 if they were not defined is a good idea during image creation, but it is not a good idea during image change. You might try to change only one attribute of the image.
08:44:58 ard_ jm1: and it might not be min_disk or min_ram. This way you'll get this value reset to 0
08:45:16 jm1 ard_: glance uses 0 as the default for both min_disk and min_ram, so i dropped the default values
08:45:26 ard_ cool
08:46:15 jm1 ard_: those default values werent documented anyway :/
08:47:21 jm1 ard_: have you been able to reproduce this image update issue when passing image instead of image.id?
08:47:49 ard_ jm1: I can on my sandbox
08:48:02 ard_ jm1: just in python shell
08:49:05 jm1 ard_: would you mind sharing the code and sdk's debug output with us (without secrets/tokens/..)?
08:49:17 jm1 so that gtema can have a look
08:49:46 ard_ jm1: and as I said before, I see the difference in formed body. I used pdb to trace what is tried to be sent. I was on the meeting and delayed a bit, but soon I will give you example of the script.
08:51:48 jm1 ard_: ack, fyi sdk has a enable_logging() function which gives all important output, no need to use pdb
08:55:07 ard_ jm1: yeah, but sometimes you want to run commands and check how the vars will work in a functions by your hand. I will check enable_logging() I am new to this, so using only tools I used before...
09:12:04 jm1 ard_: just mentioning it because you can use this with ansible modules too which are otherwise hard to debug: https://review.opendev.org/c/openstack/bifrost/+/859430/11/playbooks/roles/bifrost-configdrives-dynamic/tasks/main.yml#38
09:14:31 ard_ jm1: thanks for this as well. I used epdb to connect to the process on remote systems running ansible tasks. This way I debugged module work. Just had small dependency in venv for the ansible.
09:21:43 jm1 ard_: like this? https://docs.ansible.com/ansible/latest/dev_guide/debugging.html#simple-debugging
09:22:14 ard_ jm1: The script to reproduce https://paste.opendev.org/show/817369/
09:22:59 ard_ jm1: still looking how to sanitize debug sdk output. Even if it is for the sandbox in private network...
09:23:28 jm1 gtema: ^
09:24:28 ard_ jm1: exactly and the same way, just always got tracebacks on during debugging and now I know to use raise instead of print :)
10:00:44 ard_ jm1: gtema: here is a log output https://paste.opendev.org/show/bpAMU2si0ezvN8Ckf3KP/ I tried to sanitize it... but it is on the sandbox in a private network, so should not have any sensitive data.
10:06:27 jm1 ard_: oh wow, what is this owner_specified.* stuff? gtema handing over to you :D
10:06:55 gtema owner_specified are the special props of sdk (checksum verification)
10:08:04 ard_ gtema: but it should not request them to be removed?
10:08:15 gtema nope, should not
10:08:46 gtema this means to me (on the first sight) that those props were not returned in the get and therefore it tries to drop them
10:09:15 gtema btw, what is the update_payload?
10:09:15 gtema ah, sorry
10:19:53 gtema ard_ I can say that your script just worked for me

Earlier   Later