Earlier  
Posted Nick Remark
#openstack-sdks - 2022-12-07
12:37:20 opendevreview TaeJun Jang proposed openstack/python-openstackclient master: Add image metadef namespace command https://review.opendev.org/c/openstack/python-openstackclient/+/863525
13:16:55 opendevreview Jakob Meng proposed openstack/ansible-collections-openstack master: [DNM] Refactored coe_cluster{,_template} modules https://review.opendev.org/c/openstack/ansible-collections-openstack/+/866796
13:25:07 opendevreview Jakob Meng proposed openstack/ansible-collections-openstack master: Moved Octavia image upload and CirrOS image identification to Ansible https://review.opendev.org/c/openstack/ansible-collections-openstack/+/866795
17:19:09 opendevreview PB proposed openstack/ansible-collections-openstack master: Bulk creation of OpenStack SG rules https://review.opendev.org/c/openstack/ansible-collections-openstack/+/863208
17:24:53 opendevreview PB proposed openstack/ansible-collections-openstack master: Bulk creation of OpenStack SG rules https://review.opendev.org/c/openstack/ansible-collections-openstack/+/863208
17:35:41 opendevreview PB proposed openstack/ansible-collections-openstack master: Bulk creation of OpenStack SG rules https://review.opendev.org/c/openstack/ansible-collections-openstack/+/863208
19:52:31 opendevreview Jakob Meng proposed openstack/ansible-collections-openstack master: Moved Octavia image upload and CirrOS image identification to Ansible https://review.opendev.org/c/openstack/ansible-collections-openstack/+/866795
19:55:17 opendevreview Jakob Meng proposed openstack/ansible-collections-openstack master: Moved Octavia image upload and CirrOS image identification to Ansible https://review.opendev.org/c/openstack/ansible-collections-openstack/+/866795
20:25:15 opendevreview Jakob Meng proposed openstack/ansible-collections-openstack master: [DNM] Refactored coe_cluster{,_template} modules https://review.opendev.org/c/openstack/ansible-collections-openstack/+/866796
#openstack-sdks - 2022-12-08
11:55:15 opendevreview Grzegorz Grasza proposed openstack/keystoneauth master: Remove six https://review.opendev.org/c/openstack/keystoneauth/+/816671
12:50:25 eest i am trying to create a server in openstack using block storage, i have gotten it to work by calling conn.compute.create_server() with a block_device_mapping_v2 list with the same content as is constructed in https://github.com/openstack/openstacksdk/blob/17fde652ada983d6a04dc98b90913f8066187dc3/openstack/cloud/_compute.py#L999-L1006 now to my issue: is there a way to point out what specific "volume
12:50:31 eest type" you want? if i run "openstack volume type list" i see there are more than one volume type and currently i get one of them, but i am not sure how i would pick a specific one
12:52:53 eest if i just try suppling an "volume_type" field i get a "Additional properties are not allowed (u'volume_type' was unexpected)" error
13:13:55 frickler eest: seems like support for this is still missing. stephenfin ^^ do you have a list of nova gaps?
13:18:22 stephenfin eest: '--volume' is a helper option that allows you to attach a volume using the most common configuration. If you want to configure additional things like volume type, you will need to use '--block-device'. See https://review.opendev.org/c/openstack/python-openstackclient/+/866325 for more context
13:19:45 stephenfin eest: You'll note there that we're currently unable to use '--block-device' for the boot volume though. There's a fix proposed but it hasn't been included in a release yet. If you need a boot volume, you'll have to use the legacy '--block-device-mapping' option
13:21:28 eest hmm, just to be clear i am not trying to create the server using the openstack CLI, i only used it to show how i proved there were multiple volume types to chose from
13:22:12 stephenfin oh, sorry, you're using SDK
13:22:35 eest i am right now calling the compute.create_server() function from code, and passing it block_device_mapping_v2 basically filled in the same way the code i linked on github does
13:23:07 stephenfin eest: https://docs.openstack.org/api-ref/compute/?expanded=create-server-detail#id11
13:23:19 stephenfin Look for "block_device_mapping_v2 (Optional)"
13:24:22 stephenfin You'll see under that all the possible keys and values for each (JSON) object in the block_device_mapping_v2 (JSON) list field
13:24:40 eest found it, so it seems there is no way to pass in the "type" then?
13:24:53 stephenfin block_device_mapping_v2.volume_type (Optional)
13:25:05 stephenfin The device volume_type. This can be used to specify the type of volume which the compute service will create and attach to the server. If not specified, the block storage service will provide a default volume type. See the block storage volume types API for more details.
13:25:28 frickler stephenfin: but it seems the sdk rejects that option?
13:26:42 frickler eest: can you share the code you are invoking so we can doublecheck? use paste.opendev.org
13:26:50 eest yes, hold on
13:27:06 stephenfin I'd be surprised if it did. That seems to be mapped correctly in openstack/compute/v2/server.py
13:28:51 eest https://paste.opendev.org/show/bztGgATTQcwKdam5UwVl/
13:29:44 eest results in "Additional properties are not allowed (u'volume_type' was unexpected)"
13:30:07 eest it is possible i should not supply it in the dict?
13:31:25 stephenfin that's a nova error, not openstacksdk. You're using the wrong microversion. You need 2.67 or greater
13:31:50 eest hmm, is that something supplied to create_server() or something else?
13:33:55 stephenfin yes, you should be able to pass microversion to create_server
13:34:40 stephenfin If you enable debugging you will see the X-Openstack-API-Version header you're sending nova as well as the error messages coming back
13:35:08 stephenfin openstack.enable_logging(debug=True)
13:41:11 eest i dont seem to be setting that header in the request
13:41:54 frickler eest: what version of openstacksdk are you using?
13:42:16 frickler also which version is your openstack cloud?
13:42:45 eest the RESP includes x-openstack-nova-api-version: 2.1
13:45:58 frickler your example works just fine for me, with both 0.61.0 and 0.103.0
13:49:50 eest openstacksdk 0.101.0
13:50:05 eest hmm, ok...
13:52:12 frickler do you set up your cloud from clouds.yaml or by explicit auth parameters?
13:52:55 eest clouds.yaml
13:53:53 eest is there a way to request a specifc microversion in that? tried looking earlier and came up emtpy
13:58:21 frickler eest: set "compute_api_version: 2.90"
13:58:28 eest i am just doing: conn = openstack.connect(cloud="openstack")
13:58:33 eest so it is very opaque
13:58:37 frickler same here
13:59:00 eest will try to add your thing to the file
13:59:03 frickler if I set "compute_api_version: 2.1" I get the same error as you
13:59:24 frickler but without anything specified the sdk should use the latest available version
14:03:45 eest with your addition i see -H "X-OpenStack-Nova-API-Version: 2.9" in the debug request, so seems like it is being picked up, still the same error
14:05:35 eest the resp does echo x-openstack-nova-api-version: 2.9, not sure that means it was accepted server side or just echoing what i sent to it
14:09:32 eest (of course, interesting that it strips the trailing zero, i have verifed it is not missing in the config)
14:14:37 eest this is interesting, i tried changing it to 2.79 just since this seemed to work with openstack CLI earlier, and now a call to conn.compute.find_image(image_name) earlier in the code fails with a "The resource could not be found."
14:16:41 frickler eest: 2.9 is too old, I wrote 2.90
14:17:10 frickler ah, wait, you may need to quota that, so it becomes a string
14:18:27 eest right, yes, quoting it is one step better, now it fails: "Version 2.90 is not supported by the API. Minimum is 2.1 and maximum is 2.79"
14:18:31 eest one step closer!
14:19:51 frickler o.k., then 2.79 is the correct value for you, that's train. pretty old but still should work
14:22:04 frickler but you should not use conn.compute.find_image, use conn.image.find_image()
14:24:07 eest that code is based on teh create_server example at https://docs.openstack.org/openstacksdk/latest/user/guides/compute.html
14:24:23 eest so i get image and flavor via the compute call
14:24:48 eest is the example outdated?
14:28:56 frickler eest: it seems so, yes
14:30:48 eest roger, ill change it and see what happens
14:31:36 eest oh shit, i just might have worked
14:35:01 eest yeah, trying to create it with a nonexistant type name also fails as expected now: "Volume type fastt could not be found."
14:35:13 eest so it seems to do what it is supposed to
14:35:55 eest im curious if it is a separate issue that my openstacksdk did not automatically go for the later available compute api version
14:36:23 eest but thanks a lot for helping me with this, not sure how long it would have taken to figure this out myself
14:36:56 eest stephenfin: also, thanks for your review on https://review.opendev.org/c/openstack/openstacksdk/+/865667
14:37:53 stephenfin nw
15:20:33 eest frickler: is the automatic api version detection described anywhere? it seems it is not happening for me at least
15:40:17 frickler eest: I'm not sure, I'll have to dig a bit tomorrow
15:43:50 eest the only version related setting i had in my file was identity_api_version, i tried commenting out that in case it somehow influenced something but the result was the same
16:04:34 stephenfin eest: an automatic microversion is taken from the _max_microversion variable in a given resource. For 'create_server' that would 'Server' in openstack.compute.v2.server
16:06:08 stephenfin eest: However, that can be overridden by user-level configuration, by either providing a 'microversion' parameter to various methods or setting '{service}_api_version' in clouds.yaml
16:06:49 stephenfin OSC also supports configuration via command line options of environment variables but you'd need to do some wiring up to support that in pure SDK
16:09:46 stephenfin gtema: can you look at https://review.opendev.org/c/openstack/openstacksdk/+/864029 to unblock some OSC work I've been workingo n?
16:09:49 stephenfin *working on
18:46:21 opendevreview Stephen Finucane proposed openstack/openstacksdk master: image: Add missing image import options https://review.opendev.org/c/openstack/openstacksdk/+/864029
18:46:22 opendevreview Stephen Finucane proposed openstack/openstacksdk master: image: Reformat proxy modules https://review.opendev.org/c/openstack/openstacksdk/+/867040
18:46:22 opendevreview Stephen Finucane proposed openstack/openstacksdk master: image: Remove _base_proxy module https://review.opendev.org/c/openstack/openstacksdk/+/867041
18:46:23 opendevreview Stephen Finucane proposed openstack/openstacksdk master: image: Remove unnecessary abstractions https://review.opendev.org/c/openstack/openstacksdk/+/867042
18:46:23 opendevreview Stephen Finucane proposed openstack/openstacksdk master: image: Modify signatures of various image methods https://review.opendev.org/c/openstack/openstacksdk/+/867043
18:46:24 opendevreview Stephen Finucane proposed openstack/openstacksdk master: image: Remove unsupported parameters from v1 proxy https://review.opendev.org/c/openstack/openstacksdk/+/867044
18:46:24 opendevreview Stephen Finucane proposed openstack/openstacksdk master: image: Prevent passing conflicts args to stage_image https://review.opendev.org/c/openstack/openstacksdk/+/867045
#openstack-sdks - 2022-12-09
08:03:08 eest stephenfin: my compute/v2/server.py states _max_microversion = '2.73', and if i set that version in clouds.yaml i see '-H "OpenStack-API-Version: compute 2.73"' in the debug out put, but if i comment it out there is no such header being sent and the request fails, not sure i am doing something wrong
08:06:49 eest i guess it is also interesting that even if that max version is present in the code i can also make it do -H "OpenStack-API-Version: compute 2.79" requests by setting that higher version in the config, so it does not seem to cap it either
08:15:04 eest i did note that calling conn.config.get_api_version("compute") returns None unless i set a value in clouds.yaml
08:19:05 eest frickler: would be intersting to hear what your code returns regarding the config when you are not setting the value
08:29:17 frickler the get_api_version returns None for me too when I don't have the override in clouds.yaml. and the debug log for the server create does also show the 2.73 being requested
08:30:32 eest interesting
08:30:52 frickler but I omitted some of the parameters you use, no user_data, key_name and scheduler_hints. maybe the issue is hiding somewhere in those
08:31:12 eest right, yes it is a lot of stuff im sending
08:31:40 eest ill try commenting them out

Earlier   Later