Installing ansigenome
is hugely helpful. This tool can inspect Ansible roles and provide information about dependencies, requirements, and variables.
All these examples assume being in the openstack-ansible/playbooks/roles
directory
ansigenome export -o dep-graph.png
ansigenome export -t dump
To view in a pretty print format:
ansigenome export -t dump | python -mjson.tool
ansigenome export roles -l <role_name> -t dump | python -mjson.tool
MMV0DSFRG2 in /Users/nola7999/projects/openstack-ansible/playbooks (git) master
% ansigenome export roles -l os_ceilometer -t dump | python -mjson.tool
{
"roles": {
"os_ceilometer": {
"defaults": {
"ceilometer_agent_notification_program_name": "ceilometer-agent-notification",
"ceilometer_api_paste_ini_overrides": {},
"ceilometer_api_program_name": "ceilometer-api",
"ceilometer_apt_packages": [
"rpcbind",
"rsync",
"git"
],
"ceilometer_bin": "{{ ceilometer_venv_bin }}",
"ceilometer_ceilometer_conf_overrides": {},
"ceilometer_collector_program_name": "ceilometer-collector",
"ceilometer_compute_program_name": "ceilometer-agent-compute",
"ceilometer_connection_string": "{{ ceilometer_db_type }}://{{ ceilometer_database_user }}:{{ ceilometer_container_db_password }}@{{ ceilometer_db_ip }}:{{ ceilometer_db_port }}/{{ ceilometer_database_name }}",
"ceilometer_database_name": "ceilometer",
"ceilometer_database_user": "ceilometer",
"ceilometer_db_ip": "localhost",
"ceilometer_db_port": 27017,
"ceilometer_db_type": "mongodb",
"ceilometer_event_definitions_yaml_overrides": {},
"ceilometer_event_pipeline_yaml_overrides": {},
"ceilometer_keystone_auth_plugin": "password",
"ceilometer_pip_packages": [
"ceilometer",
"python-ceilometerclient",
"ceilometermiddleware",
"PyMySQL",
"python-memcached",
"pycrypto",
"warlock",
"pymongo",
"tooz",
"libvirt-python"
],
"ceilometer_pipeline_yaml_overrides": {},
"ceilometer_policy_overrides": {},
"ceilometer_polling_program_name": "ceilometer-polling",
"ceilometer_rabbitmq_userid": "ceilometer",
"ceilometer_rabbitmq_vhost": "/ceilometer",
"ceilometer_requires_pip_packages": [
"virtualenv",
"virtualenv-tools",
"python-keystoneclient"
],
"ceilometer_role_name": "admin",
"ceilometer_service_adminuri": "{{ ceilometer_service_proto }}://{{ internal_lb_vip_address }}:{{ ceilometer_service_port }}",
"ceilometer_service_adminurl": "{{ ceilometer_service_adminuri }}",
"ceilometer_service_description": "Ceilometer Service",
"ceilometer_service_in_ldap": false,
"ceilometer_service_internaluri": "{{ ceilometer_service_proto }}://{{ internal_lb_vip_address }}:{{ ceilometer_service_port }}",
"ceilometer_service_internalurl": "{{ ceilometer_service_internaluri }}",
"ceilometer_service_name": "ceilometer",
"ceilometer_service_names": [
"ceilometer-api",
"ceilometer-collector",
"ceilometer-agent-notification",
"ceilometer-polling"
],
"ceilometer_service_port": 8777,
"ceilometer_service_project_domain_id": "default",
"ceilometer_service_project_name": "service",
"ceilometer_service_proto": "http",
"ceilometer_service_publicuri": "{{ ceilometer_service_proto }}://{{ external_lb_vip_address }}:{{ ceilometer_service_port }}",
"ceilometer_service_publicurl": "{{ ceilometer_service_publicuri }}",
"ceilometer_service_region": "RegionOne",
"ceilometer_service_tenant_name": "service",
"ceilometer_service_type": "metering",
"ceilometer_service_user_domain_id": "default",
"ceilometer_service_user_name": "ceilometer",
"ceilometer_system_comment": "ceilometer system user",
"ceilometer_system_group_name": "ceilometer",
"ceilometer_system_shell": "/bin/false",
"ceilometer_system_user_home": "/var/lib/{{ ceilometer_system_user_name }}",
"ceilometer_system_user_name": "ceilometer",
"ceilometer_venv_bin": "/openstack/venvs/ceilometer-{{ ceilometer_venv_tag }}/bin",
"ceilometer_venv_download_url": "http://127.0.0.1/venvs/untagged/ubuntu/ceilometer.tgz",
"ceilometer_venv_enabled": true,
"ceilometer_venv_tag": "untagged",
"debug": false,
"verbose": true
},
"dependencies": [
"openstack_openrc",
"galera_client",
"pip_lock_down"
],
"facts": [
"ceilometer_bin",
"ceilometer_get_venv"
],
"meta": "---\n# Copyright 2014, Rackspace US, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\ngalaxy_info:\n author: rcbops\n description: Installation and setup of ceilometer\n company: Rackspace\n license: Apache2\n min_ansible_version: 1.6.6\n platforms:\n - name: Ubuntu\n versions:\n - trusty\n categories:\n - cloud\n - python\n - ceilometer\n - development\n - openstack\ndependencies:\n - galera_client\n - openstack_openrc\n - pip_lock_down\n",
"readme": "OpenStack ceilometer\n####################\n:tags: openstack, ceilometer, cloud, ansible\n:category: \\*nix\n\nRole to install ceilometer and ceilometer registry.\n\nThis role will install the following:\n * ceilometer-api\n * ceilometer-registry\n\n.. code-block:: yaml\n\n - name: Install ceilometer server\n hosts: ceilometer_all\n user: root\n roles:\n - { role: \"os_ceilometer\", tags: [ \"os-ceilometer\" ] }\n vars:\n external_lb_vip_address: 172.16.24.1\n internal_lb_vip_address: 192.168.0.1\n galera_address: \"{{ internal_lb_vip_address }}\"\n",
"total_defaults": 55,
"total_dependencies": 3,
"total_facts": 2,
"total_files": 22,
"total_lines": 1772
}
},
"totals": {
"defaults": 55,
"dependencies": 3,
"facts": 2,
"files": 22,
"lines": 1772,
"roles": 0
}
}