bifrost/playbooks/roles/bifrost-ironic-install/defaults/main.yml
Pavlo Shchelokovskyy 299a7259aa Do not install pxe_amt driver by default
AMT drivers have been removed from ironic tree. As a result,
ironic-conductor installed by bifrost with default settings
(enable_pxe_drivers=true) does not start as 'pxe_amt' driver can not be
found.

AMT drivers are now exclusively part of ironic-staging-drivers,
and setting them up (including dependencies installation) must be
handled by tasks installing those.

Change-Id: Ie85f8b7453bd99e824f63e41003db8089026d8c1
2017-01-31 21:44:32 +02:00

234 lines
9.1 KiB
YAML

---
# Cleaning turns on ironic conductor clean_nodes flag
# which causes the nodes to be wiped after deletion.
cleaning: false
http_boot_folder: /httpboot
staging_drivers_include: false
# Deprecated: nginx_port is no longer used and file_url_port should
# be used instead.
file_url_port: "{{ nginx_port | default('8080') }}"
ironicclient_source_install: false
shade_source_install: true
ironicinspector_source_install: false
ironicinspectorclient_source_install: false
staging_drivers_source_install: false
# Setting to utilize diskimage-builder to create a bootable image.
create_image_via_dib: true
# Setting to install diskimage-builder
install_dib: "{{ create_image_via_dib }}"
# Setting to prepend a partition image with a boot sector and partition table.
transform_boot_image: false
# If testing is true, then the environment is setup for using libvirt
# virtual machines for the hardware instead of real hardware.
testing: false
ci_testing: false
# set to true to skip installing ironic dependencies
skip_package_install: False
# set to true to skip generation of configs, ironic db and rabbitmq configuration
skip_bootstrap: False
# set to true to skip starting ironic services and dependencies
skip_start: False
# Default network interface that bifrost will be attached to.
# This is used in ipa_* so it must be before
network_interface: "virbr0"
ans_network_interface: "{{ network_interface | replace('-', '_') }}"
# Normally this would setting would be http in a bifrost installation
# without TLS. This setting allows a user to override the setting in case
# the local webserver has been updated to support HTTPS.
# Note: Users wishing to leverage HTTPS should reference the iPXE
# documentation at http://ipxe.org/crypto
ipa_file_protocol: "http"
ipa_kernel: "{{http_boot_folder}}/ipa.vmlinuz"
ipa_ramdisk: "{{http_boot_folder}}/ipa.initramfs"
ipa_kernel_url: "{{ ipa_file_protocol }}://{{ hostvars[inventory_hostname]['ansible_' + ans_network_interface]['ipv4']['address'] }}:{{file_url_port}}/ipa.vmlinuz"
ipa_kernel_upstream_url: https://tarballs.openstack.org/ironic-python-agent/tinyipa/files/tinyipa-master.vmlinuz
ipa_ramdisk_url: "{{ ipa_file_protocol }}://{{ hostvars[inventory_hostname]['ansible_' + ans_network_interface]['ipv4']['address'] }}:{{file_url_port}}/ipa.initramfs"
ipa_ramdisk_upstream_url: https://tarballs.openstack.org/ironic-python-agent/tinyipa/files/tinyipa-master.gz
deploy_image_filename: "deployment_image.qcow2"
deploy_image: "{{http_boot_folder}}/{{deploy_image_filename}}"
# Use cirros instead of building an image via diskimage-builder
use_cirros: false
# Download IPA by default
download_ipa: true
cirros_deploy_image_upstream_url: http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img
# By default bifrost will deploy dnsmasq to utilize as an integrated DHCP
# server. If you already have a DHCP server, you will need to disable
# this setting, and perform manual configuration of your DHCP server.
include_dhcp_server: true
# *_git_url can be overridden by local clones for offline installs
dib_git_url: https://git.openstack.org/openstack/diskimage-builder
ironicclient_git_url: https://git.openstack.org/openstack/python-ironicclient
shade_git_url: https://git.openstack.org/openstack-infra/shade
ironic_git_url: https://git.openstack.org/openstack/ironic
ironicinspector_git_url: https://github.com/openstack/ironic-inspector
ironicinspectorclient_git_url: https://github.com/openstack/python-ironic-inspector-client
mysql_username: "root"
mysql_password: ""
disable_dnsmasq_dns: False
ironic_git_folder: /opt/stack/ironic
ironicclient_git_folder: /opt/stack/python-ironicclient
shade_git_folder: /opt/stack/shade
dib_git_folder: /opt/stack/diskimage-builder
reqs_git_folder: /opt/stack/requirements
staging_drivers_git_folder: /opt/stack/ironic-staging-drivers
ironicinspector_git_folder: /opt/stack/ironic-inspector
ironicinspectorclient_git_folder: /opt/stack/python-ironic-inspector-client
staging_drivers_git_url: http://git.openstack.org/cgit/openstack/ironic-staging-drivers
# Comma-separated list, in the format of a string, of drivers that are enabled
# by default. This is intended to be a list of agent based drivers.
# PXE drivers can be found in the setting pxe_drivers that can be found below.
enabled_drivers: "agent_ipmitool,agent_ilo,agent_ucs"
# DHCP pool for requests -- ignored if inventory_dhcp is set to True
# since IP allocation will be static.
dhcp_pool_start: 192.168.1.200
dhcp_pool_end: 192.168.1.250
dhcp_lease_time: 12h
dhcp_static_mask: 255.255.255.0
# Dnsmasq default route for clients. If not defined, dnsmasq will push to clients
# as default route the same IP of the dnsmasq server.
# If set to false, it will disable default route creation in clients.
# Default: undefined
# dnsmasq_router:
# Dnsmasq default dns servers for clients. If defined, dnsmasq will use the specified
# DNS servers for name resolving.
# dnsmasq_dns_servers: 8.8.8.8,8.8.4.4
# Support for CORS configuration
# By default CORS support is disabled.
enable_cors: false
# Origin to accept for CORS requests
cors_allowed_origin: "http://localhost:8000"
# bifrost utilizes noauth mode by default and as such
# the setting should be set to false. This setting should
# not need to be modified by the user.
enable_cors_credential_support: false
# Set this to true to configure dnsmasq to respond to requests from the
# hosts in your dynamic inventory.
inventory_dhcp: False
# Set this to true to configure dnsmasq to resolv to ipv4_address from the
# hosts in your dynamic inventory.
inventory_dns: False
# Settings to enable the use of inspector
enable_inspector: true
inspector_auth: "noauth"
# Deprecated: inspector_auth will be removed in Pike, and is
# overriden when enable_keystone is set to true.
#inspector_auth: "noauth"
inspector_debug: true
inspector_manage_firewall: false
# Deprecated: ironic_auth_strategy will be removed in Pike.
ironic_auth_strategy: "noauth"
inspector_data_dir: "/opt/stack/ironic-inspector/var"
inspector_store_ramdisk_logs: true
# Note: inspector_port_addition has three valid values: all, active, pxe
inspector_port_addition: "pxe"
# Note: inspector_keep_ports has three valid values: all, present, added
inspector_keep_ports: "present"
# Inspector defaults
inspector:
discovery:
enabled: "{{ enable_inspector_discovery | default(true) }}"
default_node_driver: "{{ inspector_default_node_driver | default('agent_ipmitool')}}"
# We may not have packaged iPXE files on some distros, or may want to
# download them on their own.
download_ipxe: false
# This enables installation of substrate for PXE driver support
enable_pxe_drivers: true
# Comma-separated list of PXE drivers to enable when
# enable_pxe_drivers is set to true
pxe_drivers: "pxe_ssh,pxe_ipmitool,pxe_ilo"
# Settings related to installing bifrost in a virtual environment
enable_venv: false
bifrost_venv_dir: "{{ lookup('env', 'VENV') | default('/opt/stack/bifrost') }}"
bifrost_venv_env:
VIRTUAL_ENV: "{{ bifrost_venv_dir }}"
PATH: "{{ bifrost_venv_dir }}/bin:{{ ansible_env.PATH }}" # include regular path via lookup env
pydoc: "python -m pydoc"
# Authentication support
# By default, bifrost was developed around being a toolkit
# for noauth mode. Since we are introducing the concept of
# authentication, we need to record the default for
# conditional statements in the playbooks.
noauth_mode: true
# Keystone Support
# Default parameter if keystone is enabled, or disabled.
enable_keystone: false
# NOTE: The keystone support in this role
# expects the keystone.bootstrap variables to
# either be loaded OR present from keystone
# installation. The keystone settings below
# should only be used if the role is utilized
# independently of the keystone installation
# role, such as leveraging a pre-existing
# keystone installation.
# WARNING: Using a pre-existing keystone has
# not been tested.
#
#keystone:
# debug: true
# bootstrap:
# enabled: true
# username: admin
# password: ChangeThisPa55w0rd
# project_name: admin
# admin_url: "http://127.0.0.1:35357/v3/"
# public_url: "http://127.0.0.1:5000/v3/"
# internal_url: "http://127.0.0.1:5000/v3/"
# region_name: "RegionOne"
# message_queue:
# username: keystone
# password: ChangeThisPa55w0rd
# host: 127.0.0.1
# database:
# name: keystone
# username: keystone
# password: ChangeThisPa55w0rd
# host: 127.0.0.1
ironic:
service_catalog:
username: "ironic"
password: "ChangeThisPa55w0rd"
auth_url: "http://127.0.0.1:5000/v3"
project_name: "service"
keystone:
default_username: "bifrost_user"
default_password: "ChangeThisPa55w0rd"
ironic_inspector:
service_catalog:
username: "ironic_inspector"
password: "ChangeThisPa55w0rd"
auth_url: "http://127.0.0.1:5000/v3"
project_name: "service"
keystone:
default_username: "inspector_user"
default_password: "ChangeThisPa55w0rd"
# public_url: "http://127.0.0.1:5050/"
# private_url: "http://127.0.0.1:5050/"
# internal_url: "http://127.0.0.1:5050/"
# TODO(TheJulia): Thinking outloud, I we ought to head in the
# direction of identifying the address of the conductor host
# in a more uniform fashion. What that is exactly, is TBD.
my_ip_address: "{{ hostvars[inventory_hostname]['ansible_' + ans_network_interface]['ipv4']['address'] }}"