Linode Kucun
Quick Start
# on Mac
brew install python3
# Find your system version under the Apple Menu > About This Mac
# If OS X system is El Capitain 10.11.x
# Then do the following:
brew update
brew install openssl
brew link openssl --force
# end of El Capitain openssl header installs
# Apple decided to leave the openssl headers out
# see this issue: https://github.com/caktus/developer-documentation/issues/25
# The following should now work on Mac and Ubuntu
# and maybe other OS. These are the two I have available.
# cd into the /tmp dir so that the repo will get trashed later
cd /tmp
git clone https://github.com/dm-wyncode/linode-kucun
cd linode-kucun
# Don't forget the "3" in "python3"
python3 setup.py install
#then type
linodku add --linode-api-key
# The text entered at the prompt will be validated
# by the Linode API and display the results.
# THEN **To remove**
pip3 uninstall linode_kucun
A package for interacting with the Linode api. (https://www.linode.com/api)
- Free software: MIT license
- Documentation: https://linode-kucun.readthedocs.io.
Motivation
I was learning how to use Ansible play books to adminster Linode instances. While doing so, a script for dynamic Linode inventories I had downloaded from a repo started to fail with intermittent timeouts when connecting to the Linode API.
I contacted Linode customer service support. The answer was "ICMP rate limiting" was causing my timeouts.
I opened the hood on the code I had downloaded. I saw spaghetti. I cannot confirm that it was the source the ICMP rate limiting though I have not yet run into the issue since I have stopped implementing it.
I wrote some preliminary code in IPython to see what the results were using Python Requests. I have yet to run into connection timeouts.
I decided to attempt to write a Python package makes Linode API calls and handles the returned results. This will be useful in the creation of Ansible dynamic inventories. (http://docs.ansible.com/ansible/intro_dynamic_inventory.html).
Features
- uses Python Requests: https://github.com/kennethreitz/requests/branches
- will be used to create dynamic inventories for Ansible: http://docs.ansible.com/ansible/intro_dynamic_inventory.html
Credits
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.