heat_template_version: rocky description: > OpenStack ironic-neutron-agent 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 DefaultPasswords: default: {} 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 IronicPassword: description: The password for the Ironic service and db account, used by the Ironic services type: string hidden: true KeystoneRegion: type: string default: 'regionOne' description: Keystone region for endpoint resources: NeutronBase: type: ./neutron-base.yaml properties: ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} RoleName: {get_param: RoleName} RoleParameters: {get_param: RoleParameters} outputs: role_data: description: Role data for the ironic-neutron-agent service. value: service_name: ironic_neutron_agent config_settings: map_merge: - get_attr: [NeutronBase, role_data, config_settings] - neutron::agents::ml2::networking_baremetal::user: 'ironic' - neutron::agents::ml2::networking_baremetal::password: {get_param: IronicPassword} - neutron::agents::ml2::networking_baremetal::auth_url: { get_param: [ EndpointMap, KeystoneInternal, uri_no_suffix ] } - neutron::agents::ml2::networking_baremetal::project_name: 'service' - neutron::agents::ml2::networking_baremetal::user_domain_name: 'Default' - neutron::agents::ml2::networking_baremetal::project_domain_name: 'Default' - neutron::agents::ml2::networking_baremetal::region_name: {get_param: KeystoneRegion} step_config: | include tripleo::profile::base::neutron::agents::networking_baremetal upgrade_tasks: - name: Check if ironic-neutron-agent is deployed command: systemctl is-enabled ironic-neutron-agent tags: common ignore_errors: True register: ironic_neutron_agent_enabled - name: "PreUpgrade step0,validation: Check service ironic-neutron-agent is running" shell: /usr/bin/systemctl show 'ironic-neutron-agent' --property ActiveState | grep '\bactive\b' when: - step|int == 0 - ironic_neutron_agent_enabled.rc == 0 tags: validation - name: Stop ironic-neutron-agent service when: - step|int == 1 - ironic_neutron_agent_enabled.rc == 0 service: name=ironic-neutron-agent state=stopped