The kernel bug manifests when mounting of nbd devices is combined with ip namespace operations.
Using openstack it can be reproduced only with the following configuration:
- compute service must run on the same node as the dhcp-agent and/or the l3-agent
- file injection should be turned on: libvirt.inject_partition != -2
- key injection should be enabled: libvirt.inject_key = True
- config drive should be disabled: force_config_drive = 'False' or empty string or None
If these conditions are met, nbd mount will be used to inject the key into the instance. This will trigger something in the kernel which subsequently will cause the crash in a process running in a network namespace. After this crash nbd mount won't work anymore.
- keep_booting_stuff.sh creates and destroys vms continuously, ensuring a key is always injected
- stress_me_to_death creates network namespaces, launches a process in them, kills the process and then the namespace
The two scripts require openstack and should be executed concurrently.
Crashdump data will posted as soon as possible.
It should not be too hard to provide a script that reproduces the issue and is indepedent from openstack.
The kernel bug manifests when mounting of nbd devices is combined with ip namespace operations. inject_ partition != -2
Using openstack it can be reproduced only with the following configuration:
- compute service must run on the same node as the dhcp-agent and/or the l3-agent
- file injection should be turned on: libvirt.
- key injection should be enabled: libvirt.inject_key = True
- config drive should be disabled: force_config_drive = 'False' or empty string or None
If these conditions are met, nbd mount will be used to inject the key into the instance. This will trigger something in the kernel which subsequently will cause the crash in a process running in a network namespace. After this crash nbd mount won't work anymore.
Using openstack the crash can be reproduced within a few minutes with the scripts available here: https:/ /gist.github. com/salv- orlando/ 8715991
- keep_booting_ stuff.sh creates and destroys vms continuously, ensuring a key is always injected
- stress_me_to_death creates network namespaces, launches a process in them, kills the process and then the namespace
The two scripts require openstack and should be executed concurrently.
Crashdump data will posted as soon as possible.
It should not be too hard to provide a script that reproduces the issue and is indepedent from openstack.