df31016a9a
TLS certificates were introduced for the Neutron Base service in order for Neutron to securely communicate with OVS via SSL/TLS. However, the implementation only required Neutron DHCP agent (ODL deployment) to use the certificates. The other OVS agents are not used in ODL deployments and SSL/TLS use there may be added in the future. However, since other services inherit NeutronBase config_settings, they will attempt to generate certs. This certificate generation will fail because these services do not inherit metadata settings. This patch fixes the above issue by adding the metadata settings inheritance to every service derived from NeutronBase. Closes-Bug: 1754363 Change-Id: I87afc3a11efeefc1cfd768dfe817fbb3b2422694 Signed-off-by: Tim Rozet <trozet@redhat.com>
167 lines
6.1 KiB
YAML
167 lines
6.1 KiB
YAML
heat_template_version: queens
|
|
|
|
description: >
|
|
OpenStack containerized OVN Metadata agent
|
|
|
|
parameters:
|
|
DockerOvnMetadataImage:
|
|
description: image
|
|
type: string
|
|
DockerNeutronConfigImage:
|
|
description: The container image to use for the neutron config_volume
|
|
type: string
|
|
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
|
|
EndpointMap:
|
|
default: {}
|
|
description: Mapping of service endpoint -> protocol. Typically set
|
|
via parameter_defaults in the resource registry.
|
|
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:
|
|
|
|
ContainersCommon:
|
|
type: ./containers-common.yaml
|
|
|
|
OVNMetadataBase:
|
|
type: ../../puppet/services/ovn-metadata.yaml
|
|
properties:
|
|
EndpointMap: {get_param: EndpointMap}
|
|
ServiceData: {get_param: ServiceData}
|
|
ServiceNetMap: {get_param: ServiceNetMap}
|
|
DefaultPasswords: {get_param: DefaultPasswords}
|
|
RoleName: {get_param: RoleName}
|
|
RoleParameters: {get_param: RoleParameters}
|
|
|
|
NeutronLogging:
|
|
type: OS::TripleO::Services::Logging::NeutronCommon
|
|
properties:
|
|
NeutronServiceName: ovn-metadata-agent
|
|
|
|
outputs:
|
|
role_data:
|
|
description: Role data for OVNMetadata agent
|
|
value:
|
|
service_name: {get_attr: [OVNMetadataBase, role_data, service_name]}
|
|
config_settings:
|
|
map_merge:
|
|
- get_attr: [OVNMetadataBase, role_data, config_settings]
|
|
- get_attr: [NeutronLogging, config_settings]
|
|
logging_source: {get_attr: [OVNMetadataBase, role_data, logging_source]}
|
|
logging_groups: {get_attr: [OVNMetadataBase, role_data, logging_groups]}
|
|
puppet_config:
|
|
puppet_tags: neutron_config,ovn_metadata_agent_config
|
|
config_volume: neutron
|
|
step_config:
|
|
get_attr: [OVNMetadataBase, role_data, step_config]
|
|
config_image: {get_param: DockerNeutronConfigImage}
|
|
volumes:
|
|
- /lib/modules:/lib/modules:ro
|
|
- /run/openvswitch:/run/openvswitch
|
|
kolla_config:
|
|
/var/lib/kolla/config_files/ovn_metadata_agent.json:
|
|
command:
|
|
list_join:
|
|
- ' '
|
|
- - /usr/bin/networking-ovn-metadata-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/networking-ovn/networking-ovn-metadata-agent.ini --config-dir /etc/neutron/conf.d/networking-ovn-metadata-agent
|
|
- get_attr: [NeutronLogging, cmd_extra_args]
|
|
config_files:
|
|
- source: "/var/lib/kolla/config_files/src/*"
|
|
dest: "/"
|
|
merge: true
|
|
preserve_properties: true
|
|
permissions:
|
|
- path: /var/log/neutron
|
|
owner: neutron:neutron
|
|
recurse: true
|
|
- path: /var/lib/neutron
|
|
owner: neutron:neutron
|
|
recurse: true
|
|
docker_config_scripts: {get_attr: [ContainersCommon, docker_config_scripts]}
|
|
docker_config:
|
|
step_4:
|
|
setup_ovs_manager:
|
|
start_order: 0
|
|
detach: false
|
|
net: host
|
|
privileged: true
|
|
user: root
|
|
command: # '/docker_puppet_apply.sh "STEP" "TAGS" "CONFIG" "DEBUG"'
|
|
list_concat:
|
|
- - '/docker_puppet_apply.sh'
|
|
- '4'
|
|
- 'exec'
|
|
- 'include ::tripleo::profile::base::neutron::ovn_metadata'
|
|
image: {get_param: DockerOvnMetadataImage}
|
|
volumes:
|
|
list_concat:
|
|
- {get_attr: [ContainersCommon, docker_puppet_apply_volumes]}
|
|
- - /lib/modules:/lib/modules:ro
|
|
- /run/openvswitch:/run/openvswitch
|
|
ovn_metadata_agent:
|
|
start_order: 1
|
|
image: {get_param: DockerOvnMetadataImage}
|
|
net: host
|
|
privileged: true
|
|
restart: always
|
|
healthcheck:
|
|
test: /openstack/healthcheck
|
|
volumes:
|
|
list_concat:
|
|
- {get_attr: [ContainersCommon, volumes]}
|
|
- {get_attr: [NeutronLogging, volumes]}
|
|
-
|
|
- /var/lib/kolla/config_files/ovn_metadata_agent.json:/var/lib/kolla/config_files/config.json:ro
|
|
- /var/lib/config-data/puppet-generated/neutron/:/var/lib/kolla/config_files/src:ro
|
|
- /lib/modules:/lib/modules:ro
|
|
- /run/openvswitch:/run/openvswitch
|
|
- /var/lib/neutron:/var/lib/neutron
|
|
- /run/netns:/run/netns:shared
|
|
environment:
|
|
- KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
|
|
metadata_settings:
|
|
get_attr: [OVNMetadataBase, role_data, metadata_settings]
|
|
host_prep_tasks:
|
|
list_concat:
|
|
- {get_attr: [NeutronLogging, host_prep_tasks]}
|
|
- - name: create /var/lib/neutron
|
|
file:
|
|
path: /var/lib/neutron
|
|
state: directory
|
|
upgrade_tasks:
|
|
- name: Check if ovn_metadata_agent is deployed
|
|
command: systemctl is-enabled --quiet networking-ovn-metadata-agent
|
|
tags: common
|
|
ignore_errors: True
|
|
register: networking_ovn_metadata_agent_enabled
|
|
- name: "PreUpgrade step0,validation: Check service networking-ovn-metadata-agent is running"
|
|
command: systemctl is-active --quiet networking-ovn-metadata-agent
|
|
when:
|
|
- step|int == 0
|
|
- networking_ovn_metadata_agent_enabled.rc == 0
|
|
tags: validation
|
|
- name: Stop and disable networking_ovn_metadata service
|
|
when:
|
|
- step|int == 2
|
|
- networking_ovn_metadata_agent_enabled.rc == 0
|
|
service: name=networking-ovn-metadata-agent state=stopped enabled=no
|