Role os_keystone for OpenStack-Ansible
Go to file
Jean-Philippe Evrard 0a51854ea5 Include ansible commands for ansible linting
The plugin repo needs to be cloned for ansible-lint to
understand ansible plugins. The commands currently
reside in tox.ini under the ansible section and are not
currently included. This commit fixes that error.

Change-Id: Ice8c4b558b97cc9aaa3006936925529ecef828fe
2016-08-11 18:09:25 +01:00
defaults Add project group to role 2016-08-04 05:16:03 +01:00
doc Ensure that doc linting is included in the linters test 2016-07-26 00:41:35 +01:00
files Implement keystone venv support 2015-10-14 13:59:47 -05:00
handlers Keystone Federation Service Provider Configuration 2015-08-07 08:44:51 +00:00
library Resolve pep8 violations caught by pep8 v1.7.0 2016-01-14 00:45:41 +00:00
meta Remove pip_lock_down dependency 2016-06-02 17:13:39 -07:00
releasenotes Add ability to change apt/yum package state 2016-08-02 08:49:23 -05:00
tasks Add ability to change apt/yum package state 2016-08-02 08:49:23 -05:00
templates Disable stderr logging 2016-08-04 17:44:18 +00:00
tests Remove openstack_hosts from test requirements 2016-07-20 18:47:02 -07:00
vars Implement 16.04 support in Keystone 2016-05-23 23:52:49 -05:00
.gitignore Remove duplicates from .gitignore 2016-07-15 12:00:39 +10:00
.gitreview Implement base configuration for independent repository 2016-03-02 10:09:25 -05:00
CONTRIBUTING.rst Updated role to be an independent role 2016-02-26 14:13:43 -06:00
LICENSE Updated role to be an independent role 2016-02-26 14:13:43 -06:00
README.rst Ensure that doc linting is included in the linters test 2016-07-26 00:41:35 +01:00
other-requirements.txt Add dependencies for paramiko 2.0 2016-05-03 08:56:18 +01:00
run_tests.sh Add dependencies for paramiko 2.0 2016-05-03 08:56:18 +01:00
setup.cfg Updated role to be an independent role 2016-02-26 14:13:43 -06:00
setup.py Updated from global requirements 2016-07-15 03:57:57 +00:00
test-requirements.txt Updated from global requirements 2016-07-15 03:57:57 +00:00
tox.ini Include ansible commands for ansible linting 2016-08-11 18:09:25 +01:00

README.rst

OpenStack-Ansible Keystone

Ansible role that installs and configures OpenStack Keystone. Keystone is installed behind the Apache webserver listening on port 5000 and port 35357 by default.

Default Variables

../../defaults/main.yml

Required Variables

This list is not exhaustive at present. See role internals for further details.

# hostname or IP of load balancer providing external network
# access to Keystone
external_lb_vip_address: 10.100.100.102

# hostname or IP of load balancer providing internal network
# access to Keystone
internal_lb_vip_address: 10.100.100.102

# password used by the keystone service to interact with Galera
keystone_container_mysql_password: "YourPassword"

keystone_auth_admin_password: "SuperSecretePassword"
keystone_service_password: "secrete"
keystone_rabbitmq_password: "secrete"
keystone_container_mysql_password: "SuperSecrete"

Example Playbook

- name: Installation and setup of Keystone
  hosts: keystone_all
  user: root
  pre_tasks:
    - name: Create DB for service
      mysql_db:
        login_user: "root"
        login_password: "secrete"
        login_host: "localhost"
        name: "{{ keystone_galera_database }}"
        state: "present"
      delegate_to: "{{ keystone_galera_address }}"
      when: inventory_hostname == groups['keystone_all'][0]
    - name: Grant access to the DB for the service
      mysql_user:
        login_user: "root"
        login_password: "secrete"
        login_host: "localhost"
        name: "{{ keystone_galera_database }}"
        password: "{{ keystone_container_mysql_password }}"
        host: "{{ item }}"
        state: "present"
        priv: "{{ keystone_galera_database }}.*:ALL"
      with_items:
        - "localhost"
        - "%"
      delegate_to: "{{ keystone_galera_address }}"
      when: inventory_hostname == groups['keystone_all'][0]
  roles:
    - { role: "os_keystone", tags: [ "os-keystone" ] }
  vars:
    external_lb_vip_address: 10.100.100.102
    internal_lb_vip_address: 10.100.100.102
    keystone_galera_address: 10.100.100.101
    keystone_galera_database: keystone
    keystone_venv_tag: "testing"
    keystone_developer_mode: true
    keystone_git_install_branch: master
    keystone_auth_admin_password: "SuperSecretePassword"
    keystone_service_password: "secrete"
    keystone_rabbitmq_password: "secrete"
    keystone_container_mysql_password: "SuperSecrete"
    keystone_rabbitmq_port: 5671
    keystone_rabbitmq_userid: keystone
    keystone_rabbitmq_vhost: /keystone
    keystone_rabbitmq_servers: 10.100.100.101
    keystone_rabbitmq_use_ssl: true
    galera_client_drop_config_file: false

Tags

This role supports two tags: keystone-install and keystone-config

The keystone-install tag can be used to install and upgrade.

The keystone-config tag can be used to maintain configuration of the service.