Update the instructions and scripts needed for devstack

A few things have been updated in code but not in the READMEs
and scripting to allow a devstack deployment of Ceilosca
on top of a Ceilometer checkout.  This commit should fix that.

Most notable, the devstack/plugin.sh was modified to include
copying the ceilosca_mapping directory in to ceilometer.

Change-Id: I269f5ec12c95c6ab2c0149ecc12811edbb60585e
This commit is contained in:
Joseph Davis 2017-04-04 15:48:22 -07:00
parent 0cf05e5c1b
commit ac045f3bd2
6 changed files with 104 additions and 29 deletions

View File

@ -10,9 +10,13 @@ monasca-ceilometer
Python plugin and storage driver for Ceilometer to send samples to monasca-api
### Installation instructions for setting up Ceilosca automatically
See devstack/README.md
### Installation Instructions for setting up Ceilosca manually
*To set up ceilosca automatically, read the instructions in deployer/README.md or use the included Vagrantfile*
*To set up ceilosca automatically, read the instructions in devstack/README.md or use the included Vagrantfile*
Assumes that an active monasca-api server is running.
@ -28,13 +32,10 @@ Assumes that an active monasca-api server is running.
monasca_client.py
storage/impl_monasca.py
tests/api/v2/test_api_with_monasca_driver.py
tests/storage/test_impl_monasca.py
tests/test_monascaclient.py
tests/publisher/test_monasca_publisher.py
tests/publisher/test_monasca_data_filter.py
tests/* (skipping the init.py files)
publisher/monasca_data_filter.py
publisher/monclient.py
ceilosca_mapping/*
4. Edit entry_points.txt
@ -56,13 +57,15 @@ Assumes that an active monasca-api server is running.
monasca = ceilometer.storage.impl_monasca:Connection
6. Configure /etc/ceilometer/pipeline.yaml to send the metrics to the monasca publisher. Use the included pipeline.yaml file as an example.
6. Configure /etc/ceilometer/pipeline.yaml to send the metrics to the monasca publisher.
Use the included monasca-ceilometer/etc/ceilometer/pipeline.yaml file as an example.
7. Configure /etc/ceilometer/ceilometer.conf for setting up storage driver for ceilometer API. Use the included ceilometer.conf file as an example.
7. Configure /etc/ceilometer/ceilometer.conf for setting up storage driver for ceilometer API.
Use the included monasca-ceilometer/etc/ceilometer/ceilometer.conf file as an example.
8. Copy the included monasca_field_definitions.yml file to /etc/ceilometer.
8. Copy the included monasca_field_definitions.yml and monasca_pipeline.yaml files from monasca-ceilometer/etc/ceilometer to /etc/ceilometer.
This file contains configuration how to treat each field in ceilometer sample object on per meter basis.
This monasca_field_definitions.yaml file contains configuration how to treat each field in ceilometer sample object on per meter basis.
The monasca_data_filter.py uses this file and only stores the fields that are specified in this config file.
9. Make sure the user specified under service_credentials in ceilometer.conf has *monasca_user role* added.
@ -80,7 +83,7 @@ test-requirements.txt - contains the dependencies required for testing
# License
Copyright (c) 2015 Hewlett-Packard Development Company, L.P.
Copyright (c) 2015-2017 Hewlett-Packard Development Company, L.P.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,21 +1,18 @@
# Setting up ceilosca solution
# Installing Ceilosca using automated methods
Setup ceilosca solution with following steps
There are a few options for configuring Ceilosca on top of a Ceilometer and Monasca deployment.
- wget https://raw.githubusercontent.com/openstack/monasca-ceilometer/master/devstack/ceilosca.sh
- chmod +x ceilosca.sh
- (Optional) check ceilosca.sh to tweak and modify if you require any changes from default behaviour
- ./ceilosca.sh
Choose one:
- DevStack can be instructed through the local.conf to "enable ceilosca". Reference the included devstack/sample-local.conf for one configuration.
# Few things to take note
- Use the included Vagrantfile to create and provision a VM.
- The user running the script should be part of sudoers with no password
- Like devstack this setup adds the packages and modifies at system level
- Under certain conditions the monasca_test_setup.py may be used to set up Ceilosca for testing. This .py may also be useful reference if you choose to write your own integration scripts.
# What's missing
Horizon isn't being setup since it is causing issue which require further investigation
# Vagrant approved!
Use the provided Vagrantfile to create and provision a VM.
- (Deprecated) the devstack/ceilosca.sh script will copy Ceilosca components on top of Ceilometer.
- ceilosca.sh is left as reference, but has not been updated for the Newton release.
- The script should be tweaked before execution, particularly the lines.
- export SERVICE_HOST=192.168.10.6
- export HOST_IP_IFACE=eth0
- The script was run by a sudoers user with no password.
- And did not configure Horizon

View File

@ -26,9 +26,15 @@ function configure_ceilosca {
iniset $CEILOMETER_CONF database metering_connection monasca://$MONASCA_API_URL
iniset $CEILOMETER_CONF notification workers $API_WORKERS
# disable, otherwise Ceilosca won't process and store event data
iniset $CEILOMETER_CONF notification disable_non_metric_meters False
}
function preinstall_ceilosca {
# create new directory
cp -r $CEILOSCA_DIR/ceilosca/ceilometer/ceilosca_mapping $CEILOMETER_DIR/ceilometer/
# overlay files into existing dirs
for ceilosca_file in $CEILOSCA_FILES
do
# source file and dest file names are separated with :

View File

@ -0,0 +1,68 @@
[[local|localrc]]
MYSQL_PASSWORD=secretmysql
DATABASE_PASSWORD=secretdatabase
RABBIT_PASSWORD=secretrabbit
ADMIN_PASSWORD=secretadmin
SERVICE_PASSWORD=secretservice
SERVICE_TOKEN=111222333444
LOGFILE=$DEST/logs/stack.sh.log
LOGDIR=$DEST/logs
LOG_COLOR=False
# The following two variables allow switching between Java and Python for the implementations
# of the Monasca API and the Monasca Persister. If these variables are not set, then the
# default is to install the Python implementations of both the Monasca API and the Monasca Persister.
# Uncomment one of the following two lines to choose Java or Python for the Monasca API.
# MONASCA_API_IMPLEMENTATION_LANG=${MONASCA_API_IMPLEMENTATION_LANG:-java}
MONASCA_API_IMPLEMENTATION_LANG=${MONASCA_API_IMPLEMENTATION_LANG:-python}
# Uncomment of the following two lines to choose Java or Python for the Monasca Pesister.
# MONASCA_PERSISTER_IMPLEMENTATION_LANG=${MONASCA_PERSISTER_IMPLEMENTATION_LANG:-java}
MONASCA_PERSISTER_IMPLEMENTATION_LANG=${MONASCA_PERSISTER_IMPLEMENTATION_LANG:-python}
# Uncomment one of the following two lines to choose either InfluxDB or Vertica.
MONASCA_METRICS_DB=${MONASCA_METRICS_DB:-influxdb}
# MONASCA_METRICS_DB=${MONASCA_METRICS_DB:-vertica}
# Monasca services to enable
enable_service monasca
enable_service monasca-influxdb
enable_service monasca-storm
enable_service zookeeper
enable_service monasca-kafka
enable_service monasca-api
enable_service monasca-persister
enable_service monasca-agent
enable_service monasca-cli
# This line will enable all of Monasca.
enable_plugin monasca-api git://git.openstack.org/openstack/monasca-api stable/newton
# the following may be disabled to leave monasca transform still functional
#disable_service monasca-persister
disable_service monasca-thresh
#disable_service monasca-notification
disable_service horizon
#disable_service tempest
#disable_service cinder
disable_service monasca-smoke-test
# NO stable/newton branch for monasca-transform
enable_plugin monasca-transform https://git.openstack.org/openstack/monasca-transform master
# USING UPSTREAM master ceilosca but newton everything else
enable_plugin ceilometer https://git.openstack.org/openstack/ceilometer stable/newton
enable_plugin ceilosca https://git.openstack.org/openstack/monasca-ceilometer master
enable_service ceilosca
# not needed for ceilosca
disable_service ceilometer-collector
disable_service ceilometer-alarm-notifier ceilometer-alarm-evaluator
enable_service rabbit mysql key tempest
# for further reference, see devstack/settings and devstack/plugin.sh

View File

@ -7,5 +7,5 @@ enable_service ceilosca
MONASCA_API_URL=http://$SERVICE_HOST:8070/v2.0
CEILOSCA_DIR=$DEST/ceilosca
CEILOSCA_FILES='ceilometer/monasca_client.py ceilometer/publisher/monasca_data_filter.py ceilometer/publisher/monclient.py ceilometer/storage/impl_monasca.py ../devstack/setup.cfg:.'
CEILOSCA_CONF_FILES='pipeline.yaml monasca_field_definitions.yaml'
CEILOSCA_USER=$USER
CEILOSCA_CONF_FILES='monasca_pipeline.yaml:pipeline.yaml monasca_field_definitions.yaml'
CEILOSCA_USER=$USER

View File

@ -37,6 +37,7 @@ auth_plugin = password
[notification]
store_events = True
disable_non_metric_meters = False
[database]
#metering_connection = mysql://root:password@127.0.0.1/ceilometer?charset=utf8