Purge pkgs when not in dvr mode
This commit is contained in:
parent
8b5d14e345
commit
7a4e0e1222
@ -16,16 +16,18 @@ from charmhelpers.core.host import (
|
||||
)
|
||||
|
||||
from charmhelpers.fetch import (
|
||||
apt_install, apt_update
|
||||
apt_install, apt_update, apt_purge
|
||||
)
|
||||
|
||||
from neutron_ovs_utils import (
|
||||
DVR_PACKAGES,
|
||||
configure_ovs,
|
||||
determine_packages,
|
||||
determine_dvr_packages,
|
||||
get_shared_secret,
|
||||
register_configs,
|
||||
restart_map,
|
||||
use_dvr,
|
||||
)
|
||||
|
||||
hooks = Hooks()
|
||||
@ -55,9 +57,11 @@ def config_changed():
|
||||
@hooks.hook('neutron-plugin-api-relation-changed')
|
||||
@restart_on_change(restart_map())
|
||||
def neutron_plugin_api_changed():
|
||||
if determine_dvr_packages():
|
||||
if use_dvr():
|
||||
apt_update()
|
||||
apt_install(determine_dvr_packages(), fatal=True)
|
||||
apt_install(DVR_PACKAGES, fatal=True)
|
||||
else:
|
||||
apt_purge(DVR_PACKAGES, fatal=True)
|
||||
configure_ovs()
|
||||
CONFIGS.write_all()
|
||||
# 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')
|
||||
def neutron_plugin_joined(relation_id=None):
|
||||
secret = get_shared_secret() if use_dvr() else None
|
||||
rel_data = {
|
||||
'metadata-shared-secret': get_shared_secret()
|
||||
'metadata-shared-secret': secret,
|
||||
}
|
||||
relation_set(relation_id=relation_id, **rel_data)
|
||||
|
||||
|
@ -21,7 +21,7 @@ NEUTRON_FWAAS_CONF = "/etc/neutron/fwaas_driver.ini"
|
||||
ML2_CONF = '%s/plugins/ml2/ml2_conf.ini' % NEUTRON_CONF_DIR
|
||||
EXT_PORT_CONF = '/etc/init/ext-port.conf'
|
||||
NEUTRON_METADATA_AGENT_CONF = "/etc/neutron/metadata_agent.ini"
|
||||
|
||||
DVR_PACKAGES = ['neutron-vpn-agent']
|
||||
|
||||
BASE_RESOURCE_MAP = OrderedDict([
|
||||
(NEUTRON_CONF, {
|
||||
@ -60,10 +60,9 @@ DATA_BRIDGE = 'br-data'
|
||||
|
||||
|
||||
def determine_dvr_packages():
|
||||
pkgs = []
|
||||
if neutron_ovs_context.use_dvr():
|
||||
pkgs = ['neutron-vpn-agent']
|
||||
return pkgs
|
||||
if use_dvr():
|
||||
return DVR_PACKAGES
|
||||
return []
|
||||
|
||||
|
||||
def determine_packages():
|
||||
@ -87,7 +86,7 @@ def resource_map():
|
||||
hook execution.
|
||||
'''
|
||||
resource_map = deepcopy(BASE_RESOURCE_MAP)
|
||||
if neutron_ovs_context.use_dvr():
|
||||
if use_dvr():
|
||||
resource_map.update(DVR_RESOURCE_MAP)
|
||||
dvr_services = ['neutron-metadata-agent', 'neutron-vpn-agent']
|
||||
resource_map[NEUTRON_CONF]['services'] += dvr_services
|
||||
@ -116,3 +115,6 @@ def get_shared_secret():
|
||||
ctxt = neutron_ovs_context.DVRSharedSecretContext()()
|
||||
if 'shared_secret' in ctxt:
|
||||
return ctxt['shared_secret']
|
||||
|
||||
def use_dvr():
|
||||
return neutron_ovs_context.use_dvr()
|
||||
|
Loading…
Reference in New Issue
Block a user