Merge "Containerize neutron-l3 agent"

This commit is contained in:
Jenkins 2017-03-01 23:18:08 +00:00 committed by Gerrit Code Review
commit 09794f09aa
2 changed files with 89 additions and 0 deletions

View File

@ -0,0 +1,88 @@
heat_template_version: ocata
description: >
OpenStack containerized Neutron L3 agent
parameters:
DockerNamespace:
description: namespace
default: 'tripleoupstream'
type: string
DockerNeutronL3AgentImage:
description: image
default: 'centos-binary-neutron-l3-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
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
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
resources:
NeutronL3Base:
type: ../../puppet/services/neutron-l3.yaml
properties:
EndpointMap: {get_param: EndpointMap}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
outputs:
role_data:
description: Role data for Neutron L3 agent
value:
service_name: {get_attr: [NeutronL3Base, role_data, service_name]}
config_settings: {get_attr: [NeutronL3Base, role_data, config_settings]}
step_config: {get_attr: [NeutronL3Base, role_data, step_config]}
docker_image: &neutron_l3_agent_image
list_join:
- '/'
- [ {get_param: DockerNamespace}, {get_param: DockerNeutronL3AgentImage} ]
puppet_tags: neutron_config,neutron_l3_agent_config
config_volume: neutron
config_image:
list_join:
- '/'
- [ {get_param: DockerNamespace}, {get_param: DockerNeutronConfigImage} ]
kolla_config:
/var/lib/kolla/config_files/neutron-l3-agent.json:
command: /usr/bin/neutron-l3-agent --config-file /usr/share/neutron/neutron-dist.conf --config-dir /usr/share/neutron/l3_agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/l3_agent.ini
config_files:
- dest: /etc/neutron/neutron.conf
owner: neutron
perm: '0600'
source: /var/lib/kolla/config_files/src/etc/neutron/neutron.conf
- dest: /etc/neutron/l3_agent.ini
owner: root
perm: '0644'
source: /var/lib/kolla/config_files/src/etc/neutron/l3_agent.ini
docker_config:
step_4:
neutronl3agent:
image: *neutron_l3_agent_image
net: host
pid: host
privileged: true
restart: always
volumes:
- /var/lib/kolla/config_files/neutron-l3-agent.json:/var/lib/kolla/config_files/config.json:ro
- /var/lib/config-data/neutron:/var/lib/kolla/config_files/src:ro
- /etc/localtime:/etc/localtime:ro
- /lib/modules:/lib/modules:ro
- /run:/run
environment:
- KOLLA_CONFIG_STRATEGY=COPY_ALWAYS

View File

@ -24,6 +24,7 @@ resource_registry:
OS::TripleO::Services::NeutronCorePlugin: ../docker/services/neutron-plugin-ml2.yaml
OS::TripleO::Services::NeutronOvsAgent: ../docker/services/neutron-ovs-agent.yaml
OS::TripleO::Services::NeutronDhcpAgent: ../docker/services/neutron-dhcp.yaml
OS::TripleO::Services::NeutronL3Agent: ../docker/services/neutron-l3.yaml
OS::TripleO::Services::MySQL: ../docker/services/database/mysql.yaml
OS::TripleO::Services::MistralApi: ../docker/services/mistral-api.yaml
OS::TripleO::Services::MistralEngine: ../docker/services/mistral-engine.yaml