# CLI reference

## os-inject-fault

    usage: os-inject-fault [-h] [-c CONFIG] [-d] [-v] [command]

    positional arguments:
      command               fault injection command, e.g. "restart keystone
                            service"

    optional arguments:
      -h, --help            show this help message and exit
      -c CONFIG, --config CONFIG
                            path to os-faults cloud connection config
      -d, --debug
      -v, --verify          verify connection to the cloud

    Built-in drivers:
      devstack - DevStack driver
      docker_container - Docker container
      ipmi - IPMI power management driver
      libvirt - Libvirt power management driver
      node_list - Reads hosts from configuration file
      process - Service as process
      salt_service - Service in salt
      saltcloud - SaltCloud management driver
      system_service - System Service (systemd, upstart, SysV, etc.)
      universal - Universal cloud management driver

    *Service-oriented* commands perform specified action against service on
    all, on one random node or on the node specified by FQDN:

      <action> <service> service [on (random|one|single|<fqdn> node[s])]

      where:
        action is one of:
          freeze - Pause service execution
          kill - Terminate Service abruptly on all nodes or on particular subset
          plug - Plug Service into network on all nodes or on particular subset
          restart - Restart Service on all nodes or on particular subset
          start - Start Service on all nodes or on particular subset
          terminate - Terminate Service gracefully on all nodes or on particular subset
          unfreeze - Resume service execution
          unplug - Unplug Service out of network on all nodes or on particular subset
        service is one of supported by driver:
          devstack: cinder-api, cinder-scheduler, cinder-volume, etcd, glance-api,
                    heat-api, heat-engine, keystone, memcached, mysql,
                    neutron-dhcp-agent, neutron-l3-agent,
                    neutron-meta-agent, neutron-openvswitch-agent,
                    neutron-server, nova-api, nova-compute,
                    nova-scheduler, placement-api, rabbitmq
          saltcloud: cinder-api, cinder-backup, cinder-scheduler, cinder-volume,
                     elasticsearch, glance-api, glance-glare,
                     glance-registry, grafana-server, heat-api,
                     heat-engine, horizon, influxdb, keystone, kibana,
                     memcached, mysql, nagios3, neutron-dhcp-agent,
                     neutron-l3-agent, neutron-metadata-agent,
                     neutron-openvswitch-agent, neutron-server, nova-api,
                     nova-cert, nova-compute, nova-conductor,
                     nova-consoleauth, nova-novncproxy, nova-scheduler,
                     rabbitmq
          universal: /no built-in support/

    Examples:
        * "Restart Keystone service" - restarts Keystone service on all nodes.
        * "kill nova-api service on one node" - restarts Nova API on one
          randomly-picked node.

    *Node-oriented* commands perform specified action on node specified by FQDN
    or set of service's nodes:

      <action> [random|one|single|<fqdn>] node[s] [with <service> service]

      where:
        action is one of:
          connect - Connect nodes to <network_name> network
          disconnect - Disconnect nodes from <network_name> network
          oom - Fill all node's RAM
          poweroff - Power off all nodes abruptly
          poweron - Power on all nodes abruptly
          reboot - Reboot all nodes gracefully
          reset - Reset (cold restart) all nodes
          shutdown - Shutdown all nodes gracefully
          stress - Stress node OS and hardware
        service is one of supported by driver:
          devstack: cinder-api, cinder-scheduler, cinder-volume, etcd, glance-api,
                    heat-api, heat-engine, keystone, memcached, mysql,
                    neutron-dhcp-agent, neutron-l3-agent,
                    neutron-meta-agent, neutron-openvswitch-agent,
                    neutron-server, nova-api, nova-compute,
                    nova-scheduler, placement-api, rabbitmq
          saltcloud: cinder-api, cinder-backup, cinder-scheduler, cinder-volume,
                     elasticsearch, glance-api, glance-glare,
                     glance-registry, grafana-server, heat-api,
                     heat-engine, horizon, influxdb, keystone, kibana,
                     memcached, mysql, nagios3, neutron-dhcp-agent,
                     neutron-l3-agent, neutron-metadata-agent,
                     neutron-openvswitch-agent, neutron-server, nova-api,
                     nova-cert, nova-compute, nova-conductor,
                     nova-consoleauth, nova-novncproxy, nova-scheduler,
                     rabbitmq
          universal: /no built-in support/

    Examples:
        * "Reboot one node with mysql" - reboots one random node with MySQL.
        * "Reset node-2.domain.tld node" - reset node node-2.domain.tld.

    *Network-oriented* commands are subset of node-oriented and perform network
    management operation on selected nodes:

      [connect|disconnect] <network> network on [random|one|single|<fqdn>] node[s]
        [with <service> service]

      where:
        network is one of supported by driver:
          devstack: all-in-one
          saltcloud: /no built-in support/
          universal: /no built-in support/
        service is one of supported by driver:
          devstack: cinder-api, cinder-scheduler, cinder-volume, etcd, glance-api,
                    heat-api, heat-engine, keystone, memcached, mysql,
                    neutron-dhcp-agent, neutron-l3-agent,
                    neutron-meta-agent, neutron-openvswitch-agent,
                    neutron-server, nova-api, nova-compute,
                    nova-scheduler, placement-api, rabbitmq
          saltcloud: cinder-api, cinder-backup, cinder-scheduler, cinder-volume,
                     elasticsearch, glance-api, glance-glare,
                     glance-registry, grafana-server, heat-api,
                     heat-engine, horizon, influxdb, keystone, kibana,
                     memcached, mysql, nagios3, neutron-dhcp-agent,
                     neutron-l3-agent, neutron-metadata-agent,
                     neutron-openvswitch-agent, neutron-server, nova-api,
                     nova-cert, nova-compute, nova-conductor,
                     nova-consoleauth, nova-novncproxy, nova-scheduler,
                     rabbitmq
          universal: /no built-in support/

    Examples:
        * "Disconnect management network on nodes with rabbitmq service" - shuts
          down management network interface on all nodes where rabbitmq runs.
        * "Connect storage network on node-1.domain.tld node" - enables storage
          network interface on node-1.domain.tld.

    For more details please refer to docs: http://os-faults.readthedocs.io/

## os-faults

    Usage: os-faults [OPTIONS] COMMAND [ARGS]...

    Options:
      -d, --debug  Enable debug logs
      --version    Show version and exit.
      --help       Show this message and exit.

    Commands:
      discover  Discover services/nodes and save them to output config file
      drivers   List os-faults drivers
      nodes     List cloud nodes
      verify    Verify connection to the cloud

## os-faults verify

    Usage: os-faults verify [OPTIONS]

      Verify connection to the cloud

    Options:
      -c, --config FILE  path to os-faults cloud connection config
      --help             Show this message and exit.

## os-faults discover

    Usage: os-faults discover [OPTIONS] OUTPUT

      Discover services/nodes and save them to output config file

    Options:
      -c, --config FILE  path to os-faults cloud connection config
      --help             Show this message and exit.

## os-faults nodes

    Usage: os-faults nodes [OPTIONS]

      List cloud nodes

    Options:
      -c, --config FILE  path to os-faults cloud connection config
      --help             Show this message and exit.

## os-faults drivers

    Usage: os-faults drivers [OPTIONS]

      List os-faults drivers

    Options:
      --help  Show this message and exit.