| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2021-11-05 | |||
| 12:05:07 | EugenMayer | One last question, is there an API based way to activate nested-virtualization on a VM? I use host-passthrough already, but not sure that is enough. I need this to run an ESXi which i soley run for image disk conversion | |
| 12:05:41 | sean-k-mooney | no nested virt will be avaiable to the vm automatically if the host is configured to allow it | |
| 12:06:23 | sean-k-mooney | on older kernel you use to have to set teh nested virt flag in the intel-kvm or amd-kvm kernel module options | |
| 12:06:39 | sean-k-mooney | in newer kernels it default to enabled so that is no longer required | |
| 12:07:10 | sean-k-mooney | EugenMayer: you can check by installing linbvirt in the guest and runnign virt-host-validate | |
| 12:07:32 | sean-k-mooney | or just look for vmx or svm on the amd side in lscpu in the guest i think | |
| 12:08:54 | sean-k-mooney | so ya if your host is set up correctly then it shoudl just work | |
| 12:10:06 | sean-k-mooney | with that said my expeirnce with nested virt is mainly kvm on kvm and limited expericne with windows(docker/linux subsystem) usecases | |
| 12:10:27 | sean-k-mooney | both of those can be made work in openstack but have never tired esxi | |
| 12:17:39 | kashyap | EugenMayer: sean-k-mooney: Nested is enabled only in the newer _upstream_ kernels, though. | |
| 12:17:50 | kashyap | Some distributions might not enable it by default | |
| 12:18:05 | sean-k-mooney | well its enabled on rhel for intel by default now but not for amd | |
| 12:18:19 | kashyap | EugenMayer: So check before you run. A handy tool is `virt-host-validate` (it'll check for a whole bunch of things, including /dev/kvm) | |
| 12:18:23 | kashyap | You can run it on a VM too | |
| 12:18:54 | sean-k-mooney | yep also said that above its pretty handy but not well advertised in my experince | |
| 12:19:00 | kashyap | sean-k-mooney: No, not even for RHEL for Intel | |
| 12:19:15 | kashyap | sean-k-mooney: RHEL made it tech preview for AMD *and* Intel. | |
| 12:19:50 | kashyap | There it is, public docs: | |
| 12:19:51 | kashyap | https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_and_managing_virtualization/creating-nested-virtual-machines_configuring-and-managing-virtualization | |
| 12:20:33 | kashyap | sean-k-mooney: Ah, I missed your virt-host-validate reference earlier; maybe we should include it in Nova docs somewhere too | |
| 12:20:51 | sean-k-mooney | well we retoactivly made it tech preview it was GA'd then we found issue on the intel support | |
| 12:21:36 | EugenMayer | thank you both - sorry was at dinner | |
| 12:21:59 | kashyap | Yes, I'm saying about the current status. "Retroactie" == well, if you spot blocker issues, then you must put it back to tech-preview | |
| 12:22:18 | kashyap | EugenMayer: No prob. In general, don't feel pressure to respond "instantly" on IRC | |
| 12:22:29 | kashyap | It's called "instant messaging"; not "instant responding" :D | |
| 12:23:36 | EugenMayer | if i get helped i tend to keep myself as 'instant responding' - but not anybody else. If find this somewhat respecting the time of the answer-giver (what ever that word is:) ) | |
| 12:24:09 | kashyap | Yes, sure. That's contextual | |
| 12:24:13 | EugenMayer | i currently run debian:bullseye with the stable kernel 5.10, will check what status it has and maybe upgrade to backports or spin up an compute on a different OS | |
| 12:24:42 | kashyap | EugenMayer: Some 7 years ago I wrote this thing, because we used to a see a lot of "naked pings" - https://www.rdoproject.org/contribute/irc-etiquette/ | |
| 12:25:01 | sean-k-mooney | EugenMayer: i think the change was made upstream after 5.10 in 5.14 so with 5.10 it might still be disabel by default | |
| 12:27:57 | EugenMayer | kashyap laters! | |
| 12:28:15 | EugenMayer | sean-k-mooney https://packages.debian.org/bullseye-backports/linux-image-amd64 so 5.14 could be it | |
| 13:39:14 | opendevreview | Lee Yarwood proposed openstack/nova master: nova-next: Deploy noVNC from source instead of packages https://review.opendev.org/c/openstack/nova/+/816738 | |
| 13:55:41 | opendevreview | Lee Yarwood proposed openstack/nova master: nova-next: Deploy noVNC from source instead of packages https://review.opendev.org/c/openstack/nova/+/816738 | |
| 16:07:45 | dansmith | gmann: if I have a policy rule with a specific scope_types= set, and then I override that rule with enforcer.set_rules({}) do you know what happens to the scope_types from the default? | |
| 16:08:26 | dansmith | it seems like they are being kept through the override (which I would expect), but that's preventing me from overriding some rules to @ in the tests, like check_image before check_image:allow_volume_backed | |
| 16:08:28 | dansmith | lbragstad: ^ | |
| 16:10:55 | opendevreview | Merged openstack/nova master: [Trival] Fix wrong microversion in TestClass name https://review.opendev.org/c/openstack/nova/+/816778 | |
| 16:13:19 | lbragstad | dansmith i think you're right in that it shouldn't override the scope_type | |
| 16:13:56 | dansmith | okay, so some of the tests we have hit two policies, and the tests try to @ the first one to make sure we test the second one, | |
| 16:14:15 | dansmith | but in the case of the "what happens when we enable scope checking" tests, I'm not sure how to get past that | |
| 16:14:28 | lbragstad | oh... | |
| 16:14:37 | dansmith | other than to just assume that scope violations get caught by the first one | |
| 16:15:19 | lbragstad | the only way i could think of doing that today would be re-register the rules so that you can reset the scope type of the one you want to pass through | |
| 16:15:26 | lbragstad | but that sounds clunky | |
| 16:15:42 | dansmith | yeah | |
| 16:16:11 | lbragstad | what's the scope_type for check_image, project? | |
| 16:16:14 | dansmith | or mock the enforce with a side_effect=[skip(), orig()] | |
| 16:16:48 | dansmith | it was both (of course, like all of them) but I'm moving it back to just project since it's on an instance | |
| 16:16:54 | dansmith | (and it's create_image, typo above) | |
| 16:17:32 | lbragstad | ah | |
| 16:17:42 | dansmith | the tests allow me to skip the check that makes sure it's the exact rule name that triggers the failure, | |
| 16:18:08 | dansmith | so I could just do that, but it kinda sidesteps the actual verification (although only for the system: contexts, which isn't so bad) | |
| 16:18:14 | lbragstad | and you want to test the second check fails with a system-scoped token? | |
| 16:18:32 | dansmith | I mean it would still ensure the behavior, it's just that the tests currently disable the first check with @ to hit the second for all the context | |
| 16:18:46 | dansmith | just trying to change as little as possible about the test behavior of course | |
| 16:18:56 | dansmith | maybe I'll just put a #NOTE in there and leave it for review | |
| 16:19:09 | lbragstad | sure - and that's not necessarily realistic given the discussions the other day | |
| 16:22:38 | dansmith | https://termbin.com/z7yz | |
| 16:22:40 | dansmith | this ^ works | |
| 16:23:14 | dansmith | so we keep the strict checking for the non-scope-enforcing case, but relax it (as allowed by common_policy_check()) if we are scope-obsessed | |
| 16:24:25 | dansmith | oh you know, I could use the base rule name instead of none to be even more explicit | |
| 16:24:30 | dansmith | actual = "Policy doesn't allow os_compute_api:servers:create_image to be performed." | |
| 16:24:30 | dansmith | reference = "Policy doesn't allow os_compute_api:servers:create_image:allow_volume_backed to be performed." | |
| 16:24:30 | dansmith | testtools.matchers._impl.MismatchError: !=: | |
| 16:24:30 | dansmith | the problem is I would get this from the checker: | |
| 16:24:46 | dansmith | because we failed on the earlier check before we got to create_image:allow_volume_backed | |
| 16:26:45 | dansmith | anyway, I'm mostly just talking to myself out loud at this point :) | |
| 16:29:42 | lbragstad | yeah - that makes sense | |
| 16:30:44 | lbragstad | i guess my question now is if we think nesting checks like that is going to be a common pattern, or a one off thing here and there | |
| 16:31:34 | lbragstad | feels like a one-off thing | |
| 16:32:14 | dansmith | it's more a result of nova's test pattern as anything | |
| 16:32:19 | dansmith | but yeah I'll see as I keep going through it | |
| 16:33:22 | lbragstad | if it's common, i think we should have a better answer for it? | |
| 16:33:30 | lbragstad | or potentially consolidate the checks | |
| 16:34:08 | dansmith | yup | |
| 16:43:22 | opendevreview | Sylvain Bauza proposed openstack/nova master: [doc] propose Review-Priority label for contribs https://review.opendev.org/c/openstack/nova/+/816861 | |
| 16:50:49 | gmann | dansmith: lbragstad yeah, we have this type of multi policy enforcement in nova and I think in neutron there are many. | |
| 16:51:16 | gmann | but do we have mixed type of scope_type in such multi policy in single API? | |
| 16:51:32 | gmann | that sounds not correct if we do have | |
| 16:51:43 | dansmith | gmann: so far that hypervisors "give a different view for projecty people" is the only multi-scope one I know of | |
| 16:52:08 | gmann | dansmith: or it is different APIs like resource creation for GET test etc | |
| 16:53:22 | gmann | dansmith: lbragstad I am thinking to allow tests to disable (set to None) the scope_type but yes only for testing | |
| 16:53:32 | dansmith | gmann: yeah, let me continue through more of this to see how many are a problem | |
| 16:54:05 | dansmith | gmann: yeah, maybe, or just ensure that a system token gets stopped at the parent policy check | |
| 16:54:05 | gmann | dansmith: in nova case where it is unit tests we can handle with mocking API controller method itself if it is different APIs. | |
| 16:56:09 | gmann | yeah with switching the CONF.encorce_scope to false first and then true | |
| 17:06:47 | dansmith | gmann: yeah, index:get_all_tenants and index are in the same boat :/ | |
| 17:08:47 | gmann | dansmith: you mean with the new direction or existing scope_type? | |
| 17:09:08 | gmann | but in both case anyone allow to do index:get_all_tenants should be allow to do index right? | |
| 17:09:15 | dansmith | gmann: I mean checking index before index:get_all_tenants and failing the scope check | |
| 17:09:32 | dansmith | gmann: that's not the problem | |
| 17:09:34 | gmann | but both are same scope_type | |
| 17:09:58 | dansmith | gmann: the problem is that both aren't allowed for system:* but we'll fail on the first one before we get to the second one, even if we set the check_str=* | |
| 17:09:58 | gmann | oh no, sorry | |
| 17:10:30 | dansmith | it's not actually a problem because as you mention, their scope restriction will be the same, it's just a matter of verification in the tests | |
| 17:10:39 | gmann | yeah | |
| 17:10:43 | dansmith | let me propose a change to common_policy_check and see what you think | |
| 17:10:51 | gmann | +1 | |
| 17:15:33 | gibi | bottom line: ospurge works and can be used but it does not handle default security group yet. | |