91e7a548cb
Simplify the config of the containerized services by bind mounting in the configurations instead of specifying them all in kolla config. This is change is useful to limit the side effects of generating the config files and running the container is two separate steps as config directories are now bind-mounted inside the container instead of having files being copied to the container. We've seen examples of Apache's mod_ssl configuration file present on the container preventing it to start when puppet configured apache not to load the ssl module (in case TLS is disabled). Co-Authored-By: Ian Main <imain@redhat.com> Change-Id: I4ec5dd8b360faea71a044894a61790997f54d48a
91 lines
3.2 KiB
YAML
91 lines
3.2 KiB
YAML
heat_template_version: ocata
|
|
|
|
description: >
|
|
OpenStack containerized Neutron DHCP service
|
|
|
|
parameters:
|
|
DockerNamespace:
|
|
description: namespace
|
|
default: 'tripleoupstream'
|
|
type: string
|
|
DockerNeutronDHCPImage:
|
|
description: image
|
|
default: 'centos-binary-neutron-dhcp-agent:latest'
|
|
type: string
|
|
# we configure all neutron services in the same neutron
|
|
DockerNeutronConfigImage:
|
|
description: image
|
|
default: 'centos-binary-neutron-openvswitch-agent:latest'
|
|
type: string
|
|
EndpointMap:
|
|
default: {}
|
|
description: Mapping of service endpoint -> protocol. Typically set
|
|
via parameter_defaults in the resource registry.
|
|
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
|
|
|
|
resources:
|
|
|
|
NeutronBase:
|
|
type: ../../puppet/services/neutron-dhcp.yaml
|
|
properties:
|
|
EndpointMap: {get_param: EndpointMap}
|
|
ServiceNetMap: {get_param: ServiceNetMap}
|
|
DefaultPasswords: {get_param: DefaultPasswords}
|
|
|
|
outputs:
|
|
role_data:
|
|
description: Role data for the Neutron DHCP role.
|
|
value:
|
|
service_name: {get_attr: [NeutronBase, role_data, service_name]}
|
|
config_settings:
|
|
map_merge:
|
|
- get_attr: [NeutronBase, role_data, config_settings]
|
|
step_config: &step_config
|
|
get_attr: [NeutronBase, role_data, step_config]
|
|
service_config_settings: {get_attr: [NeutronBase, role_data, service_config_settings]}
|
|
# BEGIN DOCKER SETTINGS
|
|
puppet_config:
|
|
config_volume: neutron
|
|
puppet_tags: neutron_config,neutron_dhcp_agent_config
|
|
step_config: *step_config
|
|
config_image:
|
|
list_join:
|
|
- '/'
|
|
- [ {get_param: DockerNamespace}, {get_param: DockerNeutronConfigImage} ]
|
|
kolla_config:
|
|
/var/lib/kolla/config_files/neutron_dhcp.json:
|
|
command: /usr/bin/neutron-dhcp-agent --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.ini --log-file /var/log/neutron/dhcp-agent.log
|
|
docker_config:
|
|
step_4:
|
|
neutron_dhcp:
|
|
image:
|
|
list_join:
|
|
- '/'
|
|
- [ {get_param: DockerNamespace}, {get_param: DockerNeutronDHCPImage} ]
|
|
net: host
|
|
pid: host
|
|
privileged: true
|
|
restart: always
|
|
volumes:
|
|
- /var/lib/kolla/config_files/neutron_dhcp.json:/var/lib/kolla/config_files/config.json:ro
|
|
- /var/lib/config-data/neutron/etc/neutron/:/etc/neutron/:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
- /etc/hosts:/etc/hosts:ro
|
|
- /lib/modules:/lib/modules:ro
|
|
- /run/:/run
|
|
environment:
|
|
- KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
|
|
upgrade_tasks:
|
|
- name: Stop and disable neutron_dhcp service
|
|
tags: step2
|
|
service: name=neutron-dhcp-agent state=stopped enabled=no
|