| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2017-09-12 | |||
| 15:40:12 | mriedem | Kevin_Zheng: we should start with a bug report, can you open one? | |
| 15:40:27 | Kevin_Zheng | mriedem: sure, I will | |
| 15:40:51 | mriedem | check_num_instances_quota is just iterating the cells looking for instances, but at this point we don't have instances in the cells, we have build_requests in the api db | |
| 15:41:01 | mriedem | so we'd need something similar | |
| 15:42:44 | mriedem | and that method is called from the api and conductor, and in the case of conductor we'd have to not count build_requests because at that point that conductor calls check_num_instances_quota we have the instances created in the cells | |
| 15:43:11 | openstackgerrit | Ghanshyam Mann proposed openstack/nova-specs master: Spec to remove the hide server address config options Partial implement blueprint remove-configurable-hide-server-address-feature https://review.openstack.org/502516 | |
| 15:47:21 | mriedem | i see one issue with counting via build_requests is that when we count instances in the api, we also count cores and ram, which are fields on the instance in the db, | |
| 15:47:44 | mriedem | with a build_request, we have a serialized instance record, so we can count total instances via build_requests, but not cores/ram...unless we used placement | |
| 15:48:09 | mriedem | we want to use placement for counting quotas anyway...which we are going to talk about tomorrow morning | |
| 15:50:15 | rybridges | Hello. I had a question or 2 about vendordata in the Ocata release | |
| 15:50:21 | rybridges | Are we still able to write our vendordata logic stuff into a driver? I am noticing this line in the ocata code base -> https://github.com/openstack/nova/blob/stable/ocata/nova/api/metadata/base.py#L745 Is vendordata not doable through a driver anymore? | |
| 15:51:31 | mriedem | rybridges: you should be able to use the old style driver stuff | |
| 15:51:35 | mriedem | in ocata | |
| 15:58:19 | Kevin_Zheng | https://bugs.launchpad.net/nova/+bug/1716706 | |
| 15:58:20 | openstack | Launchpad bug 1716706 in OpenStack Compute (nova) "Should count instances in build requests when check quotas" [Undecided,New] - Assigned to Zhenyu Zheng (zhengzhenyu) | |
| 16:01:45 | openstackgerrit | Balazs Gibizer proposed openstack/nova master: Test resource allocation during soft delete https://review.openstack.org/495159 | |
| 16:03:12 | mriedem | Kevin_Zheng: thanks, added it here https://etherpad.openstack.org/p/nova-ptg-queens-cells | |
| 16:03:15 | mriedem | L22 | |
| 16:03:26 | mriedem | also, i realized we can't use placement in the api to count cores/ram | |
| 16:03:32 | mriedem | since those allocations aren't created by then | |
| 16:04:46 | Kevin_Zheng | could use flavor instead | |
| 16:09:35 | melwitt | mriedem: we talked about counting build_requests but the consensus was to not because they're in a separate DB from instances and it would be possible for both to exist at the same time and result in a wrong count (doubled) | |
| 16:11:20 | mriedem | melwitt: when we check in the API they shouldn't exist at the same time, although that might be hard to know... | |
| 16:11:33 | mriedem | couldn't we exclude by uuid or something? | |
| 16:11:42 | openstackgerrit | Merged openstack/nova master: fake_notifier: Refactor wait_for_versioned_notification https://review.openstack.org/489637 | |
| 16:12:10 | Kevin_Zheng | mriedem, records of other existing instances, might be doubled | |
| 16:12:16 | mriedem | select count(build_requests) where user/project; build a list of uuids; then iterate cells getting a count of instances where uuid is not in that list? | |
| 16:12:20 | melwitt | mriedem: we check in conductor though (check in API is for cells v1 I believe) | |
| 16:12:32 | mriedem | melwitt: yeah in conductor we wouldn't include the check for build_requests | |
| 16:12:40 | mriedem | because we know they both exist at the time of that check | |
| 16:12:53 | mriedem | melwitt: i'm not talking about the recheck | |
| 16:12:56 | melwitt | then how is this happening in the API? | |
| 16:13:06 | melwitt | let me just look | |
| 16:13:37 | mriedem | here https://github.com/openstack/nova/blob/master/nova/compute/api.py#L888 | |
| 16:14:02 | mriedem | so if i'm creating 20 instances concurrently, ^ will tell me there is one per request | |
| 16:14:23 | mriedem | then the recheck in conductor https://github.com/openstack/nova/blob/master/nova/conductor/manager.py#L1001 will fail | |
| 16:14:33 | efried | mikal Did you merge rootwrap changes related to chown? | |
| 16:14:49 | melwitt | mriedem: ah, right. thanks. I had forgotten what I did | |
| 16:15:12 | rybridges | mriedom: Thanks for the reply. IF we use the old classloader stuff, what are our chances in the future of getting hosed by a full deprecation? | |
| 16:15:22 | openstackgerrit | Eric Berglund proposed openstack/nova-specs master: PowerVM Driver Integration (Queens) https://review.openstack.org/503061 | |
| 16:15:30 | rybridges | Main thing is I dont want to do a bunch of work to get a driver working which is planned for deprecation next release | |
| 16:16:41 | mriedem | rybridges: that stuff is still around in pike, but it's being removed in queens | |
| 16:17:00 | mriedem | rybridges: https://review.openstack.org/#/c/397835/ | |
| 16:17:13 | efried | mikal https://review.openstack.org/#/c/471972/31/etc/nova/rootwrap.d/compute.filters <== looks like it removes the chown rootwrap filter... but nova.utils.temporary_chown wasn't flipped over to using the dac_admin wrapper for chown. Was that on purpose, or an oversight? Handled in a followup? (<== esberglu) | |
| 16:17:38 | efried | edmondsw_ ^ | |
| 16:18:25 | mriedem | rybridges: novajoin is an example of a project that's using a vendordata v2 REST API service https://github.com/openstack/novajoin | |
| 16:18:30 | mriedem | if that helps | |
| 16:18:45 | melwitt | mriedem: if we count build_requests and instances there, there could still be in-flight instances that have both a build_request and an instance object right? but in that case your suggestion to remove dupe UUIDs seems like it would work | |
| 16:19:20 | efried | esberglu Can you propose a patch in nova to flip temporary_chown over to using the dac_admin wrapper for chown; then patch that sucker into our CI and see if it fixes our world? | |
| 16:20:27 | mriedem | melwitt: count them where? conductor? | |
| 16:20:27 | efried | esberglu It's possible mikal has that changed somewhere in the series (https://review.openstack.org/#/q/owner:%22Michael+Still+%253Cmikal%2540stillhq.com%253E%22+topic:hurrah-for-privsep+status:open) but I wasn't about to paw through all of those to find out. | |
| 16:20:29 | openstackgerrit | Eric Berglund proposed openstack/nova-specs master: PowerVM Driver Integration (Queens) https://review.openstack.org/503061 | |
| 16:21:00 | mriedem | melwitt: there are two calls - api and conductor. i'm saying count build_requests *and* instances in cells in the api, but only instances in cells when calling from conductor | |
| 16:21:08 | mriedem | i don't think we even need dupe uuid filtering | |
| 16:21:21 | mriedem | because when checking qouta via the api, the instance doesn't exist for a given build request | |
| 16:21:23 | melwitt | mriedem: no, in the API where it is now. some other instances might be at the conductor stage and have both a build_request and an instance, right? | |
| 16:21:36 | mriedem | oh yeah, good point | |
| 16:21:41 | mriedem | separate concurrent request | |
| 16:21:45 | melwitt | yeah | |
| 16:21:45 | mriedem | getting double counted | |
| 16:21:51 | openstackgerrit | Eric Berglund proposed openstack/nova-specs master: PowerVM Driver Integration (Queens) https://review.openstack.org/503061 | |
| 16:26:17 | rybridges | mriedem: I realize there are examples. We would really like to just keep our classloader based approach though. It doesnt make a lot of sense to us why we are getting rid of classloaders. This message from bloomberg sum up my thoughts pretty well -> http://lists.openstack.org/pipermail/openstack-operators/2016-April/010179.html | |
| 16:26:53 | rybridges | Why not just keep both approaches around and allow deployes to choose what works best for them? | |
| 16:27:13 | mikal | efried: looking | |
| 16:28:55 | mikal | efried: you're right, I've screwed that up. mriedem is standing next to me right now, I'll talk to him about it. | |
| 16:29:20 | efried | mikal I asked esberglu to propose a patch for it -- unless you'd rather own it. | |
| 16:29:31 | openstackgerrit | Eric Berglund proposed openstack/nova-specs master: PowerVM Driver Integration (Queens) https://review.openstack.org/503061 | |
| 16:29:57 | mikal | efried: it depends on if mriedem wants to roll forwards or backwards. It would be quick for me to roll it forwards though. | |
| 16:30:02 | mikal | efried: which I'm happy to do the work for | |
| 16:30:15 | edmondsw | better fix test_temporary_chown... that should have failed | |
| 16:30:44 | mikal | It would only fail in a tempest test | |
| 16:30:48 | mikal | That's all mocked in unit tests | |
| 16:31:18 | efried | mikal Either way, it'd be neat to do it outside of the massive chain of privsep changes so we can get it in relatively quickly. It's blocking PowerVM CI at the moment :( | |
| 16:31:26 | mikal | Yeah, we can do that | |
| 16:31:42 | efried | mikal Okay, thanks. esberglu See ^^. mikal Do you want a LP bug? | |
| 16:31:58 | mikal | Yes please | |
| 16:32:02 | efried | rgr | |
| 16:33:26 | openstackgerrit | Dan Smith proposed openstack/nova master: Add nova-manage db command for ironic flavor migrations https://review.openstack.org/501025 | |
| 16:35:56 | openstackgerrit | Eric Berglund proposed openstack/nova master: PowerVM Driver: config drive https://review.openstack.org/409404 | |
| 16:36:52 | mriedem | rybridges: because classloading everything isn't a contract and we break it and then people that used hooks and classloaders complain when we change something internal to nova that breaks their unversioned API | |
| 16:37:51 | esberglu | mikal: efried: I can open the LP bug | |
| 16:38:37 | openstackgerrit | Eric Berglund proposed openstack/nova master: PowerVM Driver: config drive https://review.openstack.org/409404 | |
| 16:38:55 | mikal | esberglu: ta, I have a fix now but need to work through the unit test fallout | |
| 16:42:49 | mikal | efried: do you guys have heaps of users of temporary_chown in your code? Because I kind of want to remove that method now that you've brought it to my attention. | |
| 16:42:57 | mikal | efried: because it makes me throw up in my mouth | |
| 16:44:34 | openstackgerrit | Balazs Gibizer proposed openstack/nova master: cover migration cases with functional tests https://review.openstack.org/493865 | |
| 16:45:06 | efried | mikal We only use it in image snapshot. | |
| 16:45:26 | efried | mikal If you took it away, we would essentially have to duplicate the logic ourselves. | |
| 16:46:23 | efried | mikal https://github.com/openstack/nova-powervm/blob/fae3f96edb0c257468a93100796b338207a4cfc5/nova_powervm/virt/powervm/image.py#L45-L47 | |
| 16:47:27 | mikal | efried: I'd hand hold you through uswing privsep there instead | |
| 16:47:36 | efried | Sorry, s/image snapshot/snapshot/. "image snapshot" doesn't make a lot of sense. | |
| 16:48:08 | efried | mikal Mm, that's another idea, I suppose. Cause it's really the open that needs privs raised, eh? | |
| 16:48:53 | mikal | efried: yeah, although I don't think privsep supp0orts passing off file descriptors (yet) | |
| 16:49:06 | mikal | efried: but yeah, I'd find a way to drag you guys forward before nuking the thing | |
| 16:49:07 | efried | mikal We could essentially just decorate that whole method with @nova.privsep.dac_admin_pctxt.entrypoint and remove the temporary_chown context manager. | |
| 16:49:16 | efried | right? | |
| 16:49:29 | mikal | efried: yes, but the method needs to move into the nova.privsep namespace as part of that decoration | |
| 16:49:36 | efried | oh | |
| 16:49:38 | mikal | efried: but yes, you could have nova.privsep.powervm | |
| 16:49:39 | efried | uhm | |