Earlier  
Posted Nick Remark
#openstack-nova - 2017-07-12
19:05:37 mriedem and https://docs.openstack.org/security-guide/instance-management/security-services-for-instances.html#instance-migrations
19:06:38 mriedem also https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux_openstack_platform/7/html-single/migrating_instances/
19:08:10 jangutter jaypipes: so I got succesful plugging with an external os-vif + neutron plug-in.
19:08:19 jaypipes jangutter: \0/
19:08:37 jangutter jaypipes: Yep. Nova changes were tiny. There are two hitches though.
19:09:03 jangutter jaypipes: one is that stashed the PCI address inside the vhost-user socket path.
19:09:30 jangutter jaypipes: and the second is that there's no filtering for the Agilio NICs. it's basically picking anything that says it's an ethernet VF.
19:09:51 jangutter jaypipes: the second is the one we know about.
19:09:59 jaypipes jangutter: put the Netronome vendor_id and product_id in the pci_passthrough_whitelist.
19:10:21 jangutter jaypipes: yep, that I did. And it's working as expected.
19:10:41 jaypipes jangutter: I don't understand... you said it's not filtering?
19:11:11 jangutter Oh, I mean that if you have two sets of NICs in the same system, things will go... unexpected.
19:12:55 jangutter jaypipes: this is probably good enough (tm) for now in any case, if stashing the PCI address inside a socket path is acceptable.
19:12:58 jaypipes jangutter: you mean if there's, say, a mlnx nic and a netronome nic, and you allow guests to use either of those, there's no way to select which NIC for a flavor, right?
19:13:12 jangutter jaypipes: correct.
19:13:56 jaypipes jangutter: if both are connected to the same physical network, yes, unfortunately that's the case right now. until we land ralonsoh's patch for NIC capabilities.
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()?

Earlier   Later