Friday, 2022-09-09

opendevreviewShnaidman Sagi (Sergey) proposed openstack/ansible-collections-openstack master: Use Python 3.10 for Ansible's devel branch  https://review.opendev.org/c/openstack/ansible-collections-openstack/+/85252605:40
opendevreviewLajos Katona proposed openstack/python-openstackclient master: Add address-scope to NDP proxy tests  https://review.opendev.org/c/openstack/python-openstackclient/+/85652107:25
*** arxcruz|rover is now known as arxcruz08:10
opendevreviewBrin Zhang proposed openstack/os-service-types master: Add venus service-type  https://review.opendev.org/c/openstack/os-service-types/+/85638409:27
opendevreviewBrin Zhang proposed openstack/os-service-types master: Add venus service-type  https://review.opendev.org/c/openstack/os-service-types/+/85638409:29
fricklergtema: 856521 is needed to unblock OSC gate, not sure if you'd still want to wait for haleyb to re-review09:54
gtemayeah, will do in few minutes09:54
opendevreviewMerged openstack/openstacksdk master: Unify resource list filtering  https://review.opendev.org/c/openstack/openstacksdk/+/85305210:05
opendevreviewOpenStack Release Bot proposed openstack/cliff stable/zed: Update .gitreview for stable/zed  https://review.opendev.org/c/openstack/cliff/+/85672511:21
opendevreviewOpenStack Release Bot proposed openstack/cliff stable/zed: Update TOX_CONSTRAINTS_FILE for stable/zed  https://review.opendev.org/c/openstack/cliff/+/85672611:21
opendevreviewOpenStack Release Bot proposed openstack/cliff master: Add Python3 antelope unit tests  https://review.opendev.org/c/openstack/cliff/+/85672711:21
opendevreviewOpenStack Release Bot proposed openstack/openstacksdk stable/zed: Update .gitreview for stable/zed  https://review.opendev.org/c/openstack/openstacksdk/+/85672811:21
opendevreviewOpenStack Release Bot proposed openstack/openstacksdk stable/zed: Update TOX_CONSTRAINTS_FILE for stable/zed  https://review.opendev.org/c/openstack/openstacksdk/+/85672911:21
opendevreviewOpenStack Release Bot proposed openstack/openstacksdk master: Update master for stable/zed  https://review.opendev.org/c/openstack/openstacksdk/+/85673011:21
opendevreviewOpenStack Release Bot proposed openstack/openstacksdk master: Add Python3 antelope unit tests  https://review.opendev.org/c/openstack/openstacksdk/+/85673111:21
opendevreviewOpenStack Release Bot proposed openstack/osc-lib stable/zed: Update .gitreview for stable/zed  https://review.opendev.org/c/openstack/osc-lib/+/85673211:21
opendevreviewOpenStack Release Bot proposed openstack/osc-lib stable/zed: Update TOX_CONSTRAINTS_FILE for stable/zed  https://review.opendev.org/c/openstack/osc-lib/+/85673311:21
opendevreviewOpenStack Release Bot proposed openstack/osc-lib master: Update master for stable/zed  https://review.opendev.org/c/openstack/osc-lib/+/85673411:21
opendevreviewOpenStack Release Bot proposed openstack/osc-lib master: Add Python3 antelope unit tests  https://review.opendev.org/c/openstack/osc-lib/+/85673511:21
opendevreviewMerged openstack/openstacksdk master: volume: Trivial docstring fixes to 'wait_for_status'  https://review.opendev.org/c/openstack/openstacksdk/+/82231511:24
opendevreviewMerged openstack/python-openstackclient master: Add address-scope to NDP proxy tests  https://review.opendev.org/c/openstack/python-openstackclient/+/85652111:24
opendevreviewMerged openstack/os-service-types master: Update api_ref for Cyborg project  https://review.opendev.org/c/openstack/os-service-types/+/85637311:35
opendevreviewMerged openstack/openstacksdk master: Implement project cleanup for object-store  https://review.opendev.org/c/openstack/openstacksdk/+/85301514:14
gtemastephenfin frickler: did you ever completely understood all the different networking models in openstack? When I see some comments in the SDK code (for networks handling) my hairs are raising up. This is code is not manageable14:42
stephenfingtema: I leave networking to other people with more time than me 😇 It's madness14:42
gtemajust read that: https://opendev.org/openstack/openstacksdk/src/branch/master/openstack/cloud/meta.py#L16014:43
opendevreviewMerged openstack/cliff stable/zed: Update .gitreview for stable/zed  https://review.opendev.org/c/openstack/cliff/+/85672514:44
stephenfingtema: Like I said, madness :)14:45
gtemayeah, but we need to manage it somehow. ansible guys are now struggling that their improved tests are failing under certain conditions. No surprise with logic like that14:46
gtemaand I wanted to streamline this for R1.0 also. But don't even have idea from which side to touch it - insane14:46
gtemathat also proves to me why InterOp as such does not work (and will never work)14:47
gtemastephenfin, do you have an idea since when nova properly fills accessIPv4?14:48
gtemathe comment in API is awesome: "May be automatically set by the provider."14:49
opendevreviewMerged openstack/cliff stable/zed: Update TOX_CONSTRAINTS_FILE for stable/zed  https://review.opendev.org/c/openstack/cliff/+/85672614:49
fricklerthis gets even nicer when you try to cater for various IPv6 options :)14:49
stephenfingtema: It never does. I suspect "the provider" is the cloud provider14:50
gtema🤦‍♂️14:50
stephenfinNova won't do it for you because networking is hard and it's impossible for nova to figure that out14:50
stephenfinI, for one, have never seen it populated14:50
gtemasad, very sad14:50
opendevreviewMerged openstack/osc-lib stable/zed: Update .gitreview for stable/zed  https://review.opendev.org/c/openstack/osc-lib/+/85673214:51
opendevreviewMerged openstack/osc-lib stable/zed: Update TOX_CONSTRAINTS_FILE for stable/zed  https://review.opendev.org/c/openstack/osc-lib/+/85673314:52
opendevreviewMerged openstack/osc-lib master: Update master for stable/zed  https://review.opendev.org/c/openstack/osc-lib/+/85673414:52
fricklergtema: if you have some specific question on those scenarios, I can try to answer it, but I won't sign the "completely understood" claim14:56
gtemalol14:56
gtemaok, let's start: when user wants a FIP on server, on which network port it must be placed, is there any difference? especially when there are multiple network interfaces14:58
frickleroh, that's a nice one. it has to be placed on that port which is on the subnet which has a router which has the external network15:10
fricklerthis should match the interface on which the instance sees its default route15:12
fricklerif there are multiple ports that satisfy this criterium, networking is likely broken15:12
opendevreviewOpenStack Release Bot proposed openstack/keystoneauth stable/zed: Update .gitreview for stable/zed  https://review.opendev.org/c/openstack/keystoneauth/+/85679315:12
opendevreviewOpenStack Release Bot proposed openstack/keystoneauth stable/zed: Update TOX_CONSTRAINTS_FILE for stable/zed  https://review.opendev.org/c/openstack/keystoneauth/+/85679415:12
opendevreviewOpenStack Release Bot proposed openstack/keystoneauth master: Update master for stable/zed  https://review.opendev.org/c/openstack/keystoneauth/+/85679515:12
opendevreviewOpenStack Release Bot proposed openstack/keystoneauth master: Add Python3 antelope unit tests  https://review.opendev.org/c/openstack/keystoneauth/+/85679615:12
gtematja. A Net with 3 subnets. Net is connected to router with external access. Now user wants VM with interface on all 3 subnets15:13
gtemaor devstack: there are 2 subnets: private-subnet and ipv6-private-subnet, both connected to same router15:14
fricklerv6 doesn't have FIPs, so that's easy15:15
gtemahmm, okay15:15
fricklermultiple v4 subnets in a single network is difficult, not sure this can be handled other then the user specifying the subnet to bind the FIP to15:16
gtemaokay, assume this matches my understanding and in few minutes I will not be confused again, do you understand what nat_destination network could be for?15:17
gtemahttps://opendev.org/openstack/openstacksdk/src/branch/master/openstack/cloud/_floating_ip.py#L106315:17
* frickler needs to dig into the code15:17
gtema"Find a port attached to the server which is on a network which15:17
gtema        has a subnet which can be the destination of NAT."15:17
fricklerah, yes, that is the network that the server port should be on15:19
fricklerso if the user doesn't want to specify the port explicitly, they can say "use the port that is on the nat_destination network" instead15:20
gtemaso here it was supposed to exactly find port of the instance from the subnet with "external" access?15:21
gtemathe term nat_destination is not really very self explaining15:21
fricklerthe term is questionable, yes15:22
frickleralso it only specifies the network, not the subnet15:23
gtemaso this would be subnet_with_router_connected_to_external ?15:23
fricklerno, network_...15:23
gtemayeah, right15:24
fricklerif the port has multiple fixed_ips, possibly on different subnets, one of those is chosen at random15:24
frickleralso if the instance has multiple ports connected to the same network, the most recently create one is chosen, which is also an interesting decision15:25
gtemayeh, this code is full of interesting decisions that I can't decode even respect for so many comments trying to explaing15:25
gtemaso in summary it searches for the network which is through the router connected to another network with router:external=True15:27
fricklerno. the user has to specify that network15:28
gtemawell, user says: please gimme VM with interfaces to following networks and a FIP15:28
gtemaor worse: fip_pool15:29
frickleryes, and in addition the user says (in nat_destination) which of those networks to connect the FIP to15:29
gtemaand normally this never happens so code need to find this out15:29
frickleris that a new feature request or is that already happening somewhere?15:30
gtemano, this is how ansible tests are looking like15:30
gtemahttps://opendev.org/openstack/ansible-collections-openstack/src/branch/master/ci/roles/server/tasks/main.yml15:31
gtemaI never myself passed nat_destination in any case while provisioning server15:31
gtemajust 1-2 nics and request IP15:32
gtemahttps://opendev.org/openstack/ansible-collections-openstack/src/branch/master/ci/roles/server/tasks/main.yml#L298 - this is the most interesting case15:32
gtema3 nics: 2 nets and 1 port15:33
frickler_find_interesting_networks()15:33
fricklerhttps://opendev.org/openstack/openstacksdk/src/branch/master/openstack/cloud/_network_common.py#L25615:33
gtemayes, this is exactly what I am telling - depending on arguments that users passes and conditions we land in totally different places in the code and I just can't build proper picture15:33
fricklerweird spaghetti code, yes. this only checks for a gateway_ip being defined on a subnet, not for a router https://opendev.org/openstack/openstacksdk/src/branch/master/openstack/cloud/_network_common.py#L174-L18015:35
gtemabut ok, thks. Which ways of accessibility to the outside world are there: using shared_snat, assigning FIP. Anything else?15:36
fricklerdirect routing15:36
gtemahow?15:37
fricklerusing address scope in neutron and directly assigning public v4 addresses in tenant subnets15:37
fricklerthis is essentially how IPv6 works, at least when following my standard setup guide15:37
fricklerbut is possibly for v4, too15:37
fricklerjust almost noone does it, because v4 space is too expensive15:38
gtemamy hands fall down15:38
gtemaprivate ipv6 vs public one? how this is managed?15:39
fricklerI wouldn't use private IPv6. but one could do that via address scope, too15:39
fricklerso for public IPv6, the provider would set up a subnet pool that the use can use to define their subnets from15:40
frickler... the user can use ...15:40
gtemayeah, the scope is now SDK. It should be able to do whatever user requests without forcing him to understand all details15:40
gtemaI think I need to sleep few days with that. I want to refactor this code, cause nobody is able to understand it properly15:41
gtemavery sadly any attempt to touch it will definitely break few clouds which do things differently (looking at https://opendev.org/openstack/openstacksdk/src/branch/master/openstack/cloud/meta.py#L160)15:42
gtemaand we do not have possibility to test SDK on different clouds to verify how things are working15:43
frickleroption 4 I think is the most common option in general. 2+3 could be expected from "modern" clouds. 1+5 are legacy15:44
fricklerone could try to setup different devstacks for 2-415:44
gtemasadly legacy is still reality. That is why with 0.99 I broke completely zuul/nodepool which still runs on rax15:45
fricklermaybe some day we will have to say "this isn't openstack, we don't support it any longer"15:45
gtemawell, that is exactly the point. I want now to reorg this into something like an interface with each difference implemented by dedicated class15:46
gtemaso that through profiles or better some other discovery mechanism proper one is selected15:46
gtemaand if someone at rax is still interested at having sdk for them they can provide their own implementation15:47
opendevreviewMerged openstack/osc-lib master: Add Python3 antelope unit tests  https://review.opendev.org/c/openstack/osc-lib/+/85673515:48
gtemanow with R1.0 it is exactly the time to say this. Otherwise we maintain it for next 8 years ;-)15:48
gtemathanks for clarifications frickler, appreciate that15:50
fricklersure, let me know if you have further questions or something to review16:08
gtemathks. We should meet some time finally here around ;-)16:09
opendevreviewMerged openstack/openstacksdk stable/zed: Update .gitreview for stable/zed  https://review.opendev.org/c/openstack/openstacksdk/+/85672816:17
opendevreviewMerged openstack/openstacksdk stable/zed: Update TOX_CONSTRAINTS_FILE for stable/zed  https://review.opendev.org/c/openstack/openstacksdk/+/85672916:21
opendevreviewMerged openstack/openstacksdk master: Update master for stable/zed  https://review.opendev.org/c/openstack/openstacksdk/+/85673016:21
opendevreviewMerged openstack/cliff master: Add Python3 antelope unit tests  https://review.opendev.org/c/openstack/cliff/+/85672716:33
opendevreviewMerged openstack/openstacksdk master: Add Python3 antelope unit tests  https://review.opendev.org/c/openstack/openstacksdk/+/85673116:50
opendevreviewMerged openstack/openstacksdk master: resource: Fix pagination of nested Glance resources  https://review.opendev.org/c/openstack/openstacksdk/+/85365618:57

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