Earlier  
Posted Nick Remark
#openstack-nova - 2017-07-12
19:14:21 jangutter jaypipes: yep, so I'm happy to live with that for a first stab.
19:14:34 gheorghe_ mriedem i am using ubuntu, not redhat
19:16:18 jaypipes jangutter: k, good with me.
19:16:29 jaypipes jangutter: happy to hear you've made some good progress!
19:17:29 gheorghe_ mriedem i got libvirt to listen but none of the tutorials online helped :D i just had to dig through config files
19:18:48 jangutter jaypipes: If I can get sean-k-mooney's way to set bridge name added, that means we only add the VIF_TYPE to nova.network.model, the associated _nova_to_osvif_vif_agilio_ovs() to os_vif_util
19:19:18 jangutter jaypipes: (and moshel's _set_config_VIFHostDevice) of course.
19:20:18 jaypipes jangutter: right. the fewer changes, the better :)
19:20:25 jangutter jaypipes: anyway, I'll do my best to get the code uploaded ASAP.
19:21:30 jaypipes jangutter: awesome, thanks!
19:30:55 openstackgerrit Matt Riedemann proposed openstack/python-novaclient master: WIP: Microversion 2.50 - fix quota class sets resource usage https://review.openstack.org/483060
19:32:42 gheorghe_ mriedem it works now
19:43:10 mriedem gheorghe_: cool - if you have something to fix up the config options help text within nova, that would be appreciated
19:43:27 mriedem or was it libvirt config that you changed?
19:43:40 gheorghe_ i will show you my config for deploying hosts
19:43:49 gheorghe_ it configs nova AND libvirt for migration
19:43:52 gheorghe_ wait a sec
19:44:57 gheorghe_ check at the bottom: https://paste.gnome.org/p9vruj0zw ... as you will see here, this is the unsecure resolution. but it will enable you to migrate. also, it greps IP from a subnet deployed within my test environment
19:45:38 gheorghe_ i just this on every kvm node and it enables nova-compute and migration for kvm
19:45:47 gheorghe_ *i just RUN this
20:14:21 jdandrea For "nova boot" how does one specify metadata with a dictionary value?
20:14:26 jdandrea Trying --meta foo='{"bar": ["baz"]]}}' and it seems to arrive in the scheduler plugin's instance properties as a dict of the form {'foo': '{bar:[baz]}'} instead.
20:14:36 jdandrea Which is not valid JSON nor YAML. Maybe I'm doing something wrong on the cmd line?
20:15:03 jdandrea (I should say the value for foo isn't valid JSON nor YAML.)
20:15:40 openstackgerrit Merged openstack/nova master: doc: Remove cruft from conf.py https://review.openstack.org/478468
20:19:18 mriedem jdandrea: i think you specify --meta multiple times
20:19:46 jdandrea mriedem - how do you do that to reference a nested key though?
20:20:01 jdandrea So I'd say --meta level_1_key=... something and then somehow refer to a level below level_1_key?
20:20:15 mriedem oh, no
20:20:46 jdandrea I want to provide a value that is itself a dict. So I figure I'd send in a JSON string enclosed in single quotes, but that doesn't quite work.
20:20:57 openstackgerrit Matt Riedemann proposed openstack/python-novaclient master: WIP: Microversion 2.50 - fix quota class sets resource usage https://review.openstack.org/483060
20:20:58 jdandrea And I can't remove the single quotes without it going sideways.
20:21:33 jdandrea My problem is what I get on the inside doesn't appear to be valid JSON or YAML, so I can't even string load it.
20:23:21 mriedem the CLI isn't expect the value to be itself a dict, so it does a single split and assumes it's a string, which it is - and it's not going to unpack that
20:23:26 mriedem return dict(v.split('=', 1) for v in metadata)
20:23:29 mriedem is what the cli code is doing
20:24:07 jaypipes jdandrea: who let you in here!? :P
20:24:15 jdandrea jaypipes - STOP FOLLOWING ME. :p
20:24:19 jaypipes hehe
20:24:21 jdandrea lol
20:25:11 jdandrea mriedem Right, that makes sense. So the trick is to encode it such that it lands in the plugin as something that can be converted sanely.
20:25:21 openstackgerrit Merged openstack/nova master: doc: Use consistent author, section for man pages https://review.openstack.org/482960
20:25:56 openstackgerrit Merged openstack/nova master: doc: Remove dead plugin https://review.openstack.org/478469
20:26:40 mriedem jdandrea: hmm, do you need to encode it somehow?
20:26:49 mriedem i'm not sure what's goofing it up when it gets over into the API
20:27:10 jdandrea mriedem Yeah, I'm not either. Pondering.
20:27:18 mriedem urlencode?
20:27:22 jdandrea Mayyyyybe.
20:27:25 jdandrea Plausible.
20:27:31 mriedem i'm totally guessing
20:27:32 openstackgerrit Merged openstack/nova master: api-ref: mark instance action events parameter as optional https://review.openstack.org/480792
20:27:33 jdandrea But messy, I admit.
20:27:46 jdandrea biab
20:27:46 jdandrea Gonna hack on this a li'l bit ...
20:29:34 melwitt guh, more random "OpenStackApiAuthenticationException: Authentication error" functional test fails
20:29:39 melwitt gonna have to figure that out soon
20:32:33 melwitt in the gate
20:32:43 mriedem eventlet
20:33:05 mriedem it's something with the compute api and placement api client helper things in the functional tests getting screwed up over eventlet, i think
20:33:22 mriedem cdent had a patch at one point for a related issue where he put a yield in there
20:33:32 melwitt oh, that sounds familiar
20:33:39 mriedem i'm sure i can find it
20:33:47 mriedem like a hog hunting for truffles
20:33:54 melwitt lol
20:40:13 mriedem https://review.openstack.org/#/c/459735/ is what we went with
20:40:30 mriedem https://review.openstack.org/#/c/459733/ was cdents
20:41:18 melwitt hm
20:41:57 mriedem maybe we should set that globally,
20:42:04 mriedem if it's failing on other tests that aren't using the integrated helpers stuf
20:42:07 mriedem *stuff
20:42:17 melwitt oh yeah, lemme see what this one was
20:42:40 mriedem i had one earlier here http://logs.openstack.org/22/454322/37/check/gate-nova-tox-functional-ubuntu-xenial/76cbda6/console.html#_2017-07-12_17_44_14_514884
20:42:42 melwitt api_sample_tests, thought those were using integrated_helpers http://logs.openstack.org/74/467774/7/gate/gate-nova-tox-functional-ubuntu-xenial/4a00841/testr_results.html.gz
20:42:56 mriedem api sample tests are yeah
20:43:58 mriedem mine was something else
20:44:00 mriedem NoValidHost
20:44:17 mriedem i think because the compute node never checked in
20:44:20 mriedem because of some eventlet timeout
20:48:21 jaypipes mriedem, dansmith, edleafe: did we want to return a list of alternates *for each instance in num_instances*? of a single list of alternate allocation requests for the entire request?
20:48:31 jaypipes s/of a single/or a single/g
20:48:37 jdandrea mriedem jaypipes So what I did was look at the value and if it is a string, I try to json.loads the thing. If that fails, I leave it as is. Mischief managed.
20:49:09 dansmith jaypipes: well, if all of them can be rescheduled max_attempts time, then it needs to be num_instances * max_attempts
20:49:39 dansmith jaypipes: but we could also take some percentage or something, and provide some number of bet-hedging alternates, but not enough for all of them to be rescheduled max times
20:50:25 jaypipes dansmith: no, sorry, I meant should I return a single list of alternate allocation requests for the entire call to select_destinations() or should I return a list of alternate allocation requests for each host returned by select_destinations()?
20:51:00 dansmith jaypipes: independent of the number?
20:51:12 dansmith jaypipes: an alternate has to go with a given primary host, because it has to be the same cell,
20:51:29 dansmith so a single list of num*max alternates won't help us once we lose context of which host is in which cell
20:51:39 jaypipes right
20:51:47 jaypipes ok, that answers that
20:52:25 melwitt cells meeting in 8 minutes
20:52:34 dansmith melwitt: correction
20:52:46 dansmith melwitt: short-ass cells meetinglet in 8 minutes
20:54:26 melwitt meetinglet, I like it
20:56:34 edleafe jaypipes: yeah, I think that a single list per instance is best, where each list is the selected (claimed) host followed by the alternates.
20:56:54 efried In Portuguese, meetazinho. In Spanish, meetito. In French, meetette. In German, meetchen.
20:57:05 dansmith ooh, meetito is great
20:57:29 dansmith like dorito, but less yummy
20:57:42 efried Nothing is less yummy than a cooler ranch dorito
20:57:48 jaypipes edleafe: I'm going for a dict, keyed by instance_uuid, of two-tuples where the tuple is (WeighedHost(claimed_host), list(alternate allocation requests))
20:57:57 jaypipes edleafe, dansmith: ^^ make sense to you?

Earlier   Later