
This commit adds the ability to install Ironic without requiring an OpenStack-Ansible pip wheel repository. In 'developer mode' the git source is cloned directly and the services are installed directly from the git clone with its requirements being installed from pypi. The OpenStack upper-constraints file is also used to ensure that the install is executed using the appropriately tested set of pypi packages. Change-Id: I38f6b0796fa2bb647e51194907274d9ca6cfb585
172 lines
5.8 KiB
YAML
172 lines
5.8 KiB
YAML
---
|
|
# 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
|
|
debug: False
|
|
verbose: True
|
|
|
|
# These variables are used in 'developer mode' in order to allow the role
|
|
# to build an environment directly from a git source without the presence
|
|
# of an OpenStack-Ansible repo_server.
|
|
ironic_git_repo: https://git.openstack.org/openstack/ironic
|
|
ironic_git_install_branch: master
|
|
ironic_requirements_git_repo: https://git.openstack.org/openstack/requirements
|
|
ironic_requirements_git_install_branch: master
|
|
ironic_developer_mode: false
|
|
ironic_developer_constraints:
|
|
- "git+{{ ironic_git_repo }}@{{ ironic_git_install_branch }}#egg=ironic"
|
|
|
|
# Name of the virtual env to deploy into
|
|
ironic_venv_tag: untagged
|
|
ironic_venv_bin: "/openstack/venvs/ironic-{{ ironic_venv_tag }}/bin"
|
|
|
|
# Set this to enable or disable installing in a venv
|
|
ironic_venv_enabled: True
|
|
|
|
# System info
|
|
ironic_system_user_name: ironic
|
|
ironic_system_group_name: ironic
|
|
ironic_system_shell: /bin/bash
|
|
ironic_system_comment: ironic system user
|
|
ironic_system_home_folder: "/var/lib/{{ ironic_system_user_name }}"
|
|
ironic_system_log_folder: "/var/log/{{ ironic_system_user_name }}"
|
|
|
|
# Ironic Program and Service names
|
|
ironic_api_program_name: apache2
|
|
ironic_conductor_program_name: ironic-conductor
|
|
python_ironic_client_program_name: ironic
|
|
ironic_service_names:
|
|
- "{{ ironic_api_program_name }}"
|
|
- "{{ ironic_conductor_program_name }}"
|
|
|
|
ironic_service_name: ironic
|
|
ironic_service_type: baremetal
|
|
ironic_service_proto: http
|
|
ironic_service_publicuri_proto: "{{ openstack_service_publicuri_proto | default(ironic_service_proto) }}"
|
|
ironic_service_adminuri_proto: "{{ openstack_service_adminuri_proto | default(ironic_service_proto) }}"
|
|
ironic_service_internaluri_proto: "{{ openstack_service_internaluri_proto | default(ironic_service_proto) }}"
|
|
ironic_service_port: 6385
|
|
ironic_service_description: "Ironic baremetal provisioning service"
|
|
ironic_service_publicuri: "{{ ironic_service_publicuri_proto }}://{{ external_lb_vip_address }}:{{ ironic_service_port }}"
|
|
ironic_service_publicurl: "{{ ironic_service_publicuri }}"
|
|
ironic_service_adminuri: "{{ ironic_service_adminuri_proto }}://{{ internal_lb_vip_address }}:{{ ironic_service_port }}"
|
|
ironic_service_adminurl: "{{ ironic_service_adminuri }}"
|
|
ironic_service_internaluri: "{{ ironic_service_internaluri_proto }}://{{ internal_lb_vip_address }}:{{ ironic_service_port }}"
|
|
ironic_service_internalurl: "{{ ironic_service_internaluri }}"
|
|
ironic_program_name: ironic-api
|
|
ironic_service_region: RegionOne
|
|
ironic_service_project_name: "service"
|
|
ironic_service_project_domain_id: default
|
|
ironic_service_user_domain_id: default
|
|
ironic_service_role_name: "admin"
|
|
|
|
ironic_service_in_ldap: False
|
|
|
|
|
|
# Is this Ironic installation working standalone?
|
|
# If you're wanting Ironic to work without being integrated to other OpenStack
|
|
# services, set this to True, and update the dhcp configuration appropriately
|
|
ironic_standalone: False
|
|
|
|
# Database
|
|
ironic_galera_user: ironic
|
|
ironic_galera_database: ironic
|
|
ironic_galera_password: "gu1d0" # TODO(mrda): Manage secrets
|
|
|
|
# Integrated Openstack configuration
|
|
ironic_openstack_driver_list: agent_ipmitool
|
|
ironic_openstack_auth_strategy: keystone
|
|
ironic_openstack_api_url: '' # Not required when we have keystone
|
|
ironic_openstack_dhcp_provider: neutron
|
|
ironic_openstack_sync_power_state_interval: 60
|
|
ironic_openstack_db_connection_string: "mysql://{{ ironic_galera_user }}:{{ ironic_galera_password }}@{{ ironic_galera_address }}/ironic"
|
|
|
|
# Standalone Ironic configuration
|
|
ironic_standalone_driver_list: agent_ipmitool
|
|
ironic_standalone_auth_strategy: noauth
|
|
ironic_standalone_api_url: "api_url=http://{{ ansible_default_ipv4['address'] }}:6385/"
|
|
ironic_standalone_dhcp_provider: none
|
|
ironic_standalone_sync_power_state_interval: -1
|
|
ironic_standalone_db_connection_string: "mysql://{{ ironic_galera_user }}:{{ ironic_galera_password }}@{{ ironic_galera_address }}/ironic"
|
|
|
|
# Common configuration
|
|
ironic_node_name: ironic
|
|
|
|
# If you want to regenerate the ironic users SSH keys, on each run, set this
|
|
# var to True. Otherwise keys will be generated on the first run and not
|
|
# regenerated each run.
|
|
ironic_recreate_keys: False
|
|
|
|
ironic_bin: "{{ ironic_venv_bin }}"
|
|
|
|
ironic_common_apt_packages:
|
|
- python-dev
|
|
- python-pip
|
|
- git
|
|
|
|
ironic_requires_pip_packages:
|
|
- virtualenv
|
|
- virtualenv-tools
|
|
- python-keystoneclient # Keystoneclient needed for the OSA keystone lib
|
|
|
|
ironic_pip_packages:
|
|
- mysql-python
|
|
- ironic
|
|
|
|
ironic_api_apt_packages:
|
|
- apache2
|
|
- apache2-utils
|
|
- libapache2-mod-wsgi
|
|
|
|
ironic_api_pip_packages:
|
|
- mysql-python
|
|
|
|
python_ironicclient_pip_packages:
|
|
- python-ironicclient
|
|
|
|
ironic_conductor_apt_packages:
|
|
- libxml2-dev
|
|
- rabbitmq-server
|
|
- syslinux
|
|
- syslinux-common
|
|
- libxslt1-dev
|
|
- qemu-utils
|
|
- libpq-dev
|
|
- python-yaml
|
|
- open-iscsi
|
|
- ipmitool
|
|
|
|
ironic_conductor_standalone_apt_packages:
|
|
- isc-dhcp-server
|
|
- tftpd-hpa
|
|
|
|
ironic_conductor_pip_packages:
|
|
- mysql-python
|
|
|
|
## RabbitMQ info
|
|
ironic_rabbitmq_userid: ironic
|
|
ironic_rabbitmq_vhost: /ironic
|
|
ironic_rabbitmq_password: ch4rl0tt3 # TODO(mrda): Manage secrets
|
|
|
|
# Auth
|
|
ironic_service_user_name: "ironic"
|
|
ironic_service_password: "4nn3" # TODO(mrda): Manage secrets
|
|
|
|
# Apache settings
|
|
ironic_wsgi_threads: 1
|
|
ironic_wsgi_processes: "{{ ansible_processor_vcpus | default (1) * 2 }}"
|