Earlier  
Posted Nick Remark
#openstack-nova - 2019-08-12
16:30:51 sean-k-mooney i know that would not be desirebal for mix hyperviors
16:31:03 sean-k-mooney but its simplifies thing greatly
16:31:09 dansmith sean-k-mooney: could you read the backscroll please?
16:31:15 dansmith we've already discussed that too
16:31:52 dansmith or even the comments on the patch
16:31:53 sean-k-mooney ok im just confused why we would treat this differently then enable_numa_live_migration which is effectivly the same
16:32:01 sean-k-mooney ill read both
16:32:34 dansmith it probably should be the same, I haven't really seen anything about that knob myself
16:35:43 sean-k-mooney enable_numa_live_migration is used in the api i think and reject any live migration if the instnace has a numa toplogy when set to false which we made the defaul.
16:36:40 sean-k-mooney the reasoning being while it was a behavior change teh people that understand how to deploy numa toployg are the people that modify thing in the config anyway and we whould not let most people break things by migaint with out understandint its broken with numa
16:37:25 sean-k-mooney we may have done the check late in teh scheduler in teh enable_numa_live_migration case but i cant see why we would not have done it in the api
16:37:30 openstackgerrit Stephen Finucane proposed openstack/nova master: Unplug VIFs as part of cleanup of networks https://review.opendev.org/663382
16:40:58 Sundar Hi dansmith: Thanks for your reviews. For https://review.opendev.org/#/c/631243/30/nova/objects/flavor.py@230, I am trying to understand the alternative you recommend. "Let the versioned fields be properties" --> extra_specs is just a DictOfStrings, so how do you propose to change that to include a devic eprofile name explicitly?
16:41:07 mriedem sean-k-mooney: it's not in the api, it's in conductor,
16:41:16 mriedem and it's after we've picked a host to check if it's qemu
16:41:38 mriedem the allow resize to same host option is read in the api before calling the scheduler
16:42:36 sean-k-mooney mriedem: oh yep your right
16:43:11 mriedem efried: https://review.opendev.org/#/c/675935/
16:43:21 mriedem easy test fix to make func job runs go faster
16:46:47 efried mriedem, gibi: Left a comment in there. If you disagree, I'll +W
16:48:14 dansmith Sundar: just access the extra specs whenever you're going to look at the device profile
16:48:33 dansmith Sundar: i.e. code should be: flavor.extra_specs['device_profile'] ... instead of flavor.device_profile
16:54:00 openstackgerrit Surya Seetharaman proposed openstack/nova master: API microversion 2.76: Add 'power-update' external event https://review.opendev.org/645611
16:58:55 dansmith tssurya: found something I think is a problem that wasn't obvious until your clean-up
16:59:01 dansmith tssurya: let me know if I'm missing something there
16:59:24 tssurya dansmith: checking
17:01:12 mriedem efried: i'm ok either way
17:01:36 efried mriedem, gibi: I just don't like lambda *a, **k: None if we don't need it.
17:01:51 mriedem efried: if you want to change i'll test it and approve
17:01:58 efried ...
17:03:07 efried mriedem: f it, would need to import (the real) fixtures. +W
17:03:15 mriedem heh
17:04:31 tssurya dansmith: replied, hope I am not messing something up
17:10:02 dansmith tssurya: ah, I was confused, yeah, but in your comment you mean avoid L4768 not 4770 right?
17:10:21 dansmith you're trying to avoid queuing this event because it's a no-op?
17:10:39 tssurya dansmith: right sorry I am trying to avoid L4768
17:11:01 tssurya dansmith: yes I don't want the event to go down to the manager
17:11:12 dansmith so I was going to say this earlier, but I'm not really sure why we need to do the (almost) silent drop of those in the api
17:11:21 tssurya I am being strict with the task/vm/power states of the vm
17:11:25 dansmith because it seems like the manager/driver would know better about whether or not that is still important
17:11:41 dansmith but, the thing I -1d for is wrong, so I'll drop that
17:12:16 tssurya I understand your point, but since I sort of copied the start/stop logic in the api,
17:12:22 tssurya it would blow up here: https://review.opendev.org/#/c/645611/11/nova/compute/api.py@4705
17:12:37 tssurya when I save the instance since the expected state is None and so on
17:13:05 tssurya its mostly because when I was testing if there is a power sync/receving of event almost close to each it could mess up things
17:13:20 tssurya mostly a fail safe that I did in the beginning itself
17:16:42 dansmith tssurya: ah, okay that's fair
17:20:41 dansmith tssurya: I'll let mriedem lead with a +2 on the api stuff and versioning bits but otherwise I think I'm good with it
17:21:07 tssurya dansmith: thank you :D ! yea let's wait for the CI to run
18:20:26 openstackgerrit sean mooney proposed openstack/nova master: Libvirt: add support for vPMU configuration. https://review.opendev.org/671338
18:20:57 sean-k-mooney gibi: stephenfin mriedem i think i have adress most of the comments
18:34:15 mriedem ok
18:41:33 openstackgerrit Matt Riedemann proposed openstack/nova master: Restore soft-deleted compute node with same uuid https://review.opendev.org/675496
18:43:00 mriedem mnaser: ^
18:46:02 mnaser mriedem: seems very sane
18:53:54 openstackgerrit sean mooney proposed openstack/nova master: WIP: Add a placement audit command https://review.opendev.org/670112
18:55:20 sean-k-mooney cdent i think i have adressed your comments on ^ but im not fully sure what sylvain was trying to do so ill take a look again tomorow after i read the bug
19:12:31 openstackgerrit Matt Riedemann proposed openstack/nova stable/stein: Add useful error log when _determine_version_cap raises DBNotAllowed https://review.opendev.org/675714
19:54:46 mriedem dansmith: melwitt: just had another thought on this allow cold-migrate to same host thing, which wouldn't involve a workaround and soon-to-be-deprecated config option,
19:55:08 mriedem if allow_resize_to_same_host=true, get the compute node for the instance and check it's hypervisor type, if it's anything besides vcenter we don't allow it
19:55:30 mriedem that would be a hack fix for any in-tree drivers and could be replaced with the more dynamic traits filtering later
19:56:09 mriedem don't allow cold migration to the same host that is
19:58:19 mriedem maybe that's *too* hacky
19:58:52 dansmith that check in the api seems like a high crime
20:00:25 mriedem impeachable?
20:00:36 dansmith automatic impeachment
20:00:46 dansmith and subsequent special counsel investigation
20:00:51 mriedem heh
20:01:03 dansmith all your dirty laundry will be aired
20:01:23 mriedem bnemec: for a BoolOpt, is it possible to leave it unset so you can set the default at runtime somehow, e.g. it's based on another options value?
20:02:08 bnemec mriedem: It is. I believe the default for BoolOpt is actually None, which implies that it was unset since that's not a valid boolean value.
20:02:58 openstack Launchpad bug 1764782 in oslo.config "BoolOpt defaults to None" [Medium,Triaged]
20:02:58 bnemec Which I actually think is a bug (https://bugs.launchpad.net/oslo.config/+bug/1764782) but as Doug points out there's no way to know if people have been relying on that behavior.
20:03:17 mriedem ah i see, looks like boolean type opts are really str opt under the covers and they get cast to booleans
20:03:43 mriedem something like strutils.bool_from_string
20:04:21 mriedem ok in my case i want to add a new option but have it's default be backward compatible to whatever is set for another option
20:04:27 mriedem unless you explicitly override it
20:06:37 bnemec I guess I should note that the more "correct" way to do this is to use get_location: https://docs.openstack.org/oslo.config/latest/reference/api/oslo_config.html#oslo_config.cfg.ConfigOpts.get_location
20:06:49 bnemec That will tell you if a user set the option or not in an unambiguous way.
20:08:16 bnemec Or maybe even better, use set_default and set the new opt's default to the value of the old opt: https://docs.openstack.org/oslo.config/latest/reference/api/oslo_config.html#oslo_config.cfg.ConfigOpts.set_default
20:10:49 mriedem the get_location stuff is relatively new right?
20:10:55 mriedem like, newer than ocata?
20:13:00 mriedem yeah rocky https://review.opendev.org/#/c/537397/
20:13:47 mriedem i don't plan on backporting this nova workaround too far, but it is super latent (much older than ocata anyway)
20:21:39 bnemec Yeah, although set_default has been around forever and is probably the right thing to do here conceptually.
20:22:12 bnemec You're setting a default for an opt based on a thing calculated in code (in this case from the value of another opt) but want the user to be able to override it if they set the opt explicitly.
20:23:11 mriedem where would i call set_default? where i'm using the new option?
20:23:50 bnemec Sometime between when you register the old opt and when you use the new one.
20:23:53 mriedem iow it's like dict.set_default
20:23:56 mriedem *setdefault
20:25:24 bnemec Something like that, but you just call it once and the config object remembers that you overrode the default for that opt.
20:26:22 bnemec I guess dict inserts the key with the default so that is actually the same.
20:26:37 mriedem this is what i've got right now http://paste.openstack.org/show/756357/
20:28:22 mriedem http://paste.openstack.org/show/756358/
20:28:22 mriedem this is probably better to avoid calling set_default when i don't need to
20:28:34 mriedem otherwise i have to do this somewhere in wsgi init after parsing options and starting the service
20:29:03 mriedem which takes it quite far away from where it's used, which is ok but kind of hard to remember all of this
20:29:40 bnemec Heh, if you're still checking for None then I'm not sure you gain much from using set_default.
20:29:46 bnemec But either should work.
20:33:10 mriedem yeah true :/

Earlier   Later