Fixes:
- improved SSH session-handling
Features:
- support for DC/OS 1.11 (
@dcos_1_11PyTest marker)
Fixes:
- don't flake if a connection error occurs during an install
Features:
- new function to retrieve available versions of packages
get_package_versions()
- bumped
dcoscliversion to0.5.7
Fixes:
- handle
skipstate when printing output
Features:
- new leader-based run functions
run_command_on_leader()run_command_on_marathon_leader()
- log the resulting package version when installing from
latest
Features:
- added API functions to query for Docker version
docker_version()docker_client_version()docker_server_version()
- added classifiers to the setup to specify the programming langauge to be used with pipenv
Fixes:
- removed staticly-set assertions in
test_get_reserved_resources()
Features:
- all CLI options now have the option to be specified as environmental
variables, eg.
SHAKEDOWN_DCOS_URL,SHAKDOWN_USER, etc.
Fixes:
- CLI subcommand (non-app) packages now treated the same as app/service
packages
install_package()anduninstall_package()won't throw exceptionspackage_installed()returnsTruefor non-app packages
Features:
- bumped
dcoscliversion to0.5.5
Features:
- bumped
dcoscliversion to0.5.4 - better attach error handling
- move from pip to pip3
Features:
- bumped
dcoscliversion to0.5.3
Fixes:
- use
timeout_secininstall_package() - return service name in
_get_service_name() wait_for()should use>=, not>
Fixes:
- properly timeout with
time_wait()inwait_for_task_completion() time_waitwas not being imported indcos/master.py- use
get_tasks()intask_completed()
Features:
- new methods for deploying Docker credentials
create_docker_credentials_file()distribute_docker_credentials_to_private_agents()prefetch_docker_image_on_private_agents()
- added ability to query reservations
get_resources_by_role()
Fixes:
- removed redundant filter in
get_task()
Fixes:
- fix partitioning bug (QUALITY-1432), use new network APIs rather than SSH-based command execution
Features:
- new security methods:
ensure_resource()add_user(),get_user(),remove_user()set_user_permission()add_group(),get_group(), andremove_group()add_user_to_group(),remove_user_from_group()
- new security contexts:
credentials()no_user()new_dcos_user()dcos_user()
wait_while_exceptions()spinner- new contexts available for Marathon-on-Marathon (MoM) deployments
mom_version()mom_version_less_than()marathon_on_marathon()
Fixes:
- Shakedown now functions without authentication options on clusters not requiring authentication
Features:
wait_forwaits for service endpoints to be debounced successfully in a specified number of masters in multi-master setups- new PyTest decorators methods for determining Shakedown versions
shakedown_canonical_version()shakedown_version_less_than()
- new methods for determining leaders in multi-master setups
marathon_leader_ip()master_leader_ip()
Fixes:
- fixed lack zookeeper-related methods failing in methods running commands on masters
- fixup for
kill_process_from_pid_file_on_host()which only killed processes on master
Features:
- ability to start a HTTP server running on the master via
start_master_http_service()method, along with an associatedmaster_http_service()context - new methods for killing processes based on pidfiles
kill_process_from_pid_file_on_host()kill_process_from_pid_file_on_master()
Fixes:
- include
partition_cmdfile in package distribution - fixup for
test_install_package_with_subcommandtest - corrected
dcos_agents_state()example usage docs wait_fornow aborts when encountering exception chains
Fixes:
@private_agents()and@public_agents()bug in1.3.0
Features:
--stdout-inlinenow passes the--capture=none(-s) flag to PyTest, enabling streaming inline test output@private_agents()and@public_agents()PyTest decorators to replace old explicitly-named (eg.@private_agent_2) decoratorswait_for_mesos_endpoint()method waits for a specific endpoint to returnHTTP 200- new ZooKeeper method
get_zk_node_children() - new master methods
get_all_masters()andget_all_master_ips()for clusters deployed with multiple master nodes
Fixes:
- updated
test_dcos_commandtest to work on new release of CoreOS
Features:
- stringified
wait_forpredicate info for better debugging and understanding of which predicate and which values
Fixes:
- trailing slash added for
/service/{}/calls - turn off noisy option in
wait_for - documented how to use
DCOS_CONFIG_ENVfor parallel execution wait_forlog previously ignored exception during waiting when noisy enabled
Features:
- DC/OS Enterprise Edition version-checking
ee_version()method,@strict,@permissive, and@disabledPyTest security mode markers
- bumped
dcoscliversion to0.4.16
Features:
- ability to skip tests based on required resources, DC/OS versioning
- eg.
@pytest.mark.skipif('required_cpus(2)')and@dcos_1_9
- eg.
- support for deleting leftover data following persistent service
uninstall (ie.a
janitor.pyshim)delete_persistent_data()destroy_volume()/destroy_volumes()unreserve_resources()/unreserve_resources()
- command methods now allow disabling output and/or raising on error
- marathon methods add
delete_app/delete_app_waitfor a specific app - package install methods support waiting for service tasks to start running, additional logging
- package uninstall methods add support for deleting persistent volumes after uninstall
- packge repo methods support waiting for add/remove repo to complete, check for a changed package version
- service method function for deleting persistent volumes
- service method support waiting for task rollout to complete
- service method verifying that tasks are not changed
Fixes:
- marathon methods fix unused
app_idwhen checking deployment hello-worldpackage (previouslyriak) now used to testtest_install_package_with_subcommand()- spinner-related fixes:
- while a spinner is polling, print the spin time and any ignored exceptions by default
- don't drop the original stack when rethrowing exceptions
- return the result of the spin at the end of
wait_for, allowing passthrough of the predicate return value
Features:
- split
requirements.txtandrequirements-edge.txtfor building againstdcoscli:master
Fixes:
_wait()functions now wait on deployment, not health- uninstalls now wait for Mesos task removal
- tests fixed for package installation and waiting
- improved error messaging when unable to connect to a host
Features:
- new cluster functions
get_resources,resources_needed,get_used_resources,get_unreserved_resources,get_reserved_resources, andavailable_resources
Features:
- bumped
dcoscliversion to0.4.15
Fixes:
timeout_secpassed through totime_wait()method
Features:
- SSH user (default
core) can be specified on the command line with--ssh-user - new ZooKeeper
get_zk_node_datafunction`
Fixes:
test_install_package_with_json_optionstest is set toxfailwhile it is being diagnosed
Features:
- test timeouts as defined by
--timeout(ortimeoutin.shakedownconfig) or@pytest.mark.timeout(n)for individual tests
Fixes:
- exit code is now returned for
run_dcos_commandcalls - fallbaack to
ssh-agentif.ssh/id_rsakey fails waitpredicate fixed from1.1.9- use
service_namerather than former ambiguousapp_id
Fixes:
- fixing broken PyPI 1.1.9 release
Features:
- 'wait' functions and predicates, including
wait_for_task,wait_for_task_property,wait_for_dns, anddeployment_wait - new marathon methods for
deployment_wait,delete_all_apps, anddelete_all_apps_wait - support for passing a dict object containing JSON options to
install_packagemethods - bumped
dcoscliversion to0.4.14
Fixes:
- pep8-compliance
Features:
--dcos-urlnow defaults to pre-configured dcos-cli valuedcos_dns_lookupmethod for resolving Mesos-DNS queries- reworked network paritioning methods, including new utility
methods for
disconnected_agent,disconnected_master,save_iptables,flush_all_rules,allow_all_traffic, andiptable_rules - added
tox.iniconfiguration file
Fixes:
- fixed documentation for
get_private_agents()
Features:
--failnow defaults tonever- the
run_commandand associated agent/master methods now return both the exit status and captured output
Fixes:
kill_process_on_hostmethod now working, better output- improved
--stdout-inlinereadability - fixed bug where output from teardown methods did not display if module only had a single test
Features:
--username,--password, and--oauth-tokencan now be specified via the command line- updated documentation on installing via PyPI or with virtualenv
Fixes:
- authentication methods (OAuth, user/pass) are only attempted when the related options are defined
- removed
pytest_runtest_makereportmethod which was unused and causing pytest warning messages on every run
Fixes:
- cluster authentication attempts are sequenced (existing ACS token -> OAuth token -> username/password combo)
- output from module setup and teardown is now printed to stdout
- multiple test files (or multiple tests) can be again be specified
(broken in
1.1.4)
Features:
- allow a session to be authenticated using a supplied OAuth token
in
.shakedown(oauth_token = <token>) - new
delete_agent_logmethod to delete logs on agents - pytest-style single-test specification (
test_file.py::test_name)
Fixes:
dcos-shakedowncommand now functions correctly from cmd
Features:
- bumped
dcoscliversion to0.4.13 - modified CLI 'short' flags to match SSH/curl
Fixes:
- removed superfluous
key not founderror message when SSH key could not be located
Features:
- new
--pytest-optionflag to pass CLI options on to pytest - short (single-character) flags for commonly-used CLI options
Fixes:
- improved
--helpCLI output
Initial implementation of changelog.
Features:
- new
partition_masterandreconnect_mastermethods
Fixes:
- added missing API documentation for
authenticatemethod - updated PyPI packaging name to
dcos-shakedown - renamed
task_nametotask_idin task methods - check the exit code of the command in
run_commandmethod`