docker: don't use custom run-os-net-config
The script run-os-net-config[1] copies in ifcfg-* from the host before running os-net-config. Apparently it was done this way because the other scripts in /etc/sysconfig/network-scripts/ differed between host and agent container. This should be less of an issue now that host and heat-agents run centos-7 (even when the host is atomic) tripleo-heat-templates recently changed to running os-net-config in a deployment script instead of an os-refresh-config script [2]. This means that our current run-os-net-config approach is currently resulting in os-net-config being executed twice. Another issue with run-os-net-config is that it copies ifcfg-* from host to container, but not back again. This means that rebooting the server will result in unconfigured interfaces until os-net-config is somehow run again. This change bind mounts /etc/sysconfig/network-scripts/ from the host and uses the conventional approach to running os-refresh-config. This may fix the issue where compute nodes are losing network connectivity, so Closes-Bug: #1646897 [1] http://git.openstack.org/cgit/openstack/tripleo-common/tree/heat_docker_agent/run-os-net-config [2] I0ed08332cfc49a579de2e83960f0d8047690b97a Change-Id: I763fc8d8e3eb10ac64d33e46c92888d211003e72
This commit is contained in:
parent
1e11997e76
commit
bb73874310
docker
1
docker/firstboot/start_docker_agents.sh
Normal file → Executable file
1
docker/firstboot/start_docker_agents.sh
Normal file → Executable file
@ -43,6 +43,7 @@ AGENT_COMMAND_MOUNTS="-v /var/lib/etc-data:/var/lib/etc-data \
|
||||
-v /var/lib/cloud:/var/lib/cloud \
|
||||
-v /var/lib/heat-cfntools:/var/lib/heat-cfntools \
|
||||
-v /etc/sysconfig/docker:/etc/sysconfig/docker \
|
||||
-v /etc/sysconfig/network-scripts:/etc/sysconfig/network-scripts \
|
||||
-v /usr/lib64/libseccomp.so.2:/usr/lib64/libseccomp.so.2"
|
||||
|
||||
|
||||
|
@ -252,27 +252,6 @@ resources:
|
||||
environment:
|
||||
- KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
|
||||
|
||||
NovaComputeContainersDeploymentNetconfig:
|
||||
type: OS::Heat::SoftwareDeploymentGroup
|
||||
depends_on: NovaComputeContainersDeploymentOVS
|
||||
properties:
|
||||
name: NovaComputeContainersDeploymentNetconfig
|
||||
config: {get_resource: NovaComputeContainersConfigNetconfig}
|
||||
servers: {get_param: [servers, {{role.name}}]}
|
||||
|
||||
# We run os-net-config here because we depend on the ovs containers to be up
|
||||
# and running before we configure the network. This allows explicit timing
|
||||
# of the network configuration.
|
||||
NovaComputeContainersConfigNetconfig:
|
||||
type: OS::Heat::SoftwareConfig
|
||||
properties:
|
||||
group: script
|
||||
outputs:
|
||||
- name: result
|
||||
config: |
|
||||
#!/bin/bash
|
||||
/usr/local/bin/run-os-net-config
|
||||
|
||||
{{role.name}}ContainersConfig_Step1:
|
||||
type: OS::Heat::StructuredConfig
|
||||
depends_on: CopyJsonDeployment
|
||||
@ -291,7 +270,7 @@ resources:
|
||||
|
||||
{{role.name}}ContainersDeployment_Step1:
|
||||
type: OS::Heat::StructuredDeploymentGroup
|
||||
depends_on: [{{role.name}}PreConfig, {{role.name}}ArtifactsDeploy, NovaComputeContainersDeploymentNetconfig]
|
||||
depends_on: [{{role.name}}PreConfig, {{role.name}}ArtifactsDeploy]
|
||||
properties:
|
||||
name: {{role.name}}ContainersDeployment_Step1
|
||||
servers: {get_param: [servers, {{role.name}}]}
|
||||
|
Loading…
x
Reference in New Issue
Block a user