Can't get os-faults to work
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
os-faults |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Hello,
I have been trying to inject faults in a 3 Node (2 compute nodes) OpenStack cloud. The ssh connection to the cloud works fine. Now I am struggling with most of the operations provided by os-faults.
The service 'restart' and 'terminate' operations work just fine.
'Freeze' gives the output:
File “/Users/
And 'kill':
File “/Users/
The 'start' command tells me, that the service I want to start can't be found on the given node(s), although I terminated it successfully before.
'Plug' requires a port but I don't get how the command is supposed to look like. (same with unplug)
The 'oom' command is returning a 'NotImplemented
For 'disconnect' and 'connect' again I can't figure out what the CLI command is supposed to look like.
'poweroff', 'poweron', 'reset' and 'shutdown' all tell me that libvirt-python is required, but I've tried installing it literally everywhere (every node + the machine sending the os-fault commands) and it still gives me the same messages.
'Reboot' on the other hand just tells me that the execution failed with an AnsibleExecutio
'Stress' seems to require a target argument, but I don't know what that could be.
I know this is a lot and I am sorry if this is the wrong place to ask, but I couldn't find any info about forums for questions.
If required I can also send the entire Error Messages for each command.
Thank you,
Lauritz Rasbach
Changed in os-faults: | |
status: | New → Confirmed |
Well, it may be broken.
Not sure about other users, but I use only 'terminate', 'restart', 'kill' and recent 'plug'/'unplug'. For me 'kill' works, but I use python 3.6 - can check on 3.7. Commands 'plug' and 'unplug' require port number and protocol to be specified in a service (https:/ /os-faults. readthedocs. io/en/latest/ quickstart/ config_ spec.html# services). Both commands allow to block one port via iptables (ideally this should be abstracted to support e.g. firewalld and many ports instead of one, the current implementation is a bit hackish).
Command 'start' has a design flaw - it performs discover trying to find where the service runs and does so using ps, and since a service is off it obviously cannot find it. The workaround is to always specify a host, e.g. 'start nova-api service on controller host'.
Commands 'connect' and 'disconnect' were designed for already removed Fuel driver - for the rest they they are not implemented. All remaining command also were used some time ago...
To sum up: I can verify the lib on python 3.7 and check whether libvirt-based command can be easily fixed (they were in a good shape couple years ago).