Basics

Configuration file

The cloud deployment configuration schema has simple YAML/JSON format:

cloud_management:
  driver: devstack
  args:
    address: 192.168.1.240
    auth:
      username: stack
      private_key_file: cloud_key
    iface: enp0s8

power_managements:
- driver: libvirt
  args:
    connection_uri: qemu+ssh://ubuntu@10.0.1.50/system

By default, the library reads configuration from a file with one of the following names: os-faults.{json,yaml,yml}. The configuration file is searched in one of default locations:

  • current directory
  • ~/.config/os-faults
  • /etc/openstack

Also, the name of the configuration file can be specified in the OS_FAULTS_CONFIG environment variable:

$ export OS_FAULTS_CONFIG=/home/alex/my-os-faults-config.yaml

Execution

Establish a connection to the cloud and verify it:

import os_faults
cloud_management = os_faults.connect(config_filename='os-faults.yaml')
cloud_management.verify()

or via CLI:

$ os-faults verify -c os-faults.yaml

Make some destructive action:

cloud_management.get_service(name='keystone').restart()

or via CLI:

$ os-inject-fault -c os-faults.yaml restart keystone service