summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Baker <sbaker@redhat.com>2016-12-13 09:56:59 +1300
committerSteve Baker <sbaker@redhat.com>2016-12-13 09:57:52 +1300
commit8ab13c5489a0c5d485c4f9137a8d3a7bd2ddc214 (patch)
treefbd0658d08df9f9fa823faee0eed49f7e3b1d986
parent67e02ce57cabd763c23de56dfc86d44506e96307 (diff)
downloadheat-templates-8ab13c5489a0c5d485c4f9137a8d3a7bd2ddc214.tar.gz
Do docker operations in a defined order
This fixes the heat-templates gate Change-Id: If171d93408e9252606454ce61e5923502649d2bc
-rwxr-xr-xhot/software-config/elements/heat-config-docker-cmd/install.d/hook-docker-cmd.py2
-rwxr-xr-xhot/software-config/elements/heat-config-docker-cmd/os-refresh-config/configure.d/50-heat-config-docker-cmd2
-rw-r--r--tests/software_config/test_hook_docker_cmd.py40
3 files changed, 22 insertions, 22 deletions
diff --git a/hot/software-config/elements/heat-config-docker-cmd/install.d/hook-docker-cmd.py b/hot/software-config/elements/heat-config-docker-cmd/install.d/hook-docker-cmd.py
index abd0f98..ae02887 100755
--- a/hot/software-config/elements/heat-config-docker-cmd/install.d/hook-docker-cmd.py
+++ b/hot/software-config/elements/heat-config-docker-cmd/install.d/hook-docker-cmd.py
@@ -84,7 +84,7 @@ def main(argv=sys.argv):
if not isinstance(config, dict):
config = yaml.safe_load(config)
- for container in config:
+ for container in sorted(config):
container_name = '%s__%s' % (c['name'], container)
cmd = [
DOCKER_CMD,
diff --git a/hot/software-config/elements/heat-config-docker-cmd/os-refresh-config/configure.d/50-heat-config-docker-cmd b/hot/software-config/elements/heat-config-docker-cmd/os-refresh-config/configure.d/50-heat-config-docker-cmd
index 246d86c..8a2d882 100755
--- a/hot/software-config/elements/heat-config-docker-cmd/os-refresh-config/configure.d/50-heat-config-docker-cmd
+++ b/hot/software-config/elements/heat-config-docker-cmd/os-refresh-config/configure.d/50-heat-config-docker-cmd
@@ -113,7 +113,7 @@ def delete_missing_projects(configs):
def extract_container_names(proj, proj_data):
# For now, assume a docker-compose v1 format where the
# root keys are service names
- for name in proj_data:
+ for name in sorted(proj_data):
yield '%s__%s' % (proj, name)
diff --git a/tests/software_config/test_hook_docker_cmd.py b/tests/software_config/test_hook_docker_cmd.py
index fe6bc12..460d1bc 100644
--- a/tests/software_config/test_hook_docker_cmd.py
+++ b/tests/software_config/test_hook_docker_cmd.py
@@ -107,14 +107,6 @@ class HookDockerComposeTest(common.RunScriptTest):
'run',
'--detach=true',
'--name',
- 'abcdef001__web',
- 'xxx'
- ], state_0['args'])
- self.assertEqual([
- self.fake_tool_path,
- 'run',
- '--detach=true',
- '--name',
'abcdef001__db',
'--env=KOLLA_CONFIG_STRATEGY=COPY_ALWAYS',
'--env=FOO=BAR',
@@ -125,6 +117,14 @@ class HookDockerComposeTest(common.RunScriptTest):
'--volume=/run:/run',
'--volume=db:/var/lib/db',
'xxx'
+ ], state_0['args'])
+ self.assertEqual([
+ self.fake_tool_path,
+ 'run',
+ '--detach=true',
+ '--name',
+ 'abcdef001__web',
+ 'xxx'
], state_1['args'])
def test_hook_failed(self):
@@ -153,14 +153,6 @@ class HookDockerComposeTest(common.RunScriptTest):
'run',
'--detach=true',
'--name',
- 'abcdef001__web',
- 'xxx'
- ], state_0['args'])
- self.assertEqual([
- self.fake_tool_path,
- 'run',
- '--detach=true',
- '--name',
'abcdef001__db',
'--env=KOLLA_CONFIG_STRATEGY=COPY_ALWAYS',
'--env=FOO=BAR',
@@ -171,6 +163,14 @@ class HookDockerComposeTest(common.RunScriptTest):
'--volume=/run:/run',
'--volume=db:/var/lib/db',
'xxx'
+ ], state_0['args'])
+ self.assertEqual([
+ self.fake_tool_path,
+ 'run',
+ '--detach=true',
+ '--name',
+ 'abcdef001__web',
+ 'xxx'
], state_1['args'])
def test_cleanup_deleted(self):
@@ -210,13 +210,13 @@ class HookDockerComposeTest(common.RunScriptTest):
self.fake_tool_path,
'rm',
'-f',
- 'abcdef001__web',
+ 'abcdef001__db',
], state_0['args'])
self.assertEqual([
self.fake_tool_path,
'rm',
'-f',
- 'abcdef001__db',
+ 'abcdef001__web',
], state_1['args'])
def test_cleanup_changed(self):
@@ -257,11 +257,11 @@ class HookDockerComposeTest(common.RunScriptTest):
self.fake_tool_path,
'rm',
'-f',
- 'abcdef001__web',
+ 'abcdef001__db',
], state_0['args'])
self.assertEqual([
self.fake_tool_path,
'rm',
'-f',
- 'abcdef001__db',
+ 'abcdef001__web',
], state_1['args'])