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 (
|
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)
|
||||||
|
|
||||||
|
@ -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()
|
||||||
|
Loading…
Reference in New Issue
Block a user