Earlier  
Posted Nick Remark
#openstack-nova - 2021-11-15
15:52:21 EugenMayer create the router so Bsub1 can reach Bsub2) the gateway of Bsub1 is pushed
15:52:21 EugenMayer sean-k-mooney: i have an issue with the fact that i can only add a router with those 2 interfaces, if a gateway is presnet. I have a network A (sub1/sub2) and network B (sub1/sub2). I want an instance to be in A sub1 with the default gateway of Asub1, while this instnace is also in Bsub1. The problem is, if Bsub1 also has a gateway (which i need to
15:52:26 EugenMayer (default gateway)
15:53:20 sean-k-mooney so in generall you will create a tenant network and a rounter to connect the tenant network to the external network
15:53:43 sean-k-mooney and if you want to have 2 subnets on that tenant network you just add a second interface to the existing router for the second subnet
15:54:35 sean-k-mooney Zer0Byte: ok if it does not appear in the RP list then if you check the compaute agent log on that host it should have an error
15:55:08 sean-k-mooney Zer0Byte: in the logs o fthe update_avaiable_resouces periodic task if not earlier
15:56:12 EugenMayer sean-k-mooney my problem is with the default gateway pushed, if an instance has 2 interfaces which both have a gateway
15:56:49 sean-k-mooney right that is a common problem
15:56:57 sean-k-mooney you can disable the gateway on the subnet
15:57:17 sean-k-mooney which should prevent that
15:58:53 sean-k-mooney EugenMayer: i think you do "openstack subnet unset --gateway <subnet>"
15:59:00 EugenMayer sean-k-mooney yes, that is what i did, then i cannot route Bsub1 to Bsub2 - you cannot add the interface
15:59:21 EugenMayer if a subnet has not gateway, it cannot be added to the router to route to the subnets
15:59:30 sean-k-mooney you can add the interface but you have to specify the ip manually to be what would be the normal gateway ip
15:59:59 EugenMayer so you mean override the gateway via cloud-init?
16:00:04 sean-k-mooney so when adding the router interface you will need to give it the .1 address or whatever adress is correct for the cidr
16:00:08 sean-k-mooney no
16:00:17 sean-k-mooney do openstack subnet unset --gateway <subnet b>
16:00:18 Zer0Byte "title": "Service Unavailable"}.
16:00:18 Zer0Byte RROR nova.scheduler.client.report [req-4d4167be-e58d-42eb-bf49-ffeb0a21d42c - - - - -] [req-6400ff72-11e0-4953-9980-463cfacf7df1] Failed to retrieve resource provider tree from placement API for UUID 1c684ec9-6ab2-4ef7-8451-c989a0b90f45. Got 503: {"message": "The server is currently unavailable. Please try again at a later time.<br /><br />\nThe Keystone service is temporarily unavailable.\n\n", "code": "503 Service Unavailable",
16:00:23 Zer0Byte is exactly what i suspect
16:00:47 Zer0Byte now my question is how i force the node to populate on placement
16:03:36 sean-k-mooney then do "openstack port create --network <my net> --fixed-ip subnet=<subnet>,ip-address=192.168.2.1 router_subnet_b_port"
16:03:42 EugenMayer create a neutron router to bridge between B-sub1 and B-sub2, since a gateway in B-sub1 seems to be required for that
16:03:42 EugenMayer sean-k-mooney sorry i'am confused. Let met try to explain my dilemma more clearly, maybe you can point me to my mistake. Network A(sub1) and Network B(sub1,sub2) exist. Now i have to options. I disable the gw on B-sub1 so if my instance is in A-sub1 and B-sub1, the default gateway of A-sub1 is used. If i disable that gw, i'am no longer able to
16:04:05 sean-k-mooney then do openstack router add port <router> <port uuid for router_subnet_b_port>
16:05:10 sean-k-mooney EugenMayer: if the gateway is disable i think you have to manually create the port rather then addign the subnet to the router a is descibed above ^
16:05:24 EugenMayer interesting
16:05:38 sean-k-mooney Zer0Byte: i think you jsut need to restart the compute agent
16:05:57 sean-k-mooney it should try again the next time the perodic runs if your keystone issues are resovled
16:06:07 EugenMayer so i should stick to B sub1/sub2 with gw disabled on sub1 and try to workarround the issue to bridge Bsub1 to Bsub2
16:08:12 sean-k-mooney so your real issue is that dhcp is going to fight with the default router right
16:08:25 sean-k-mooney normally i fix this with cloud-init manually and set the metic
16:08:38 sean-k-mooney what sound like would be useful would be some way to configure the metric per subnet
16:09:38 sean-k-mooney if you never needed to have two port on the same vm (from both subnets) this woudl not normlay be an issue
16:11:00 EugenMayer well i need that in my case. It is an kubernetes control-plane while A is its 'intranet' for others to access apps internally and also get routed to a floating IP. B is the cluster internal network
16:12:06 EugenMayer sean-k-mooney i'am not sure what your advice is. Try to go with disabling the gw and try adding the port manually or try to use cloud-init to somehow change the metric for DHCP
16:14:08 Zer0Byte @sean-k-mooney restarning the compute agent don;t work also no error on logs :(
16:15:23 Zer0Byte for understand the flow nova-agent (the service isntaled on the compute node) will contact placement directly right
16:39:09 hyang[m] Hi Nova core reviewers, can someone help to check the patch https://review.opendev.org/c/openstack/nova/+/811521? It can resolve a bug that affects both Nova and Neutron.
16:55:10 sean-k-mooney hyang[m]: that is partly a feature and partly a bug
16:55:30 sean-k-mooney i say its partly a feature as support for neutron rbac in nova is a new feature
16:56:05 sean-k-mooney its partly a bug in that that should have been part of the development of security group shareing in neutorn
16:56:14 sean-k-mooney there shoudl have been a sibligh spec to cover the nova changes
16:56:51 sean-k-mooney actully is this a new neutron featfure this cycle
16:57:07 sean-k-mooney if so then you shoudl convert that patch to a blueprint
16:59:24 Zer0Byte is very weird i ssue
16:59:28 Zer0Byte i put the agent on debug
16:59:38 Zer0Byte Final resource view: name=tc-m2mem-compute2-1210 is registering on placement
16:59:44 Zer0Byte but don;t show as a resource
16:59:50 sean-k-mooney hyang[m]: actully this should have a spec or specless bluerpint its a new feature not a bug
17:00:07 sean-k-mooney hyang[m]:this si not something that should be backported
17:05:35 bauzas folks, gentle reminder that tomorrow is spec review day
17:05:38 bauzas sharpen your pens
17:06:18 gibi bauzas: good reminder
17:06:20 gibi thanks
17:07:40 bauzas gibi: you can thank sean-k-mooney for ringing me a bell in my empty closet that's called "a brain"
17:07:51 gibi sean-k-mooney: thanks
17:07:52 gibi :D
17:08:13 sean-k-mooney as i said downstream the only reason i rememebred is i tought i missed it last week so i checked :)
17:09:39 gibi bauzas: I think you can abandon these https://review.opendev.org/q/project:openstack/nova-specs+status:open+label:Code-Review-2 as all of them are heavily outdated
17:10:12 gibi just to have a clean spec list for tomorrow
17:11:46 Zer0Byte any another idea @sean-k-mooney ?
17:16:05 sean-k-mooney Zer0Byte: have you tried openstack resource provider list --name tc-m2mem-compute2-1210
17:16:31 Zer0Byte got a empty response
17:16:53 sean-k-mooney Zer0Byte: assuming this is libvirt what does virsh hostname return
17:17:12 sean-k-mooney does it have a domain appended to it?
17:17:18 Zer0Byte no
17:17:29 Zer0Byte im using juju to install the compute nodes
17:17:43 Zer0Byte so the configuration is always persistent
17:18:05 sean-k-mooney ok libvirt via the python bindign provides the hostname to nova which we use for the RP name
17:18:22 Zer0Byte in this case we should have a empty record with id right?
17:18:27 Zer0Byte uuid
17:19:01 sean-k-mooney well we should have a resouce provider with the hostname as the name and the compute node uuid( not the compute service uuid) as the uuid
17:19:18 sean-k-mooney and then if you do an inventory list you shoudl see the reouces that are tracked
17:19:25 sean-k-mooney so cpu ram disk ectra
17:20:09 sean-k-mooney Zer0Byte: if you are not seeing the RP in placment then you should be sing an error in the compute agent log trying to create the RP at some point
17:20:26 Zer0Byte yeah from the other nodes yes
17:21:01 Zer0Byte i can see the usage form inventory
17:23:10 Zer0Byte my doubt here is how nova is "reporting allocations" to placement without a RP uuid
17:23:22 Zer0Byte or to a non visible RP
17:23:40 Zer0Byte Instance 21a17b74-400f-4dce-99ed-555e1ae80512 actively managed on this compute host and has allocations in placement: {'resources': {'VCPU': 8, 'MEMORY_MB': 65536}}. _remove_deleted_instances_allocations /usr/lib/python3/dist-packages/nova/compute/resource_tracker.py:1538
17:25:16 EugenMayer sean-k-mooney thank you for that metric trick with cloud-init. Surely not perfect since it makes the entire instance very topology aware, but i guess that info leaked into it never the less
17:27:54 sean-k-mooney well normally the netowrks routers and isntance are created by the tenant
17:28:01 sean-k-mooney so they are creating that toplogy themselves
17:28:21 sean-k-mooney in your case its sligly different since you are migrating/addpoting workload form your previous enviornment
17:28:55 sean-k-mooney i wonder if dhcp has the concept of a metiric it can pass
17:29:11 sean-k-mooney if so it might be worth wile asking neutron to support setting that via the subnet
17:29:33 Zer0Byte i will try something @sean-k-mooney the uuid from RP is auto generated or is from the ocmpute host?
17:29:34 sean-k-mooney it would be nice if you could jsut declare that via the subnet and not need to do it per instance
17:29:56 sean-k-mooney Zer0Byte: its autogenerate when the compute agent first connect to the db
17:30:25 sean-k-mooney Zer0Byte: you can fined it if you have access to the db by looking at the compute_nodes table in the cell db
17:30:35 Zer0Byte ok i wil try that
17:30:36 sean-k-mooney or you can get it via the rest api vai the hyperviors api
17:30:50 Zer0Byte recreate manually the rp
17:31:13 Zer0Byte to see if after i generate it i can get the allocations that the compute node is reporting
17:31:47 EugenMayer i'll try sean-k-mooney
17:33:03 sean-k-mooney to create the allocation i think you whould have to run the allcoation audit or heal allocation nova/placment manage commands
17:38:03 EugenMayer interesting, there is extra_dhcp_option on the port

Earlier   Later