Added informational output when installing packages.
This commit is contained in:
@@ -299,6 +299,21 @@ def _install(package_name, options_file, app_id, cli, app):
|
||||
|
||||
if app:
|
||||
# Install in Marathon
|
||||
version_map, version_error = pkg.software_versions()
|
||||
|
||||
if version_error is not None:
|
||||
emitter.publish(version_error)
|
||||
return 1
|
||||
|
||||
sw_version = version_map.get(pkg_version, '?')
|
||||
|
||||
message = 'Installing package [{}] version [{}]'.format(
|
||||
pkg.name(), sw_version)
|
||||
if app_id is not None:
|
||||
message += ' with app id [{}]'.format(app_id)
|
||||
|
||||
emitter.publish(message)
|
||||
|
||||
init_client = marathon.create_client(config)
|
||||
|
||||
install_error = package.install_app(
|
||||
@@ -313,6 +328,9 @@ def _install(package_name, options_file, app_id, cli, app):
|
||||
|
||||
if cli and pkg.is_command_defined(pkg_version):
|
||||
# Install subcommand
|
||||
emitter.publish('Installing CLI subcommand for package [{}]'.format(
|
||||
pkg.name()))
|
||||
|
||||
err = package.install_subcommand(pkg, pkg_version, options_json)
|
||||
if err is not None:
|
||||
emitter.publish(err)
|
||||
|
||||
3
cli/tests/data/package/helloworld-config.json
Normal file
3
cli/tests/data/package/helloworld-config.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"helloworld/secret": "3XPSCDED52PZ"
|
||||
}
|
||||
@@ -135,7 +135,7 @@ def test_bad_install():
|
||||
'--options=tests/data/package/mesos-dns-config-bad.json'])
|
||||
|
||||
assert returncode == 1
|
||||
assert stdout == b''
|
||||
assert stdout == b'Installing package [mesos-dns] version [alpha]\n'
|
||||
|
||||
assert stderr == b"""\
|
||||
Error: 'mesos-dns/config-url' is a required property
|
||||
@@ -156,7 +156,7 @@ def test_install():
|
||||
'--options=tests/data/package/mesos-dns-config.json'])
|
||||
|
||||
assert returncode == 0
|
||||
assert stdout == b''
|
||||
assert stdout == b'Installing package [mesos-dns] version [alpha]\n'
|
||||
assert stderr == b''
|
||||
|
||||
|
||||
@@ -202,7 +202,9 @@ def test_install_with_id():
|
||||
'--app-id=dns-1'])
|
||||
|
||||
assert returncode == 0
|
||||
assert stdout == b''
|
||||
assert stdout == b"""Installing package [mesos-dns] version [alpha] \
|
||||
with app id [dns-1]
|
||||
"""
|
||||
assert stderr == b''
|
||||
|
||||
returncode, stdout, stderr = exec_command(
|
||||
@@ -214,7 +216,8 @@ def test_install_with_id():
|
||||
'--app-id=dns-2'])
|
||||
|
||||
assert returncode == 0
|
||||
assert stdout == b''
|
||||
assert stdout == b"""Installing package [mesos-dns] version [alpha] \
|
||||
with app id [dns-2]\n"""
|
||||
assert stderr == b''
|
||||
|
||||
|
||||
@@ -284,7 +287,7 @@ def test_list_installed():
|
||||
'--options=tests/data/package/mesos-dns-config.json'])
|
||||
|
||||
assert returncode == 0
|
||||
assert stdout == b''
|
||||
assert stdout == b'Installing package [mesos-dns] version [alpha]\n'
|
||||
assert stderr == b''
|
||||
|
||||
expected_output = b"""\
|
||||
|
||||
Reference in New Issue
Block a user