Fixes errors when nova is disabled

This patch checks if nova is disabled in some
plugins so we can run packstack with
CONFIG_NOVA_INSTALL=n

Fixes: rhbz#1024564

Conflicts:
	packstack/plugins/ceilometer_800.py
	packstack/plugins/cinder_250.py
	packstack/plugins/glance_200.py
	packstack/plugins/mysql_001.py
	packstack/plugins/qpid_002.py
	packstack/plugins/quantum_350.py
	packstack/plugins/swift_600.py
	packstack/puppet/templates/firewall.pp

Change-Id: I05a9bd55c89d4009e28307248d74624533d47240
(cherry picked from commit 768ee0d856)
This commit is contained in:
Ivan Chavero 2013-11-06 09:59:59 -07:00 committed by Martin Magr
parent 5e4816a9c9
commit b6ec3485e5
6 changed files with 31 additions and 22 deletions

View File

@ -4,7 +4,8 @@ from .datastructures import SortedDict
from .decorators import retry
from .network import get_localhost_ip, host2ip, force_ip, device_from_ip
from .shell import ScriptRunner, execute
from .shortcuts import host_iter, hosts, get_current_user, get_current_username
from .shortcuts import host_iter, hosts, get_current_user,\
get_current_username, split_hosts
from .strings import COLORS, color_text, mask_string
@ -13,4 +14,4 @@ __all__ = ('SortedDict',
'get_localhost_ip', 'host2ip', 'force_ip', 'device_from_ip',
'ScriptRunner', 'execute',
'host_iter', 'hosts', 'get_current_user', 'get_current_username',
'COLORS', 'color_text', 'mask_string')
'split_hosts', 'COLORS', 'color_text', 'mask_string')

View File

@ -38,3 +38,12 @@ def get_current_username():
user = pwd.getpwuid(uid).pw_name
group = grp.getgrgid(gid).gr_name
return user, group
def split_hosts(hosts_string):
hosts = set()
for host in hosts_string.split(','):
shost = host.strip()
if shost:
hosts.add(shost)
return hosts

View File

@ -8,6 +8,7 @@ import logging
from packstack.installer import validators
from packstack.installer import basedefs
from packstack.installer import utils
from packstack.installer.utils import split_hosts
from packstack.modules.ospluginutils import getManifestTemplate, appendManifestFile

View File

@ -40,18 +40,20 @@ def initConfig(controllerObject):
groupDict = { "GROUP_NAME" : "QPIDLANCE",
"DESCRIPTION" : "QPID Config parameters",
"PRE_CONDITION" : "CONFIG_NOVA_INSTALL",
"PRE_CONDITION_MATCH" : "y",
"PRE_CONDITION" : check_enabled,
"PRE_CONDITION_MATCH" : True,
"POST_CONDITION" : False,
"POST_CONDITION_MATCH" : True}
controller.addGroup(groupDict, paramsList)
def check_enabled(config):
return (config.get('CONFIG_NOVA_INSTALL') == 'y' or
config.get('CONFIG_QPID_HOST') != '')
def initSequences(controller):
# If we don't want Nova we don't need qpid
if controller.CONF['CONFIG_NOVA_INSTALL'] != 'y':
return
qpidsteps = [
{'title': 'Adding QPID manifest entries', 'functions':[createmanifest]}
]

View File

@ -9,6 +9,7 @@ import uuid
from packstack.installer import utils
from packstack.installer import validators
from packstack.installer.utils import split_hosts
from packstack.modules.ospluginutils import getManifestTemplate, appendManifestFile
@ -344,20 +345,13 @@ def initSequences(controller):
controller.CONF['CONFIG_QUANTUM_CORE_PLUGIN'] = 'quantum.plugins.linuxbridge.lb_quantum_plugin.LinuxBridgePluginV2'
global api_hosts, l3_hosts, dhcp_hosts, compute_hosts, meta_hosts, q_hosts
dirty = controller.CONF['CONFIG_QUANTUM_SERVER_HOST'].split(',')
api_hosts = set([i.strip() for i in dirty if i.strip()])
dirty = controller.CONF['CONFIG_QUANTUM_L3_HOSTS'].split(',')
l3_hosts = set([i.strip() for i in dirty if i.strip()])
dirty = controller.CONF['CONFIG_QUANTUM_DHCP_HOSTS'].split(',')
dhcp_hosts = set([i.strip() for i in dirty if i.strip()])
dirty = controller.CONF['CONFIG_QUANTUM_METADATA_HOSTS'].split(',')
meta_hosts = set([i.strip() for i in dirty if i.strip()])
dirty = controller.CONF['CONFIG_NOVA_COMPUTE_HOSTS'].split(',')
compute_hosts = set([i.strip() for i in dirty if i.strip()])
api_hosts = split_hosts(controller.CONF['CONFIG_QUANTUM_SERVER_HOST'])
l3_hosts = split_hosts(controller.CONF['CONFIG_QUANTUM_L3_HOSTS'])
dhcp_hosts = split_hosts(controller.CONF['CONFIG_QUANTUM_DHCP_HOSTS'])
meta_hosts = split_hosts(controller.CONF['CONFIG_QUANTUM_METADATA_HOSTS'])
compute_hosts = set()
if controller.CONF['CONFIG_NOVA_INSTALL'] == 'y':
compute_hosts = split_hosts(controller.CONF['CONFIG_NOVA_COMPUTE_HOSTS'])
q_hosts = api_hosts | l3_hosts | dhcp_hosts | compute_hosts | meta_hosts
quantum_steps = [
@ -474,7 +468,8 @@ def createL2AgentManifests(config):
def createMetadataManifests(config):
global meta_hosts
if config.get('CONFIG_NOVA_INSTALL') == 'n':
return
for host in meta_hosts:
controller.CONF['CONFIG_QUANTUM_METADATA_HOST'] = host
manifestdata = getManifestTemplate('quantum_metadata.pp')

View File

@ -9,6 +9,7 @@ import os
from packstack.installer import validators
from packstack.installer import basedefs
from packstack.installer import utils
from packstack.installer.utils import split_hosts
from packstack.modules.ospluginutils import getManifestTemplate, appendManifestFile, manifestfiles