| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2019-11-21 | |||
| 17:04:54 | donnyd | Hence my :( | |
| 17:05:01 | mriedem | yeah i know | |
| 17:05:05 | mriedem | freedom ain't free and all that | |
| 17:06:04 | donnyd | Well I am very appreciative of the time that has been put in | |
| 17:07:12 | melwitt | https://www.youtube.com/watch?v=tzW2ybYFboQ | |
| 17:07:35 | donnyd | melwitt: zomg lol | |
| 17:07:59 | melwitt | :) | |
| 17:08:22 | mriedem | heh yo'uve never seen that? | |
| 17:08:34 | mriedem | it's the only reason i say it | |
| 17:09:21 | donnyd | Oh I have, and it makes me laugh every time | |
| 17:09:33 | mriedem | costs about a buck-o-five | |
| 17:10:05 | mriedem | ok on that note, my wife wants me out of the gd house for a few hours so i'm going to lunch, errands and then to be driven crazy working at a coffee shop so bbiab | |
| 17:17:14 | openstackgerrit | Lee Yarwood proposed openstack/nova master: block_device: Copy original volume_type when missing for snapshot based volumes https://review.opendev.org/694497 | |
| 17:59:05 | sean-k-mooney | gibi: our downstream qa just found an issue with how we report the bandwidth provires | |
| 18:00:26 | sean-k-mooney | nova creates the compute node rp with the hypervior_hostname as the RP name | |
| 18:00:52 | sean-k-mooney | which means if you change the compute node host with the host config value in the nova and neutron config | |
| 18:01:19 | sean-k-mooney | we cannot find the root RP | |
| 18:04:23 | sean-k-mooney | so for it to work compute node host and hypervior_hostname meed to match | |
| 18:04:38 | efried | that sounds like a problem with how we report providers in general. Are you really supposed to be able to change that config for an existing service? | |
| 18:04:52 | efried | do we actually rename the provider correctly in that case? | |
| 18:05:12 | sean-k-mooney | this is a clean deployment | |
| 18:05:15 | sean-k-mooney | so no rename | |
| 18:05:25 | sean-k-mooney | but that would also be a problem | |
| 18:07:02 | sean-k-mooney | efried: http://paste.openstack.org/show/786502/ | |
| 18:08:06 | sean-k-mooney | efried: nova is correctly using the host confiv vlaue "sriov01.localdomain" for the host as is neutron and that is also the vlaue set in the neutron port bindings | |
| 18:08:31 | sean-k-mooney | efried: the rp uses the hypervior_hostname which makes sense for ironic | |
| 18:08:54 | sean-k-mooney | but for libvirt this is an issue | |
| 18:09:25 | sean-k-mooney | sriov01.mobius.lab.eng.rdu2.redhat.com is actully the real hostname set in /etc/hosts | |
| 18:09:45 | sean-k-mooney | sorry /etc/hostname | |
| 18:09:54 | efried | can you get a UUID from `openstack hypervisor list`? | |
| 18:10:41 | sean-k-mooney | no it return the internal data base id intead which is a differnte issue | |
| 18:10:48 | sean-k-mooney | i gues a show might work | |
| 18:11:24 | sean-k-mooney | no no uuid | |
| 18:11:46 | efried | well, my point is that the compute node's *UUID* should be predictable (it's compute_node.uuid) | |
| 18:12:05 | efried | so, once again, trying to use RP name for *anything* is dangerous and brittle. | |
| 18:12:38 | sean-k-mooney | sure but only nova know the uuid | |
| 18:13:08 | openstackgerrit | John Garbutt proposed openstack/nova master: WIP: review comments around unit test idea https://review.opendev.org/695547 | |
| 18:13:09 | efried | that can't be true | |
| 18:13:21 | openstackgerrit | Lee Yarwood proposed openstack/nova master: block_device: Copy original volume_type when missing for snapshot based volumes https://review.opendev.org/694497 | |
| 18:13:25 | sean-k-mooney | why cant it. | |
| 18:13:27 | efried | you telling me there's no way to discover the compute node UUID from the host? | |
| 18:13:44 | efried | seems like I asked mriedem about this the other day... | |
| 18:13:58 | sean-k-mooney | not via the hyperviors api | |
| 18:14:11 | sean-k-mooney | or the compute service list | |
| 18:16:21 | efried | ...okay, the result of said discussion was "the RP name matches CONF.host" -- which you've just proven ain't true. | |
| 18:16:37 | sean-k-mooney | right it was ment to | |
| 18:16:50 | sean-k-mooney | it actully match the result of calling get_hostname | |
| 18:16:56 | sean-k-mooney | or what ever that function is called | |
| 18:18:23 | sean-k-mooney | ill grant you the fact that they have set the confg value so they dont amctch is a little weired but it shoudl actully work | |
| 18:18:27 | openstackgerrit | John Garbutt proposed openstack/nova master: WIP: just an idea, adding scope checking https://review.opendev.org/695550 | |
| 18:18:35 | efried | dammit, having it be hypervisor_hostname is the *right* thing | |
| 18:18:46 | efried | but yeah, it makes discoverability problematic. | |
| 18:19:03 | sean-k-mooney | yes it would be if we used that when talking to neutron and cinder | |
| 18:19:07 | sean-k-mooney | but we dont | |
| 18:19:51 | efried | nova.compute.resource_tracker.ResourceTracker._update_to_placement would have to condition on "am I ironic?" | |
| 18:20:50 | efried | https://opendev.org/openstack/nova/src/branch/master/nova/compute/resource_tracker.py#L1111-L1112 | |
| 18:21:19 | efried | heck, I don't even know if we have a way to tell at that point in the code whether we're ironic. | |
| 18:22:02 | efried | Can't we just deprecate CONF.host? :P | |
| 18:22:15 | sean-k-mooney | possibly although i dont think that is the only place we can creat he compute node record | |
| 18:22:17 | sean-k-mooney | https://github.com/openstack/nova/blob/1cd5563f2dd2b218db2422397c8aab394d484626/nova/compute/resource_tracker.py#L671-L699 | |
| 18:22:51 | efried | the one I linked is the only place we create the provider | |
| 18:22:59 | efried | I'm not talking about changing what's in the compute node record. | |
| 18:23:17 | sean-k-mooney | ah ok | |
| 18:24:10 | sean-k-mooney | ya sorry i was trying to figure out where the hyperviour hostname was set orginally in the compute node | |
| 18:25:00 | sean-k-mooney | in the libvirt case i had kind of assumed it shoudl always match the CONF.host value | |
| 18:25:06 | sean-k-mooney | but i does not | |
| 18:26:22 | efried | it appears as though it's up to the individual driver to set hypervisor_hostname in that resources dict you pointed to. | |
| 18:26:34 | efried | And the libvirt driver asks the libvirt API. | |
| 18:26:42 | efried | nova.virt.libvirt.host.Host.get_hostname | |
| 18:27:00 | efried | which I can only imagine does effectively `hostname` | |
| 18:27:12 | sean-k-mooney | ya which we cant change becasue i think it uses that for live migration | |
| 18:27:22 | efried | can't and shouldn't. | |
| 18:27:47 | efried | It would also be a nightmare at this point to try to change the resource provider name I think. | |
| 18:27:58 | sean-k-mooney | ya | |
| 18:28:12 | sean-k-mooney | so really the host config option cant be used | |
| 18:28:19 | efried | correct | |
| 18:28:27 | efried | at least with libvirt and bandwidth | |
| 18:28:30 | efried | can you think of other places this could break us? | |
| 18:28:30 | sean-k-mooney | unless you are setting it to the value returin by get_hostname | |
| 18:28:47 | sean-k-mooney | cyborg | |
| 18:29:04 | sean-k-mooney | it will be doing the same to creat its resouce right? | |
| 18:29:14 | sean-k-mooney | it was going to look up the RP by name | |
| 18:29:16 | efried | which also relies on the correlation between the hypervisor and the RP? | |
| 18:29:34 | efried | Sundar isn't here, could go check the code... | |
| 18:30:11 | efried | but I'm not gonna. | |
| 18:30:15 | efried | I have him on slack, will ask... | |
| 18:30:23 | sean-k-mooney | ill check | |
| 18:31:31 | sean-k-mooney | so first sign is not promising https://github.com/openstack/cyborg/blob/8f78a05a24ea17ad1036b32e05dbc75233cd374d/cyborg/conductor/manager.py#L360-L372 | |
| 18:33:19 | sean-k-mooney | https://github.com/openstack/cyborg/blob/369abe8dd06aa6648298c3256f444a63ee6268d0/cyborg/agent/manager.py#L40 | |
| 18:33:27 | sean-k-mooney | so it can be set in the config too | |
| 18:35:48 | sean-k-mooney | so yes cyborg would also have to have that set to have the same value set | |
| 18:35:50 | sean-k-mooney | https://github.com/openstack/cyborg/blob/369abe8dd06aa6648298c3256f444a63ee6268d0/cyborg/conf/default.py#L38-L45 | |
| 18:36:03 | sean-k-mooney | they default to socket.getfqdn() | |
| 18:36:55 | sean-k-mooney | nova defualt to socket.getHostname() https://github.com/openstack/nova/blob/1cd5563f2dd2b218db2422397c8aab394d484626/nova/conf/netconf.py#L55-L59 | |
| 18:37:33 | sean-k-mooney | and neutron has there own function | |
| 18:37:34 | sean-k-mooney | https://github.com/openstack/neutron/blob/f8b990736ba91af098e467608c6dfa0b801ec19c/neutron/conf/common.py#L94-L99 | |
| 18:38:31 | sean-k-mooney | which just calls socket.gethostname() | |
| 18:38:33 | sean-k-mooney | https://github.com/openstack/neutron-lib/blob/master/neutron_lib/utils/net.py#L23-L28 | |
| 18:39:01 | sean-k-mooney | so at least nova and neutron agree on the default cyborg could get a differnt value | |
| 18:40:55 | sean-k-mooney | efried: i dont think we can change anything on the nova side so i might have to file a triplo bug | |