Role os_keystone for OpenStack-Ansible
Go to file
Jimmy McCrory 61848d3de2 Provide default for rabbitmq telemetry password
In order to maintain current behavior when deploying ceilometer using
the integrated release, default 'keystone_rabbitmq_telemetry_password'
to 'keystone_rabbitmq_password'. 'keystone_rabbitmq_telemetry_*' vars
may be provided by the user as overrides if a separate rabbitmq cluster
is being used for telemetry.

Also update the configured transport_urls to only include a comma
between urls and re-add rabbit configuration information to the
oslo_messaging_rabbit block.

Change-Id: I310dd2397fdee97790be5e5488a6461b8699ecf4
2016-07-22 15:10:23 -07:00
defaults Provide default for rabbitmq telemetry password 2016-07-22 15:10:23 -07:00
doc Update sphinx configuration 2016-07-12 16:53:21 +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 Update sphinx configuration 2016-07-12 16:53:21 +01:00
tasks Optimise pip install tasks 2016-07-18 16:10:55 +01:00
templates Provide default for rabbitmq telemetry password 2016-07-22 15:10:23 -07: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
other-requirements.txt Add dependencies for paramiko 2.0 2016-05-03 08:56:18 +01:00
README.rst Minimum example playbook could let suppose db creation 2016-06-07 14:17:03 +00: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 Use plugins repo version of the human_log callback plugin 2016-07-15 14:02:58 +01:00

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.