Update documentation for new control host directory layout

This commit is contained in:
Mark Goddard 2017-09-20 17:54:26 +01:00
parent 7bc0274aa3
commit 454de62d6d
6 changed files with 90 additions and 62 deletions

View File

@ -13,7 +13,7 @@ the system in an automated manner. To reconfigure the overcloud, first make
any changes required to the configuration on the control host. Next, run the any changes required to the configuration on the control host. Next, run the
following command:: following command::
(kayobe-venv) $ kayobe overcloud service reconfigure (kayobe) $ kayobe overcloud service reconfigure
In case not all services' configuration have been modified, performance can be In case not all services' configuration have been modified, performance can be
improved by specifying Ansible tags to limit the tasks run in kayobe and/or improved by specifying Ansible tags to limit the tasks run in kayobe and/or
@ -23,7 +23,7 @@ service by the name of that service. For example: ``nova``, ``neutron`` or
``ironic``. Use ``-t`` or ``--tags`` to specify kayobe tags and ``-kt`` or ``ironic``. Use ``-t`` or ``--tags`` to specify kayobe tags and ``-kt`` or
``--kolla-tags`` to specify kolla-ansible tags. For example:: ``--kolla-tags`` to specify kolla-ansible tags. For example::
(kayobe-venv) $ kayobe overcloud service reconfigure --tags config --kolla-tags nova,ironic (kayobe) $ kayobe overcloud service reconfigure --tags config --kolla-tags nova,ironic
Upgrading Containerised Services Upgrading Containerised Services
================================ ================================
@ -38,12 +38,12 @@ release.
To upgrade the containerised control plane services:: To upgrade the containerised control plane services::
(kayobe-venv) $ kayobe overcloud service upgrade (kayobe) $ kayobe overcloud service upgrade
As for the reconfiguration command, it is possible to specify tags for Kayobe As for the reconfiguration command, it is possible to specify tags for Kayobe
and/or kolla-ansible:: and/or kolla-ansible::
(kayobe-venv) $ kayobe overcloud service upgrade --tags config --kolla-tags keystone (kayobe) $ kayobe overcloud service upgrade --tags config --kolla-tags keystone
Destroying the Overcloud Services Destroying the Overcloud Services
================================= =================================
@ -55,7 +55,7 @@ Destroying the Overcloud Services
To destroy the overcloud services:: To destroy the overcloud services::
(kayobe-venv) $ kayobe overcloud service destroy --yes-i-really-really-mean-it (kayobe) $ kayobe overcloud service destroy --yes-i-really-really-mean-it
Deprovisioning The Cloud Deprovisioning The Cloud
======================== ========================
@ -67,7 +67,7 @@ Deprovisioning The Cloud
To deprovision the overcloud:: To deprovision the overcloud::
(kayobe-venv) $ kayobe overcloud deprovision (kayobe) $ kayobe overcloud deprovision
Deprovisioning The Seed VM Deprovisioning The Seed VM
========================== ==========================
@ -78,7 +78,7 @@ Deprovisioning The Seed VM
To deprovision the seed VM:: To deprovision the seed VM::
(kayobe-venv) $ kayobe seed vm deprovision (kayobe) $ kayobe seed vm deprovision
Saving Overcloud Service Configuration Saving Overcloud Service Configuration
====================================== ======================================
@ -88,7 +88,7 @@ plane services for inspection or comparison with another configuration set
prior to a reconfiguration or upgrade. This command will gather and save the prior to a reconfiguration or upgrade. This command will gather and save the
control plane configuration for all hosts to the ansible control host:: control plane configuration for all hosts to the ansible control host::
(kayobe-venv) $ kayobe overcloud service configuration save (kayobe) $ kayobe overcloud service configuration save
The default location for the saved configuration is ``$PWD/overcloud-config``, The default location for the saved configuration is ``$PWD/overcloud-config``,
but this can be changed via the ``output-dir`` argument. To gather but this can be changed via the ``output-dir`` argument. To gather
@ -104,7 +104,7 @@ applying it to the running containers. The configuration should typically be
generated in a directory other than the default configuration directory of generated in a directory other than the default configuration directory of
``/etc/kolla``, to avoid overwriting the active configuration:: ``/etc/kolla``, to avoid overwriting the active configuration::
(kayobe-venv) $ kayobe overcloud service configuration generate --node-config-dir /path/to/generated/config (kayobe) $ kayobe overcloud service configuration generate --node-config-dir /path/to/generated/config
The configuration will be generated remotely on the overcloud hosts in the The configuration will be generated remotely on the overcloud hosts in the
specified directory, with one subdirectory per container. This command may be specified directory, with one subdirectory per container. This command may be
@ -118,14 +118,14 @@ In some situations it may be necessary to run an individual Kayobe playbook.
Playbooks are stored in ``<kayobe repo>/ansible/*.yml``. To run an arbitrary Playbooks are stored in ``<kayobe repo>/ansible/*.yml``. To run an arbitrary
Kayobe playbook:: Kayobe playbook::
(kayobe-venv) $ kayobe playbook run <playbook> [<playbook>] (kayobe) $ kayobe playbook run <playbook> [<playbook>]
Running Kolla-ansible Commands Running Kolla-ansible Commands
============================== ==============================
To execute a kolla-ansible command:: To execute a kolla-ansible command::
(kayobe-venv) $ kayobe kolla ansible run <command> (kayobe) $ kayobe kolla ansible run <command>
Dumping Kayobe Configuration Dumping Kayobe Configuration
============================ ============================
@ -135,7 +135,7 @@ the final values of Ansible variables. We can use Kayobe's
``configuration dump`` command to view individual variables or the variables ``configuration dump`` command to view individual variables or the variables
for one or more hosts. To dump Kayobe configuration for one or more hosts:: for one or more hosts. To dump Kayobe configuration for one or more hosts::
(kayobe-venv) $ kayobe configuration dump (kayobe) $ kayobe configuration dump
The output is a JSON-formatted object mapping hosts to their hostvars. The output is a JSON-formatted object mapping hosts to their hostvars.

View File

@ -57,6 +57,8 @@ variables files in ``${KAYOBE_CONFIG_PATH}/inventory/host_vars/*``. It should
be noted that variables set in extra-vars files take precedence over per-host be noted that variables set in extra-vars files take precedence over per-host
variables. variables.
.. _configuring-kayobe:
Configuring Kayobe Configuring Kayobe
================== ==================

View File

@ -21,7 +21,7 @@ performed here include:
To bootstrap the Ansible control host:: To bootstrap the Ansible control host::
(kayobe-venv) $ kayobe control host bootstrap (kayobe) $ kayobe control host bootstrap
Physical Network Physical Network
================ ================
@ -31,7 +31,7 @@ modules. Currently Dell Network OS 6 and Dell Network OS 9 switches are
supported but this could easily be extended. To provision the physical supported but this could easily be extended. To provision the physical
network:: network::
(kayobe-venv) $ kayobe physical network configure --group <group> [--enable-discovery] (kayobe) $ kayobe physical network configure --group <group> [--enable-discovery]
The ``--group`` argument is used to specify an Ansible group containing The ``--group`` argument is used to specify an Ansible group containing
the switches to be configured. the switches to be configured.
@ -55,7 +55,7 @@ Host Configuration
To configure the seed hypervisor's host OS, and the Libvirt/KVM virtualisation To configure the seed hypervisor's host OS, and the Libvirt/KVM virtualisation
support:: support::
(kayobe-venv) $ kayobe seed hypervisor host configure (kayobe) $ kayobe seed hypervisor host configure
Seed Seed
==== ====
@ -74,7 +74,7 @@ have ``libvirt`` networks configured for all networks that the seed VM needs
access to and a ``libvirt`` storage pool available for the seed VM's volumes. access to and a ``libvirt`` storage pool available for the seed VM's volumes.
To provision the seed VM:: To provision the seed VM::
(kayobe-venv) $ kayobe seed vm provision (kayobe) $ kayobe seed vm provision
When this command has completed the seed VM should be active and accessible via When this command has completed the seed VM should be active and accessible via
SSH. Kayobe will update the Ansible inventory with the IP address of the VM. SSH. Kayobe will update the Ansible inventory with the IP address of the VM.
@ -84,7 +84,7 @@ Host Configuration
To configure the seed host OS:: To configure the seed host OS::
(kayobe-venv) $ kayobe seed host configure (kayobe) $ kayobe seed host configure
.. note:: .. note::
@ -92,7 +92,7 @@ To configure the seed host OS::
installation, it may be necessary to wipe partition and LVM data from those installation, it may be necessary to wipe partition and LVM data from those
disks. To wipe all disks that are not mounted during host configuration:: disks. To wipe all disks that are not mounted during host configuration::
(kayobe-venv) $ kayobe seed host configure --wipe-disks (kayobe) $ kayobe seed host configure --wipe-disks
Building Container Images Building Container Images
------------------------- -------------------------
@ -107,12 +107,12 @@ Dockerhub. In some cases it may be necessary to build images locally either to
apply local image customisation or to use a downstream version of kolla. To apply local image customisation or to use a downstream version of kolla. To
build images locally:: build images locally::
(kayobe-venv) $ kayobe seed container image build (kayobe) $ kayobe seed container image build
It is possible to build a specific set of images by supplying one or more It is possible to build a specific set of images by supplying one or more
image name regular expressions:: image name regular expressions::
(kayobe-venv) $ kayobe seed container image build bifrost-deploy (kayobe) $ kayobe seed container image build bifrost-deploy
In order to push images to a registry after they are built, add the ``--push`` In order to push images to a registry after they are built, add the ``--push``
argument. argument.
@ -127,7 +127,7 @@ nodes using Disk Image Builder (DIB).
To deploy the seed services in containers:: To deploy the seed services in containers::
(kayobe-venv) $ kayobe seed service deploy (kayobe) $ kayobe seed service deploy
After this command has completed the seed services will be active. After this command has completed the seed services will be active.
@ -146,7 +146,7 @@ apply local image customisation or to use a downstream version of Ironic Python
Agent (IPA). In order to build IPA images, the ``ipa_build_images`` variable Agent (IPA). In order to build IPA images, the ``ipa_build_images`` variable
should be set to ``True``. To build images locally:: should be set to ``True``. To build images locally::
(kayobe-venv) $ kayobe seed deployment image build (kayobe) $ kayobe seed deployment image build
Accessing the Seed via SSH (Optional) Accessing the Seed via SSH (Optional)
------------------------------------- -------------------------------------
@ -155,7 +155,7 @@ For SSH access to the seed, first determine the seed's IP address. We can
use the ``kayobe configuration dump`` command to inspect the seed's IP use the ``kayobe configuration dump`` command to inspect the seed's IP
address:: address::
(kayobe-venv) $ kayobe configuration dump --host seed --var-name ansible_host (kayobe) $ kayobe configuration dump --host seed --var-name ansible_host
The ``kayobe_ansible_user`` variable determines which user account will be used The ``kayobe_ansible_user`` variable determines which user account will be used
by Kayobe when accessing the machine via SSH. By default this is ``stack``. by Kayobe when accessing the machine via SSH. By default this is ``stack``.
@ -205,7 +205,7 @@ the following on the seed::
In order to interact with these nodes using Kayobe, run the following command In order to interact with these nodes using Kayobe, run the following command
to add them to the Kayobe and bifrost Ansible inventories:: to add them to the Kayobe and bifrost Ansible inventories::
(kayobe-venv) $ kayobe overcloud inventory discover (kayobe) $ kayobe overcloud inventory discover
Saving Hardware Introspection Data Saving Hardware Introspection Data
---------------------------------- ----------------------------------
@ -214,7 +214,7 @@ If ironic inspector is in use on the seed host, introspection data will be
stored in the local nginx service. This data may be saved to the control stored in the local nginx service. This data may be saved to the control
host:: host::
(kayobe-venv) $ kayobe overcloud introspection data save (kayobe) $ kayobe overcloud introspection data save
``--output-dir`` may be used to specify the directory in which introspection ``--output-dir`` may be used to specify the directory in which introspection
data files will be saved. ``--output-format`` may be used to set the format of data files will be saved. ``--output-format`` may be used to set the format of
@ -232,13 +232,13 @@ Configuration of BIOS settings and RAID volumes is currently performed out of
band as a separate task from hardware provisioning. To configure the BIOS and band as a separate task from hardware provisioning. To configure the BIOS and
RAID:: RAID::
(kayobe-venv) $ kayobe overcloud bios raid configure (kayobe) $ kayobe overcloud bios raid configure
After configuring the nodes' RAID volumes it may be necessary to perform After configuring the nodes' RAID volumes it may be necessary to perform
hardware inspection of the nodes to reconfigure the ironic nodes' scheduling hardware inspection of the nodes to reconfigure the ironic nodes' scheduling
properties and root device hints. To perform manual hardware inspection:: properties and root device hints. To perform manual hardware inspection::
(kayobe-venv) $ kayobe overcloud hardware inspect (kayobe) $ kayobe overcloud hardware inspect
Provisioning Provisioning
------------ ------------
@ -246,7 +246,7 @@ Provisioning
Provisioning of the overcloud is performed by the ironic service running in the Provisioning of the overcloud is performed by the ironic service running in the
bifrost container on the seed. To provision the overcloud nodes:: bifrost container on the seed. To provision the overcloud nodes::
(kayobe-venv) $ kayobe overcloud provision (kayobe) $ kayobe overcloud provision
After this command has completed the overcloud nodes should have been After this command has completed the overcloud nodes should have been
provisioned with an OS image. The command will wait for the nodes to become provisioned with an OS image. The command will wait for the nodes to become
@ -257,7 +257,7 @@ Host Configuration
To configure the overcloud hosts' OS:: To configure the overcloud hosts' OS::
(kayobe-venv) $ kayobe overcloud host configure (kayobe) $ kayobe overcloud host configure
.. note:: .. note::
@ -265,7 +265,7 @@ To configure the overcloud hosts' OS::
installation, it may be necessary to wipe partition and LVM data from those installation, it may be necessary to wipe partition and LVM data from those
disks. To wipe all disks that are not mounted during host configuration:: disks. To wipe all disks that are not mounted during host configuration::
(kayobe-venv) $ kayobe overcloud host configure --wipe-disks (kayobe) $ kayobe overcloud host configure --wipe-disks
Building Container Images Building Container Images
------------------------- -------------------------
@ -279,12 +279,12 @@ In some cases it may be necessary to build images locally either to apply local
image customisation or to use a downstream version of kolla. To build images image customisation or to use a downstream version of kolla. To build images
locally:: locally::
(kayobe-venv) $ kayobe overcloud container image build (kayobe) $ kayobe overcloud container image build
It is possible to build a specific set of images by supplying one or more It is possible to build a specific set of images by supplying one or more
image name regular expressions:: image name regular expressions::
(kayobe-venv) $ kayobe overcloud container image build ironic- nova-api (kayobe) $ kayobe overcloud container image build ironic- nova-api
In order to push images to a registry after they are built, add the ``--push`` In order to push images to a registry after they are built, add the ``--push``
argument. argument.
@ -302,7 +302,7 @@ The `stackhpc account <https://hub.docker.com/r/stackhpc/>`_ provides image
repositories suitable for use with kayobe and will be used by default. To repositories suitable for use with kayobe and will be used by default. To
pull images from the configured image registry:: pull images from the configured image registry::
(kayobe-venv) $ kayobe overcloud container image pull (kayobe) $ kayobe overcloud container image pull
Building Deployment Images Building Deployment Images
-------------------------- --------------------------
@ -319,14 +319,14 @@ apply local image customisation or to use a downstream version of Ironic Python
Agent (IPA). In order to build IPA images, the ``ipa_build_images`` variable Agent (IPA). In order to build IPA images, the ``ipa_build_images`` variable
should be set to ``True``. To build images locally:: should be set to ``True``. To build images locally::
(kayobe-venv) $ kayobe overcloud deployment image build (kayobe) $ kayobe overcloud deployment image build
Deploying Containerised Services Deploying Containerised Services
-------------------------------- --------------------------------
To deploy the overcloud services in containers:: To deploy the overcloud services in containers::
(kayobe-venv) $ kayobe overcloud service deploy (kayobe) $ kayobe overcloud service deploy
Once this command has completed the overcloud nodes should have OpenStack Once this command has completed the overcloud nodes should have OpenStack
services running in Docker containers. services running in Docker containers.
@ -350,8 +350,8 @@ Performing Post-deployment Configuration
To perform post deployment configuration of the overcloud services:: To perform post deployment configuration of the overcloud services::
(kayobe-venv) $ source ${KOLLA_CONFIG_PATH:-/etc/kolla}/admin-openrc.sh (kayobe) $ source ${KOLLA_CONFIG_PATH:-/etc/kolla}/admin-openrc.sh
(kayobe-venv) $ kayobe overcloud post configure (kayobe) $ kayobe overcloud post configure
This will perform the following tasks: This will perform the following tasks:

View File

@ -29,24 +29,50 @@ Installation
============ ============
This guide will describe how to install Kayobe from source in a virtualenv. This guide will describe how to install Kayobe from source in a virtualenv.
First, obtain the Kayobe source code. For example::
The directory structure for a kayobe control host environment is configurable,
but the following is recommended, where ``<base_path>`` is the path to a top
level directory::
<base_path>/
src/
kayobe/
kayobe-config/
kolla-ansible/
venvs/
kayobe/
kolla-ansible/
First, change to the top level directory, and make the directories for source
code repositories and python virtual environments::
$ cd <base_path>
$ mkdir -p src venvs
Next, obtain the Kayobe source code. For example::
$ cd <base_path>/src
$ git clone https://github.com/stackhpc/kayobe $ git clone https://github.com/stackhpc/kayobe
Create a virtualenv for Kayobe:: Create a virtualenv for Kayobe::
$ cd kayobe $ virtualenv <base_path>/venvs/kayobe
$ virtualenv kayobe-venv
Activate the virtualenv and update pip:: Activate the virtualenv and update pip::
$ source kayobe-venv/bin/activate $ source <base_path>/venvs/kayobe/bin/activate
(kayobe-venv) $ pip install -U pip (kayobe) $ pip install -U pip
Install Kayobe and its dependencies using the source code checkout:: Install Kayobe and its dependencies using the source code checkout::
(kayobe-venv) $ pip install . (kayobe) $ cd <base_path>/src/kayobe
(kayobe) $ pip install .
Finally, deactivate the virtualenv:: Finally, deactivate the virtualenv::
(kayobe-venv) $ deactivate (kayobe) $ deactivate
Creation of a ``kayobe-config`` source code repository will be covered in the
:ref:`configuration guide<configuring-kayobe>`_. The kolla-ansible source code
checkout and python virtual environment will be created automatically by
kayobe.

View File

@ -26,7 +26,7 @@ If local changes were made to kayobe, these should now be reapplied.
The upgraded kayobe python module and dependencies should be installed:: The upgraded kayobe python module and dependencies should be installed::
(kayobe-venv) $ pip install -U . (kayobe) $ pip install -U .
Migrating Kayobe Configuration Migrating Kayobe Configuration
------------------------------ ------------------------------
@ -54,7 +54,7 @@ default values:
Once the configuration has been migrated, it is possible to view the global Once the configuration has been migrated, it is possible to view the global
variables for all hosts:: variables for all hosts::
(kayobe-venv) $ kayobe configuration dump (kayobe) $ kayobe configuration dump
The output of this command is a JSON object mapping hosts to their The output of this command is a JSON object mapping hosts to their
configuration. The output of the command may be restricted using the configuration. The output of the command may be restricted using the
@ -78,7 +78,7 @@ performed here include:
To upgrade the Ansible control host:: To upgrade the Ansible control host::
(kayobe-venv) $ kayobe control host upgrade (kayobe) $ kayobe control host upgrade
Upgrading the Seed Upgrading the Seed
================== ==================
@ -99,7 +99,7 @@ Upgrading Host Services
Prior to upgrading the OpenStack control plane, the overcloud host services Prior to upgrading the OpenStack control plane, the overcloud host services
should be upgraded:: should be upgraded::
(kayobe-venv) $ kayobe overcloud host upgrade (kayobe) $ kayobe overcloud host upgrade
Note that this will not perform full configuration of the host, and will Note that this will not perform full configuration of the host, and will
instead perform a targeted upgrade of specific services where necessary. instead perform a targeted upgrade of specific services where necessary.
@ -119,7 +119,7 @@ apply local image customisation or to use a downstream version of Ironic Python
Agent (IPA). In order to build IPA images, the ``ipa_build_images`` variable Agent (IPA). In order to build IPA images, the ``ipa_build_images`` variable
should be set to ``True``. To build images locally:: should be set to ``True``. To build images locally::
(kayobe-venv) $ kayobe overcloud deployment image build (kayobe) $ kayobe overcloud deployment image build
Upgrading Ironic Deployment Images Upgrading Ironic Deployment Images
---------------------------------- ----------------------------------
@ -140,12 +140,12 @@ In some cases it may be necessary to build images locally either to apply local
image customisation or to use a downstream version of kolla. To build images image customisation or to use a downstream version of kolla. To build images
locally:: locally::
(kayobe-venv) $ kayobe overcloud container image build (kayobe) $ kayobe overcloud container image build
It is possible to build a specific set of images by supplying one or more It is possible to build a specific set of images by supplying one or more
image name regular expressions:: image name regular expressions::
(kayobe-venv) $ kayobe overcloud container image build ironic- nova-api (kayobe) $ kayobe overcloud container image build ironic- nova-api
In order to push images to a registry after they are built, add the ``--push`` In order to push images to a registry after they are built, add the ``--push``
argument. argument.
@ -163,7 +163,7 @@ The `stackhpc account <https://hub.docker.com/r/stackhpc/>`_ provides image
repositories suitable for use with kayobe and will be used by default. To repositories suitable for use with kayobe and will be used by default. To
pull images from the configured image registry:: pull images from the configured image registry::
(kayobe-venv) $ kayobe overcloud container image pull (kayobe) $ kayobe overcloud container image pull
Saving Overcloud Service Configuration Saving Overcloud Service Configuration
-------------------------------------- --------------------------------------
@ -173,7 +173,7 @@ plane services for inspection or comparison with another configuration set
prior to a reconfiguration or upgrade. This command will gather and save the prior to a reconfiguration or upgrade. This command will gather and save the
control plane configuration for all hosts to the ansible control host:: control plane configuration for all hosts to the ansible control host::
(kayobe-venv) $ kayobe overcloud service configuration save (kayobe) $ kayobe overcloud service configuration save
The default location for the saved configuration is ``$PWD/overcloud-config``, The default location for the saved configuration is ``$PWD/overcloud-config``,
but this can be changed via the ``output-dir`` argument. To gather but this can be changed via the ``output-dir`` argument. To gather
@ -189,7 +189,7 @@ applying it to the running containers. The configuration should typically be
generated in a directory other than the default configuration directory of generated in a directory other than the default configuration directory of
``/etc/kolla``, to avoid overwriting the active configuration:: ``/etc/kolla``, to avoid overwriting the active configuration::
(kayobe-venv) $ kayobe overcloud service configuration generate --node-config-dir /path/to/generated/config (kayobe) $ kayobe overcloud service configuration generate --node-config-dir /path/to/generated/config
The configuration will be generated remotely on the overcloud hosts in the The configuration will be generated remotely on the overcloud hosts in the
specified directory, with one subdirectory per container. This command may be specified directory, with one subdirectory per container. This command may be
@ -205,9 +205,9 @@ a registry or built locally.
To upgrade the containerised control plane services:: To upgrade the containerised control plane services::
(kayobe-venv) $ kayobe overcloud service upgrade (kayobe) $ kayobe overcloud service upgrade
It is possible to specify tags for Kayobe and/or kolla-ansible to restrict the It is possible to specify tags for Kayobe and/or kolla-ansible to restrict the
scope of the upgrade:: scope of the upgrade::
(kayobe-venv) $ kayobe overcloud service upgrade --tags config --kolla-tags keystone (kayobe) $ kayobe overcloud service upgrade --tags config --kolla-tags keystone

View File

@ -7,26 +7,26 @@ Command Line Interface
.. note:: .. note::
Where a prompt starts with ``(kayobe-venv)`` it is implied that the user has Where a prompt starts with ``(kayobe)`` it is implied that the user has
activated the Kayobe virtualenv. This can be done as follows:: activated the Kayobe virtualenv. This can be done as follows::
$ source kayobe-venv/bin/activate $ source kayobe/bin/activate
To deactivate the virtualenv:: To deactivate the virtualenv::
(kayobe-venv) $ deactivate (kayobe) $ deactivate
To see information on how to use the ``kayobe`` CLI and the commands it To see information on how to use the ``kayobe`` CLI and the commands it
provides:: provides::
(kayobe-venv) $ kayobe help (kayobe) $ kayobe help
As the ``kayobe`` CLI is based on the ``cliff`` package (as used by the As the ``kayobe`` CLI is based on the ``cliff`` package (as used by the
``openstack`` client), it supports tab auto-completion of subcommands. This ``openstack`` client), it supports tab auto-completion of subcommands. This
can be activated by generating and then sourcing the bash completion script:: can be activated by generating and then sourcing the bash completion script::
(kayobe-venv) $ kayobe complete > kayobe-complete (kayobe) $ kayobe complete > kayobe-complete
(kayobe-venv) $ source kayobe-complete (kayobe) $ source kayobe-complete
Working with Ansible Vault Working with Ansible Vault
-------------------------- --------------------------