
Following actions are performed by this patch: 1) Adds the ceilometer packages to the pre-download script. 2) Adds telemetry services on controller node. 3) Configures glance, cinder to send notification to the telemetry module. 4) Adds ceilometer compute agent on compute node. Co-authored-by: Pranav Salunke <dguitarbite@gmail.com> Change-Id: I82e8f4799e724e09748bb9c743ec8b77e82af39a
105 lines
4.0 KiB
Bash
Executable File
105 lines
4.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -o errexit -o nounset
|
|
TOP_DIR=$(cd "$(dirname "$0")/.." && pwd)
|
|
source "$TOP_DIR/config/paths"
|
|
source "$CONFIG_DIR/credentials"
|
|
source "$LIB_DIR/functions.guest"
|
|
source "$CONFIG_DIR/openstack"
|
|
exec_logfile
|
|
|
|
indicate_current_auto
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Install the Telemetry service
|
|
# http://docs.openstack.org/juno/install-guide/install/apt/content/ceilometer-nova.html
|
|
#------------------------------------------------------------------------------
|
|
|
|
echo "Installing ceilometer."
|
|
sudo apt-get install -y ceilometer-agent-compute
|
|
|
|
ceilometer_admin_user=$(service_to_user_name ceilometer)
|
|
ceilometer_admin_password=$(service_to_user_password ceilometer)
|
|
|
|
echo "Configuring ceilometer.conf."
|
|
conf=/etc/ceilometer/ceilometer.conf
|
|
|
|
iniset_sudo $conf publisher metering_secret "$METERING_SECRET"
|
|
|
|
|
|
# Configure RabbitMQ variables
|
|
iniset_sudo $conf DEFAULT rabbit_host controller-mgmt
|
|
iniset_sudo $conf DEFAULT rabbit_password "$RABBIT_PASSWORD"
|
|
|
|
iniset_sudo $conf keystone_authtoken auth_uri "http://controller-mgmt:5000/v2.0"
|
|
iniset_sudo $conf keystone_authtoken identity_uri "http://controller-mgmt:35357"
|
|
iniset_sudo $conf keystone_authtoken admin_tenant_name "$SERVICE_TENANT_NAME"
|
|
iniset_sudo $conf keystone_authtoken admin_user "$ceilometer_admin_user"
|
|
iniset_sudo $conf keystone_authtoken admin_password "$ceilometer_admin_password"
|
|
|
|
iniset_sudo $conf service_credentials os_auth_url "http://controller-mgmt:5000/v2.0"
|
|
iniset_sudo $conf service_credentials os_username "$ceilometer_admin_user"
|
|
iniset_sudo $conf service_credentials os_tenant_name "$SERVICE_TENANT_NAME"
|
|
iniset_sudo $conf service_credentials os_password "$ceilometer_admin_password"
|
|
iniset_sudo $conf service_credentials os_endpoint_type internalURL
|
|
iniset_sudo $conf service_credentials os_region_name "$REGION"
|
|
|
|
|
|
iniset_sudo $conf DEFAULT verbose True
|
|
|
|
echo "Configuring nova.conf."
|
|
conf=/etc/ceilometer/ceilometer.conf
|
|
|
|
iniset_sudo $conf DEFAULT instance_usage_audit True
|
|
iniset_sudo $conf DEFAULT instance_usage_audit_period hour
|
|
iniset_sudo $conf DEFAULT notify_on_state_change vm_and_task_state
|
|
iniset_sudo $conf DEFAULT notification_driver messagingv2
|
|
|
|
echo "Restarting telemetry service."
|
|
sudo service ceilometer-agent-compute restart
|
|
|
|
echo "Restarting compute service."
|
|
sudo service nova-compute restart
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Configure the Block Storage service(cinder-volume)
|
|
# http://docs.openstack.org/juno/install-guide/install/apt/content/ceilometer-cinder.html
|
|
#------------------------------------------------------------------------------
|
|
|
|
# Configure the Block Storage Service to send notifications to the message bus
|
|
|
|
echo "Configuring cinder.conf."
|
|
conf=/etc/cinder/cinder.conf
|
|
|
|
iniset_sudo $conf DEFAULT control_exchange cinder
|
|
iniset_sudo $conf DEFAULT notification_driver messagingv2
|
|
|
|
echo "Restarting cinder-volumes service."
|
|
sudo service cinder-volume restart
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Verify the Telemetry installation
|
|
# http://docs.openstack.org/juno/install-guide/install/apt/content/ceilometer-verify.html
|
|
#------------------------------------------------------------------------------
|
|
|
|
echo "Verifying the telemetry installation."
|
|
|
|
AUTH="source $CONFIG_DIR/admin-openstackrc.sh"
|
|
|
|
echo "Waiting for ceilometer to start."
|
|
until node_ssh controller-mgmt "$AUTH; ceilometer meter-list" >/dev/null 2>&1; do
|
|
sleep 1
|
|
done
|
|
|
|
echo "List available meters."
|
|
node_ssh controller-mgmt "$AUTH; ceilometer meter-list"
|
|
|
|
echo "Download an image from the Image Service."
|
|
img_name=$(basename "$CIRROS_URL" -disk.img)
|
|
node_ssh controller-mgmt "$AUTH; glance image-download \"$img_name\" > /tmp/cirros.img"
|
|
|
|
echo "List available meters again to validate detection of the image download."
|
|
node_ssh controller-mgmt "$AUTH; ceilometer meter-list"
|
|
|
|
echo "Retrieve usage statistics from the image.download meter."
|
|
node_ssh controller-mgmt "$AUTH; ceilometer statistics -m image.download -p 60"
|