User guide
Using the provider and configuring its output
Depending on the template used output can range from JSON to LDIF.
The --template-extension
(default: indigo
) allows to select different templates based on thier file extension. Templates should be available inside the directory --template-dir
(default: /etc/cloud-info-provider-indigo/templates
)
The --yaml-file
(default /etc/cloud-info-provider-indigo/static.yaml
allows to set some static values (see sample.static.yaml for a complete example with comments).
Simple example of /etc/cloud-info-provider-indigo/static.yaml
for an opennebula endpoint:
For OpenNebula the endpoints section is required, but for OpenStack it can be omitted. For other templates (ie ldif) some more information might need to be added to the static.yaml
file, see the examples available inside the /etc/cloud-info-provider-indigo
directory.
Dynamic information can be further obtained with the middleware providers (OpenStack and OpenNebula supported currently). Use the --middleware
option for specifying the provider to use (see the command help for exact names). cloud-info-provider will fallback to static information defined in the yaml file if a dynamic provider is not able to return any information. See the sample.openstack.yaml
and sample.opennebula.yaml
for example configurations for each provider.
Each dynamic provider has its own commandline options for specifying how to connect to the underlying service. Use the --help
option for a complete listing of options.
For example for OpenStack, use a command line similar to the following:
The auth-url should be something like this: http://192.168.56.101:5000/v2.0
.
For example for OpenNebula, use a command line similar to the following:
The rpc-xml-endpoint should be something like this: http://localhost:2633/RPC2
.
Running the provider in a cloud resource middleware
This is the normal deployment mode for the cloud provider. It should be installed in a node with access to your cloud infrastructure: for OpenStack, access to nova service is needed; for OpenNebula access to the XML endpoint is required.
Importing cloud middleware information inside an INDIGO CMDB.
The provided send-to-cmdb
python script allows to interact with the CMDB. It will expect JON from its standard input and use CMDB API to import/update information about images available in the cloud middleware.
Real example
Use send-to-cmdb --help
to see the list of available options (--cmdb-read-endpoint
and --cmdb-write-endpoint
allowing to specify CMDB endpoints).
The --delete-non-local-images
send-to-cmdb parameter will delete images in the CMDB that are not present in the configured cloud, when testing it, checking the vervbose -v
output might be useful.
Test the generation of the output before importing the provider output to the CMDB!
If needed it is possible to run the cloud information provider on a regular basis using a cron task.
Last updated