Workaround for UCA known bug in nova service-list

nova service-list shows osapi_compute and metadata
services as down, when these are APIs, not RPC receivers,
which should not be reported by this command. The bug is
fixed upstream and in Fuel, but not in UCA Trusty packages.

blueprint deploy-with-uca-packages

Change-Id: I632051fb77d713cd8584bba398486f70cb8901d5
This commit is contained in:
Matthew Mosesohn 2016-02-25 12:17:26 +04:00 committed by tatyana-leontovich
parent 003272dc29
commit 1bccfe65f6
2 changed files with 12 additions and 1 deletions

View File

@ -423,7 +423,10 @@ FuelConf = [
default=False,
help='ssl usage'),
cfg.BoolOpt('ssl_data',
default=False)
default=False),
cfg.StrOpt('repo_type',
default='fuel',
help='Repository type')
]
@ -621,6 +624,7 @@ class NailgunConfig(object):
LOG.info('RESPONSE FROM %s - %s' % (api_url, data))
access_data = data['editable']['access']
common_data = data['editable']['common']
repo_data = data['editable']['repo_setup']
self.identity.admin_tenant_name = \
(
@ -658,6 +662,8 @@ class NailgunConfig(object):
if deployment_os != 'RHEL':
storage = data['editable']['storage']['volumes_ceph']['value']
self.volume.ceph_exist = storage
if repo_data.get('repo_type', None):
self.fuel.repo_type = repo_data['repo_type']['value']
self.fuel.dns = data['editable']['external_dns'].get('value', None)
ssl_data = data['editable'].get('public_ssl',
{'horizon': {'value': False}})

View File

@ -43,6 +43,7 @@ class SanityInfrastructureTest(nmanager.SanityChecksTest):
cls.key = cls.config.compute.path_to_private_key
cls.timeout = cls.config.compute.ssh_timeout
cls.fuel_dns = cls.config.fuel.dns
cls.fuel_repo_type = cls.config.fuel.repo_type
@classmethod
def tearDownClass(cls):
@ -59,6 +60,10 @@ class SanityInfrastructureTest(nmanager.SanityChecksTest):
"""
downstate = u'down'
cmd = 'source /root/openrc; nova service-list'
# FIXME(mattymo): Remove this after LP#1543625 is fixed in UCA
if self.fuel_repo_type == 'uca':
cmd = '{0} | egrep -v "metadata|osapi_compute"'.format(cmd)
if not self.controllers:
self.skipTest('Step 1 failed: there are no controller nodes.')
ssh_client = SSHClient(self.controllers[0],