Documentation for train release

Install and configure the repos (on osceil)
yum install yum-plugin-priorities
yum install centos-release-openstack-train
add priority=10 to centos-openstack-train and exclude (in addition) facter, puppet
yum install epel-release
add exclude=python2-zmq,python2-pyngus,uwsgi* in epel.repo
yum update

on osbase
# the gnocchi client requires and update to admin-openrc
add: export OS_AUTH_TYPE=password
yum install python-gnocchiclient
source admin-openrc
openstack user create --domain default --password-prompt ceilometer
openstack user create --domain default --password-prompt gnocchi
openstack service create --name gnocchi --description "Metric Service" metric
openstack role add --project service --user gnocchi admin
Note: This cannot be https.
openstack endpoint create --region RegionOne metric public http://osceil.grid.hep.ph.ic.ac.uk:8041
openstack endpoint create --region RegionOne metric internal http://osceil.grid.hep.ph.ic.ac.uk:8041
openstack endpoint create --region RegionOne metric admin http://osceil.grid.hep.ph.ic.ac.uk:8041

mysql
CREATE DATABASE gnocchi;
GRANT ALL PRIVILEGES ON gnocchi.* TO 'gnocchi'@'localhost' IDENTIFIED BY '[redacted]';
GRANT ALL PRIVILEGES ON gnocchi.* TO 'gnocchi'@'%' IDENTIFIED BY '[redacted]';

on osceil

gnocchi
yum install openstack-gnocchi-api openstack-gnocchi-metricd python-gnocchiclient uwsgi uwsgi-plugin-python
configure gnocchi (empty sections omitted): /etc/gnocchi/gnocchi.conf (file_subdir_len = 16 after we ran out of inodes)
[api]
auth_mode = keystone
uwsgi_mode = http-socket
[indexer]
url = mysql+pymysql://gnocchi:GNOCCHIDB_PASS@osbase.cloud/gnocchi
[storage]
driver = file
file_basepath = /var/lib/gnocchi
file_subdir_len = 16
[keystone_authtoken]
auth_url = https://oskeystone.grid.hep.ph.ic.ac.uk:5000
memcached_servers = osbase.cloud:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = gnocchi
password = GNOCCHI_PASS
interface = internalURL
region_name = RegionOne

quarantine gnocchi output in /var/lib/gnocchi
lvcreate -L 5g -n gnocchivol osceilvg
mkfs.ext4 /dev/osceilvg/gnocchivol
tune2fs -c 0 -i 0 /dev/osceilvg/gnocchivol
emacs /etc/fstab
cd /var/lib/
mv gnocchi gnocchi2
mkdir gnocchi
mount -a
mv gnocchi2/* gnocchi/.
rmdir gnocchi2/
restorecon -vr gnocchi/
systemctl enable openstack-gnocchi-api.service openstack-gnocchi-metricd.service
systemctl start openstack-gnocchi-api.service openstack-gnocchi-metricd.service
initialize gnocchi (this might have to be run as the gnocchi user): gnocchi-upgrade (if run as root, you need to change the ownership of /var/lib/gnocchi to gnocchi:gnocchi)

ceilometer
yum install openstack-ceilometer-notification openstack-ceilometer-central /etc/ceilometer/ceilometer.conf
[DEFAULT]
transport_url = rabbit://openstack:[redacted]@osbase.cloud
[service_credentials]
auth_type = password
auth_url = https://oskeystone.grid.hep.ph.ic.ac.uk:5000
project_domain_id = default
user_domain_id = default
project_name = service
username = ceilometer
password = CEILPASS
interface = internalURL
region_name = RegionOne
systemctl enable openstack-ceilometer-notification.service openstack-ceilometer-central.service
systemctl start openstack-ceilometer-notification.service openstack-ceilometer-central.service
ceilometer-upgrade
Note that ceilometer on startup writes an error to the journal along the lines of "Failed to connect socket to '/var/run/libvirt/libvirt-sock-ro': No such file or directory". This can be ignored.
On the WN
yum install openstack-ceilometer-compute
copy ceilometer.conf from osceil
in /etc/nova.nova.conf (note that this file differs on every node and can't be copied wholesale)
instance_usage_audit_period=hour
instance_usage_audit=True
notify_on_state_change=vm_and_task_state
driver=messagingv2 (in [oslo_messaging_notifications])
systemctl enable openstack-ceilometer-compute.service
systemctl start openstack-ceilometer-compute.service
systemctl restart openstack-nova-compute.service