service reg. conf fixes + cleanup

During testing of service registration unknown variables were identified
and values for them are provided in defaults now.  These implied changes
to the README and other housekeeping was done while there. Similarly,
housekeeping was done in user_gnocchi_secrets to remove an unused
secret. Also, a gnocchi_storage_driver is defined in defaults and the
coordination url is defined to allow external system to be used for locks.
The gnocchi metricd service was excluded from running, is not configured.
Finally a couple of TODO notes were added to mark things that need to
be done for the role still.
This commit is contained in:
Steve Lewis 2015-12-04 17:07:50 -08:00
parent c2bb4b6877
commit 460519747e
5 changed files with 53 additions and 17 deletions

View File

@ -24,17 +24,39 @@ Role Variables
Other variables expected for this role include:
- keystone_service_publicuri
- keystone_auth_admin_token
- keystone_service_internaluri
- keystone_service_internaluri_insecure
- keystone_service_adminruri
- keystone_service_adminruri_insecure
- galera_address
- galera_root_user
- galera_root_password
- internal_lb_vip_address
- external_lb_vip_address
Each of the keystone service uri variables is expected to include protocol,
host, and port for the keystone service. Do not specify a path, to include
keystone protocol version. See also the OpenStack Ansible project and the
os_keystone role for more details on these variables.
The ``keystone_auth_admin_token`` should contain the Keystone admin auth
token which can be used to bypass traditional Keystone auth and is used to
create service users/roles/endpoints as needed within Keystone.
The galera address is expected to direct to the internal_lb_vip_address. See
also the OpenStack Ansible project for more details.
Each of the ``keystone_service_*uri`` variables is expected to include
protocol, host, and port for the keystone service. Do not specify a path, to
include keystone protocol version. See also the OpenStack Ansible project and
the os_keystone role for more details on these variables.
Each ``keystone_*_insecure`` variable is expected to indicate whether or not
Keystone is using the http protocol or not, and should evaluate to a boolean.
The ``galera_address`` is expected to direct to the your MySQL server or a load
balancer host which sits in front of your Galera cluster. This may be See also
the OpenStack Ansible project for more details. The ``galera_root_*`` variables
should contain the credentials used to create the Gnocchi index database.
Each of the ``*_lb_vip_address`` variables is expected to contain the host
address for your Gnocchi service, either internal address for use within the
OpenStack cluster's local network or external for constructing the public
Gnocchi API service endpoint. Either one might point to your load-balancer.
Note that both of these variables are likely to be renamed.
See ``defaults/main.yml`` for additional variables and their descriptions.

View File

@ -17,7 +17,6 @@
is_metal: true
debug: false
gnocchi_fatal_deprecations: False
#: Set this to enable or disable installing in a venv
@ -48,6 +47,11 @@ gnocchi_galera_database: gnocchi
gnocchi_galera_user: gnocchi
gnocchi_galera_address: "{{ galera_address }}"
# TODO(stevelle) need to allow make it easier to use real storage options, default to Swift
#: Storage info
gnocchi_storage_driver: file
gnocchi_coordination_url: "file://var/lib/gnocchi/locks"
#: System info
gnocchi_system_user_name: gnocchi
gnocchi_system_group_name: gnocchi
@ -61,15 +65,24 @@ gnocchi_service_type: metric
gnocchi_service_description: "OpenStack Metric Service"
gnocchi_service_region: RegionOne
gnocchi_service_user_name: gnocchi
gnocchi_role_name: admin
gnocchi_service_project_name: service
gnocchi_service_project_domain_id: default
gnocchi_service_user_domain_id: default
gnocchi_service_address: 0.0.0.0
gnocchi_service_port: 8041
gnocchi_service_proto: http
gnocchi_service_registry_proto: "{{ gnocchi_service_proto }}"
gnocchi_service_publicuri_proto: "{{ openstack_service_publicuri_proto | default(gnocchi_service_proto) }}"
gnocchi_service_adminuri_proto: "{{ openstack_service_adminuri_proto | default(gnocchi_service_proto) }}"
gnocchi_service_internaluri_proto: "{{ openstack_service_internaluri_proto | default(gnocchi_service_proto) }}"
gnocchi_service_publicurl: "{{ gnocchi_service_publicuri_proto }}://{{ external_lb_vip_address }}:{{ gnocchi_service_port }}"
gnocchi_service_internalurl: "{{ gnocchi_service_internaluri_proto }}://{{ internal_lb_vip_address }}:{{ gnocchi_service_port }}"
gnocchi_service_adminurl: "{{ gnocchi_service_adminuri_proto }}://{{ internal_lb_vip_address }}:{{ gnocchi_service_port }}"
#: Gnocchi API program name
gnocchi_api_program_name: gnocchi-api
#: Gnocchi metricd program name
#: Gnocchi Metricd program name
gnocchi_metricd_program_name: gnocchi-metricd
#: Necessary packages
@ -85,6 +98,7 @@ gnocchi_requires_pip_packages:
- virtualenv-tools
- python-keystoneclient # Keystoneclient needed for OSA keystone lib
# TODO(stevelle) would like to push out the cephlibs to a ceph-client role
#: Common pip packages
gnocchi_pip_packages:
- gnocchi
@ -99,7 +113,8 @@ gnocchi_pip_packages:
#: List of programs/services owned by gnocchi
gnocchi_service_names:
- "{{ gnocchi_api_program_name }}"
- "{{ gnocchi_metricd_program_name }}"
# TODO(stevelle) needs configuration help
# - "{{ gnocchi_metricd_program_name }}"
#: Tunable overrides
gnocchi_conf_overrides: {}

View File

@ -15,5 +15,4 @@
gnocchi_galera_password:
gnocchi_service_password:
gnocchi_storage_password:

View File

@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
# TODO(stevelle) front the API w/ Apache
- include: gnocchi_pre_install.yml
- include: gnocchi_install.yml
- include: gnocchi_post_install.yml

View File

@ -34,8 +34,8 @@ memcache_secret_key = {{ memcached_encryption_key }}
check_revocations_for_cached = False
[storage]
driver = file
coordination_url = file:///var/lib/gnocchi/locks
driver = {{ gnocchi_storage_driver }}
coordination_url = {{ gnocchi_coordination_url }}
[metricd]
# Number of workers for Gnocchi metric daemons. By default the available number
@ -67,15 +67,13 @@ coordination_url = file:///var/lib/gnocchi/locks
# Delay between flushes (floating point value)
#flush_delay = <None>
{% if gnocchi_storage_driver == 'file' %}
############
## File Storage
############
# Path used to store gnocchi data files. (string value)
file_basepath = /var/lib/gnocchi
# Path used to store Gnocchi temporary files. (string value)
file_basepath_tmp = ${file_basepath}/tmp
{% else %}
############
## Ceph Storage
############
@ -144,3 +142,4 @@ file_basepath_tmp = ${file_basepath}/tmp
# InfluxDB ingests data in asynchroneous ways. Set to True to wait data are
# ingested. (boolean value)
#influxdb_block_until_data_ingested = false
{% endif %}