| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2017-06-27 | |||
| 12:58:31 | alex_xu | yea, probably we need to mention this new route list https://github.com/openstack/nova/blob/master/nova/api/openstack/compute/routes.py | |
| 12:58:48 | sfinucan | indeed | |
| 13:11:06 | jaypipes | bauzas, edleafe, Guest63234: will be doing my best to push revisions on the allocation requests series while on a 5-hour long sales call today. :( | |
| 13:12:42 | openstackgerrit | Alex Szarka proposed openstack/nova master: Refactor init_instance:resume_guests_state https://review.openstack.org/349582 | |
| 13:16:00 | edleafe | jaypipes: ugh | |
| 13:16:07 | jaypipes | edleafe: yeah. | |
| 13:16:13 | edleafe | jaypipes: will reply to your reply on the patch | |
| 13:16:17 | jaypipes | edleafe: regarding that... | |
| 13:16:48 | jaypipes | edleafe: so like I mentioned on my comment, I actually tried that approach first and ended up having to change just as many lines eventually in the unit tests. | |
| 13:17:12 | jaypipes | edleafe: It really comes down to whether we want the filter scheduler driver to be the thing that claims resources or not. | |
| 13:17:39 | jaypipes | edleafe: or the manager class. | |
| 13:18:16 | edleafe | jaypipes: can you explain why we can't have chance scheduler do claims? And I also thought that we weren't going to sidetrack this for chance scheduler | |
| 13:18:21 | jaypipes | edleafe: my objective was to make as few changes to the filter scheduler driver class as possible. | |
| 13:18:40 | edleafe | jaypipes: because if there is no claim made when a compute node gets a build request, it will claim | |
| 13:18:44 | jaypipes | edleafe: chance scheduler doesn't know uuids. | |
| 13:19:27 | jaypipes | edleafe: it's more than the chance scheduler. it's a separation of concerns thing. | |
| 13:19:47 | jaypipes | edleafe: I'm trying to leave the filter scheduler driver doing filtering and weighing. | |
| 13:19:57 | jaypipes | edleafe: and have something else (the manager) do the claiming. | |
| 13:20:22 | edleafe | jaypipes: but let's focus on the concept I pointed out: changing method sigs to pass compute uuids instead of just getting them when the host is updated from the compute | |
| 13:20:46 | edleafe | IOW, the value is already there | |
| 13:21:10 | jaypipes | edleafe: I was changing the method signature of the *returned* value so that the manager could do the claiming and not have to do everything in _schedule() | |
| 13:21:16 | mriedem | artom: was it intentional to not restrict block device tags to be unique for multiple bdms on the same instance? | |
| 13:21:21 | mriedem | we have no unique constraint for that | |
| 13:23:17 | artom | mriedem, yeah | |
| 13:23:40 | artom | mriedem, I don't see a use case for it either, but there might be a reason for it | |
| 13:23:59 | artom | For instance, two disks that have the same purpose get the same tag | |
| 13:24:03 | edleafe | jaypipes: I'll have to look more at that part. I was focusing on the changes to HostState | |
| 13:24:26 | edleafe | jaypipes: I am concerned how to select a host without first making a successful claim | |
| 13:24:38 | artom | mriedem, there was no real argument for or against, so by default it's allowed | |
| 13:24:50 | artom | Same for nics | |
| 13:24:55 | artom | And there it makes even less sense | |
| 13:25:07 | artom | Unless you're going to bond two nics and want them tagged the same? I dunno | |
| 13:25:12 | jaypipes | edleafe: we only make the claim after the scheduler filters and weighers have all run against the host states | |
| 13:26:06 | mriedem | artom: pl | |
| 13:26:08 | mriedem | *ok | |
| 13:26:19 | bhagyashri_s | johnthetubaguy: Hi, waiting for some inputs. | |
| 13:26:54 | artom | mriedem, plus I think semantically most people wouldn't expect a tag to be unique | |
| 13:27:02 | artom | When you think of tag clouds and such | |
| 13:27:16 | artom | You're not surprised when many elements share one or more tags | |
| 13:33:53 | alex_xu | artom: I guess you forget to set microversion on req obj https://review.openstack.org/#/c/376021/72/nova/tests/unit/api/openstack/compute/test_attach_interfaces.py@480 | |
| 13:34:46 | mriedem | Vek: do we expect DeprecatedAction to always issue a warning even if you don't specify the arg? https://review.openstack.org/#/c/477212/ | |
| 13:35:38 | artom | alex_xu, did I? | |
| 13:36:01 | alex_xu | artom: yea, those test should against on the 2.49 | |
| 13:36:02 | artom | alex_xu, I ran those tests locally and they all passed... because 'tag' isn't a valid parameter in anything < 2.49 | |
| 13:36:06 | artom | Doh | |
| 13:36:26 | alex_xu | artom: https://review.openstack.org/#/c/376021/72/nova/tests/unit/api/openstack/compute/test_attach_interfaces.py@516 this should use self.req | |
| 13:36:30 | artom | alex_xu, can you leave a comment and I'll fix | |
| 13:36:37 | alex_xu | artom: ok | |
| 13:37:20 | artom | alex_xu, thanks :) | |
| 13:37:47 | edleafe | jaypipes: I read ahead to the other PSs in the series to understand. It appears that select_destinations will return num_instances hosts to the manager - without claiming first. Right? | |
| 13:37:54 | edleafe | jaypipes: That means that there aren't any backup choices to select. The big gain we were hoping to get is when there is a race and the claim fails, the scheduler can simply select the next host in the weighed list. Having the manager make the claim means we lose that. | |
| 13:38:10 | openstackgerrit | Rodolfo Alonso Hernandez proposed openstack/os-vif master: Use ``assert_has_calls`` to check function calls https://review.openstack.org/477469 | |
| 13:39:29 | alex_xu | artom: done | |
| 13:45:32 | mriedem | artom: couple easy things to do in https://review.openstack.org/#/c/435082/ | |
| 13:45:34 | mriedem | and then i'm +2 | |
| 13:45:44 | artom | mriedem, sweet, thanks :) | |
| 13:46:14 | artom | alex_xu, I don't think we can remove those mocks though | |
| 13:46:47 | artom | Wait | |
| 13:46:59 | artom | Dammit, that's twice now I say a thing and change my mind immediately after | |
| 13:47:03 | artom | Sorry :( | |
| 13:47:51 | alex_xu | artom: no worries :) | |
| 13:59:13 | openstackgerrit | Chason Chan proposed openstack/nova master: switch to openstackdocstheme https://review.openstack.org/477751 | |
| 14:01:38 | openstackgerrit | Rodolfo Alonso Hernandez proposed openstack/os-vif master: Add abstract OVSDB API https://review.openstack.org/476612 | |
| 14:04:56 | artom | mriedem, in the interest of reducing latency, is https://review.openstack.org/#/c/435082/50/nova/tests/unit/compute/test_compute_mgr.py@2537 satisfactory to you, or do you want to remove the tag and the call assertion entirely? | |
| 14:15:25 | mriedem | artom: replied | |
| 14:15:32 | mriedem | but now i'm shutting it down | |
| 14:16:15 | artom | mriedem, posthumous thanks :) | |
| 14:20:53 | jaypipes | edleafe: I thought we needed to return the alternate selections to the conductor anyway? | |
| 14:26:29 | edleafe | jaypipes: we need to pick a good host, so that we know what cell the alternates must be in | |
| 14:27:20 | jaypipes | edleafe: right, and those alternatives can be used to perform claim retries in the manager, no? | |
| 14:28:43 | edleafe | jaypipes: sure, but now you've kind of defeated the whole purpose of alternatives. If the setting is for 3 retires, and you burn 2 of them before you even get to the build... | |
| 14:30:05 | jaypipes | edleafe: it sounds like you're pretty gung-ho to just have a giant _schedule() method just do everything. | |
| 14:30:21 | jaypipes | I'm trying to add some separation of concerns into the codebase. | |
| 14:31:03 | edleafe | jaypipes: No, I'm "gung-ho" about having the _schedule() method return a good host | |
| 14:31:41 | jaypipes | edleafe: my patch series doesn't change _schedule()./ | |
| 14:31:54 | edleafe | jaypipes: your separation is functionally the same as claims in the conductor. | |
| 14:32:05 | jaypipes | edleafe: what? | |
| 14:32:31 | edleafe | jaypipes: you're making a claim after the HostState objects are gone | |
| 14:33:11 | jaypipes | edleafe: what do you mean by "after the HostState objects are gone"? | |
| 14:33:48 | edleafe | jaypipes: in _schedule() we have a list of filtered, weighed HostState objects. | |
| 14:34:05 | edleafe | When you return they are no longer accessible | |
| 14:34:27 | jaypipes | edleafe: what do we need the host state objects for after the scheduler driver has filtered and weighed them? | |
| 14:34:38 | edleafe | So whether you're in the scheduler manager or the conductor manager, you're limited to the objects returned from _schedule() | |
| 14:34:39 | jaypipes | edleafe: we just need the resource provider UUIDs. | |
| 14:34:58 | jaypipes | edleafe: exactly! have the scheduler driver do one thing and do it well. | |
| 14:34:59 | edleafe | jaypipes: in a race-free world, sure | |
| 14:35:26 | edleafe | jaypipes: we had this discussion weeks ago | |
| 14:35:29 | jaypipes | edleafe: alternately, let's change the select_destinations() *driver* method to return the HostState list instead of a list of dicts. | |
| 14:35:40 | openstackgerrit | Artom Lifshitz proposed openstack/nova master: Delete disk metadata when detaching volume https://review.openstack.org/435082 | |
| 14:35:41 | openstackgerrit | Artom Lifshitz proposed openstack/nova master: API support for tagged device attachment https://review.openstack.org/376021 | |
| 14:35:56 | edleafe | dansmith was arguing for the conductor doing claiming, and you and I were arguing for the scheduler doing the claiming, using the exact thing I'm talking about now | |
| 14:36:25 | jaypipes | edleafe: I'm not doing claiming in the conductor. I'm simply doing it in the scheduler manager not the scheduler driver. | |
| 14:36:35 | edleafe | jaypipes: yes, I know that | |
| 14:36:52 | edleafe | jaypipes: which is why I wrote "functionally" equivalent | |
| 14:36:58 | jaypipes | but it isn't. | |
| 14:37:10 | edleafe | jaypipes: because you no longer have access to the weighed host list | |
| 14:37:27 | jaypipes | edleafe: so have the select_destinations() return a weighed host list, then. | |
| 14:37:35 | edleafe | jaypipes: and if you want to return the full list, well, there goes your separation goal | |
| 14:37:36 | dansmith | edleafe: claiming in scheduler manager is functionally equivalent to claiming in conductor? | |
| 14:37:56 | edleafe | dansmith: as far as having access to the weighed list of hosts, yes | |