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>
132 lines
4.8 KiB
YAML
132 lines
4.8 KiB
YAML
heat_template_version: queens
|
|
|
|
description: >
|
|
OpenStack Neutron SR-IOV service
|
|
|
|
parameters:
|
|
DockerNeutronSriovImage:
|
|
description: The container image to use for the Neutron SR-IOV agent
|
|
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
|
|
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
|
|
|
|
resources:
|
|
|
|
ContainersCommon:
|
|
type: ./containers-common.yaml
|
|
|
|
NeutronSriovAgentBase:
|
|
type: ../../puppet/services/neutron-sriov-agent.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: sriov-nic-agent
|
|
|
|
outputs:
|
|
role_data:
|
|
description: Role data for Neutron sriov service
|
|
value:
|
|
service_name: {get_attr: [NeutronSriovAgentBase, role_data, service_name]}
|
|
config_settings:
|
|
map_merge:
|
|
- get_attr: [NeutronSriovAgentBase, role_data, config_settings]
|
|
- get_attr: [NeutronLogging, config_settings]
|
|
puppet_config:
|
|
config_volume: neutron
|
|
puppet_tags: neutron_config,neutron_agent_sriov_numvfs,neutron_sriov_agent_config
|
|
step_config:
|
|
get_attr: [NeutronSriovAgentBase, role_data, step_config]
|
|
config_image: {get_param: DockerNeutronConfigImage}
|
|
kolla_config:
|
|
/var/lib/kolla/config_files/neutron_sriov_agent.json:
|
|
command:
|
|
list_join:
|
|
- ' '
|
|
- - /usr/bin/neutron-sriov-nic-agent --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/sriov_agent.ini --config-dir /etc/neutron/conf.d/common
|
|
- 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
|
|
docker_config:
|
|
step_4:
|
|
neutron_sriov_agent:
|
|
start_order: 10
|
|
image: {get_param: DockerNeutronSriovImage}
|
|
net: host
|
|
pid: host
|
|
privileged: true
|
|
restart: always
|
|
volumes:
|
|
list_concat:
|
|
- {get_attr: [ContainersCommon, volumes]}
|
|
- {get_attr: [NeutronLogging, volumes]}
|
|
-
|
|
- /var/lib/kolla/config_files/neutron_sriov_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:/run
|
|
- /sys/class/net:/sys/class/net:rw
|
|
environment:
|
|
- KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
|
|
host_prep_tasks: {get_attr: [NeutronLogging, host_prep_tasks]}
|
|
metadata_settings:
|
|
get_attr: [NeutronSriovAgentBase, role_data, metadata_settings]
|
|
upgrade_tasks:
|
|
- name: Check if neutron_sriov_nic_agent is deployed
|
|
command: systemctl is-enabled --quiet neutron-sriov-nic-agent
|
|
tags: common
|
|
ignore_errors: True
|
|
register: neutron_sriov_nic_agent_enabled
|
|
- name: "PreUpgrade step0,validation: Check service neutron-sriov-nic-agent is running"
|
|
command: systemctl is-active --quiet neutron-sriov-nic-agent
|
|
when:
|
|
- step|int == 0
|
|
- neutron_sriov_nic_agent_enabled.rc == 0
|
|
tags: validation
|
|
- name: Stop and disable neutron_sriov_agent service
|
|
when:
|
|
- step|int == 2
|
|
- neutron_sriov_nic_agent_enabled.rc == 0
|
|
service: name=neutron-sriov-nic-agent state=stopped enabled=no
|