| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2018-04-17 | |||
| 20:04:58 | melwitt | jackie-truong: hey, just wanted to say please feel free to add notes on how the runway time went for your blueprint in the log area (L123 https://etherpad.openstack.org/p/nova-runways-rocky) | |
| 20:05:47 | jackie-truong | melwitt: Absolutely, will do! | |
| 20:06:53 | openstackgerrit | Jay Pipes proposed openstack/nova master: support multiple member_of qparams https://review.openstack.org/561315 | |
| 20:10:42 | openstackgerrit | Chris Dent proposed openstack/nova master: Use nova.db.api directly https://review.openstack.org/543262 | |
| 20:13:58 | mriedem | GAH | |
| 20:14:28 | mriedem | why does this hard-coded read_deleted='no'? https://github.com/openstack/nova/blob/54dc7048a48799ed980138e3524e4ebfc544eb8c/nova/db/sqlalchemy/api.py#L473 | |
| 20:14:32 | mriedem | *hard-code | |
| 20:15:33 | cfriesen | so do a bunch of the other service_get_by_* routines | |
| 20:15:37 | mriedem | yes | |
| 20:15:46 | mriedem | glad i stepped away for awhile to come back and figure this out | |
| 20:16:14 | melwitt | because no one would ever want to read deleted service records or use context to override read_deleted. duh! | |
| 20:17:06 | melwitt | heh | |
| 20:17:21 | mriedem | chances are it was a dan from red hat | |
| 20:17:53 | mriedem | https://github.com/openstack/nova/commit/30159255bf5ec89c9092eb0273c292d44724e1f1 | |
| 20:19:24 | cfriesen | mriedem: looks like service_get_all_by_topic() and friends ignored deleted records as far back as 2011 | |
| 20:19:57 | mriedem | yeah i'm sure it's just a pattern that all the newer methods followed | |
| 20:21:55 | openstack | bug 1764556 in OpenStack Compute (nova) ""nova list" fails with exception.ServiceNotFound if service is deleted and has no UUID" [Undecided,New] https://launchpad.net/bugs/1764556 | |
| 20:21:55 | openstackgerrit | Matt Riedemann proposed openstack/nova master: WIP: Add functional recreate test for bug 1764556 https://review.openstack.org/562041 | |
| 20:21:56 | mriedem | cfriesen: i can't recreate that bug, but here is my test that tries ^ | |
| 20:23:33 | cfriesen | mriedem: does it result in the equivalent DB entries that I did manually? | |
| 20:24:10 | mriedem | how about just looking at the test to see if i'm missing something | |
| 20:24:16 | dansmith | mriedem: yeah, I mean, getting by binary kinda has to ignore deleted | |
| 20:24:17 | cfriesen | looking already | |
| 20:25:26 | mriedem | dansmith: it's redundant with the context.read_deleted which defaults to 'no' | |
| 20:25:34 | mriedem | but in this test i needed to specifically read deleted services | |
| 20:25:51 | mriedem | and that was preventing me from being able to | |
| 20:26:01 | mriedem | hence, "GAH" | |
| 20:26:29 | mriedem | cfriesen: adding more debug, looks like the deleted service does in fact have a uuid | |
| 20:26:45 | arvindn05 | https://github.com/openstack/nova/blob/master/nova/scheduler/manager.py#L93 | |
| 20:26:45 | arvindn05 | Is calling GET /os-hypervisors the only way? Ideally I was hoping the request_spec had the uuid but all I get is the host name | |
| 20:26:45 | arvindn05 | how do we get host uuid from hostname in the scheduler? i am trying to get host uuid for host specified in the request_spec.force_hosts. | |
| 20:27:13 | arvindn05 | any hints on internal methods i can call from the scheduler to provide the uuid's? | |
| 20:28:15 | mriedem | arvindn05: scheduler doesn't need to call compute REST APIs | |
| 20:28:18 | mriedem | it can use the db | |
| 20:28:49 | cfriesen | mriedem: I wonder if deleting the service added the uuid back in? | |
| 20:29:15 | mriedem | arvindn05: likely looking at https://github.com/openstack/nova/blob/master/nova/objects/compute_node.py#L269 | |
| 20:29:29 | mriedem | cfriesen: ah yeah, it probably did b/c the API looks up the service from the db to build the object and then delete it | |
| 20:30:17 | mriedem | arvindn05: there is also force_nodes | |
| 20:30:25 | mriedem | ironic nodes are 1:M host:node | |
| 20:30:45 | mriedem | that's why get_first_node_by_host_for_old_compat is semi deprecated | |
| 20:30:53 | arvindn05 | mriedem: thanks. so i need to load compute node using the get_by_host_and_nodename method and get the uuid that way? | |
| 20:31:29 | mriedem | this is to get the compute node uuid to find the resource provider for rebuild right? | |
| 20:31:36 | arvindn05 | yup | |
| 20:32:00 | mriedem | arvindn05: yeah then likely just use this https://github.com/openstack/nova/blob/master/nova/objects/compute_node.py#L262 | |
| 20:32:20 | arvindn05 | i have both the host and node names...so it looks appropriate | |
| 20:32:25 | mriedem | that's a bit heavy since we don't need the full compute node object, but that should work for starters | |
| 20:33:26 | arvindn05 | mriedem: thanks. is there any other lightweight mapping other than going to the db? | |
| 20:33:58 | arvindn05 | i saw somewhere that the host id is generated from a combination of something....let me look it up | |
| 20:34:59 | arvindn05 | https://ask.openstack.org/en/question/29085/which-api-to-be-used-to-get-uuid-of-compute-host/?answer=29091#post-id-29091 | |
| 20:35:21 | mriedem | no that's not it | |
| 20:35:25 | cfriesen | arvindn05: going to the DB should be relatively cheap | |
| 20:35:26 | mriedem | that's the hashed instance.hostId | |
| 20:35:58 | mriedem | the computenode.host is the hostname of the compute service | |
| 20:36:01 | mriedem | the physical hostname | |
| 20:36:11 | mriedem | the nodename is the same as the host for all virt drivers except ironic | |
| 20:36:12 | arvindn05 | mriedem: cfriesen: thanks...will go to the db then. if there are more effiecint methods, hopefully they will be pointed out in the CR | |
| 20:36:22 | mriedem | in the case of ironic, the computenode.hypervisor_hostname (nodename) is the ironic node uuid | |
| 20:36:41 | mriedem | there are not more efficient methods without writing your own new DB API query method via the ComputeNode object | |
| 20:36:48 | mriedem | like, get_uuid_by_host_and_nodename | |
| 20:37:17 | arvindn05 | ^ was hoping someone already wrote that method :) | |
| 20:37:48 | mriedem | i don't think it's a huge issue to lookup the compute node for the rebuild case, it's not like scheduling for that should be very expensive since all we're doing is validating the new image | |
| 20:38:38 | arvindn05 | yup...its not for all rebuild cases either...only rebuild cases where they have traits expressed in image....so its a minor subset | |
| 20:42:11 | openstack | bug 1764556 in OpenStack Compute (nova) ""nova list" fails with exception.ServiceNotFound if service is deleted and has no UUID" [Undecided,New] https://launchpad.net/bugs/1764556 | |
| 20:42:11 | openstackgerrit | Matt Riedemann proposed openstack/nova master: WIP: Add functional recreate test for bug 1764556 https://review.openstack.org/562041 | |
| 20:42:12 | mriedem | cfriesen: getting further but still not failing when listing instances ^ | |
| 20:44:21 | efried | imacdonn: Quick delta there and I'm happy | |
| 20:45:28 | imacdonn | efried: Ahh, good catch | |
| 20:45:43 | efried | imacdonn: I checked and that's the only place it was used. | |
| 20:45:58 | imacdonn | yep, I just 'grep -r'ed too ;) | |
| 20:46:33 | imacdonn | ooooh | |
| 20:46:39 | efried | ...which is probably less reliable than grep -r | |
| 20:46:43 | imacdonn | heh | |
| 20:46:52 | efried | but way more efficient. | |
| 20:47:07 | efried | You know, as long as you discount all the freaking processing power the IDE had to do up front to indext the whole freaking project. | |
| 20:47:17 | efried | s/indext/index/ | |
| 20:47:22 | imacdonn | yeah | |
| 20:47:30 | mriedem | cfriesen: if i revert this https://review.openstack.org/#/c/543970/ then the test fails with ServiceNotFound | |
| 20:48:31 | openstackgerrit | Matt Riedemann proposed openstack/nova master: DNM: Revert "Lazy-load instance attributes with read_deleted=yes" https://review.openstack.org/562051 | |
| 20:48:39 | mriedem | but, that basically means it's already fixed | |
| 20:49:11 | cfriesen | mriedem: does host1.stop() delete the entry in the DB? or do we need host1.kill()? | |
| 20:49:24 | cfriesen | I definitely tested it with current stable/pike in devstack | |
| 20:49:33 | mriedem | .stop() doesn't delete the service | |
| 20:50:16 | openstackgerrit | Merged openstack/nova master: Parse forbidden in extra_specs https://review.openstack.org/561677 | |
| 20:50:20 | cfriesen | ah, I see. you're stopping it then deleting it | |
| 20:50:23 | mriedem | besides, yeah | |
| 20:50:49 | mriedem | i stop the service, delete it, and then have to null out the service uuid because as noted, deleting the service via the rest api looks it up and will migrate the uuid if not set | |
| 20:50:59 | cfriesen | let me just double-check my devstack | |
| 20:52:13 | mriedem | cfriesen: did you have https://review.openstack.org/#/c/545988/ in your devstack env? | |
| 20:52:30 | openstackgerrit | Merged openstack/nova stable/pike: libvirt: Block swap volume attempts with encrypted volumes prior to Queens https://review.openstack.org/543569 | |
| 20:52:32 | mriedem | oh you said current stable/pike | |
| 20:53:42 | openstackgerrit | iain MacDonnell proposed openstack/nova master: Remove placement config check https://review.openstack.org/558089 | |
| 20:56:01 | openstack | bug 1745977 in OpenStack Compute (nova) queens "When source compute service up, will not destroy and clean up those instances which be evacuated then be deleted." [Medium,Fix committed] https://launchpad.net/bugs/1745977 - Assigned to Matt Riedemann (mriedem) | |
| 20:56:01 | mriedem | well, if anything, i guess i can still leave this test in place for bug 1745977 so we have coverage of the scenario | |
| 20:57:08 | cfriesen | mriedem: when you list the servers, are you doing it as an admin user? | |
| 20:57:21 | cfriesen | mriedem: regular user doesn't get the host info | |
| 20:57:57 | cfriesen | mriedem: and so doesn't trigger the bug | |
| 20:58:41 | cfriesen | I just reproduced in devstack after restarting all the nova services, so should be valid | |
| 20:59:39 | openstackgerrit | melanie witt proposed openstack/nova master: Add periodic task to clean expired console tokens https://review.openstack.org/325381 | |
| 20:59:40 | openstackgerrit | melanie witt proposed openstack/nova master: Use ConsoleAuthToken object to generate authorizations https://review.openstack.org/325414 | |
| 20:59:41 | openstackgerrit | melanie witt proposed openstack/nova master: Convert websocketproxy to use db for token validation https://review.openstack.org/333990 | |