The CLI and Python library for interfacing with Dell Cloud Manager
Release Date 2015-12-08
Use with DCM: 10.X, 11.X
These release includes a fix to the output of dcm-delete-volume that erroneously reported a failure to delete an volume, as well as a number of CLI documentation improvements.
- #313 missing docs for dcm-create-machine-image and other documentation errors
- #312 dcm-delete-volume erroneously reporting failed volume deletion despite the delete being successful.
- #311 fixes to CLI flag docs
Release Date 2015-11-16
Use with DCM: 10.X, 11.X
This release adds a number of CLI commands for managing budget/billing codes and ownership of resources that are already provisioned. These new commands are:
- dcm-update-server-billing-code
- dcm-update-machine-image-billing-code
- dcm-update-machine-image-group
- dcm-update-volume-billing-code
- dcm-update-volume-group
In addition, all Sphinx documentation hosted on ReadTheDocs now uses the program-output utility to ensure that all DCM CLI command syntax docs are exactly up to date with the implementations.
- #306 New resource update commands (extensive input from G. Forghetti)
- #308 ReadTheDocs CLI commands syntax automatically generated
Release Date 2015-10-22
Use with DCM: 10.X, 11.X
Quick fix release for #302.
- #302 AttributeError with missing owning_user
Release Date 2015-10-21
Use with DCM: 10.X, 11.X
The dcm-list-servers CLI tool now has a --verbose
flag that gives you more detailed view of
current servers. This avoids the need, in many cases, to make a separate call to dcm-describe-server
to get more
information about an individual server.
- #292 dcm-put and dcm-post produces useful json parsing error messages.
- #296 crash bug in dcm-list-subscriptions
Release Date 2015-10-05
Use with DCM: 10.X, 11.X
This dcm-list-server-products tool can now filter by external cloud provider region ID and
not just DCM internal IDs. This allows you filter server products like this:
dcm-list-server-products --regionpid us-east-1
. We also now provide more useful json formatting error messages for
dcm-put
and dcm-post
, which is especially useful for developers working out how to format their DCM API payloads.
- #281 dcm-put and dcm-post produces useful json parsing error messages.
- #286 dcm-list-server-products handles provider region IDs
- #287 dcm-list-server-products displays CPU architecture
Release Date 2015-09-24
Use with DCM: 10.X, 11.X
This release is a bug fix for #282.
- #282 dcm-list-jobs ignores --job-id
Release Date 2015-09-15
Use with DCM: 10.X, 11.X
This release is a quick fix for critical bug #278.
- #278 broken dcm-detach-volume
Release Date 2015-09-08
Use with DCM: 10.X, 11.X
The dcm-create-account tool is now easier to use thanks to more reasonable defaults. Newly created accounts are added to default admin customer and group. We also include a number of fixes to the CLI to make it easier to understand what flags are required vs optional.
- #186 dcm-create-account accepts customer_id
- #266,#272 dcm-list-api-version didn't work with unsigned server certificates
- #235 CLI tools don't differentiate between optional and required arguments
- #274 fix broken dcm-update-group
Release Date 2015-08-28
Use with DCM: 10.X, 11.X
The release adds a new CLI utility dcm-update-server-group
that allows you to easily change
the owning group of a sever. It also includes a number of bug fixes.
- #263 dcm-update-server-group cli utility (thanks Brian Williams)
- #264 Endpoint threading missing in firewall (thanks John Bresnahan)
- #265 dcm-create-account crash bug (report from Shaun Marshall)
- #268 documentation deficiencies
Release Date 2015-08-10
Use with DCM: 10.X, 11.X
Primarily a documentation improvement release. Release not pushed to PyPI, but pushed to ReadTheDocs.org.
- #260 Several documentation deficiencies
Release Date: 2015-07-30
Use with DCM: 10.X, 11.X
In this release we move our documentation onto docs.mixcoatl.net and hosted with readthedocs.org. The docs are versioned and automatically generated as the code is committed to the repository. All of our docs are consolidated here as well, which should lead to better search engine results over time.
We have some new additions:
$ dcm-describe-license
Licensee: Dell Cloud Manager Production SaaS
Days Until Expiration: 9819
Expiration Date: 2042-06-18T16:07:21.311+0000
Server Limit: 0
License Valid: True
and dcm-list-api-versions which has been updated to be able to tell you which api version you are currently using, which is the latest and what versions are available:
$ dcm-list-api-versions --help
usage: dcm-list-api-versions [-h] [--active | --latest | --supported]
[--json | --xml | --csv]
We have also cut out BeautifulSoup and termcolor python dependencies, in the process of getting ready for deb and rpm vendor native packaging.
- Add #251 ability to get avalable API versions to the Endpoint class
- Add #213 new command dcm-describe-license
- Fixed #250 InsecurePlatformWarning problem coming from request module
- Fixed #252 Drop termcolor as dependency
- Fixed #255 replace dicttoxml with xmltodict
- Fixed #159 fix dcm-list-server-terminate
- Improved some faulty install docs (thanks Syam Puchakayala)
Release Date: 2015-07-28
Use with DCM: 10.X, 11.X
- Changes to Install documentation only
Release Date: 2015-07-23
Use with DCM: 10.X, 11.X
- Sphinx document generation for the move to readthedocs.org.
Note: changes in this release do not affect the python codebase, documentation only.
Release Date: 2015-07-17
Use with DCM: 10.X, 11.X
- Broken
mixcoatl --version
function because of non pypi conforming A.B.C.D format.
Release Date: 2015-07-17
Use with DCM: 10.X, 11.X
Welcome to the 1.0.0 release. Mixcoatl will now follow semantic versioning with compatibility to DCM releases documented. This release allows you to access multiple DCM endpoints using mutiple API keys simultaneously. For example, within a single python program you can compare the states of two DCM instances and also assume different roles by using different API keys. The functionality is provided via the new Endpoint object, which also provides facilities for loading multiple endpoints from json files.
Here's an example of how you could use endpoints to identify servers simultaneously managed by two DCM instances:
from mixcoatl.infrastructure.server import Server
from mixcoatl.resource import Endpoint
saas_endpoint = Endpoint(nickname="saas",
url="https://dcm.enstratius.com/api/enstratus/2015-05-25",
api_version="2015-05-25",
access_key="POIUYTREQ",
secret_key="ukjdf8HydvkLlki=4hfksj")
vagrant_endpoint = Endpoint(nickname="vagrant",
url="https://vagrant.vm/api/enstratus/2015-05-25",
api_version="2015-05-25",
access_key="LKJHGFDSAQ",
secret_key="ht748fbsd974d=t874gDFb",
ssl_verify=False)
saas_servers = Server.all(endpoint=saas_endpoint)
vagrant_servers = Server.all(endpoint=vagrant_endpoint)
# find all the servers managed by two DCM instances
for s in saas_servers:
for v in vagrant_servers:
if s.provider_id == v.provider_id:
print "SaaS: %s Vagrant: %s, Provider ID %s" % (s.server_id, v.server_id, v.provider_id)
You can load load multiple endpoints from a simple json file:
# load a dictionary of endpoints which you can index by nickname
endpoints = Endpoint.multiple_from_file("endpoints.json")
print endpoints['saas'].url
print endpoints['vagrant'].url
The endpoints.json
looks like this:
[
{
"nickname": "saas",
"url": "https://dcm.enstratius.com/api/enstratus/2015-05-25",
"api_version": "2015-05-25",
"access_key": "POIUYTREQ",
"secret_key": "ukjdf8HydvkLlki=4hfksj",
"ssl_verify": true
},
{
"nickname": "vagrant",
"url": "https://vagrant.vm/api/enstratus/2015-05-25",
"api_version": "2015-05-25",
"access_key": "LKJHGFDSAQ",
"secret_key": "ht748fbsd974d=t874gDFb",
"ssl_verify": false
}
]
- Added #225: multiple endpoint support using new Endpoint class
- Added live endpoint testing for server and volume operations using new Endpoint class
- Added loading of properties from json file for Server and Volume
- Added user friendly release notes
- Added #233 add Job.latest_message() to force reloading of job message from the API.
- Fixed #207: allow configuration via python
- Fix pretty printing of dcm-describe-server
Release Date: 2015-07-16
- Fixed #234: fix missing import statement in dcm-list-datacenters. Thanks Jim Sander for the report.
Release Date: 2015-07-10
- Fixed #216: add network and subnet to the server class and dcm-create-server cli. Thanks to Eoin Kennet at HEAnet for the bug report.
Release Date: 2015-07-07