Earlier  
Posted Nick Remark
#openstack-nova - 2021-02-19
16:44:43 bauzas we could be smarter (c)
16:45:02 gibi sean-k-mooney: about the fix in a future cycle. yes, neutron should include an IP resource request to the port for a port that was expected to consume an ip address.
16:45:07 bauzas and hopefully, can fire the new revision before we all duck out
16:45:20 gibi sean-k-mooney: the question for me how to decide if an ip_allocation=deferred port will consume an ipv4 address or not
16:45:41 gibi it depends on which subnet / segment the port will be bound to
16:45:56 sean-k-mooney gibi: well it will always consume an ip but ipv4 vs v6 is tricky if it has both
16:45:57 gibi but binding is too late, at that point everyting is already consumed in placement
16:46:35 sean-k-mooney for port that are cretaed on a subnet its simper for one created on a netwrok i guess they will have to limit route netwok to one ip class?
16:46:46 sean-k-mooney e.g. ipv4 or ipv6 only
16:46:50 gibi sean-k-mooney: yes, if there are ipv4 subnet on one segment connected to host A and an ipv6 subent on another segment connected to host B then the resource request cannot be decided before the binding
16:47:23 sean-k-mooney gibi: perhaps the port need to have a ip version field as part of the request
16:47:33 sean-k-mooney e.g. when you do the prot create
16:48:01 sean-k-mooney if you want ot ues routed networks and not specify a fix ip or subnet require an ip version to be set
16:48:02 gibi hm, but how to fill that resevation when the port is created by nova?
16:48:18 gibi so the answer is routed nets only work with port :)
16:48:31 sean-k-mooney ya maybe
16:48:50 gibi this would not be the first feature that only works with precreated ports :)
16:48:52 sean-k-mooney i dont know but future us problem not now us problem right :)
16:48:56 gibi sure
16:49:10 sean-k-mooney true sriov/qos
16:49:51 sean-k-mooney gibi: there is alwasy the long awatied "create ports in the conductor" feature
16:50:08 sean-k-mooney although that proably wont help much
16:51:06 gibi it is awaited yes, and it won't help here much yes :)
16:59:31 bauzas sean-k-mooney: I'm tempted to directly get the segments when calling the list of subnets
16:59:44 bauzas since the segment ID can be part of the result
16:59:55 bauzas https://docs.openstack.org/api-ref/network/v2/index.html?expanded=list-subnets-detail#subnets
17:00:14 bauzas this would prevent extra HTTP roundtrips
17:00:14 sean-k-mooney yes
17:00:33 sean-k-mooney that will work if you can filter that by network which i assume you can
17:01:06 sean-k-mooney ya network_id is optional
17:01:13 bauzas technically, one is a query parameter, the other is a result field
17:01:28 bauzas and yeah, we can filter using network_id
17:01:39 sean-k-mooney yep so that works
17:01:55 bauzas so we can say something like list_networks(network_id=myid, fields=['segment_id']
17:02:08 sean-k-mooney you can loop over the subnets in python with a list comprehention and produce a list of segment ids
17:02:09 bauzas this would give us the list of segments the network relates to
17:02:31 bauzas there is the fields param that does me for free :)
17:02:43 sean-k-mooney true
17:03:05 bauzas so this would actually be a rewrite of get_segment_ids_for_network()
17:03:13 bauzas and I would keep the method
17:03:18 bauzas at least its signature
17:03:28 bauzas tempting
17:03:43 sean-k-mooney so really its just GET /subnet?network_id=<id>&fileds=segment_id
17:03:48 bauzas yup
17:03:53 bauzas gibi: opinions on it ?
17:04:22 sean-k-mooney maybe keep both funciton in neutorn.py then
17:04:35 sean-k-mooney just change the url
17:05:23 bauzas yah
17:06:19 sean-k-mooney ok so you just need to update https://review.opendev.org/c/openstack/nova/+/773976/10/nova/network/neutron.py#3510
17:06:29 sean-k-mooney that sound good to me
17:06:53 sean-k-mooney gibi: that is a really good catch by the way
17:07:55 gibi "GET /subnet?network_id=<id>&fileds=segment_id" looks good to me
17:08:18 bauzas gibi: can you please tell me what gives you the segment_id field on a non-configured subnet ?
17:08:32 bauzas the field is empty or unexisting ?
17:08:46 bauzas the API docs is not describing it
17:09:37 gibi bauzas: trying ...
17:09:43 bauzas thanks
17:09:47 bauzas I really need to get some env
17:10:27 sean-k-mooney http://paste.openstack.org/show/802840/
17:11:37 gibi bauzas: the above GET results in http://paste.openstack.org/show/802841/ if the subnet has a segment_id set
17:11:38 sean-k-mooney so it looks like if the extnsion is not there its an error
17:11:48 gibi bauzas: will check the no segment_id case in a sec
17:11:49 sean-k-mooney but we have the check for that so it should be fine
17:12:06 sean-k-mooney gibi: im expecting an empty list
17:12:42 bauzas sean-k-mooney: your paste probably doesn't have the extension
17:12:45 sean-k-mooney so proably {"subnets":[]}
17:12:53 sean-k-mooney bauzas: it does not
17:13:06 sean-k-mooney bauzas:which is why i said we just need to keep the extension test
17:13:13 sean-k-mooney *check
17:13:21 bauzas sean-k-mooney: yup, I just changed one liner
17:13:29 bauzas ie. the Neutron client call
17:13:34 gibi bauzas: and this is the case when the subnet has no segment_id set http://paste.openstack.org/show/802842/
17:13:59 sean-k-mooney oh its null
17:14:10 sean-k-mooney {"subnets":[{"segment_id":null}]}
17:14:12 bauzas perfect
17:14:23 gibi so you get a list of subnets and for each subnet you get a segment_id which is either null or a uuid
17:14:24 bauzas the client will then return None
17:14:35 bauzas right, it's not a list
17:14:41 openstackgerrit Lee Yarwood proposed openstack/nova master: block_device: Use initialize APIs to refresh when reported as idempotent https://review.opendev.org/c/openstack/nova/+/720769
17:14:50 bauzas because there is a 1:1 mapping segment/subnet
17:14:57 gibi yepp
17:14:58 sean-k-mooney well its a dict os with a list of dicts
17:15:05 bauzas all good, touching my UTs and I'm done
17:15:06 sean-k-mooney one per subnet on the network
17:15:29 bauzas yeah, I also changed the comprehension list
17:15:52 bauzas but we're all good
17:17:18 openstackgerrit Stephen Finucane proposed openstack/nova master: tests: Add 'nova.virt.libvirt.utils.get_arch' stub to fixture https://review.opendev.org/c/openstack/nova/+/774904
17:17:18 openstackgerrit Stephen Finucane proposed openstack/nova master: tests: Remove unnecessary mock https://review.opendev.org/c/openstack/nova/+/774905
17:17:19 openstackgerrit Stephen Finucane proposed openstack/nova master: tests: Poison os.uname https://review.opendev.org/c/openstack/nova/+/775415
17:17:19 openstackgerrit Stephen Finucane proposed openstack/nova master: libvirt: Parse the 'os' element from domainCapabilities https://review.opendev.org/c/openstack/nova/+/673790
17:17:20 openstackgerrit Stephen Finucane proposed openstack/nova master: libvirt: Stop passing around virt_type, caps https://review.opendev.org/c/openstack/nova/+/775689
17:17:20 openstackgerrit Stephen Finucane proposed openstack/nova master: libvirt: Add missing type hints https://review.opendev.org/c/openstack/nova/+/775688
17:17:22 openstackgerrit Stephen Finucane proposed openstack/nova master: hardware: Start parsing 'os_secure_boot' https://review.opendev.org/c/openstack/nova/+/682628
17:17:23 openstackgerrit Stephen Finucane proposed openstack/nova master: libvirt: Switch to libvirt's firmware auto-selection https://review.opendev.org/c/openstack/nova/+/775691
17:17:24 openstackgerrit Stephen Finucane proposed openstack/nova master: libvirt: Report secure boot support to scheduler https://review.opendev.org/c/openstack/nova/+/775690
17:17:26 openstackgerrit Stephen Finucane proposed openstack/nova master: libvirt: Add firmware auto-configuration support https://review.opendev.org/c/openstack/nova/+/776678
17:17:26 openstackgerrit Stephen Finucane proposed openstack/nova master: compute: Report COMPUTE_SECURITY_UEFI_SECURE_BOOT https://review.opendev.org/c/openstack/nova/+/776679
17:17:27 openstackgerrit Stephen Finucane proposed openstack/nova master: scheduler: Translate secure boot requests to trait https://review.opendev.org/c/openstack/nova/+/776680
17:17:29 openstackgerrit Stephen Finucane proposed openstack/nova master: libvirt: Wire up 'os_secure_boot' property https://review.opendev.org/c/openstack/nova/+/776681
17:17:33 openstackgerrit Stephen Finucane proposed openstack/nova master: tests: Add functional tests for UEFI, secure boot https://review.opendev.org/c/openstack/nova/+/776682

Earlier   Later