Syncing as work on osa integration continues

This commit is contained in:
Michael Davies 2016-01-19 06:59:45 +00:00
parent 7869e67bd8
commit 069116859a
8 changed files with 84 additions and 40 deletions

View File

@ -46,17 +46,16 @@ ironic_service_names:
- "{{ ironic_conductor_program_name }}" - "{{ ironic_conductor_program_name }}"
# Is this Ironic installation working standalone? # Is this Ironic installation working standalone?
ironic_standalone: True ironic_standalone: False
# Database # Database
ironic_galera_user: ironic ironic_galera_user: ironic
ironic_galera_database: ironic ironic_galera_database: ironic
ironic_galera_address: localhost
ironic_galera_password: gu1d0 ironic_galera_password: gu1d0
# TBD(mrda): need to handle this a little better :) # TBD(mrda): need to handle this a little better :)
database_root_user: root #database_root_user: root
database_root_password: sp4m3ggs #database_root_password: sp4m3ggs
# Integrated Openstack configuration # Integrated Openstack configuration
ironic_openstack_driver_list: agent_ipmitool ironic_openstack_driver_list: agent_ipmitool
@ -64,7 +63,7 @@ ironic_openstack_auth_strategy: keystone
ironic_openstack_api_url: '' # Not required when we have keystone ironic_openstack_api_url: '' # Not required when we have keystone
ironic_openstack_dhcp_provider: neutron ironic_openstack_dhcp_provider: neutron
ironic_openstack_sync_power_state_interval: 60 ironic_openstack_sync_power_state_interval: 60
ironic_openstack_db_connection_string: "mysql://{{ ironic_database_user }}:{{ ironic_database_password }}@localhost/ironic" ironic_openstack_db_connection_string: "mysql://{{ ironic_galera_user }}:{{ ironic_galera_password }}@{{ ironic_galera_address }}/ironic"
# Standalone Ironic configuration # Standalone Ironic configuration
ironic_standalone_driver_list: pxe_amt # for testing with a NUC ironic_standalone_driver_list: pxe_amt # for testing with a NUC
@ -72,7 +71,7 @@ ironic_standalone_auth_strategy: noauth
ironic_standalone_api_url: "api_url=http://{{ ansible_default_ipv4['address'] }}:6385/" ironic_standalone_api_url: "api_url=http://{{ ansible_default_ipv4['address'] }}:6385/"
ironic_standalone_dhcp_provider: none ironic_standalone_dhcp_provider: none
ironic_standalone_sync_power_state_interval: -1 ironic_standalone_sync_power_state_interval: -1
ironic_standalone_db_connection_string: "mysql://{{ ironic_database_user }}:{{ ironic_database_password }}@localhost/ironic" ironic_standalone_db_connection_string: "mysql://{{ ironic_galera_user }}:{{ ironic_galera_password }}@{{ ironic_galera_address }}/ironic"
# Common configuration # Common configuration
ironic_node_name: ironic ironic_node_name: ironic
@ -95,16 +94,15 @@ ironic_common_pip_packages:
- virtualenvwrapper - virtualenvwrapper
ironic_pip_packages: ironic_pip_packages:
- mysql-python
- ironic - ironic
python_ironicclient_pip_packages: python_ironicclient_pip_packages:
- python_ironicclient - python_ironicclient
ironic_conductor_apt_packages: ironic_conductor_apt_packages:
- libmysqlclient-dev
- libxml2-dev - libxml2-dev
- rabbitmq-server - rabbitmq-server
- mysql-server
- isc-dhcp-server - isc-dhcp-server
- tftpd-hpa - tftpd-hpa
- syslinux - syslinux
@ -119,13 +117,13 @@ ironic_conductor_apt_packages:
ironic_conductor_pip_packages: ironic_conductor_pip_packages:
- mysql-python - mysql-python
## ironic service ## RabbitMQ info
ironic_git_repo: https://git.openstack.org/openstack/ironic ironic_rabbitmq_userid: ironic
ironic_git_install_branch: c6e8e2a33c65b6269a0b1b4f5e63620c68bdc3fb # HEAD sha as of 13 Nov 2015 ironic_rabbitmq_vhost: /ironic
ironic_git_dest: "/opt/ironic_{{ ironic_git_install_branch | replace('/', '_') }}" ironic_rabbitmq_password: ch4rl0tt3 # TODO(mrda): Manage secrets
# Auth
ironic_service_user_name: "ironic"
ironic_service_password: "4nn3" # TODO(mrda): Manage secrets
## python-ironicclient
python_ironicclient_git_repo: https://git.openstack.org/openstack/python-ironicclient
python_ironicclient_git_install_branch: b66f5e8dd60c023d6d216c3bbc5ec22d837623c3 # HEAD sha as of 13 Nov 2015
python_ironicclient_git_dest: "/opt/python-ironicclient_{{ python_ironicclient_git_install_branch | replace('/', '_') }}"

View File

@ -26,4 +26,8 @@ galaxy_info:
- cloud - cloud
- baremetal - baremetal
- system - system
dependencies: [] dependencies:
- pip_lock_down
- apt_package_pinning
- galera_client
- openstack_openrc

View File

@ -28,7 +28,7 @@
mysql_user: mysql_user:
login_user: "{{ galera_root_user }}" login_user: "{{ galera_root_user }}"
login_password: "{{ galera_root_password }}" login_password: "{{ galera_root_password }}"
login_host: "{{ ironic_database_address }}" login_host: "{{ ironic_galera_address }}"
name: "{{ ironic_galera_user }}" name: "{{ ironic_galera_user }}"
password: "{{ ironic_galera_password }}" password: "{{ ironic_galera_password }}"
host: "{{ item }}" host: "{{ item }}"
@ -36,21 +36,21 @@
priv: "{{ ironic_galera_database }}.*:ALL" priv: "{{ ironic_galera_database }}.*:ALL"
with_items: with_items:
- "localhost" - "localhost"
- "{{ ironic_galera_address }}"
- "%" - "%"
when: ironic_db.changed == True
tags: tags:
- ironic-db-setup - ironic-db-setup
- name: Create database schema #- name: Create database schema
command: "{{ ironic_bin }}/ironic-dbsync --config-file /etc/ironic/ironic.conf create_schema" ## command: "{{ ironic_bin }}/ironic-dbsync --config-file /etc/ironic/ironic.conf create_schema"
sudo: yes # sudo: yes
sudo_user: "{{ ironic_system_user_name }}" # sudo_user: "{{ ironic_system_user_name }}"
notify: # notify:
- Restart ironic services # - Restart ironic services
when: ironic_db.changed == True # when: ironic_db.changed == True
tags: # tags:
- ironic-db-setup # - ironic-db-setup
- ironic-conductor # - ironic-conductor
- name: Update database schema - name: Update database schema
command: "{{ ironic_bin }}/ironic-dbsync --config-file /etc/ironic/ironic.conf upgrade" command: "{{ ironic_bin }}/ironic-dbsync --config-file /etc/ironic/ironic.conf upgrade"
@ -58,7 +58,7 @@
sudo_user: "{{ ironic_system_user_name }}" sudo_user: "{{ ironic_system_user_name }}"
notify: notify:
- Restart ironic services - Restart ironic services
when: ironic_db.changed == False # when: ironic_db.changed == False
tags: tags:
- ironic-db-setup - ironic-db-setup
- ironic-conductor - ironic-conductor

View File

@ -0,0 +1,37 @@
---
# Copyright 2014, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Ensure Rabbitmq vhost
rabbitmq_vhost:
name: "{{ ironic_rabbitmq_vhost }}"
state: "present"
delegate_to: "{{ groups['rabbitmq_all'][0] }}"
tags:
- ironic-rabbitmq
- ironic-rabbitmq-vhost
- name: Ensure rabbitmq user
rabbitmq_user:
user: "{{ ironic_rabbitmq_userid }}"
password: "{{ ironic_rabbitmq_password }}"
vhost: "{{ ironic_rabbitmq_vhost }}"
configure_priv: ".*"
read_priv: ".*"
write_priv: ".*"
state: "present"
delegate_to: "{{ groups['rabbitmq_all'][0] }}"
tags:
- ironic-rabbitmq
- ironic-rabbitmq-user

View File

@ -150,3 +150,8 @@
tags: tags:
- ironic-install - ironic-install
- ironic-pip-packages - ironic-pip-packages
- include: ironic_messaging_setup.yml
when: >
inventory_hostname == groups['ironic_all'][0]

View File

@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
- name: Install pip packages (venv) - name: Install python-ironicclient pip packages (venv)
pip: pip:
name: "{{ item }}" name: "{{ item }}"
state: present state: present
@ -32,7 +32,7 @@
- ironicclient-install - ironicclient-install
- ironicclient-pip-packages - ironicclient-pip-packages
- name: Install pip packages (no venv) - name: Install python-ironicclient pip packages (no venv)
pip: pip:
name: "{{ item }}" name: "{{ item }}"
state: present state: present

View File

@ -13,7 +13,7 @@ respawn limit 10 5
# Set the RUNBIN environment variable # Set the RUNBIN environment variable
env RUNBIN="{{ ironic_bin }}/{{ program_name }}" env RUNBIN="{{ ironic_bin }}/{{ program_name }}"
env RUNOPTS="--config-file /etc/ironic/ironic.conf" env RUNOPTS="-v -d --config-file /etc/ironic/ironic.conf"
# Change directory to service users home # Change directory to service users home
chdir "{{ service_home }}" chdir "{{ service_home }}"

View File

@ -534,7 +534,7 @@ host={{ ironic_node_name }}
# URL of Ironic API service. If not set ironic can get the # URL of Ironic API service. If not set ironic can get the
# current value from the keystone service catalog. (string # current value from the keystone service catalog. (string
# value) # value)
{{ ironic_api_url }} api_url={{ ironic_api_url }}
# Seconds between conductor heart beats. (integer value) # Seconds between conductor heart beats. (integer value)
#heartbeat_interval=10 #heartbeat_interval=10
@ -1689,25 +1689,25 @@ auth_strategy={{ ironic_auth_strategy }}
# The RabbitMQ broker port where a single node is used. # The RabbitMQ broker port where a single node is used.
# (integer value) # (integer value)
#rabbit_port=5672 rabbit_port={{ rabbitmq_port }}
# RabbitMQ HA cluster host:port pairs. (list value) # RabbitMQ HA cluster host:port pairs. (list value)
#rabbit_hosts=$rabbit_host:$rabbit_port rabbit_hosts={{ rabbitmq_servers }}
# Connect over SSL for RabbitMQ. (boolean value) # Connect over SSL for RabbitMQ. (boolean value)
#rabbit_use_ssl=false rabbit_use_ssl={{ rabbitmq_use_ssl }}
# The RabbitMQ userid. (string value) # The RabbitMQ userid. (string value)
#rabbit_userid=guest rabbit_userid={{ ironic_rabbitmq_userid }}
# The RabbitMQ password. (string value) # The RabbitMQ password. (string value)
#rabbit_password=guest rabbit_password={{ ironic_rabbitmq_password }}
# The RabbitMQ login method. (string value) # The RabbitMQ login method. (string value)
#rabbit_login_method=AMQPLAIN #rabbit_login_method=AMQPLAIN
# The RabbitMQ virtual host. (string value) # The RabbitMQ virtual host. (string value)
#rabbit_virtual_host=/ rabbit_virtual_host={{ ironic_rabbitmq_vhost }}
# How frequently to retry connecting with RabbitMQ. (integer # How frequently to retry connecting with RabbitMQ. (integer
# value) # value)