Earlier  
Posted Nick Remark
#openstack-nova - 2018-03-30
22:06:45 imacdonn "mriedem> but we do want the computes putting inventory information into placement so we can eventually migrate CachingScheduler users"
22:06:48 fried_bunny Whatever, this is probably a better thing to discuss on Monday or Tuesday when people who were around for the inception of this check are back from worshipping egg-laying rabbits.
22:07:26 imacdonn you mean chocolate-egg-laying rabbits, of course
22:12:11 imacdonn try:
22:12:12 imacdonn raise exception.PlacementNotConfigured()
22:12:12 imacdonn except keystone_exception.MissingAuthPlugin:
22:12:12 imacdonn 'some sort of exception here')
22:12:12 imacdonn log.error('placement is not working - I should raise '
22:12:12 imacdonn if self.reportclient.get('/') is None:
22:12:31 imacdonn (maybe - "thinking out loud")
22:16:31 fried_bunny imacdonn: MissingAuthPlugin will never happen there.
22:16:45 imacdonn it does, if the placement config is missing
22:16:48 fried_bunny It gets swallowed by @safe_connect
22:16:59 fried_bunny No, you get a warning about it, but the exception doesn't get raised.
22:17:11 imacdonn I tried it
22:17:38 imacdonn I mean - I tried the code above, with no placement config, and it did what I expected
22:17:40 fried_bunny that pastebin you showed me had the warning right above an unrelated exception. Did you see something different another way?
22:18:30 imacdonn I think that unrelated warning was caused by something that the scheduler happened to do that time ... I don't usually see that warning on startup
22:19:43 fried_bunny The warning was coming from the report client trying to bootstrap the compute node inventory.
22:19:46 fried_bunny through placement
22:20:24 fried_bunny which hits @safe_connect, which catches MissingAuthPlugin and prints that warning.... and then does nothing. Like, implicitly returns None. Which is why you got that NoneType blah blah error.
22:20:35 imacdonn http://paste.openstack.org/show/718047/
22:21:10 imacdonn that's with code pasted above, and missing config
22:22:36 fried_bunny imacdonn: Are you running on master?
22:22:46 imacdonn no, this is queens
22:23:20 fried_bunny if you curl the base placement URI, do you get the version document or a 401?
22:23:55 imacdonn {"versions": [{"min_version": "1.0", "max_version": "1.17", "id": "v1.0"}]}
22:24:44 fried_bunny oh - .get isn't wrapped by safe_connect. Let me see where that MissingAuthPlugin business is coming from.
22:25:10 fried_bunny though it would be easier for you to find out - by removing the try/except and seeing what .get raises all by itself.
22:25:30 imacdonn can do
22:25:57 fried_bunny is my guess.
22:25:57 fried_bunny ...something in ksa loading...
22:25:57 fried_bunny get_ksa_adapter
22:25:57 fried_bunny _create_client
22:26:22 fried_bunny load_auth_from_conf_options
22:26:27 imacdonn http://paste.openstack.org/show/718048/
22:29:10 fried_bunny oh, interesting - we actually let you load up the ksa adapter; and it fails on the request. But still, that's weird; you shouldn't need auth to get the version document.
22:30:16 fried_bunny What happens when you shut down the placement service?
22:30:59 imacdonn ConnectFailure
22:31:39 imacdonn from ksa trying to do a GET request
22:32:30 fried_bunny mm
22:33:20 fried_bunny Well, I'm not happy that you're getting MissingAuthPlugin for /. But it's what you'll get for anything else you try, so that's not the end of the world.
22:34:07 imacdonn I guess that the client doesn't know that auth is not required to get the version
22:34:26 fried_bunny mordred will not be happy about that. Or maybe it's my fault.
22:35:40 fried_bunny anyway, it's sounding like to cover bases we may want to do something like .get('/resource_providers?name=bogus'), which *should* require auth, and catch both MissingAuthPlugin and ConnectFailure and convert those to PlacementNotConfigured.
22:37:23 fried_bunny imacdonn: If that's more than you want to take on, or if you want to write part of it and then hand it off, put something somewhere and flag me on it.
22:39:41 imacdonn fried_bunny: that doesn't seem too bad ... have to think through unit test implications too, though
22:40:19 fried_bunny I'd be fine just mocking .get. One case to raise MissingAuthPlugin, one to raise ConnectError. Done.
22:40:34 fried_bunny (and of course one to make it return successfully)
22:40:37 imacdonn yeah, that makes sense
22:40:39 fried_bunny (which is probably already covered elsewhere)
22:41:01 imacdonn I'll fiddle with that a bit ... and maybe we can discuss further with the others next week
22:41:37 fried_bunny Sounds great.
22:41:52 imacdonn thanks! :)
22:46:55 imacdonn just '/resource_providers' should work? That seems to require auth, and provides a meaningful result
22:53:55 fried_bunny imacdonn: If you had a lot of resource providers, it could be slowish. Adding the ?name=bogus should make it very quick (even if you have a provider named 'bogus')
22:54:32 fried_bunny I *think* that returns a result with an empty payload (as opposed to a 404).
22:54:41 imacdonn will try it
22:55:20 imacdonn re. the ConnectError ... IMO it's OK to just let that go ... it should be plenty-obvious what need to be done
22:57:39 fried_bunny imacdonn: wfm
22:58:05 fried_bunny imacdonn: Though the message about placement being required would still be useful there.
22:58:05 imacdonn raise exception.PlacementNotConfigured()
22:58:05 imacdonn except keystone_exception.MissingAuthPlugin:
22:58:05 imacdonn LOG.info(self.reportclient.get('/resource_providers?name=justcheckin'))
22:58:05 imacdonn try:
22:58:23 imacdonn confirm that that still gets a 200 ... logging is just to determine that
22:59:13 imacdonn thing is, the actual message that gets logged is "PlacementNotConfigured: This compute is not configured to talk to the placement service. Configure the [placement] section of nova.conf and restart the service."
22:59:39 imacdonn IMO, the placement service being down is not the same thing
23:01:05 fried_bunny fair and true.
23:01:22 fried_bunny imacdonn: I was thinking of the message that @safe_connect spews as being the useful one.
23:02:41 fried_bunny 'Please enable the placement service before upgrading.'
23:02:41 fried_bunny imacdonn: this one: 'Placement is optional in Newton, but required in Ocata. '
23:02:50 fried_bunny though that's probably pretty obsolete at this point.
23:03:07 imacdonn yeah
23:13:42 imacdonn eep .... 27 unit tests fail with the code-change... this is going to be fun :)
23:14:55 fried_bunny imacdonn: In how many test classes? You should be able to mock the reportclient.get in their respective setUp()s.
23:16:41 openstackgerrit Matt Riedemann proposed openstack/nova master: Allow scheduling only to enabled cells (Filter Scheduler) https://review.openstack.org/550527
23:16:42 openstackgerrit Matt Riedemann proposed openstack/nova master: Update the cells FAQs and scheduler maintenance docs. https://review.openstack.org/556459
23:16:42 openstackgerrit Matt Riedemann proposed openstack/nova master: Add --enable and --disable options to nova-manage update_cell https://review.openstack.org/555416
23:19:31 imacdonn at least 6 different classes :/
23:26:25 openstackgerrit Matt Riedemann proposed openstack/nova master: DNM: test live_migration_wait_for_vif_plug=True https://review.openstack.org/558006
23:53:27 fried_bunny leakypipes: still around?
#openstack-nova - 2018-03-31
00:27:49 openstackgerrit Eric Fried proposed openstack/nova master: WIP: Return anchor providers in a_r and p_s https://review.openstack.org/558014
00:27:59 fried_bunny leakypipes: tetsuro: ^
00:28:14 openstackgerrit Matt Riedemann proposed openstack/nova master: Add VIFMigrateData object for live migration https://review.openstack.org/515423
00:28:14 openstackgerrit Matt Riedemann proposed openstack/nova master: Add "bind_ports_to_host" neutron API method https://review.openstack.org/523604
00:28:15 openstackgerrit Matt Riedemann proposed openstack/nova master: Add "delete_port_binding" network API method https://review.openstack.org/552170
00:28:15 openstackgerrit Matt Riedemann proposed openstack/nova master: WIP: libvirt: use dest host vif migrate details for live migration https://review.openstack.org/551370
00:28:16 openstackgerrit Matt Riedemann proposed openstack/nova master: Delete port bindings in setup_networks_on_host if teardown=True https://review.openstack.org/556333
00:28:16 openstackgerrit Matt Riedemann proposed openstack/nova master: Add "activate_port_binding" neutron API method https://review.openstack.org/555947
00:28:17 openstackgerrit Matt Riedemann proposed openstack/nova master: WIP: compute: use port binding extended API during live migration https://review.openstack.org/551371
00:28:17 openstackgerrit Matt Riedemann proposed openstack/nova master: Implement migrate_instance_start method for neutron https://review.openstack.org/556334
00:28:18 openstackgerrit Matt Riedemann proposed openstack/nova master: conductor: use port binding extended API in during live migrate https://review.openstack.org/522537
00:28:18 openstackgerrit Matt Riedemann proposed openstack/nova master: WIP: Port binding based on events during live migration https://review.openstack.org/434870
00:45:42 tetsuro @fried_bunny: Thank you! Let me look into that on Monday.
00:45:47 tetsuro It's already Saturday here. I should go to see the cherry blossoms today :)
00:53:20 openstackgerrit Merged openstack/nova stable/pike: compute: Cleans up allocations after failed resize https://review.openstack.org/548584
01:07:03 Spaz-Home Cherry blossumes starting to bloom in Korea
01:07:14 Spaz-Home I wish I could head into the mountains
05:44:31 Kumar hello

Earlier   Later