Added informational output when installing packages.

This commit is contained in:
Connor Doyle
2015-04-03 15:34:50 -07:00
parent 9159e0f579
commit 62d3db0564
3 changed files with 29 additions and 5 deletions

View File

@@ -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)

View File

@@ -0,0 +1,3 @@
{
"helloworld/secret": "3XPSCDED52PZ"
}

View File

@@ -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"""\