docker: don't use custom run-os-net-config
authorSteve Baker <sbaker@redhat.com>
Tue, 6 Dec 2016 03:27:04 +0000 (16:27 +1300)
committerSteve Baker <sbaker@redhat.com>
Thu, 8 Dec 2016 20:09:25 +0000 (20:09 +0000)
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

docker/firstboot/start_docker_agents.sh [changed mode: 0644->0755]
docker/post.j2.yaml

old mode 100644 (file)
new mode 100755 (executable)
index acb44ce..e7e276b
@@ -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"
 
 
index de17cff..6cb92c8 100644 (file)
@@ -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}}]}