Fix heat docker agent tests
Test for Docker agent seems broken after paunch release. Change-Id: I10213ee8274ccd8222e5e4855d1b4144a4d39c47
This commit is contained in:
parent
756fcafdf0
commit
ed766c5fac
|
@ -17,6 +17,7 @@ import os
|
||||||
import tempfile
|
import tempfile
|
||||||
|
|
||||||
import fixtures
|
import fixtures
|
||||||
|
import six
|
||||||
|
|
||||||
from tests import common
|
from tests import common
|
||||||
|
|
||||||
|
@ -98,9 +99,9 @@ class HookDockerCmdTest(common.RunScriptTest):
|
||||||
'heat-config-docker-cmd/',
|
'heat-config-docker-cmd/',
|
||||||
'os-refresh-config/configure.d/50-heat-config-docker-cmd')
|
'os-refresh-config/configure.d/50-heat-config-docker-cmd')
|
||||||
|
|
||||||
self.fake_tool_path = self.relative_path(
|
self.fake_tool_path = six.text_type(self.relative_path(
|
||||||
__file__,
|
__file__,
|
||||||
'config-tool-fake.py')
|
'config-tool-fake.py'))
|
||||||
|
|
||||||
self.working_dir = self.useFixture(fixtures.TempDir())
|
self.working_dir = self.useFixture(fixtures.TempDir())
|
||||||
self.outputs_dir = self.useFixture(fixtures.TempDir())
|
self.outputs_dir = self.useFixture(fixtures.TempDir())
|
||||||
|
@ -112,6 +113,76 @@ class HookDockerCmdTest(common.RunScriptTest):
|
||||||
'TEST_STATE_PATH': self.test_state_path,
|
'TEST_STATE_PATH': self.test_state_path,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
def check_basic_response(self, state):
|
||||||
|
self.assertEqual([
|
||||||
|
self.fake_tool_path,
|
||||||
|
u'inspect',
|
||||||
|
u'--type',
|
||||||
|
u'image',
|
||||||
|
u'--format',
|
||||||
|
u'exists',
|
||||||
|
u'xxx'
|
||||||
|
], state[0]['args'])
|
||||||
|
self.assertEqual([
|
||||||
|
self.fake_tool_path,
|
||||||
|
u'pull',
|
||||||
|
u'xxx'
|
||||||
|
], state[1]['args'])
|
||||||
|
self.assertEqual([
|
||||||
|
self.fake_tool_path,
|
||||||
|
u'inspect',
|
||||||
|
u'--type',
|
||||||
|
u'image',
|
||||||
|
u'--format',
|
||||||
|
u'exists',
|
||||||
|
u'yyy'
|
||||||
|
], state[2]['args'])
|
||||||
|
self.assertEqual([
|
||||||
|
self.fake_tool_path,
|
||||||
|
u'pull',
|
||||||
|
u'yyy'
|
||||||
|
], state[3]['args'])
|
||||||
|
self.assertEqual([
|
||||||
|
self.fake_tool_path,
|
||||||
|
u'ps',
|
||||||
|
u'-a',
|
||||||
|
u'--filter',
|
||||||
|
u'label=managed_by=docker-cmd',
|
||||||
|
u'--filter',
|
||||||
|
u'label=config_id=abc123',
|
||||||
|
u'--format',
|
||||||
|
u'{{.Names}} {{.Label "container_name"}}'
|
||||||
|
], state[4]['args'])
|
||||||
|
self.assertEqual([
|
||||||
|
self.fake_tool_path,
|
||||||
|
u'ps',
|
||||||
|
u'-a',
|
||||||
|
u'--filter',
|
||||||
|
u'label=managed_by=docker-cmd',
|
||||||
|
u'--format',
|
||||||
|
u'{{.Names}} {{.Label "container_name"}}'
|
||||||
|
], state[5]['args'])
|
||||||
|
self.assertEqual([
|
||||||
|
self.fake_tool_path,
|
||||||
|
u'ps',
|
||||||
|
u'-a',
|
||||||
|
u'--filter',
|
||||||
|
u'label=managed_by=docker-cmd',
|
||||||
|
u'--filter',
|
||||||
|
u'label=config_id=abc123',
|
||||||
|
u'--format',
|
||||||
|
u'{{.Names}} {{.Label "container_name"}}'
|
||||||
|
], state[6]['args'])
|
||||||
|
self.assertEqual([
|
||||||
|
self.fake_tool_path,
|
||||||
|
u'inspect',
|
||||||
|
u'--type',
|
||||||
|
u'container',
|
||||||
|
u'--format',
|
||||||
|
u'exists',
|
||||||
|
u'db'
|
||||||
|
], state[7]['args'])
|
||||||
|
|
||||||
def assert_args_and_labels(self, expected_args, expected_labels, observed):
|
def assert_args_and_labels(self, expected_args, expected_labels, observed):
|
||||||
'''Assert the labels arguments separately to other arguments.
|
'''Assert the labels arguments separately to other arguments.
|
||||||
|
|
||||||
|
@ -141,6 +212,14 @@ class HookDockerCmdTest(common.RunScriptTest):
|
||||||
|
|
||||||
self.env.update({
|
self.env.update({
|
||||||
'TEST_RESPONSE': json.dumps([
|
'TEST_RESPONSE': json.dumps([
|
||||||
|
# inspect for image xxx
|
||||||
|
{},
|
||||||
|
# poll for image xxx
|
||||||
|
{},
|
||||||
|
# inspect for image yyy
|
||||||
|
{},
|
||||||
|
# poll for image yyy
|
||||||
|
{},
|
||||||
# ps for delete missing
|
# ps for delete missing
|
||||||
{},
|
{},
|
||||||
# ps for renames
|
# ps for renames
|
||||||
|
@ -174,114 +253,79 @@ class HookDockerCmdTest(common.RunScriptTest):
|
||||||
'deploy_status_code': 0
|
'deploy_status_code': 0
|
||||||
}, json.loads(stdout.decode('utf-8')))
|
}, json.loads(stdout.decode('utf-8')))
|
||||||
|
|
||||||
state = list(self.json_from_files(self.test_state_path, 9))
|
state = list(self.json_from_files(self.test_state_path, 13))
|
||||||
self.assertEqual([
|
self.check_basic_response(state)
|
||||||
self.fake_tool_path,
|
|
||||||
'ps',
|
|
||||||
'-a',
|
|
||||||
'--filter',
|
|
||||||
'label=managed_by=docker-cmd',
|
|
||||||
'--filter',
|
|
||||||
'label=config_id=abc123',
|
|
||||||
'--format',
|
|
||||||
'{{.Names}} {{.Label "container_name"}}'
|
|
||||||
], state[0]['args'])
|
|
||||||
self.assertEqual([
|
|
||||||
self.fake_tool_path,
|
|
||||||
'ps',
|
|
||||||
'-a',
|
|
||||||
'--filter',
|
|
||||||
'label=managed_by=docker-cmd',
|
|
||||||
'--format',
|
|
||||||
'{{.Names}} {{.Label "container_name"}}'
|
|
||||||
], state[1]['args'])
|
|
||||||
self.assertEqual([
|
|
||||||
self.fake_tool_path,
|
|
||||||
'ps',
|
|
||||||
'-a',
|
|
||||||
'--filter',
|
|
||||||
'label=managed_by=docker-cmd',
|
|
||||||
'--filter',
|
|
||||||
'label=config_id=abc123',
|
|
||||||
'--format',
|
|
||||||
'{{.Names}} {{.Label "container_name"}}'
|
|
||||||
], state[2]['args'])
|
|
||||||
self.assertEqual([
|
|
||||||
self.fake_tool_path,
|
|
||||||
'inspect',
|
|
||||||
'--format',
|
|
||||||
'exists',
|
|
||||||
'db'
|
|
||||||
], state[3]['args'])
|
|
||||||
self.assert_args_and_labels([
|
self.assert_args_and_labels([
|
||||||
self.fake_tool_path,
|
self.fake_tool_path,
|
||||||
'run',
|
u'run',
|
||||||
'--name',
|
u'--name',
|
||||||
'db',
|
u'db',
|
||||||
'--detach=true',
|
u'--detach=true',
|
||||||
'--env-file=env.file',
|
u'--env-file=env.file',
|
||||||
'--env=foo=bar',
|
u'--env=foo=bar',
|
||||||
'--privileged=false',
|
u'--privileged=false',
|
||||||
'xxx'
|
u'xxx'
|
||||||
''
|
u''
|
||||||
], [
|
], [
|
||||||
'deploy_stack_id=the_stack',
|
u'deploy_stack_id=the_stack',
|
||||||
'deploy_resource_name=the_deployment',
|
u'deploy_resource_name=the_deployment',
|
||||||
'config_id=abc123',
|
u'config_id=abc123',
|
||||||
'container_name=db',
|
u'container_name=db',
|
||||||
'managed_by=docker-cmd',
|
u'managed_by=docker-cmd',
|
||||||
], state[4]['args'])
|
|
||||||
self.assertEqual([
|
|
||||||
self.fake_tool_path,
|
|
||||||
'inspect',
|
|
||||||
'--format',
|
|
||||||
'exists',
|
|
||||||
'web',
|
|
||||||
], state[5]['args'])
|
|
||||||
self.assert_args_and_labels([
|
|
||||||
self.fake_tool_path,
|
|
||||||
'run',
|
|
||||||
'--name',
|
|
||||||
'web',
|
|
||||||
'--detach=true',
|
|
||||||
'--env-file=foo.env',
|
|
||||||
'--env-file=bar.conf',
|
|
||||||
'--env=KOLLA_CONFIG_STRATEGY=COPY_ALWAYS',
|
|
||||||
'--env=FOO=BAR',
|
|
||||||
'--net=host',
|
|
||||||
'--privileged=true',
|
|
||||||
'--restart=always',
|
|
||||||
'--user=root',
|
|
||||||
'--volume=/run:/run',
|
|
||||||
'--volume=db:/var/lib/db',
|
|
||||||
'yyy',
|
|
||||||
'/bin/webserver',
|
|
||||||
'start'
|
|
||||||
], [
|
|
||||||
'deploy_stack_id=the_stack',
|
|
||||||
'deploy_resource_name=the_deployment',
|
|
||||||
'config_id=abc123',
|
|
||||||
'container_name=web',
|
|
||||||
'managed_by=docker-cmd',
|
|
||||||
], state[6]['args'])
|
|
||||||
self.assertEqual([
|
|
||||||
self.fake_tool_path,
|
|
||||||
'ps',
|
|
||||||
'-a',
|
|
||||||
'--filter',
|
|
||||||
'label=container_name=web',
|
|
||||||
'--filter',
|
|
||||||
'label=config_id=abc123',
|
|
||||||
'--format',
|
|
||||||
'{{.Names}}',
|
|
||||||
], state[7]['args'])
|
|
||||||
self.assertEqual([
|
|
||||||
self.fake_tool_path,
|
|
||||||
'exec',
|
|
||||||
'web',
|
|
||||||
'/bin/ls',
|
|
||||||
'-l'
|
|
||||||
], state[8]['args'])
|
], state[8]['args'])
|
||||||
|
self.assertEqual([
|
||||||
|
self.fake_tool_path,
|
||||||
|
u'inspect',
|
||||||
|
u'--type',
|
||||||
|
u'container',
|
||||||
|
u'--format',
|
||||||
|
u'exists',
|
||||||
|
u'web',
|
||||||
|
], state[9]['args'])
|
||||||
|
self.assert_args_and_labels([
|
||||||
|
self.fake_tool_path,
|
||||||
|
u'run',
|
||||||
|
u'--name',
|
||||||
|
u'web',
|
||||||
|
u'--detach=true',
|
||||||
|
u'--env-file=foo.env',
|
||||||
|
u'--env-file=bar.conf',
|
||||||
|
u'--env=KOLLA_CONFIG_STRATEGY=COPY_ALWAYS',
|
||||||
|
u'--env=FOO=BAR',
|
||||||
|
u'--net=host',
|
||||||
|
u'--privileged=true',
|
||||||
|
u'--restart=always',
|
||||||
|
u'--user=root',
|
||||||
|
u'--volume=/run:/run',
|
||||||
|
u'--volume=db:/var/lib/db',
|
||||||
|
u'yyy',
|
||||||
|
u'/bin/webserver',
|
||||||
|
u'start'
|
||||||
|
], [
|
||||||
|
u'deploy_stack_id=the_stack',
|
||||||
|
u'deploy_resource_name=the_deployment',
|
||||||
|
u'config_id=abc123',
|
||||||
|
u'container_name=web',
|
||||||
|
u'managed_by=docker-cmd',
|
||||||
|
], state[10]['args'])
|
||||||
|
self.assertEqual([
|
||||||
|
self.fake_tool_path,
|
||||||
|
u'ps',
|
||||||
|
u'-a',
|
||||||
|
u'--filter',
|
||||||
|
u'label=container_name=web',
|
||||||
|
u'--filter',
|
||||||
|
u'label=config_id=abc123',
|
||||||
|
u'--format',
|
||||||
|
u'{{.Names}}',
|
||||||
|
], state[11]['args'])
|
||||||
|
self.assertEqual([
|
||||||
|
self.fake_tool_path,
|
||||||
|
u'exec',
|
||||||
|
u'web',
|
||||||
|
u'/bin/ls',
|
||||||
|
u'-l'
|
||||||
|
], state[12]['args'])
|
||||||
|
|
||||||
def test_hook_exit_codes(self):
|
def test_hook_exit_codes(self):
|
||||||
|
|
||||||
|
@ -365,6 +409,14 @@ class HookDockerCmdTest(common.RunScriptTest):
|
||||||
|
|
||||||
self.env.update({
|
self.env.update({
|
||||||
'TEST_RESPONSE': json.dumps([
|
'TEST_RESPONSE': json.dumps([
|
||||||
|
# inspect for image xxx
|
||||||
|
{},
|
||||||
|
# poll for image xxx
|
||||||
|
{},
|
||||||
|
# inspect for image yyy
|
||||||
|
{},
|
||||||
|
# poll for image yyy
|
||||||
|
{},
|
||||||
# ps for delete missing
|
# ps for delete missing
|
||||||
{},
|
{},
|
||||||
# ps for renames
|
# ps for renames
|
||||||
|
@ -400,118 +452,91 @@ class HookDockerCmdTest(common.RunScriptTest):
|
||||||
'deploy_status_code': 2
|
'deploy_status_code': 2
|
||||||
}, json.loads(stdout.decode('utf-8')))
|
}, json.loads(stdout.decode('utf-8')))
|
||||||
|
|
||||||
state = list(self.json_from_files(self.test_state_path, 9))
|
state = list(self.json_from_files(self.test_state_path, 13))
|
||||||
self.assertEqual([
|
self.check_basic_response(state)
|
||||||
self.fake_tool_path,
|
|
||||||
'ps',
|
|
||||||
'-a',
|
|
||||||
'--filter',
|
|
||||||
'label=managed_by=docker-cmd',
|
|
||||||
'--filter',
|
|
||||||
'label=config_id=abc123',
|
|
||||||
'--format',
|
|
||||||
'{{.Names}} {{.Label "container_name"}}'
|
|
||||||
], state[0]['args'])
|
|
||||||
self.assertEqual([
|
|
||||||
self.fake_tool_path,
|
|
||||||
'ps',
|
|
||||||
'-a',
|
|
||||||
'--filter',
|
|
||||||
'label=managed_by=docker-cmd',
|
|
||||||
'--format',
|
|
||||||
'{{.Names}} {{.Label "container_name"}}'
|
|
||||||
], state[1]['args'])
|
|
||||||
self.assertEqual([
|
|
||||||
self.fake_tool_path,
|
|
||||||
'ps',
|
|
||||||
'-a',
|
|
||||||
'--filter',
|
|
||||||
'label=managed_by=docker-cmd',
|
|
||||||
'--filter',
|
|
||||||
'label=config_id=abc123',
|
|
||||||
'--format',
|
|
||||||
'{{.Names}} {{.Label "container_name"}}'
|
|
||||||
], state[2]['args'])
|
|
||||||
self.assertEqual([
|
|
||||||
self.fake_tool_path,
|
|
||||||
'inspect',
|
|
||||||
'--format',
|
|
||||||
'exists',
|
|
||||||
'db'
|
|
||||||
], state[3]['args'])
|
|
||||||
self.assert_args_and_labels([
|
self.assert_args_and_labels([
|
||||||
self.fake_tool_path,
|
self.fake_tool_path,
|
||||||
'run',
|
u'run',
|
||||||
'--name',
|
u'--name',
|
||||||
'db',
|
u'db',
|
||||||
'--detach=true',
|
u'--detach=true',
|
||||||
'--env-file=env.file',
|
u'--env-file=env.file',
|
||||||
'--env=foo=bar',
|
u'--env=foo=bar',
|
||||||
'--privileged=false',
|
u'--privileged=false',
|
||||||
'xxx'
|
u'xxx'
|
||||||
''
|
u''
|
||||||
], [
|
], [
|
||||||
'deploy_stack_id=the_stack',
|
u'deploy_stack_id=the_stack',
|
||||||
'deploy_resource_name=the_deployment',
|
u'deploy_resource_name=the_deployment',
|
||||||
'config_id=abc123',
|
u'config_id=abc123',
|
||||||
'container_name=db',
|
u'container_name=db',
|
||||||
'managed_by=docker-cmd',
|
u'managed_by=docker-cmd',
|
||||||
], state[4]['args'])
|
|
||||||
self.assertEqual([
|
|
||||||
self.fake_tool_path,
|
|
||||||
'inspect',
|
|
||||||
'--format',
|
|
||||||
'exists',
|
|
||||||
'web',
|
|
||||||
], state[5]['args'])
|
|
||||||
self.assert_args_and_labels([
|
|
||||||
self.fake_tool_path,
|
|
||||||
'run',
|
|
||||||
'--name',
|
|
||||||
'web',
|
|
||||||
'--detach=true',
|
|
||||||
'--env-file=foo.env',
|
|
||||||
'--env-file=bar.conf',
|
|
||||||
'--env=KOLLA_CONFIG_STRATEGY=COPY_ALWAYS',
|
|
||||||
'--env=FOO=BAR',
|
|
||||||
'--net=host',
|
|
||||||
'--privileged=true',
|
|
||||||
'--restart=always',
|
|
||||||
'--user=root',
|
|
||||||
'--volume=/run:/run',
|
|
||||||
'--volume=db:/var/lib/db',
|
|
||||||
'yyy',
|
|
||||||
'/bin/webserver',
|
|
||||||
'start'
|
|
||||||
], [
|
|
||||||
'deploy_stack_id=the_stack',
|
|
||||||
'deploy_resource_name=the_deployment',
|
|
||||||
'config_id=abc123',
|
|
||||||
'container_name=web',
|
|
||||||
'managed_by=docker-cmd',
|
|
||||||
], state[6]['args'])
|
|
||||||
self.assertEqual([
|
|
||||||
self.fake_tool_path,
|
|
||||||
'ps',
|
|
||||||
'-a',
|
|
||||||
'--filter',
|
|
||||||
'label=container_name=web',
|
|
||||||
'--filter',
|
|
||||||
'label=config_id=abc123',
|
|
||||||
'--format',
|
|
||||||
'{{.Names}}',
|
|
||||||
], state[7]['args'])
|
|
||||||
self.assertEqual([
|
|
||||||
self.fake_tool_path,
|
|
||||||
'exec',
|
|
||||||
'web',
|
|
||||||
'/bin/ls',
|
|
||||||
'-l'
|
|
||||||
], state[8]['args'])
|
], state[8]['args'])
|
||||||
|
self.assertEqual([
|
||||||
|
self.fake_tool_path,
|
||||||
|
u'inspect',
|
||||||
|
u'--type',
|
||||||
|
u'container',
|
||||||
|
u'--format',
|
||||||
|
u'exists',
|
||||||
|
u'web',
|
||||||
|
], state[9]['args'])
|
||||||
|
self.assert_args_and_labels([
|
||||||
|
self.fake_tool_path,
|
||||||
|
u'run',
|
||||||
|
u'--name',
|
||||||
|
u'web',
|
||||||
|
u'--detach=true',
|
||||||
|
u'--env-file=foo.env',
|
||||||
|
u'--env-file=bar.conf',
|
||||||
|
u'--env=KOLLA_CONFIG_STRATEGY=COPY_ALWAYS',
|
||||||
|
u'--env=FOO=BAR',
|
||||||
|
u'--net=host',
|
||||||
|
u'--privileged=true',
|
||||||
|
u'--restart=always',
|
||||||
|
u'--user=root',
|
||||||
|
u'--volume=/run:/run',
|
||||||
|
u'--volume=db:/var/lib/db',
|
||||||
|
u'yyy',
|
||||||
|
u'/bin/webserver',
|
||||||
|
u'start'
|
||||||
|
], [
|
||||||
|
u'deploy_stack_id=the_stack',
|
||||||
|
u'deploy_resource_name=the_deployment',
|
||||||
|
u'config_id=abc123',
|
||||||
|
u'container_name=web',
|
||||||
|
u'managed_by=docker-cmd',
|
||||||
|
], state[10]['args'])
|
||||||
|
self.assertEqual([
|
||||||
|
self.fake_tool_path,
|
||||||
|
u'ps',
|
||||||
|
u'-a',
|
||||||
|
u'--filter',
|
||||||
|
u'label=container_name=web',
|
||||||
|
u'--filter',
|
||||||
|
u'label=config_id=abc123',
|
||||||
|
u'--format',
|
||||||
|
u'{{.Names}}',
|
||||||
|
], state[11]['args'])
|
||||||
|
self.assertEqual([
|
||||||
|
self.fake_tool_path,
|
||||||
|
u'exec',
|
||||||
|
u'web',
|
||||||
|
u'/bin/ls',
|
||||||
|
u'-l'
|
||||||
|
], state[12]['args'])
|
||||||
|
|
||||||
def test_hook_unique_names(self):
|
def test_hook_unique_names(self):
|
||||||
self.env.update({
|
self.env.update({
|
||||||
'TEST_RESPONSE': json.dumps([
|
'TEST_RESPONSE': json.dumps([
|
||||||
|
# inspect for image xxx
|
||||||
|
{},
|
||||||
|
# poll for image xxx
|
||||||
|
{},
|
||||||
|
# inspect for image yyy
|
||||||
|
{},
|
||||||
|
# poll for image yyy
|
||||||
|
{},
|
||||||
# ps for delete missing in this config id
|
# ps for delete missing in this config id
|
||||||
{},
|
{},
|
||||||
# ps for renames
|
# ps for renames
|
||||||
|
@ -546,139 +571,104 @@ class HookDockerCmdTest(common.RunScriptTest):
|
||||||
|
|
||||||
self.assertEqual(0, returncode, stderr)
|
self.assertEqual(0, returncode, stderr)
|
||||||
|
|
||||||
self.assertEqual({
|
state = list(self.json_from_files(self.test_state_path, 15))
|
||||||
'deploy_stdout': '',
|
dd = []
|
||||||
'deploy_stderr': 'Creating db...\n'
|
for i in state:
|
||||||
'Creating web...\n'
|
dd.append(i['args'])
|
||||||
'one.txt\ntwo.txt\nthree.txt',
|
|
||||||
'deploy_status_code': 0
|
|
||||||
}, json.loads(stdout.decode('utf-8')))
|
|
||||||
|
|
||||||
state = list(self.json_from_files(self.test_state_path, 11))
|
db_container_name = state[8]['args'][6]
|
||||||
db_container_name = state[4]['args'][4]
|
web_container_name = state[11]['args'][6]
|
||||||
web_container_name = state[7]['args'][4]
|
|
||||||
self.assertRegex(db_container_name, 'db-[0-9a-z]{8}')
|
self.assertRegex(db_container_name, 'db-[0-9a-z]{8}')
|
||||||
self.assertRegex(web_container_name, 'web-[0-9a-z]{8}')
|
self.assertRegex(web_container_name, 'web-[0-9a-z]{8}')
|
||||||
|
self.check_basic_response(state)
|
||||||
self.assertEqual([
|
self.assertEqual([
|
||||||
self.fake_tool_path,
|
self.fake_tool_path,
|
||||||
'ps',
|
u'inspect',
|
||||||
'-a',
|
u'--type',
|
||||||
'--filter',
|
u'container',
|
||||||
'label=managed_by=docker-cmd',
|
u'--format',
|
||||||
'--filter',
|
u'exists',
|
||||||
'label=config_id=abc123',
|
|
||||||
'--format',
|
|
||||||
'{{.Names}} {{.Label "container_name"}}'
|
|
||||||
], state[0]['args'])
|
|
||||||
self.assertEqual([
|
|
||||||
self.fake_tool_path,
|
|
||||||
'ps',
|
|
||||||
'-a',
|
|
||||||
'--filter',
|
|
||||||
'label=managed_by=docker-cmd',
|
|
||||||
'--format',
|
|
||||||
'{{.Names}} {{.Label "container_name"}}'
|
|
||||||
], state[1]['args'])
|
|
||||||
self.assertEqual([
|
|
||||||
self.fake_tool_path,
|
|
||||||
'ps',
|
|
||||||
'-a',
|
|
||||||
'--filter',
|
|
||||||
'label=managed_by=docker-cmd',
|
|
||||||
'--filter',
|
|
||||||
'label=config_id=abc123',
|
|
||||||
'--format',
|
|
||||||
'{{.Names}} {{.Label "container_name"}}'
|
|
||||||
], state[2]['args'])
|
|
||||||
self.assertEqual([
|
|
||||||
self.fake_tool_path,
|
|
||||||
'inspect',
|
|
||||||
'--format',
|
|
||||||
'exists',
|
|
||||||
'db'
|
|
||||||
], state[3]['args'])
|
|
||||||
self.assertEqual([
|
|
||||||
self.fake_tool_path,
|
|
||||||
'inspect',
|
|
||||||
'--format',
|
|
||||||
'exists',
|
|
||||||
db_container_name,
|
db_container_name,
|
||||||
], state[4]['args'])
|
|
||||||
self.assert_args_and_labels([
|
|
||||||
self.fake_tool_path,
|
|
||||||
'run',
|
|
||||||
'--name',
|
|
||||||
db_container_name,
|
|
||||||
'--detach=true',
|
|
||||||
'--env-file=env.file',
|
|
||||||
'--env=foo=bar',
|
|
||||||
'--privileged=false',
|
|
||||||
'xxx'
|
|
||||||
], [
|
|
||||||
'deploy_stack_id=the_stack',
|
|
||||||
'deploy_resource_name=the_deployment',
|
|
||||||
'config_id=abc123',
|
|
||||||
'container_name=db',
|
|
||||||
'managed_by=docker-cmd',
|
|
||||||
], state[5]['args'])
|
|
||||||
self.assertEqual([
|
|
||||||
self.fake_tool_path,
|
|
||||||
'inspect',
|
|
||||||
'--format',
|
|
||||||
'exists',
|
|
||||||
'web',
|
|
||||||
], state[6]['args'])
|
|
||||||
self.assertEqual([
|
|
||||||
self.fake_tool_path,
|
|
||||||
'inspect',
|
|
||||||
'--format',
|
|
||||||
'exists',
|
|
||||||
web_container_name,
|
|
||||||
], state[7]['args'])
|
|
||||||
self.assert_args_and_labels([
|
|
||||||
self.fake_tool_path,
|
|
||||||
'run',
|
|
||||||
'--name',
|
|
||||||
web_container_name,
|
|
||||||
'--detach=true',
|
|
||||||
'--env-file=foo.env',
|
|
||||||
'--env-file=bar.conf',
|
|
||||||
'--env=KOLLA_CONFIG_STRATEGY=COPY_ALWAYS',
|
|
||||||
'--env=FOO=BAR',
|
|
||||||
'--net=host',
|
|
||||||
'--privileged=true',
|
|
||||||
'--restart=always',
|
|
||||||
'--user=root',
|
|
||||||
'--volume=/run:/run',
|
|
||||||
'--volume=db:/var/lib/db',
|
|
||||||
'yyy',
|
|
||||||
'/bin/webserver',
|
|
||||||
'start'
|
|
||||||
], [
|
|
||||||
'deploy_stack_id=the_stack',
|
|
||||||
'deploy_resource_name=the_deployment',
|
|
||||||
'config_id=abc123',
|
|
||||||
'container_name=web',
|
|
||||||
'managed_by=docker-cmd',
|
|
||||||
], state[8]['args'])
|
], state[8]['args'])
|
||||||
self.assertEqual([
|
self.assert_args_and_labels([
|
||||||
self.fake_tool_path,
|
self.fake_tool_path,
|
||||||
'ps',
|
u'run',
|
||||||
'-a',
|
u'--name',
|
||||||
'--filter',
|
db_container_name,
|
||||||
'label=container_name=web',
|
u'--detach=true',
|
||||||
'--filter',
|
u'--env-file=env.file',
|
||||||
'label=config_id=abc123',
|
u'--env=foo=bar',
|
||||||
'--format',
|
u'--privileged=false',
|
||||||
'{{.Names}}',
|
u'xxx'
|
||||||
|
], [
|
||||||
|
u'deploy_stack_id=the_stack',
|
||||||
|
u'deploy_resource_name=the_deployment',
|
||||||
|
u'config_id=abc123',
|
||||||
|
u'container_name=db',
|
||||||
|
u'managed_by=docker-cmd',
|
||||||
], state[9]['args'])
|
], state[9]['args'])
|
||||||
self.assertEqual([
|
self.assertEqual([
|
||||||
self.fake_tool_path,
|
self.fake_tool_path,
|
||||||
'exec',
|
u'inspect',
|
||||||
'web-asdf1234',
|
u'--type',
|
||||||
'/bin/ls',
|
u'container',
|
||||||
'-l'
|
u'--format',
|
||||||
|
u'exists',
|
||||||
|
u'web',
|
||||||
], state[10]['args'])
|
], state[10]['args'])
|
||||||
|
self.assertEqual([
|
||||||
|
self.fake_tool_path,
|
||||||
|
u'inspect',
|
||||||
|
u'--type',
|
||||||
|
u'container',
|
||||||
|
u'--format',
|
||||||
|
u'exists',
|
||||||
|
web_container_name,
|
||||||
|
], state[11]['args'])
|
||||||
|
self.assert_args_and_labels([
|
||||||
|
self.fake_tool_path,
|
||||||
|
u'run',
|
||||||
|
u'--name',
|
||||||
|
web_container_name,
|
||||||
|
u'--detach=true',
|
||||||
|
u'--env-file=foo.env',
|
||||||
|
u'--env-file=bar.conf',
|
||||||
|
u'--env=KOLLA_CONFIG_STRATEGY=COPY_ALWAYS',
|
||||||
|
u'--env=FOO=BAR',
|
||||||
|
u'--net=host',
|
||||||
|
u'--privileged=true',
|
||||||
|
u'--restart=always',
|
||||||
|
u'--user=root',
|
||||||
|
u'--volume=/run:/run',
|
||||||
|
u'--volume=db:/var/lib/db',
|
||||||
|
u'yyy',
|
||||||
|
u'/bin/webserver',
|
||||||
|
u'start'
|
||||||
|
], [
|
||||||
|
u'deploy_stack_id=the_stack',
|
||||||
|
u'deploy_resource_name=the_deployment',
|
||||||
|
u'config_id=abc123',
|
||||||
|
u'container_name=web',
|
||||||
|
u'managed_by=docker-cmd',
|
||||||
|
], state[12]['args'])
|
||||||
|
self.assertEqual([
|
||||||
|
self.fake_tool_path,
|
||||||
|
u'ps',
|
||||||
|
u'-a',
|
||||||
|
u'--filter',
|
||||||
|
u'label=container_name=web',
|
||||||
|
u'--filter',
|
||||||
|
u'label=config_id=abc123',
|
||||||
|
u'--format',
|
||||||
|
u'{{.Names}}',
|
||||||
|
], state[13]['args'])
|
||||||
|
self.assertEqual([
|
||||||
|
self.fake_tool_path,
|
||||||
|
u'exec',
|
||||||
|
u'web-asdf1234',
|
||||||
|
u'/bin/ls',
|
||||||
|
u'-l'
|
||||||
|
], state[14]['args'])
|
||||||
|
|
||||||
def test_cleanup_deleted(self):
|
def test_cleanup_deleted(self):
|
||||||
self.env.update({
|
self.env.update({
|
||||||
|
|
Loading…
Reference in New Issue