@wraps(func)
def _default_image():
if not args.image:
- args.image = DEFAULT_IMAGE
+ if 'name' in args and args.name:
+ type_ = args.name.split('.', 1)[0]
+ if type_ in Monitoring.components:
+ args.image = Monitoring.components[type_]['image']
+ if not args.image:
+ args.image = os.environ.get('CEPHADM_IMAGE')
+ if not args.image:
+ args.image = DEFAULT_IMAGE
return func()
return _default_image
return uid, gid
+@default_image
def command_deploy():
# type: () -> None
(daemon_type, daemon_id) = args.name.split('.', 1)
def _parse_args(av):
parser = _get_parser()
- args = parser.parse_args(av)
-
- if not args.image:
- if 'name' in args and args.name:
- type_ = args.name.split('.', 1)[0]
- if type_ in Monitoring.components:
- args.image = Monitoring.components[type_]['image']
- if not args.image:
- args.image = os.environ.get('CEPHADM_IMAGE')
-
- return args
+ return parser.parse_args(av)
if __name__ == "__main__":
# allow argv to be injected
args = cd._parse_args(['--image', 'foo', 'version'])
assert args.image == 'foo'
- @mock.patch.dict(os.environ,{'CEPHADM_IMAGE':'bar'})
- def test__get_parser_image_with_envvar(self):
- args = cd._parse_args(['version'])
- assert args.image == 'bar'
-
def test_CustomValidation(self):
assert cd._parse_args(['deploy', '--name', 'mon.a', '--fsid', 'fsid'])