| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2017-01-20 | |||
| 14:16:03 | mdbooth | Incidentally, as I mentioned in one of my review comments, I think this is a very useful tool for operators to have. However, I also think it's problematic and ironically a potential source of bugs to do it in reboot. | |
| 14:16:13 | sahid | interesting... i have 2 well real bugs to show you because of this code | |
| 14:16:34 | mdbooth | sahid: No, I don't want you to do this because (IIUC) operators rely on this behaviour. | |
| 14:16:47 | mdbooth | Ideally we would separate it from reboot. | |
| 14:17:00 | sahid | if they do, so we should explain to them they should not i guess | |
| 14:17:11 | sahid | rscue and rebuild are better | |
| 14:17:12 | mdbooth | However, if it's a deliberate design decision, and something that users expect to be there, we can't just take it away without thought or acknowledgement. | |
| 14:17:27 | mdbooth | No, rescue doesn't help at all, and rebuild is entirely different. | |
| 14:17:52 | sahid | because hard-reboot has been designed such issue ? | |
| 14:18:53 | mdbooth | sahid: I suggest a bp. You might also post on the operators mailing list asking for input. | |
| 14:19:05 | mdbooth | It would also need a release note, I guess. | |
| 14:19:24 | sdague | bauzas: are you sure that placement is loading the noauth middleware? | |
| 14:19:31 | bauzas | sdague: yup | |
| 14:19:37 | bauzas | sdague: I just verified | |
| 14:19:50 | sdague | bauzas: if you push a patch I can look | |
| 14:20:00 | bauzas | sdague: okay, I'll do | |
| 14:20:48 | bauzas | mmm, I think I found the issue | |
| 14:23:33 | sahid | mdbooth: well if that could help i can provide a release note or a bp to fix this issue even if i'm not bringing any feature here | |
| 14:24:10 | mdbooth | sahid: I just want you to acknowledge and address a change in operator-expected behaviour. | |
| 14:24:40 | sahid | mdbooth: you are saying that but i never hear about this point, can you share to me some pointer ? | |
| 14:24:56 | sahid | a comment in lunchpad, a gerrit review or a thread in the ml ? | |
| 14:24:57 | mdbooth | No, I really can't. I've never seen it documented. | |
| 14:25:11 | sdague | mdbooth: I don't remember why the domain xml is rewriten, git log -S might find some things interesting to figure out if the relevant commit messages have clues | |
| 14:37:05 | bauzas | sdague: okay, so found the problem | |
| 14:37:43 | bauzas | sdague: https://github.com/openstack/nova/blob/master/nova/api/openstack/placement/auth.py#L43-L44 | |
| 14:37:52 | bauzas | sdague: I just need to fake a token | |
| 14:38:31 | bauzas | sdague: do you know if we have a fake token lib or helper ? :) | |
| 14:39:23 | sdague | bauzas: https://github.com/openstack/nova/blob/9acfef2c90186644120942558437b3fcc90222de/nova/api/openstack/auth.py#L32-L47 | |
| 14:39:29 | sdague | it looks like that bit wasn't copied over | |
| 14:40:03 | bauzas | sdague: yeah, possibly because gabbi provides a fake token | |
| 14:40:12 | sdague | bauzas: could be | |
| 14:40:23 | bauzas | we miss cdent here | |
| 14:40:27 | sdague | honestly, I have no idea about the gabbi magic | |
| 14:40:36 | bauzas | me too | |
| 14:40:55 | bauzas | but since cdent wrote that noauth middleware for the gabbi functests, I guess it's why | |
| 14:41:30 | bauzas | I could just fake a token honestly and leave a big note for saying that we should rather have a better noauth middleware | |
| 14:42:09 | leakypipes | sdague, bauzas: there's no magic in gabbi... at least, certainly no more magic than the existing functional API tests. | |
| 14:42:43 | bauzas | leakypipes: well the problem with gabbi is that we haven't yet a correct fixture | |
| 14:43:02 | sdague | yeh, the noauthmiddleware is actually very gabbi specific | |
| 14:43:21 | sdague | bauzas: you might be able to replumb the existing noauth bits in there instead | |
| 14:43:24 | bauzas | and the current APIFixture we have in-tree is also a gabbi child | |
| 14:43:47 | bauzas | sdague: maybe | |
| 14:44:04 | bauzas | sdague: I just don't want to have a long patch to be reviewed | |
| 14:44:53 | sdague | bauzas: well, a long working patch is better than a non working one | |
| 14:45:45 | bauzas | sdague: leakypipes: bingo https://github.com/openstack/nova/blob/master/nova/tests/functional/api/openstack/placement/gabbits/aggregate.yaml#L7 | |
| 14:45:54 | leakypipes | sdague, bauzas: guys... | |
| 14:46:19 | leakypipes | sdague, bauzas: what is it you are trying to do? | |
| 14:46:20 | bauzas | leakypipes: because of that, we could be missing the placement upcall from the scheduler for Ocata... | |
| 14:46:42 | bauzas | just because we wanted to have a very separate WSGI app than the existing one | |
| 14:46:49 | bauzas | and using gabbi too | |
| 14:46:53 | leakypipes | bauzas: I'm not following you. How does a functional test fixture that disables Keystone auth impact the "scheduler upcall"? | |
| 14:46:57 | sdague | leakypipes: there is a need to get placement running inside the functional tests that aren't gabbi so you can have the whole working service collection | |
| 14:47:10 | bauzas | leakypipes: see my scheduler change and the functional tests job | |
| 14:47:33 | bauzas | we're getting NoValidHosts because the placement service isn't running | |
| 14:47:44 | bauzas | so I'm working since this morning on adding a fixture | |
| 14:47:46 | leakypipes | bauzas: and how is that related to gabbi? | |
| 14:48:03 | bauzas | leakypipes: because we have an existing fixture that is only gabbi'd | |
| 14:48:20 | mriedem | so let's ignore gabbi :) | |
| 14:48:20 | leakypipes | bauzas: I have no idea what that means. | |
| 14:48:24 | mriedem | the point is, | |
| 14:48:30 | bauzas | and when we added the placement service in Newton, we haven't verified that we could be adding a fixture for the existing tests | |
| 14:48:38 | bauzas | anyway | |
| 14:48:40 | mriedem | we need to run the placement service with a fixture, like we do for other services | |
| 14:48:48 | mriedem | like n-cond, n-sch, n-cpu, etc in the functional tets | |
| 14:48:49 | mriedem | *tests | |
| 14:48:50 | bauzas | I don't want to diverge too moch | |
| 14:48:51 | sdague | leakypipes: there exists no infrastructure in nova functional tests to start a running placement service outside of gabbi tests | |
| 14:48:53 | mriedem | those rely on a noauth fixture | |
| 14:48:55 | mriedem | since we don't have keystone | |
| 14:48:59 | bauzas | given the very short deadline | |
| 14:49:09 | bauzas | so folks, I'll be providing a WIP by the next 10 mins | |
| 14:49:37 | mriedem | we have an api client fixture for n-api for the functional tests, seems we'd want something similar for placement, | |
| 14:49:56 | mriedem | or simply have a PlacementFixture which isn't a real service | |
| 14:49:57 | sdague | mriedem: it's a little different than that because of the way things glue together | |
| 14:50:06 | sdague | but, yeh, bauzas is working through it | |
| 14:50:08 | mriedem | because when placement is split out, we'll need to just stub it anyway | |
| 14:50:11 | mriedem | like neutron | |
| 14:50:16 | bauzas | sdague: mriedem: lemme upload it | |
| 14:51:20 | leakypipes | bauzas: you're saying you need one of these for the placement API service, yes? https://github.com/openstack/nova/blob/master/nova/tests/fixtures.py#L638 | |
| 14:51:37 | bauzas | leakypipes: I'm just adding it now since this morning | |
| 14:51:46 | bauzas | leakypipes: lemme upload it in the next 10 mins | |
| 14:52:20 | leakypipes | bauzas: ok. I just get annoyed with the kvetching about gabbi and "a separate WSGI service" when really this isn't that hard of a problem to solve. | |
| 14:52:51 | bauzas | leakypipes: it took me 1 hour for finding a solution because the WSGI placement service is not an oslo.service | |
| 14:52:55 | leakypipes | bauzas: gabbi tests a REST API interface. it doesn't test integration between two services. | |
| 14:53:04 | bauzas | fortunately, sdague gave me a good solution | |
| 14:54:24 | sdague | leakypipes: which we all understand, it's that we also test more than just that, and it wasn't anticipated. And because this was plumbed differently it takes more effort to plumb something in. | |
| 14:58:48 | sdague | oh, man, so happy to have gotten the anchor issue fixed in os-api-ref | |
| 14:58:59 | sdague | links should be a ton more useful in sharing now | |
| 14:59:39 | sdague | http://developer.openstack.org/api-ref/compute/?expanded=pause-server-pause-action-detail#pause-server-pause-action - for instance | |
| 14:59:41 | melwitt | johnthetubaguy: that's an excellent question. I should have asked you to review earlier :) what mriedem said is right, it was separated based on resource type (fixed_ips, networks, floating_ips in Quotas, everything else in ProjectUserQuota). I'll take a closer look and think about it | |
| 15:01:01 | johnthetubaguy | melwitt: oh, I thought everything could be in both, depending on the resource type, its not as bad if we just get to kill a table later | |
| 15:01:45 | johnthetubaguy | melwitt: but reading more, I am leaning towards the direct swap being simpler | |
| 15:01:57 | melwitt | johnthetubaguy: I think you're probably right. just not totally sure off the top of my head. and yes, also true that at worst (if we don't change it now) that it would be a table kill later | |
| 15:03:05 | mriedem | sdague: heh, for cyborgs such as yourself that actualy read the anchor :) | |
| 15:03:51 | sdague | mriedem: well, the point is that when you click the link button on the side, it updates the address bar correctly now | |
| 15:04:11 | sdague | so when people copy and paste links around, you can actually go to the right place in the page | |
| 15:04:12 | johnthetubaguy | sdague: thats quite lovely | |
| 15:04:25 | sdague | instead of having to search to find it | |
| 15:06:51 | mriedem | i just got used to right-clicking to copy the link | |
| 15:07:03 | mriedem | these are all creature comforts | |