api Package¶
certificate
Module¶
client
Module¶
-
class
kolla_cli.api.client.
ClientApi
¶ Bases:
kolla_cli.api.certificate.CertificateApi
,kolla_cli.api.config.ConfigApi
,kolla_cli.api.control_plane.ControlPlaneApi
,kolla_cli.api.group.GroupApi
,kolla_cli.api.host.HostApi
,kolla_cli.api.password.PasswordApi
,kolla_cli.api.properties.PropertyApi
,kolla_cli.api.service.ServiceApi
,kolla_cli.api.support.SupportApi
Client API Notes
Objects returned by the API contain a local copy of the information in the datastore. While changes made to the local copy will be reflected in the local object, changes made to the datastore from other objects will not be reflected in this local copy. The object will need to be re-fetched from the datastore to reflect the updates.
-
static
enable_console_logging
(level: int, enable: bool = True) → None¶ enable/disable console logging for the api
enable: True/False level: logging.INFO, logging.DEBUG, logging.WARNING, logging.CRITICAL…
-
static
get_version
() → str¶
-
static
config
Module¶
-
class
kolla_cli.api.config.
ConfigApi
¶ Bases:
object
-
config_import_inventory
(file_path: str) → None¶ Config Import Inventory
Import groups and child associations from the provided inventory file. This currently does not import hosts, group vars, or host vars that may also exist in the inventory file.
- Parameters
file_path (string) – path to inventory file to import
-
static
config_reset
()¶ Config Reset.
Resets the kolla-ansible configuration to its release defaults.
-
control_plane
Module¶
-
class
kolla_cli.api.control_plane.
ControlPlaneApi
¶ Bases:
object
-
static
check
(verbose_level: int = 1, hostnames: List[str] = [], servicenames: List[str] = []) → Job¶ Do post-deployment smoke tests.
- Parameters
hostnames (list) – host names
verbose_level (integer) – the higher the number, the more verbose
servicenames (list of strings) – services to check. If empty, then check all.
- Returns
Job object
- Return type
-
static
deploy
(hostnames: List[str] = [], serial_flag: bool = False, verbose_level: int = 1, servicenames: List[str] = []) → Job¶ Deploy.
Deploy and start all kolla containers.
- Parameters
hostnames (list of strings) – hosts to deploy to. If empty, then deploy to all.
serial_flag (boolean) – if true, deploy will be done one host at a time
verbose_level (integer) – the higher the number, the more verbose
servicenames (list of strings) – services to deploy. If empty, then deploy all.
- Returns
Job object
- Return type
-
static
genconfig
(verbose_level: int = 1, hostnames: List[str] = [], servicenames: List[str] = []) → Job¶ Genconfig.
Generate configuration files for enabled OpenStack services.
- Parameters
verbose_level (integer) – the higher the number, the more verbose
servicenames (list of strings) – services to generate. If empty, then generate all.
- Returns
Job object
- Return type
Upgrade containers to new version specified by the property “openstack_release.”
-
static
get_deploy_mode
()¶ Get deploy mode from either local or remote.
Local indicates that the openstack deployment will be to the local host. Remote means that the deployment is executed via ssh.
NOTE: local mode is not supported and should never be used in production environments.
-
static
postdeploy
(verbose_level=1)¶ Post-Deploy.
Do post deploy on deploy node.
- Parameters
verbose_level (integer) – the higher the number, the more verbose
- Returns
Job object
- Return type
-
static
prechecks
(verbose_level: int = 1, hostnames: List[str] = [], servicenames: List[str] = []) → Job¶ Check pre-deployment configuration of hosts.
Check if host is ready for a new deployment. This will fail if any of the hosts are not configured correctly or if they have already been deployed to. :param hostnames: host names :type hostnames: list :param verbose_level: the higher the number, the more verbose :type verbose_level: integer :param servicenames: services to prechecks. :type servicenames: list of strings :return: Job object :rtype: Job
-
static
pull
(verbose_level=1, hostnames=[], servicenames=[])¶ Pull.
Pull all images for containers (only pulls, no running container).
- Parameters
verbose_level (integer) – the higher the number, the more verbose
hostnames (list of strings) – hosts to pull to. If empty, then pull to all.
servicenames – services to pull. If empty, then pull all.
- Returns
Job object
- Return type
-
static
reconfigure
(verbose_level: int = 1, hostnames: List[str] = [], servicenames: List[str] = []) → Job¶ Reconfigure.
Reconfigure OpenStack service.
- Parameters
hostnames (list) – host names
verbose_level (integer) – the higher the number, the more verbose
servicenames (list of strings) – services to prechecks.
- Returns
Job object
- Return type
-
static
set_deploy_mode
(remote_mode: bool) → None¶ Set deploy mode to either local or remote.
Local indicates that the openstack deployment will be to the local host. Remote means that the deployment is executed via ssh.
NOTE: local mode is not supported and should never be used in production environments.
- Parameters
remote_mode (bool) – if remote mode is True deployment is done via ssh
-
static
stop
(verbose_level: int = 1, hostnames: List[str] = [], servicenames: List[str] = []) → Job¶ Stop Hosts.
Stops all kolla related docker containers on the specified hosts.
- Parameters
hostnames (list) – host names
verbose_level (integer) – the higher the number, the more verbose
servicenames (list of strings) – services to stop. If empty, then stop all.
- Returns
Job object
- Return type
-
static
upgrade
(verbose_level: int = 1, hostnames: List[str] = [], servicenames: List[str] = []) → Job¶ Upgrade.
Upgrades existing OpenStack Environment.
- Parameters
verbose_level (integer) – the higher the number, the more verbose
hostnames (list of strings.) – hostnames to upgrade.
servicenames (list of strings) – services to upgrade. If empty, then upgrade all.
- Returns
Job object
- Return type
Upgrade containers to new version specified by the property “openstack_release.”
-
static
exceptions
Module¶
Exception definitions.
-
exception
kolla_cli.api.exceptions.
ClientException
(message, *args)¶ Bases:
Exception
KollaClient Base Class Exception
-
exception
kolla_cli.api.exceptions.
FailedOperation
(message, *args)¶
-
exception
kolla_cli.api.exceptions.
HostError
(message, *args)¶
-
exception
kolla_cli.api.exceptions.
HostsSshCheckError
(hostnames, *args)¶ Bases:
kolla_cli.api.exceptions.ClientException
Host failed its ssh check
-
exception
kolla_cli.api.exceptions.
InvalidArgument
(message, *args)¶ Bases:
kolla_cli.api.exceptions.ClientException
Invalid argument
-
exception
kolla_cli.api.exceptions.
InvalidConfiguration
(message, *args)¶ Bases:
kolla_cli.api.exceptions.ClientException
Invalid configuration
-
exception
kolla_cli.api.exceptions.
MissingArgument
(argname, *args)¶ Bases:
kolla_cli.api.exceptions.ClientException
Missing argument
-
exception
kolla_cli.api.exceptions.
NotInInventory
(obj_type, obj_names, *args)¶ Bases:
kolla_cli.api.exceptions.ClientException
Not in inventory exception
group
Module¶
-
class
kolla_cli.api.group.
Group
(groupname: str, servicenames: List[str], hostnames: List[str])¶ Bases:
object
-
add_host
(hostname: str) → None¶ Add host to group
- Parameters
hostname (string) – name of the host to add to the group
-
add_service
(servicename: str) → None¶ Add service to group
- Parameters
servicename (string) – name of the service to add to the group
-
get_hosts
() → List[str]¶ Get names of hosts associated with this group.
- Returns
host names
- Return type
list of strings
-
get_name
() → str¶ Get name
- Returns
group name
- Return type
string
-
get_services
() → List[str]¶ Get names of services associated with this group.
- Returns
service names
- Return type
list of strings
-
remove_host
(hostname: str) → None¶ Remove host from group
- Parameters
hostname (string) – name of the host to remove from the group
-
remove_service
(servicename: str) → None¶ Remove service from group
- Parameters
servicename (string) – name of the service to remove from the group
-
-
class
kolla_cli.api.group.
GroupApi
¶ Bases:
object
-
group_add
(groupnames: List[str]) → None¶ Add groups to the inventory
- Parameters
groupnames (list of strings) – names of the groups to add to the inventory
-
group_get
(groupnames: List[str]) → List[Group]¶ Get selected groups in the inventory
- Parameters
groupnames (list of strings) – names of groups to be read
- Returns
groups
- Return type
list of Group objects
-
group_get_all
() → List[Group]¶ Get all groups in the inventory
- Returns
groups
- Return type
list of Group objects
-
group_remove
(groupnames: List[str]) → None¶ Remove groups from the inventory
- Parameters
groupnames (list of strings) – names of the groups to remove from the inventory
-
host
Module¶
-
class
kolla_cli.api.host.
Host
(hostname: str, groupnames: List[str] = [])¶ Bases:
object
-
get_groups
() → List[str]¶ Get names of the groups associated with this host
- Returns
group names
- Return type
list of strings
Note: If the groups associated with this host change after this host is fetched, the host must be re-fetched to reflect those changes.
-
get_name
() → str¶ Get name
- Returns
host name
- Return type
string
-
-
class
kolla_cli.api.host.
HostApi
¶ Bases:
object
-
static
host_add
(hostnames: List[str]) → None¶ Add hosts to the inventory
- Parameters
hostnames – list of strings
-
static
host_destroy
(hostnames: List[str], destroy_type: str, verbose_level: int = 1, include_data: bool = False, remove_images: bool = False) → Job¶ Destroy Hosts.
Stops and removes all kolla related docker containers on the specified hosts.
- Parameters
hostnames (list) – host names
destroy_type (string) – either ‘kill’ or ‘stop’
verbose_level (integer) – the higher the number, the more verbose
include_data (boolean) – if true, destroy data containers too.
remove_images (boolean) – if true, destroy will remove the docker images
- Returns
Job object
- Return type
-
static
host_get
(hostnames: List[str]) → List[Host]¶ Get selected hosts in the inventory
- Parameters
hostnames – list of strings
- Returns
hosts
- Return type
list of Host objects
-
static
host_get_all
() → List[Host]¶ Get all hosts in the inventory
- Returns
Hosts
- Return type
list of Host objects
-
static
host_remove
(hostnames: List[str]) → None¶ Remove hosts from the inventory
- Parameters
hostnames – list of strings
-
static
host_setup
(hosts_info: Dict[str, Dict[str, object]]) → None¶ Setup multiple hosts for ssh access
- hosts_info is a dictionary of form:
{hostname’: { ‘password’: password ‘uname’: user_name}, … }
The uname entry is optional.
- Parameters
hosts_info – dictionary
-
static
host_ssh_check
(hostnames: List[str]) → Dict[str, Dict[str, object]]¶ Check hosts for ssh connectivity
- Check status is a dictionary of form:
{hostname: { ‘success’:<True|False>, ‘msg’:message_string}, … }
- Parameters
hostnames – list of strings
- Returns
check status
- Return type
dictionary
-
static
job
Module¶
-
class
kolla_cli.api.job.
Job
(ansible_job)¶ Bases:
object
-
get_console_output
() → str¶ Get the console output from the job
- Returns
console output useful for debugging failed jobs.
- Return type
string
-
get_error_message
() → str¶ Get error message
- Returns
if job failed, this will return the error message.
- Return type
string
-
get_status
() → int¶ Get status of job
- Returns
None: job is still running 0: job succeeded 1: job failed 2: job killed by user
- Return type
int or None
-
kill
()¶ kill the job
-
wait
() → int¶ Wait for job to complete
- Returns
0 if job succeeded, 1 if job failed
- Return type
int
-
password
Module¶
-
class
kolla_cli.api.password.
PasswordApi
¶ Bases:
object
-
password_clear
(name: str) → None¶ Clear password
- Parameters
name (string) – name of the password
-
password_get_names
() → List[str]¶ Get password names
- Returns
password names
- Return type
list of strings
-
password_init
() → None¶ Init empty passwords
Init empty passwords and ssh keys in /etc/kolla/passwords.yml to auto-generated values
-
password_set
(name: str, value: str) → None¶ Set password
- Parameters
name (string) – name of the password
value (string) – value of the password
-
password_set_sshkey
(name: str, private_key: str, public_key: str) → None¶ Set password to an ssh key
- Parameters
name (string) – name of the password
private_key – ssh private key
public_key – ssh public key
-
properties
Module¶
-
class
kolla_cli.api.properties.
Property
(ansible_property, override_flags)¶ Bases:
object
- Members:
name (str): key
value (Any): value
file_name (str): name of file property is from
overrides (bool): does the property override some other value
orig_value (str): the value which is overridden or None
target (str): group or host name for group or host properties
prop_type (str): one of ‘global’, ‘group’ or ‘host’
ovr_global (bool): true if property is overridden at global level
ovr_group (bool): true if property is overridden at group level
ovr_host (bool): true if property is overridden at host level
value_type (type): the python type of the value
-
class
kolla_cli.api.properties.
PropertyApi
¶ Bases:
object
-
property_clear
(property_list: List[str], property_type: str = 'global', change_set: List[str] = None) → None¶ Clear a property
- Parameters
property_list (list) – property list
property_type (string) – one of ‘global’, ‘group’ or ‘host’
change_set (list of strings) – for group or host clears this is the list of groups or hosts to clear the property for
-
property_get
(property_type: str = 'global', get_set: List[str] = None) → List[Property]¶ Returns a list of Property objects
- Parameters
property_type (string) – one of ‘global’, ‘group’, or ‘host’
get_set (list of strings) – optional list of hosts or groups to be used when getting group or host related property lists
- Returns
properties
- Return type
list of Property objects
-
property_set
(property_dict: Dict[str, str], property_type: str = 'global', change_set: List[str] = None) → None¶ Set a property
- Parameters
property_dict (dictionary) – property dictionary containing key / values
property_type (string) – one of ‘global’, ‘group’ or ‘host’
change_set (list of strings) – for group or host sets this is the list of groups or hosts to set the property for
-
service
Module¶
-
class
kolla_cli.api.service.
Service
(servicename: str, parentnames: List[str] = [], childnames: List[str] = [], groupnames: List[str] = [])¶ Bases:
object
A service is one of the services available in openstack-kolla-ansible.
For example, this would be how the murano services would be represented:
- murano
parentnames: []
childnames: [murano-api, murano-engine]
- murano-api
parentnames: [murano]
childnames: []
- murano-engine
parentnames: [murano]
childnames: []
-
get_children
() → List[str]¶ Get names of the child services
- Returns
child names
- Return type
list of strings
-
get_groups
() → List[str]¶ Get names of the groups
- Returns
group names
- Return type
list of strings
Note: If the groups associated with this service change after this service is fetched, the service must be re-fetched to reflect those changes.
-
get_name
() → str¶ Get name
- Returns
service name
- Return type
string
-
get_parents
() → List[str]¶ Get name of parent services
- Returns
parent service names
- Return type
string
-
class
kolla_cli.api.service.
ServiceApi
¶ Bases:
object
-
service_get
(servicenames: List[str]) → List[Service]¶ Get selected services in the inventory
- Parameters
servicenames (list of strings) – names of services to be read
- Returns
services
- Return type
list of Service objects
-
service_get_all
() → List[Service]¶ Get all services in the inventory
- Returns
services
- Return type
List of Service objects
-
support
Module¶
-
class
kolla_cli.api.support.
SupportApi
¶ Bases:
object
-
support_dump
(dirpath: str) → str¶ Dumps configuration data for debugging.
Dumps most files in /etc/kolla and /usr/share/kolla into a tar file so be given to support / development to help with debugging problems.
- Parameters
dirpath (string) – path to directory where dump will be placed
- Returns
path to dump file
- Return type
string
-
support_get_logs
(servicenames: List[str], hostname: str, dirpath: str) → None¶ get container logs
Fetch the container log files of services from the specified hosts. The log files will be placed in the named directory. All the containers for the host will be placed in a directory named hostname. The file names for each log will be servicename_id.log.
- Parameters
servicenames (list of strings) – names of services (ie nova, glance, etc)
hostname (string) – name of host to look for logs on
dirpath (string) – path of directory where log files will be written
-