update ceilometer nova conf check

This commit is contained in:
Ryan Beisner
2015-07-01 17:04:36 +00:00
parent c5161f837c
commit b0702ed8b5
6 changed files with 70 additions and 15 deletions
+2 -1
View File
@@ -9,8 +9,9 @@ description: |
effect, Ceilometer should be able to share collected data with a variety
of consumers.
tags:
- miscellaneous
- openstack
- telemetry
- misc
provides:
nrpe-external-master:
interface: nrpe-external-master
+6 -1
View File
@@ -5,6 +5,11 @@ set -ex
sudo add-apt-repository --yes ppa:juju/stable
sudo apt-get update --yes
sudo apt-get install --yes python-amulet \
python-ceilometerclient \
python-cinderclient \
python-distro-info \
python-glanceclient \
python-heatclient \
python-keystoneclient \
python-ceilometerclient
python-novaclient \
python-swiftclient
+11
View File
@@ -0,0 +1,11 @@
#!/usr/bin/python
"""Amulet tests on a basic ceilometer deployment on trusty-liberty."""
from basic_deployment import CeilometerBasicDeployment
if __name__ == '__main__':
deployment = CeilometerBasicDeployment(series='trusty',
openstack='cloud:trusty-liberty',
source='cloud:trusty-updates/liberty')
deployment.run_tests()
+9
View File
@@ -0,0 +1,9 @@
#!/usr/bin/python
"""Amulet tests on a basic ceilometer deployment on wily-liberty."""
from basic_deployment import CeilometerBasicDeployment
if __name__ == '__main__':
deployment = CeilometerBasicDeployment(series='wily')
deployment.run_tests()
+23 -13
View File
@@ -1,5 +1,8 @@
#!/usr/bin/python
"""
Basic ceilometer functional tests.
"""
import amulet
import time
from ceilometerclient.v2 import client as ceilclient
@@ -84,7 +87,7 @@ class CeilometerBasicDeployment(OpenStackAmuletDeployment):
self.keystone_sentry = self.d.sentry.unit['keystone/0']
self.rabbitmq_sentry = self.d.sentry.unit['rabbitmq-server/0']
self.mongodb_sentry = self.d.sentry.unit['mongodb/0']
self.compute_sentry = self.d.sentry.unit['nova-compute/0']
self.nova_sentry = self.d.sentry.unit['nova-compute/0']
u.log.debug('openstack release val: {}'.format(
self._get_openstack_release()))
u.log.debug('openstack release str: {}'.format(
@@ -385,7 +388,7 @@ class CeilometerBasicDeployment(OpenStackAmuletDeployment):
'"nova.openstack.common.notifier.rpc_notifier"]]}}}}')
expected = {
'subordinate_configuration': sub,
'private-address': '10.5.15.57'
'private-address': u.valid_ip
}
ret = u.validate_relation_data(unit, relation, expected)
@@ -453,12 +456,6 @@ class CeilometerBasicDeployment(OpenStackAmuletDeployment):
u.log.debug('Checking nova compute config file...')
unit = self.nova_sentry
conf = '/etc/nova/nova.conf'
mysql_rel = self.mysql_sentry.relation('shared-db',
'nova-compute:shared-db')
db_uri = "mysql://{}:{}@{}/{}".format('nova',
mysql_rel['nova_password'],
mysql_rel['db_host'],
'nova')
expected = {
'DEFAULT': {
'verbose': 'False',
@@ -469,27 +466,40 @@ class CeilometerBasicDeployment(OpenStackAmuletDeployment):
'dhcpbridge': '/usr/bin/nova-dhcpbridge',
'logdir': '/var/log/nova',
'state_path': '/var/lib/nova',
'lock_path': '/var/lock/nova',
'api_paste_config': '/etc/nova/api-paste.ini',
'enabled_apis': 'ec2,osapi_compute,metadata',
'auth_strategy': 'keystone',
'compute_driver': 'libvirt.LibvirtDriver',
'sql_connection': db_uri,
'instance_usage_audit': 'True',
'instance_usage_audit_period': 'hour',
'notify_on_state_change': 'vm_and_task_state',
'notification_driver': 'ceilometer.compute.nova_notifier',
'notification_driver': 'nova.openstack.common'
'.notifier.rpc_notifier'
}
}
# NOTE(beisner): notification_driver is not checked like the
# others, as configparser does not support duplicate config
# options, and dicts cant have duplicate keys.
for section, pairs in expected.iteritems():
ret = u.validate_config_data(unit, conf, section, pairs)
if ret:
message = "ceilometer config error: {}".format(ret)
amulet.raise_status(amulet.FAIL, msg=message)
# Check notification_driver existence via simple grep cmd
lines = [('notification_driver = '
'ceilometer.compute.nova_notifier'),
('notification_driver = '
'nova.openstack.common.notifier.rpc_notifier')]
sentry_units = [unit]
cmds = []
for line in lines:
cmds.append('grep "{}" {}'.format(line, conf))
ret = u.check_commands_on_units(cmds, sentry_units)
if ret:
amulet.raise_status(amulet.FAIL, msg=ret)
def test_302_nova_ceilometer_config(self):
"""Verify data in the ceilometer config file on the
nova-compute (ceilometer-agent) unit."""
+19
View File
@@ -0,0 +1,19 @@
bootstrap: true
reset: true
virtualenv: true
makefile:
- lint
- test
sources:
- ppa:juju/stable
packages:
- amulet
- python-amulet
- python-ceilometerclient
- python-cinderclient
- python-distro-info
- python-glanceclient
- python-heatclient
- python-keystoneclient
- python-novaclient
- python-swiftclient