Earlier  
Posted Nick Remark
#openstack-nova - 2019-11-21
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
18:41:41 sean-k-mooney although this could be related to this specific deploment
19:20:37 mriedem test_encrypted_cinder_volumes_luks might be failing all the time on multinode jobs too if the volume and server are on different hosts, i wonder if that's causing that to fail
19:22:32 mriedem nvm i guess that's not the case in the failure i'm looking at
19:45:56 lyarwood mriedem: link? I'm about for 15 and can take a look.
19:50:24 openstack Launchpad bug 1820007 in os-brick "Failed to attach encrypted volumes after detach: volume device not found at /dev/disk/by-id" [Undecided,Confirmed]
19:50:24 mriedem i closed it but it's a bug we've already talked about before https://bugs.launchpad.net/os-brick/+bug/1820007
19:54:03 lyarwood mriedem: ah right, that weirdness
20:05:34 lyarwood mriedem: https://review.opendev.org/695564 - I'll follow up in the morning with this.
20:10:51 mriedem word
20:29:54 melwitt mriedem: I left comments on the --instance and --dry-run backports for the docs
20:39:15 mriedem melwitt: yeah good catch, i left some thoughts/options in https://review.opendev.org/#/c/693199/1/doc/source/cli/nova-manage.rst@358
20:39:33 dansmith mriedem: speaking of getting off your lawn,
20:39:54 dansmith does it not seem hilarious that we had "% locals()" all over the code, removed it all, and then python baked it into the language?
20:40:08 mriedem i was reading that article ttx linked and thought that exact same thing
20:40:14 mriedem "oh fun this is just using locals"
20:40:18 dansmith right
20:40:20 mriedem not breakable at all!
20:40:28 dansmith so a new incompatible syntax for ... something you can already do but shouldn't
20:40:29 dansmith hah right
20:40:31 mriedem i also didn't know that % pre-dated format()
20:40:34 mriedem i prefer %
20:40:51 dansmith me too, because I'm old school
20:41:07 dansmith I've been doing python since before .format and since before you saw the non-java light, whippersnapper
20:41:44 mriedem hey, now we're both losers because there is go: java for python people
20:41:55 dansmith heh
20:41:56 dansmith indeed
20:41:59 mriedem umm, + pointers
20:44:05 mriedem f strings also looks like you can run functions from within strings, which ....
20:44:08 mriedem seems like erlang?
20:44:27 dansmith you can definitely hit dictionaries, which seems borderline evil
20:44:34 dansmith running functions and you're nearly bash
20:45:19 dansmith I also don't like the single-char prefix to a quoted string syntax python seems to love
20:45:29 dansmith u"foo", r"bar", etc
20:46:01 dansmith and all these new kids with their hoverboards and roller skates...*fist*
20:46:51 melwitt mriedem: replied. no strong opinion here
20:47:02 melwitt I'm cool with whatever you think is best
20:47:03 mriedem melwitt: but what's your take on f-strings?!
20:47:08 melwitt lol
20:47:14 mriedem f'em right?!
20:47:23 melwitt I didn't know what f-strings is yet so I'm way ahead of the game

Earlier   Later