tripleo-heat-templates/deployment/ironic/ironic-base-puppet.yaml

115 lines
3.7 KiB
YAML

heat_template_version: wallaby
description: >
OpenStack Ironic services configured with Puppet
parameters:
ServiceData:
default: {}
description: Dictionary packing service data
type: json
ServiceNetMap:
default: {}
description: Mapping of service_name -> network name. Typically set
via parameter_defaults in the resource registry. Use
parameter_merge_strategies to merge it with the defaults.
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
type: json
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
Debug:
default: false
description: Set to True to enable debugging on all services.
type: boolean
IronicDebug:
default: false
description: Set to True to enable debugging Ironic services.
type: boolean
EnableSQLAlchemyCollectd:
type: boolean
description: >
Set to true to enable the SQLAlchemy-collectd server plugin
default: false
IronicDefaultResourceClass:
default: ''
description: Default resource class to use for new nodes.
type: string
IronicPassword:
description: The password for the Ironic service and db account, used by the Ironic services
type: string
hidden: true
IronicRpcTransport:
description: The remote procedure call transport between conductor and
API processes, such as a messaging broker or JSON RPC.
default: 'oslo'
type: string
constraints:
- allowed_values: ['oslo', 'json-rpc']
IronicRpcResponseTimeout:
default: 60
description: Ironic's RPC response timeout, in seconds.
type: number
IronicAuthStrategy:
type: string
description: Auth strategy to use with ironic.
default: 'keystone'
constraints:
- allowed_values: ['keystone', 'http_basic', 'noauth']
conditions:
default_rsc_set:
not: {equals : [{get_param: IronicDefaultResourceClass}, '']}
rpc_transport_set:
not: {equals : [{get_param: IronicRpcTransport}, '']}
outputs:
role_data:
description: Role data for the Ironic role.
value:
service_name: ironic_base
config_settings:
ironic::db::database_connection:
make_url:
scheme: {get_param: [EndpointMap, MysqlInternal, protocol]}
username: ironic
password: {get_param: IronicPassword}
host: {get_param: [EndpointMap, MysqlInternal, host]}
path: /ironic
query:
if:
- {get_param: EnableSQLAlchemyCollectd}
- read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
plugin: collectd
collectd_program_name: ironic
collectd_host: localhost
- read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
ironic::logging::debug:
if:
- {get_param: IronicDebug}
- True
- {get_param: Debug}
ironic::default_resource_class:
if:
- default_rsc_set
- {get_param: IronicDefaultResourceClass}
ironic::auth_strategy: {get_param: IronicAuthStrategy}
ironic::rpc_transport:
if:
- rpc_transport_set
- {get_param: IronicRpcTransport}
ironic::rpc_response_timeout: {get_param: IronicRpcResponseTimeout}
step_config: |
include tripleo::profile::base::ironic