diff --git a/cli/dcoscli/config/main.py b/cli/dcoscli/config/main.py index dc72cc6..66d1eed 100644 --- a/cli/dcoscli/config/main.py +++ b/cli/dcoscli/config/main.py @@ -94,6 +94,10 @@ def _set(name, value): :rtype: int """ + if name == "package.sources": + notice = ("This config property has been deprecated. " + "Please add your repositories with `dcos package repo add`") + return DCOSException(notice) toml_config = config.set_val(name, value) if (name == 'core.reporting' is True) or (name == 'core.email'): analytics.segment_identify(toml_config) diff --git a/cli/dcoscli/data/help/package.txt b/cli/dcoscli/data/help/package.txt index 7a39032..0bee0fd 100644 --- a/cli/dcoscli/data/help/package.txt +++ b/cli/dcoscli/data/help/package.txt @@ -21,6 +21,7 @@ Usage: dcos package repo list [--json] dcos package uninstall [--cli | [--app --app-id= --all]] + dcos package update Options: --all diff --git a/cli/dcoscli/package/main.py b/cli/dcoscli/package/main.py index 02b3248..96e02c9 100644 --- a/cli/dcoscli/package/main.py +++ b/cli/dcoscli/package/main.py @@ -53,6 +53,11 @@ def _cmds(): """ return [ + cmds.Command( + hierarchy=['package', 'update'], + arg_keys=[], + function=_update), + cmds.Command( hierarchy=['package', 'repo', 'list'], arg_keys=['--json'], @@ -138,6 +143,19 @@ def _info(): return 0 +def _update(): + """ + :returns: Deprecation notice + :rtype: str + """ + + _get_package_manager() + notice = ("This command has been deprecated. " + "Repositories will be automatically updated after they are added" + " by `dcos package repo add`") + raise DCOSException(notice) + + def _list_repos(is_json): """List configured package repositories. diff --git a/cli/tests/data/help/package.txt b/cli/tests/data/help/package.txt index 7a39032..0bee0fd 100644 --- a/cli/tests/data/help/package.txt +++ b/cli/tests/data/help/package.txt @@ -21,6 +21,7 @@ Usage: dcos package repo list [--json] dcos package uninstall [--cli | [--app --app-id= --all]] + dcos package update Options: --all diff --git a/cli/tests/integrations/test_config.py b/cli/tests/integrations/test_config.py index c83aa8c..403e88d 100644 --- a/cli/tests/integrations/test_config.py +++ b/cli/tests/integrations/test_config.py @@ -102,6 +102,14 @@ def test_get_top_property(env): returncode=1) +def test_set_package_sources_property(env): + notice = (b"This config property has been deprecated. " + b"Please add your repositories with `dcos package repo add`\n") + assert_command(['dcos', 'config', 'set', 'package.sources', '[\"foo\"]'], + stderr=notice, + returncode=1) + + def test_set_existing_string_property(env): config_set('core.dcos_url', 'http://dcos.snakeoil.mesosphere.com:5081', env) diff --git a/cli/tests/integrations/test_package.py b/cli/tests/integrations/test_package.py index 3436545..2646219 100644 --- a/cli/tests/integrations/test_package.py +++ b/cli/tests/integrations/test_package.py @@ -52,6 +52,15 @@ def test_version(): stdout=b'dcos-package version SNAPSHOT\n') +def test_update_deprecation_notice(): + notice = (b"This command has been deprecated. " + b"Repositories will be automatically updated after they are" + b" added by `dcos package repo add`\n") + assert_command(['dcos', 'package', 'update'], + stderr=notice, + returncode=1) + + def test_repo_list(): repo_list = b"""\ test4: https://github.com/mesosphere/universe/archive/cli-test-4.zip