Python REST api to fetch node TAGS information directly from CHEF server and return it on JSON format
To install all the required Python modules, just run: pip install --upgrade -r requirements.txt
Please follow http://bottlepy.org main page on how to install/configure Bottle.
Just run the script with a user with knife execution capabilities
http://localhost:9999/api/env_name
The response will be a JSON like the following:
{
"env_name": {
"node1": ["tags_list"],
"node2": ["tags_list"],
"node3": ["tags_list"],
"node4": ["tags_list"]
}
}
We can make use o knife search capabilities and provide more information to filter/narrow down our search:
http://localhost:9999/api?env=dev&role=web_server
The previous 'query' will search for all nodes on the dev environment that have the 'web-server' role set up. The result will be like this one:
{
"node1": [tags_list"],
"node2": [tags_list"]
}
Supported filters:
- env
- role
- zone
- node (name)
- Fork the repository on Github
- Create a named feature branch (like
add_component_x
) - Write your change
- Write tests for your change (if applicable)
- Run the tests, ensuring they all pass
- Submit a Pull Request using Github
Authors: Marcus Semblano