Purge pkgs when not in dvr mode

This commit is contained in:
Liam Young 2015-03-02 14:56:11 +00:00
parent 8b5d14e345
commit 7a4e0e1222
2 changed files with 17 additions and 10 deletions

View File

@ -16,16 +16,18 @@ from charmhelpers.core.host import (
) )
from charmhelpers.fetch import ( from charmhelpers.fetch import (
apt_install, apt_update apt_install, apt_update, apt_purge
) )
from neutron_ovs_utils import ( from neutron_ovs_utils import (
DVR_PACKAGES,
configure_ovs, configure_ovs,
determine_packages, determine_packages,
determine_dvr_packages, determine_dvr_packages,
get_shared_secret, get_shared_secret,
register_configs, register_configs,
restart_map, restart_map,
use_dvr,
) )
hooks = Hooks() hooks = Hooks()
@ -55,9 +57,11 @@ def config_changed():
@hooks.hook('neutron-plugin-api-relation-changed') @hooks.hook('neutron-plugin-api-relation-changed')
@restart_on_change(restart_map()) @restart_on_change(restart_map())
def neutron_plugin_api_changed(): def neutron_plugin_api_changed():
if determine_dvr_packages(): if use_dvr():
apt_update() apt_update()
apt_install(determine_dvr_packages(), fatal=True) apt_install(DVR_PACKAGES, fatal=True)
else:
apt_purge(DVR_PACKAGES, fatal=True)
configure_ovs() configure_ovs()
CONFIGS.write_all() CONFIGS.write_all()
# If dvr setting has changed, need to pass that on # If dvr setting has changed, need to pass that on
@ -67,8 +71,9 @@ def neutron_plugin_api_changed():
@hooks.hook('neutron-plugin-relation-joined') @hooks.hook('neutron-plugin-relation-joined')
def neutron_plugin_joined(relation_id=None): def neutron_plugin_joined(relation_id=None):
secret = get_shared_secret() if use_dvr() else None
rel_data = { rel_data = {
'metadata-shared-secret': get_shared_secret() 'metadata-shared-secret': secret,
} }
relation_set(relation_id=relation_id, **rel_data) relation_set(relation_id=relation_id, **rel_data)

View File

@ -21,7 +21,7 @@ NEUTRON_FWAAS_CONF = "/etc/neutron/fwaas_driver.ini"
ML2_CONF = '%s/plugins/ml2/ml2_conf.ini' % NEUTRON_CONF_DIR ML2_CONF = '%s/plugins/ml2/ml2_conf.ini' % NEUTRON_CONF_DIR
EXT_PORT_CONF = '/etc/init/ext-port.conf' EXT_PORT_CONF = '/etc/init/ext-port.conf'
NEUTRON_METADATA_AGENT_CONF = "/etc/neutron/metadata_agent.ini" NEUTRON_METADATA_AGENT_CONF = "/etc/neutron/metadata_agent.ini"
DVR_PACKAGES = ['neutron-vpn-agent']
BASE_RESOURCE_MAP = OrderedDict([ BASE_RESOURCE_MAP = OrderedDict([
(NEUTRON_CONF, { (NEUTRON_CONF, {
@ -60,10 +60,9 @@ DATA_BRIDGE = 'br-data'
def determine_dvr_packages(): def determine_dvr_packages():
pkgs = [] if use_dvr():
if neutron_ovs_context.use_dvr(): return DVR_PACKAGES
pkgs = ['neutron-vpn-agent'] return []
return pkgs
def determine_packages(): def determine_packages():
@ -87,7 +86,7 @@ def resource_map():
hook execution. hook execution.
''' '''
resource_map = deepcopy(BASE_RESOURCE_MAP) resource_map = deepcopy(BASE_RESOURCE_MAP)
if neutron_ovs_context.use_dvr(): if use_dvr():
resource_map.update(DVR_RESOURCE_MAP) resource_map.update(DVR_RESOURCE_MAP)
dvr_services = ['neutron-metadata-agent', 'neutron-vpn-agent'] dvr_services = ['neutron-metadata-agent', 'neutron-vpn-agent']
resource_map[NEUTRON_CONF]['services'] += dvr_services resource_map[NEUTRON_CONF]['services'] += dvr_services
@ -116,3 +115,6 @@ def get_shared_secret():
ctxt = neutron_ovs_context.DVRSharedSecretContext()() ctxt = neutron_ovs_context.DVRSharedSecretContext()()
if 'shared_secret' in ctxt: if 'shared_secret' in ctxt:
return ctxt['shared_secret'] return ctxt['shared_secret']
def use_dvr():
return neutron_ovs_context.use_dvr()