These files used to be present when running this test, but now they are
not. I wasn't able to find the commit that changed things so that these
files don't appear anymore, but this test is now consistently failing
since they are not present. This commit reduces the number of lines
expected in the output since these files are no longer present.
Some extra environment variables are necessary on windows to get the CLI
to pass the integration tests when using 'tox'. Specifically, the HOME*
environment variables are needed to allow python's 'expanduser()'
function to succeed when resolving the '~' path for the default
DCOS_DIR. Additionally, the OPENSSL_CONF variable is need to allow SSL
connections to be made properly using the windows OpenSSL library.
Without these additional variables things seem to die in unexpected
ways.
We can now build the CLI in a cross platform way (linux/mac/windows) all
from the Makefile with relocatable VENV, DIST, and TOX directories. We
can also optionally build in a docker container on platforms where
docker is available.
Mesos recently shortened the amount of text it prints in the preamble to
its logs. This test needed to be updated to acount for this since it
hard coded the number of lines it expected to read from the logs in a
simple sleep application.
The JSON representation of the CosmosPackageVersion recently changed to
wrap the contents of the previous package JSON in a 'package' key (so
that other fields can be added at the top level in the future). In order
to get at the actual package now, we need to index into the 'package'
key and return it.
The command names of installed subcommands are now embedded under a
'command' key instead of living at the top level. This commit fixes the
'merge_installed()' function to index into the dictionary of subcommands
properly to extract the names now that this change has been introduced.
Without this decoding, the stream of bytes returned from the marathon
describe call were being interpreted as a 'collection.Sequence' in the
subsequent 'emitter.publish()' call. This was causing the subesequnt
JSON encoding to blow up since it was interpeting it as the wrong type.
A number of marathon tests were failing on windows and blocking PRs from
being merged. After looking at the tests and fixing them, it's not clear
how they were ever working (even on linux/mac). I've updated them to be
more stable both on linux/mac and on windows.
This commit:
8971ccdb08
Inadvertently undid changes originally introduced in this commit:
f33a45ee94
Unfortunately, the integration tests didn't catch this because all
`task exec` integration tests were hidden behind an environment variable:
@pytest.mark.skipif('DCOS_DEBUGGING_ENABLED' not in os.environ,
reason="Requires Agent Debugging APIs")
This commit reintroduces the changes that were inadvertently undone and
enables the `task exec` integration tests by default so that something
like this doesn't occur in the future.
We are introducing a new subcommand for managing your clusters. Configuring your CLI to talk to your cluster is a single command now `dcos cluster setup`. Moreover, the CLI can now be aware of multiple clusters with cluster specific configuration managed by the CLI.
Subcommands will be installed for the current "attached" cluster only. To install a subcommand for all your configured clusters, use `--global`.
Note that `DCOS_CONFIG` environment variable will not take effect in
"cluster" mode since we are now managing different clusters in the CLI.