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