Managing Users and Projects

Projects (in OpenStack) can be defined in the acme-config repository: https://github.com/acme-openstack/acme-config.git

To initialise the working environment for acme-config:

admin# cd ~/kayobe-env/src
admin# git clone https://github.com/acme-openstack/acme-config.git
admin# cd acme-config
admin# virtualenv ~/kayobe-env/venvs/acme-config
admin# source ~/kayobe-env/venvs/acme-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/acme-config/acme-config.yml:

admin# cd ~/kayobe-env/src/acme-config
admin# vim etc/acme-config/acme-config.yml

Example invocation:

admin# source ~/kayobe-env/src/kayobe-config/etc/kolla/public-openrc.sh
admin# source ~/kayobe-env/venvs/acme-config/bin/activate
admin# tools/acme-config -- --vault-password-file ~/vault-password

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.