| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2018-04-17 | |||
| 19:27:59 | jaypipes | lyarwood: ah, cool. thx :) | |
| 19:28:45 | jaypipes | dansmith: oh? wasn't aware of that. is the performance due to contiguous blocks being grouped together? | |
| 19:28:56 | dansmith | jaypipes: allocation takes time and effort | |
| 19:29:17 | dansmith | jaypipes: on a busy system preallocation won't even get you contiguous bits, | |
| 19:29:36 | dansmith | but if you want predictable disk performance, you don't want to write to a hole and take a hit waiting for the allocation and _then_ the write | |
| 19:29:41 | dansmith | and of course, | |
| 19:29:42 | jaypipes | dansmith: so pre-allocating speeds up VM start times? | |
| 19:29:49 | dansmith | no | |
| 19:29:55 | dansmith | this would be performance after it's running | |
| 19:30:01 | jaypipes | ah, ok. | |
| 19:30:12 | jaypipes | sorry, out of my depth with block device stuff :( | |
| 19:30:23 | dansmith | before it has hit every page on its own disk at least once | |
| 19:30:24 | dansmith | s'all good | |
| 19:46:42 | openstackgerrit | Merged openstack/python-novaclient master: Microversion 2.61 - support extra_specs in flavor API https://review.openstack.org/561520 | |
| 19:53:51 | openstackgerrit | Jackie Truong proposed openstack/nova master: Implement certificate_utils https://review.openstack.org/479949 | |
| 19:53:52 | openstackgerrit | Jackie Truong proposed openstack/nova master: Plumb trusted_certs through libvirt driver image paths https://review.openstack.org/561262 | |
| 19:53:53 | openstackgerrit | Jackie Truong proposed openstack/nova master: Add trusted_image_certificates to REST API https://review.openstack.org/486204 | |
| 19:53:54 | openstackgerrit | Jackie Truong proposed openstack/nova master: Add certificate validation docs https://review.openstack.org/560158 | |
| 20:03:58 | openstackgerrit | Jay Pipes proposed openstack/nova master: support multiple member_of qparams https://review.openstack.org/561315 | |
| 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 | |