.. include:: vars.rst
===========================
Managing Users and Projects
===========================
Projects (in OpenStack) can be defined in the |project_config| repository:
|project_config_source_url|
To initialise the working environment for |project_config|:
.. code-block:: console
:substitutions:
admin# cd |base_path|/src
admin# git clone |project_config_source_url|
admin# cd |project_config|
admin# virtualenv |base_path|/venvs/|project_config|
admin# source |base_path|/venvs/|project_config|/bin/activate
admin# pip install -U pip
admin# pip install -r requirements.txt
admin# ansible-galaxy role install \
-p ansible/roles \
-r requirements.yml
admin# ansible-galaxy collection install \
-p ansible/collections \
-r requirements.yml
To define a new project, add a new project to
etc/|project_config|/|project_config|.yml:
.. code-block:: console
:substitutions:
admin# cd |base_path|/src/|project_config|
admin# vim etc/|project_config|/|project_config|.yml
Example invocation:
.. code-block:: console
:substitutions:
admin# source |base_path|/src/|kayobe_config|/etc/kolla/public-openrc.sh
admin# source |base_path|/venvs/|project_config|/bin/activate
admin# tools/|project_config| -- --vault-password-file |vault_password_file_path|
Deleting Users and Projects
---------------------------
Ansible is designed for adding configuration that is not present; removing
state is less easy. To remove a project or user, the configuration should be
manually removed.