Earlier  
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 openstackgerrit Matt Riedemann proposed openstack/nova master: WIP: Add functional recreate test for bug 1764556 https://review.openstack.org/562041
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: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 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: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 https://github.com/openstack/nova/blob/master/nova/scheduler/manager.py#L93
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 openstackgerrit Matt Riedemann proposed openstack/nova master: WIP: Add functional recreate test for bug 1764556 https://review.openstack.org/562041
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: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

Earlier   Later