I want to use the gate-tempest-dsvm-neutron-full-ssh in nova since it runs ssh validation + neutron + config drive + metadata service, which will test the virtual device tagging 2.32 microversion API (added last week).

The job has a file injection test that fails consistently which is keeping it from being voting.

After debugging, the problem is the files to inject are silently ignored because n-cpu is configured with libvirt.inject_partition=-2 by default. That disables file injection:

https://github.com/openstack/nova/blob/faf50a747e03873c3741dac89263a80112da915a/nova/virt/libvirt/driver.py#L3030

We don't even log a warning if the user requested files to inject and we can't honor it. If I were a user and tried to inject files when creating a server but they didn't show up in the guest, I'd open a support ticket against my cloud provider. So I don't think a warning (that only the admin sees) is sufficient here. This isn't something that's discoverable from the API either, it's really host configuration / capability (something we still need to tackle).

So I propose that we fail the server create request in this case since the user asked nova to inject files but n-cpu is configured to not allow that.

I'd also think that this should trigger a reschedule to another compute. However, if all computes have disabled file injection, which is the default:

https://github.com/openstack/nova/blob/0c0f60031acba11d0bab0617f68b95d9b5eb8d1d/nova/conf/libvirt.py#L66

Then they'll retry 3 times and fail with an instance in error state. So I'm not sure if rescheduling in this case is useful. I'd think that deployments are either allowing file injection globally (if using libvirt) of they aren't, but would need some operators to chime in here.

--

Thanks,

Matt Riedemann


__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: [email protected]?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to