RETIRED, CLI supporting kolla-ansible deployment project
Go to file
Charles Short 5e3a06d887 Switch to using stestr
According to Openstack summit session [1] stestr is
maintained project to which all Openstack projects
should migrate.
Let's switch it then.

[1] https://etherpad.openstack.org/p/YVR-python-pti

Change-Id: I4c20eb58982c66598f0283864b9863b84cc29e57
Signed-off-by: Charles Short <zulcss@gmail.com>
2018-06-07 09:58:34 -04:00
doc Updating the cli to work against kolla-ansible 2018-04-17 09:45:35 -07:00
kolla-cli/locale Updating the cli to work against kolla-ansible 2018-04-17 09:45:35 -07:00
kolla_cli Switch to using stestr 2018-06-07 09:58:34 -04:00
tools Add support for config reset command. 2018-05-25 11:16:02 -07:00
.gitignore Switch to using stestr 2018-06-07 09:58:34 -04:00
.gitreview Add a .gitreview file 2018-04-18 18:13:40 +01:00
.stestr.conf Align tests with how functional tests are handled 2018-05-16 16:13:54 -04:00
.zuul.yaml Add unit tests for host commands 2018-05-31 13:44:26 -04:00
LICENSE Adding the Apache LICENSE file, required to be included in the RPM 2015-08-27 13:39:31 -07:00
README.rst Update readme 2018-05-29 11:40:44 -04:00
babel.cfg Initial commit 2015-07-15 13:34:36 -07:00
builddocs.sh Added initial sphinx documentation support for the python api 2016-03-21 10:59:42 -07:00
requirements.txt Add support for config reset command. 2018-05-25 11:16:02 -07:00
setup.cfg Add support for config reset command. 2018-05-25 11:16:02 -07:00
setup.py fixed the property code to work with mainstream kolla changes. ordered property output. 2015-08-20 13:05:04 -07:00
test-requirements.txt Switch to using stestr 2018-06-07 09:58:34 -04:00
tox.ini Switch to using stestr 2018-06-07 09:58:34 -04:00

README.rst

Kolla-CLI
The Kolla-CLI project provides the ability to more easily manage
Kolla-Ansible deployments. It provides both a CLI and a python

API that you can use to configure and deploy OpenStack using Kolla-Ansible.

Kolla-Ansible requires that hosts, groups, and services are specified
in an inventory file. With Kolla-CLI, you can add/remove hosts, change group
associations, etc from the CLI or API. Kolla-Ansible also maintains
passwords and various configuration variables in a variety of global, group
and host files. With Kolla-CLI, you can now view and change these from the

CLI/API.

Finally, Kolla-CLI provides commands to setup the SSH keys on hosts, run

deployments and perform upgrades.

Installing

The following steps can be used to build / run the kolla-cli

  • install ansible and docker
  • virtualenv .venv
  • . .venv/bin/activate
  • pip install -r requirements.txt
  • python setup.py install
  • mkdir /usr/share/kolla-ansible
  • cp -r kolla-ansible/ansible to /usr/share/kolla
  • mkdir -p /etc/kolla/kolla-cli/ansible
  • touch /etc/kolla/kolla-cli/ansible/inventory.json
  • mkdir -p /usr/share/kolla-ansible/kolla-cli/tools
  • mkdir /usr/share/kolla-ansible/kolla-cli/ansible
  • touch /usr/share/kolla-ansible/kolla-cli/ansible.lock
  • cp kolla-cli/tools /usr/share/kolla-ansible/kolla-cli/tools
  • mkdir /usr/share/kolla-ansible/ansible/host_vars
  • cp /etc/kolla/globals.yml /usr/share/kolla-ansible/ansible/group_vars/__GLOBAL__
  • kolla-cli

At that point you will be dropped into the kollacli shell where you can run commands like help or ? to see what commands are available and any of the sub commands can be executed directly.

Alternately you can not use the shell and just execute commands directly via >kollacli host add, etc.

If you make changes to the i18n strings (denoted by methods like _("message")) make sure to re-generate the i18n files with the >python setup.py extract_messages command and check in the files generated in openstack-kollacli.

API

To use the API, import the ClientAPI into your module:

from kolla_cli.api.client import ClientApi

Then define a global:

CLIENT = ClientApi()

And then you can use that global to execute API commands, for example, to add a host to the inventory:

CLIENT.host_add(['host_name'])

Troubleshooting

If you get an error about missing python.h install the python-dev package via apt-get or yum or whatever mechanism is appropriate for your platform.