The Apache CloudStack community recently released CloudMonkey 5.3.0. In this post, Rohit Yadav Software Architect at ShapeBlue talks about this release and his work on the new server profile feature. For more information on CloudMonkey and its usage click here.
At ShapeBlue we offer CloudStack infrastructure support and in doing so we rely heavily on tools such as CloudMonkey which is the official Apache CloudStack command line interface and client. CloudMonkey allows us to quickly slice and dice API outputs, and to find the issue without using the CloudStack web UI.
This release aimed to become the greatest release ever with supporting unicode strings handling, server profile improvements and bugfixes, better argument processing, error handling and reporting, non-zero exit codes when an API call fails, network and security handling and above all autocompletion of API arguments and filters in interpreter mode. I think users will love the new release as the tool becomes more mature, reliable and easy to use.
To get started, install python and pip, then install CloudMonkey:
$ pip install cloudmonkey
If you’re an existing user, please upgrade CloudMonkey:
$ pip install --upgrade cloudmonkey $ cloudmonkey set paramcompletion true
With two new autocompletion heuristics introduced in 5.3.0, CloudMonkey automatically tries to search an API which should complete the argument and then it calls the API in the background when a user hits tab tab on an API argument or a filter. It further speeds up rendering by caching list API results from previous calls with a low cache burst timeout of 10-15 mins. This allows users to completely simply use CloudMonkey for getting UUIDs instead of using both the UI and CloudMonkey in tandem.
Unicode support in CloudMonkey brings maturity in the tool which would be useful for CloudStack users who want to use non-ascii characters in strings such as username, description etc. Since all the strings in CloudMonkey are now UTF-8 encoded, it’s also possible to do things like shell execution and pipe/greps using UTF-8 strings.
Hope you’ll find the latest release useful and it will make you more productive!
About the author
Rohit Yadav is a Software Architect at ShapeBlue and an Apache CloudStack committer. He is the author and maintainer of CloudMonkey, and has contributed and worked on various parts of CloudStack such as API layer, authentication, database, accounts, KVM, virtual router, systemvms, maven build system. He was also behind DevCloud2, API discovery service, and developed methods to build and export systemvms using VirtualBox.
Rohit Yadav oversees the Software Engineering function at ShapeBlue, providing leadership and mentorship to our ever-growing Engineering Team. He has been a PMC member of the project since 2015. Rohit is the author & maintainer of the CloudStack CloudMonkey project and has been instrumental in the development of many of CloudStack’s flagship features. Rohit regularly speaks at events, focussing on developer access to the project, and has also mentored Google Summer of Code students.