heat_template_version: rocky description: > OpenStack containerized nova-manage runner service parameters: ContainerNovaConductorImage: description: image type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json 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 resources: # Cannot control nova-manage logging so expect it to log to file NovaLogging: type: ../logging/files/nova-common.yaml properties: ContainerNovaImage: &nova_conductor_image {get_param: ContainerNovaConductorImage} NovaServiceName: 'manager' ContainersCommon: type: ../containers-common.yaml NovaConductorBase: type: ./nova-conductor-container-puppet.yaml properties: ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} EndpointMap: {get_param: EndpointMap} RoleName: {get_param: RoleName} RoleParameters: {get_param: RoleParameters} NovaAdditionalCell: false # API DB access required outputs: role_data: description: Role data for the nova-manage runner service. value: service_name: nova_manager config_settings: get_attr: [NovaConductorBase, role_data, config_settings] service_config_settings: mysql: get_attr: [NovaConductorBase, role_data, service_config_settings, mysql] # BEGIN DOCKER SETTINGS puppet_config: get_attr: [NovaConductorBase, role_data, puppet_config] kolla_config: /var/lib/kolla/config_files/nova_manager.json: command: "/bin/sleep infinity" config_files: - source: "/var/lib/kolla/config_files/src/*" dest: "/" merge: true preserve_properties: true permissions: - path: /var/log/nova owner: nova:nova recurse: true docker_config: step_2: get_attr: [NovaLogging, docker_config, step_2] step_4: nova_manager: image: *nova_conductor_image net: host privileged: false restart: always volumes: list_concat: - {get_attr: [ContainersCommon, volumes]} - {get_attr: [NovaLogging, volumes]} - - /var/lib/kolla/config_files/nova_manager.json:/var/lib/kolla/config_files/config.json:ro - /var/lib/config-data/puppet-generated/nova:/var/lib/kolla/config_files/src:ro environment: KOLLA_CONFIG_STRATEGY: COPY_ALWAYS host_prep_tasks: get_attr: [NovaLogging, host_prep_tasks]