heat_template_version: rocky 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. This mapping overrides those in ServiceNetMapDefaults. 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: '' type: string constraints: - allowed_values: [ '', 'oslo', 'json-rpc'] conditions: default_rsc_unset: {equals : [{get_param: IronicDefaultResourceClass}, '']} rpc_transport_unset: {equals : [{get_param: IronicRpcTransport}, '']} enable_sqlalchemy_collectd: {equals : [{get_param: EnableSQLAlchemyCollectd}, true]} outputs: role_data: description: Role data for the Ironic role. value: service_name: ironic_base config_settings: map_merge: - ironic::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: - enable_sqlalchemy_collectd - 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} - if: - default_rsc_unset - {} - ironic::default_resource_class: {get_param: IronicDefaultResourceClass} - if: - rpc_transport_unset - {} - ironic::rpc_transport: {get_param: IronicRpcTransport} step_config: | include tripleo::profile::base::ironic