API Reference¶
-
os_faults.
connect
(cloud_config=None, config_filename=None)¶ Connects to the cloud
Parameters: - cloud_config – dict with cloud and power management params
- config_filename – name of the file where to read config from
Returns: CloudManagement object
-
os_faults.
discover
(cloud_config)¶ Connect to the cloud and discover nodes and services
Parameters: cloud_config – dict with cloud and power management params Returns: config dict with discovered nodes/services
-
os_faults.
human_api
(cloud_management, command)¶ Executes a command written as English sentence
Parameters: - cloud_management – library instance as returned by :connect: function
- command – text command
-
os_faults.
register_ansible_modules
(paths)¶ Registers ansible modules by provided paths
Allows to use custom ansible modules in NodeCollection.run_task method
Parameters: paths – list of paths to folders with ansible modules
-
class
os_faults.api.cloud_management.
CloudManagement
¶ -
execute_on_cloud
(hosts, task, raise_on_error=True)¶ Execute task on specified hosts within the cloud.
Parameters: - hosts – List of host FQDNs
- task – Ansible task
- raise_on_error – throw exception in case of error
Returns: Ansible execution result (list of records)
-
get_container
(name)¶ Get container with specified name
Parameters: name – name of the container Returns: Container
-
get_nodes
(fqdns=None)¶ Get nodes in the cloud
This function returns NodesCollection representing all nodes in the cloud or only those that has specified FQDNs. :param fqdns list of FQDNs or None to retrieve all nodes :return: NodesCollection
-
get_service
(name)¶ Get service with specified name
Parameters: name – name of the service Returns: Service
-
classmethod
list_supported_networks
()¶ Lists all networks supported by nodes returned by this driver
Returns: [String] list of network names
-
classmethod
list_supported_services
()¶ Lists all services supported by this driver
Returns: [String] list of service names
-
verify
()¶ Verify connection to the cloud.
-
-
class
os_faults.api.service.
Service
(service_name, config, node_cls, cloud_management, hosts=None)¶ -
discover_nodes
()¶ Discover nodes where this Service is running
Returns: NodesCollection
-
freeze
(nodes=None, sec=None)¶ Pause service execution
Send SIGSTOP to Service into network on all nodes or on particular subset. If sec is defined - it mean Service will be stopped for a wile.
Parameters: - nodes – NodesCollection
- sec – int
-
get_nodes
()¶ Get nodes where this Service is running
Returns: NodesCollection
-
kill
(nodes=None)¶ Terminate Service abruptly on all nodes or on particular subset
Parameters: nodes – NodesCollection
-
plug
(nodes=None, direction=None, other_port=None)¶ Plug Service into network on all nodes or on particular subset
Parameters: - nodes – NodesCollection
- direction – str, traffic direction ‘ingress’ or ‘egress’
- other_port – int, port number which needs to be allowed
-
restart
(nodes=None)¶ Restart Service on all nodes or on particular subset
Parameters: nodes – NodesCollection
-
start
(nodes=None)¶ Start Service on all nodes or on particular subset
Parameters: nodes – NodesCollection
-
terminate
(nodes=None)¶ Terminate Service gracefully on all nodes or on particular subset
Parameters: nodes – NodesCollection
-
unfreeze
(nodes=None)¶ Resume service execution
Send SIGCONT to Service into network on all nodes or on particular subset.
Parameters: nodes – NodesCollection
-
unplug
(nodes=None, direction=None, other_port=None)¶ Unplug Service out of network on all nodes or on particular subset
Parameters: - nodes – NodesCollection
- direction – str, traffic direction ‘ingress’ or ‘egress’
- other_port – int, port number which needs to be blocked
-
-
class
os_faults.api.container.
Container
(container_name, config, node_cls, cloud_management, hosts=None)¶ -
discover_nodes
()¶ Discover nodes where this Container is running
Returns: NodesCollection
-
get_nodes
()¶ Get nodes where this Container is running
Returns: NodesCollection
-
restart
(nodes=None)¶ Restart Container on all nodes or on particular subset
Parameters: nodes – NodesCollection
-
start
(nodes=None)¶ Start Container on all nodes or on particular subset
Parameters: nodes – NodesCollection
-
terminate
(nodes=None)¶ Terminate Container gracefully on all nodes or on particular subset
Parameters: nodes – NodesCollection
-
-
class
os_faults.api.node_collection.
NodeCollection
(cloud_management=None, hosts=None)¶ -
connect
(network_name)¶ Connect nodes to <network_name> network
Parameters: network_name – name of network
-
disconnect
(network_name)¶ Disconnect nodes from <network_name> network
Parameters: network_name – name of network
-
pick
(count=1)¶ Pick one Node out of collection
Returns: NodeCollection consisting just one node
-
poweroff
()¶ Power off all nodes abruptly
-
poweron
()¶ Power on all nodes abruptly
-
reboot
()¶ Reboot all nodes gracefully
-
reset
()¶ Reset (cold restart) all nodes
-
revert
(snapshot_name, resume=True)¶ Revert snapshot for all nodes
-
run_task
(task, raise_on_error=True)¶ Run ansible task on node colection
Parameters: - task – ansible task as dict
- raise_on_error – throw exception in case of error
Returns: AnsibleExecutionRecord with results of task
-
shutdown
()¶ Shutdown all nodes gracefully
-
snapshot
(snapshot_name, suspend=True)¶ Create snapshot for all nodes
-
stress
(target, duration=None)¶ Stress node OS and hardware
-