Use required_if in kolla_docker.py
Replace the original code with required_if when Ansible 2.0 lands Change-Id: Ib2e19794bbe804470a880253d5870254041358c8
This commit is contained in:
parent
0663cce822
commit
42e7b747e4
@ -712,13 +712,24 @@ def generate_module():
|
|||||||
volumes=dict(required=False, type='list'),
|
volumes=dict(required=False, type='list'),
|
||||||
volumes_from=dict(required=False, type='list')
|
volumes_from=dict(required=False, type='list')
|
||||||
)
|
)
|
||||||
required_together = [
|
required_if = [
|
||||||
['tls_cert', 'tls_key']
|
['action', 'pull_image', ['image']],
|
||||||
|
['action', 'start_container', ['image', 'name']],
|
||||||
|
['action', 'compare_container', ['name']],
|
||||||
|
['action', 'compare_image', ['name']],
|
||||||
|
['action', 'create_volume', ['name']],
|
||||||
|
['action', 'get_container_env', ['name']],
|
||||||
|
['action', 'get_container_state', ['name']],
|
||||||
|
['action', 'recreate_or_restart_container', ['name']],
|
||||||
|
['action', 'remove_container', ['name']],
|
||||||
|
['action', 'remove_volume', ['name']],
|
||||||
|
['action', 'restart_container', ['name']],
|
||||||
|
['action', 'stop_container', ['name']]
|
||||||
]
|
]
|
||||||
module = AnsibleModule(
|
module = AnsibleModule(
|
||||||
argument_spec=argument_spec,
|
argument_spec=argument_spec,
|
||||||
required_together=required_together,
|
required_if=required_if,
|
||||||
bypass_checks=True
|
bypass_checks=False
|
||||||
)
|
)
|
||||||
|
|
||||||
new_args = module.params.pop('common_options', dict())
|
new_args = module.params.pop('common_options', dict())
|
||||||
@ -740,21 +751,6 @@ def generate_module():
|
|||||||
def main():
|
def main():
|
||||||
module = generate_module()
|
module = generate_module()
|
||||||
|
|
||||||
# TODO(SamYaple): Replace with required_if when Ansible 2.0 lands
|
|
||||||
if (module.params.get('action') in ['pull_image', 'start_container']
|
|
||||||
and not module.params.get('image')):
|
|
||||||
module.fail_json(
|
|
||||||
msg="missing required arguments: image",
|
|
||||||
failed=True
|
|
||||||
)
|
|
||||||
# TODO(SamYaple): Replace with required_if when Ansible 2.0 lands
|
|
||||||
if (module.params.get('action') != 'pull_image'
|
|
||||||
and not module.params.get('name')):
|
|
||||||
module.fail_json(
|
|
||||||
msg="missing required arguments: name",
|
|
||||||
failed=True
|
|
||||||
)
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
dw = DockerWorker(module)
|
dw = DockerWorker(module)
|
||||||
# TODO(inc0): We keep it bool to have ansible deal with consistent
|
# TODO(inc0): We keep it bool to have ansible deal with consistent
|
||||||
|
@ -80,16 +80,27 @@ class ModuleArgsTest(base.BaseTestCase):
|
|||||||
volumes=dict(required=False, type='list'),
|
volumes=dict(required=False, type='list'),
|
||||||
volumes_from=dict(required=False, type='list')
|
volumes_from=dict(required=False, type='list')
|
||||||
)
|
)
|
||||||
required_together = [
|
required_if = [
|
||||||
['tls_cert', 'tls_key']
|
['action', 'pull_image', ['image']],
|
||||||
|
['action', 'start_container', ['image', 'name']],
|
||||||
|
['action', 'compare_container', ['name']],
|
||||||
|
['action', 'compare_image', ['name']],
|
||||||
|
['action', 'create_volume', ['name']],
|
||||||
|
['action', 'get_container_env', ['name']],
|
||||||
|
['action', 'get_container_state', ['name']],
|
||||||
|
['action', 'recreate_or_restart_container', ['name']],
|
||||||
|
['action', 'remove_container', ['name']],
|
||||||
|
['action', 'remove_volume', ['name']],
|
||||||
|
['action', 'restart_container', ['name']],
|
||||||
|
['action', 'stop_container', ['name']]
|
||||||
]
|
]
|
||||||
|
|
||||||
kd.AnsibleModule = mock.MagicMock()
|
kd.AnsibleModule = mock.MagicMock()
|
||||||
kd.generate_module()
|
kd.generate_module()
|
||||||
kd.AnsibleModule.assert_called_with(
|
kd.AnsibleModule.assert_called_with(
|
||||||
argument_spec=argument_spec,
|
argument_spec=argument_spec,
|
||||||
required_together=required_together,
|
required_if=required_if,
|
||||||
bypass_checks=True
|
bypass_checks=False
|
||||||
)
|
)
|
||||||
|
|
||||||
FAKE_DATA = {
|
FAKE_DATA = {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user