General cleanup, incl. copyright headers

This commit is contained in:
Michael Davies 2015-11-27 12:59:56 +10:30
parent c578f230a0
commit b40dd35bdc
15 changed files with 150 additions and 43 deletions

View File

@ -1,5 +1,19 @@
--- ---
# defaults file for os_ironic # Copyright 2015, 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.
# Defaults file for openstack-ansible-ironic
# Verbosity Options # Verbosity Options
debug: False debug: False
@ -23,16 +37,12 @@ ironic_system_log_folder: "/var/log/{{ ironic_system_user_name }}"
# Ironic API # Ironic API
ironic_api_program_name: ironic-api ironic_api_program_name: ironic-api
# Ironic Conductor # Ironic Conductor
ironic_conductor_program_name: ironic-conductor ironic_conductor_program_name: ironic-conductor
# Python Ironic Client # Python Ironic Client
python_ironic_client_program_name: ironic python_ironic_client_program_name: ironic
ironic_service_names: ironic_service_names:
- "{{ ironic_api_program_name }}" - "{{ ironic_api_program_name }}"
- "{{ ironic_conductor_program_name }}" - "{{ ironic_conductor_program_name }}"
@ -47,8 +57,9 @@ ironic_database_password: gu1d0
database_root_user: root database_root_user: root
database_root_password: sp4m3ggs database_root_password: sp4m3ggs
# If you want to regenerate the ironic users SSH keys, on each run, set this var to True # If you want to regenerate the ironic users SSH keys, on each run, set this
# Otherwise keys will be generated on the first run and not regenerated each run. # var to True. Otherwise keys will be generated on the first run and not
# regenerated each run.
ironic_recreate_keys: False ironic_recreate_keys: False
ironic_bin: "{{ ironic_venv_bin }}" ironic_bin: "{{ ironic_venv_bin }}"
@ -60,6 +71,9 @@ ironic_common_apt_packages:
- python-pip - python-pip
- git - git
ironic_common_pip_packages:
- virtualenvwrapper
ironic_conductor_apt_packages: ironic_conductor_apt_packages:
- libmysqlclient-dev - libmysqlclient-dev
- libxml2-dev - libxml2-dev
@ -76,17 +90,10 @@ ironic_conductor_apt_packages:
- open-iscsi - open-iscsi
- ipmitool - ipmitool
ironic_pip_packages: ironic_conductor_pip_packages:
- virtualenvwrapper
- six
- tox
- mysql-python - mysql-python
- python_ironicclient
ironicclient_pip_packages: ## ironic service
- python_ironicclient
## Ironic service
ironic_git_repo: https://git.openstack.org/openstack/ironic ironic_git_repo: https://git.openstack.org/openstack/ironic
ironic_git_install_branch: c6e8e2a33c65b6269a0b1b4f5e63620c68bdc3fb # HEAD sha as of 13 Nov 2015 ironic_git_install_branch: c6e8e2a33c65b6269a0b1b4f5e63620c68bdc3fb # HEAD sha as of 13 Nov 2015
ironic_git_dest: "/opt/ironic_{{ ironic_git_install_branch | replace('/', '_') }}" ironic_git_dest: "/opt/ironic_{{ ironic_git_install_branch | replace('/', '_') }}"

View File

@ -21,3 +21,8 @@
with_items: ironic_service_names with_items: ironic_service_names
failed_when: false failed_when: false
- name: Restart tftpd-hpa
service:
name: "tftpd-hpa"
state: restarted
failed_when: false

View File

@ -15,6 +15,10 @@
ROLE_NAME=$(basename $(pwd)) ROLE_NAME=$(basename $(pwd))
# Note(mrda): In testing we often cycle machines, so this just helps our
# testing efforts. Don't do this in production.
export ANSIBLE_HOST_KEY_CHECKING=False
pushd tests pushd tests
ansible-playbook -i inventory local_install.yml -e rolename=${ROLE_NAME} ansible-playbook -i inventory local_install.yml -e rolename=${ROLE_NAME}
popd popd

View File

@ -1,4 +1,17 @@
--- ---
# Copyright 2015, 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.
galaxy_info: galaxy_info:
author: OpenStack author: OpenStack
description: Baremetal provisioning for Openstack description: Baremetal provisioning for Openstack

View File

@ -13,19 +13,6 @@
# 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 apt packages
apt:
pkg: "{{ item }}"
state: latest
register: install_packages
until: install_packages|success
retries: 5
delay: 2
with_items: ironic_conductor_apt_packages
tags:
- ironic-install
- ironic-apt-packages
- name: Create /tftpboot - name: Create /tftpboot
file: file:
path: "/tftpboot" path: "/tftpboot"
@ -84,6 +71,3 @@
when: not chain32_exists and chain32_stat.stat.exists when: not chain32_exists and chain32_stat.stat.exists
tags: tags:
- tftpd-hpa - tftpd-hpa

View File

@ -0,0 +1,43 @@
---
# Copyright 2015, 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: Install ironic-conductor specific apt packages
apt:
pkg: "{{ item }}"
state: latest
register: install_packages
until: install_packages|success
retries: 5
delay: 2
with_items: ironic_conductor_apt_packages
tags:
- ironic-install
- ironic-conductor
- ironic-apt-packages
- name: Install ironic-conductor specific pip dependencies
pip:
name: "{{ item }}"
state: present
extra_args: "{{ pip_install_options|default('') }}"
register: install_packages
until: install_packages|success
retries: 5
delay: 2
with_items: ironic_conductor_pip_packages
tags:
- ironic-install
- ironic-conductor
- ironic-pip-packages

View File

@ -44,9 +44,8 @@
sudo: yes sudo: yes
sudo_user: "{{ ironic_system_user_name }}" sudo_user: "{{ ironic_system_user_name }}"
notify: notify:
- restart ironic-conductor - Restart ironic services
when: ironic_checkout.changed when: ironic_checkout.changed
tags: tags:
- ironic-db-setup - ironic-db-setup
- ironic-conductor - ironic-conductor

View File

@ -15,15 +15,17 @@
- name: Install Ironic (python system library) - name: Install Ironic (python system library)
when: ironic_checkout.changed and not ironic_venv_enabled when: ironic_checkout.changed and not ironic_venv_enabled
pip: name="file://{{ ironic_git_dest }}" pip:
name: "file://{{ ironic_git_dest }}"
tags: tags:
- ironic-api - ironic-api
- ironic-conductor - ironic-conductor
- name: Install Ironic (openstack venv) - name: Install Ironic (openstack venv)
when: ironic_checkout.changed and ironic_venv_enabled when: ironic_checkout.changed and ironic_venv_enabled
pip: name="file://{{ ironic_git_dest }}" virtualenv="/openstack/venvs/ironic-{{ ironic_venv_tag }}" pip:
name: "file://{{ ironic_git_dest }}"
virtualenv: "/openstack/venvs/ironic-{{ ironic_venv_tag }}"
tags: tags:
- ironic-api - ironic-api
- ironic-conductor - ironic-conductor

View File

@ -123,3 +123,30 @@
tags: tags:
- ironic-api - ironic-api
- ironic-conductor - ironic-conductor
- name: Install common dependencies via apt
apt:
pkg: "{{ item }}"
state: latest
register: install_packages
until: install_packages|success
retries: 5
delay: 2
with_items: ironic_common_apt_packages
tags:
- ironic-install
- ironic-apt-packages
- name: Install common dependencies via pip
pip:
name: "{{ item }}"
state: present
extra_args: "{{ pip_install_options|default('') }}"
register: install_packages
until: install_packages|success
retries: 5
delay: 2
with_items: ironic_common_pip_packages
tags:
- ironic-install
- ironic-pip-packages

View File

@ -21,7 +21,7 @@
system_group: "{{ ironic_system_group_name }}" system_group: "{{ ironic_system_group_name }}"
service_home: "{{ ironic_system_home_folder }}" service_home: "{{ ironic_system_home_folder }}"
# TODO(mrda): define groups # TODO(mrda): define groups
# when: inventory_hostname in groups['ironic_api_metadata'] # when: inventory_hostname in groups['tbd']
- include: ironic_upstart_common_init.yml - include: ironic_upstart_common_init.yml
vars: vars:
@ -31,5 +31,5 @@
system_group: "{{ ironic_system_group_name }}" system_group: "{{ ironic_system_group_name }}"
service_home: "{{ ironic_system_home_folder }}" service_home: "{{ ironic_system_home_folder }}"
# TODO(mrda): define groups # TODO(mrda): define groups
# when: inventory_hostname in groups['ironic_cert'] # when: inventory_hostname in groups['tbd']

View File

@ -15,6 +15,7 @@
- include: ironic_pre_install.yml - include: ironic_pre_install.yml
- include: ironic_get_source.yml - include: ironic_get_source.yml
- include: ironic_conductor_pre_install.yml
- include: ironic_install.yml - include: ironic_install.yml
- include: python_ironicclient_install.yml - include: python_ironicclient_install.yml
- include: ironic_conductor_post_install.yml - include: ironic_conductor_post_install.yml

View File

@ -15,12 +15,15 @@
- name: Install Python-Ironicclient (python system library) - name: Install Python-Ironicclient (python system library)
when: python_ironicclient_checkout.changed and not ironic_venv_enabled when: python_ironicclient_checkout.changed and not ironic_venv_enabled
pip: name="file://{{ python_ironicclient_git_dest }}" pip:
name: "file://{{ python_ironicclient_git_dest }}"
tags: tags:
- ironic-client - ironic-client
- name: Install Python-Ironicclient (openstack venv) - name: Install Python-Ironicclient (openstack venv)
when: python_ironicclient_checkout.changed and ironic_venv_enabled when: python_ironicclient_checkout.changed and ironic_venv_enabled
pip: name="file://{{ python_ironicclient_git_dest }}" virtualenv="/openstack/venvs/ironic-{{ ironic_venv_tag }}" pip:
name: "file://{{ python_ironicclient_git_dest }}"
virtualenv: "/openstack/venvs/ironic-{{ ironic_venv_tag }}"
tags: tags:
- ironic-client - ironic-client

View File

@ -1,2 +1,3 @@
[defaults] [defaults]
roles_path = ../.. roles_path = ../..

View File

@ -1,5 +1,8 @@
[all] [all]
localhost ansible_connection=local ansible_user=root localhost ansible_connection=local ansible_user=root
# Note(mrda): 'ironicinstallhost' will need to externally resolve to where
# you want to do an 'allinone' install, and the root account will need to have
# your ssh public_key in it's /root/.ssh/authorized_keys file
[installhost] [installhost]
installhost ansible_user=root ansible_ssh_port=22 ansible_ssh_host=192.168.1.21 installhost ansible_user=root ansible_ssh_port=22 ansible_ssh_host=ironicinstallhost

View File

@ -1,4 +1,19 @@
- name: Do things with the openstack-ironic-role role ---
# Copyright 2015, 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: Perform an all-in-one install using the openstack-ansible-ironic role
remote_user: root remote_user: root
hosts: installhost hosts: installhost
roles: roles: