MidoNet support up until Liberty
This commit is contained in:
parent
e7a00482bf
commit
cdb8db5e5e
23
config.yaml
23
config.yaml
@ -101,6 +101,7 @@ options:
|
|||||||
vsp - Nuage Networks VSP
|
vsp - Nuage Networks VSP
|
||||||
nsx - VMWare NSX
|
nsx - VMWare NSX
|
||||||
Calico - Project Calico Networking
|
Calico - Project Calico Networking
|
||||||
|
midonet - MidoNet
|
||||||
.
|
.
|
||||||
overlay-network-type:
|
overlay-network-type:
|
||||||
default: gre
|
default: gre
|
||||||
@ -487,3 +488,25 @@ options:
|
|||||||
description: |
|
description: |
|
||||||
Connect timeout configuration in ms for haproxy, used in HA
|
Connect timeout configuration in ms for haproxy, used in HA
|
||||||
configurations. If not provided, default value of 5000ms is used.
|
configurations. If not provided, default value of 5000ms is used.
|
||||||
|
midonet-origin:
|
||||||
|
default: midonet-2015.06
|
||||||
|
type: string
|
||||||
|
description: |
|
||||||
|
'mem-1.8', 'mem-1.9',
|
||||||
|
'midonet-2015.06'
|
||||||
|
|
||||||
|
NOTE: updating this setting to a source that is known to provide a later
|
||||||
|
version of MidoNet (do not change between MEM and MidoNet) will
|
||||||
|
trigger a software upgrade.
|
||||||
|
mem-username:
|
||||||
|
type: string
|
||||||
|
default:
|
||||||
|
description: |
|
||||||
|
The Midokura Enterprise MidoNet username credentials to access the
|
||||||
|
repository.
|
||||||
|
mem-password:
|
||||||
|
type: string
|
||||||
|
default:
|
||||||
|
description: |
|
||||||
|
The Midokura Enterprise MidoNet password credentials to access the
|
||||||
|
repository.
|
||||||
|
19
files/midokura.key
Normal file
19
files/midokura.key
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
Version: SKS 1.1.5
|
||||||
|
Comment: Hostname: keyserver.ubuntu.com
|
||||||
|
|
||||||
|
mI0ETb6aOgEEAMVw8Vnwk+zpDtsc0gSW10JEe48zKr2vpl9tQgWAFOPgOA1NglYMw/xT6Rns
|
||||||
|
7CrYxPR0cb3DeMFtFdMkfWXO0R6x4yHrozMDY/DpvwgYQclIIbcYYe0p83nlBp793D2dSq60
|
||||||
|
HWuXJu3oi0wQQuR0/jTmOnjxzCzu5jKdJeXihl95ABEBAAG0Jk1pZG9rdXJhIChNaWRva3Vy
|
||||||
|
YSkgPGluZm9AbWlkb2t1cmEuanA+iLgEEwECACIFAk2+mjoCGwMGCwkIBwMCBhUIAgkKCwQW
|
||||||
|
AgMBAh4BAheAAAoJEGezjToFQxTNAp0D/2c+PLnRFzEXCztXT+05xoO1mPzpm3x2p5ecVPGH
|
||||||
|
R8IxhozlN9DDGDdnvNfMOhi6nv/G2l86+9Fj8Dz01ne0RZzZHSS1DF/zb6dMYrPJqiT1DXKH
|
||||||
|
0Y73OL/+M7rsutEq0B/DKhjdBfFPutk3gerEUZPNfIhScE3tnwCnVGJKPQbFuI0ETb6aOgEE
|
||||||
|
ANLJK3gmXrsp1VKnt663RoxZgoFQgQ6wHaZZWhULTteafjoThX9tj7FidR2+7qJLwpa57M9d
|
||||||
|
rib4OlbW+rE4PW199/Uqfy86gLv76Q2GZMpzaYB1ZZow0Ny1RTCwh7apkhR/8fCUpq37aODQ
|
||||||
|
4YwBpZC54iXVKfcntpdJFoObIqXtABEBAAGInwQYAQIACQUCTb6aOgIbDAAKCRBns406BUMU
|
||||||
|
zfzOBACKx4jChKTAl6HfldOxVN7o8DQpd5rgkHIEj062ym4Zq5t2v3oaz0H0P2WV66MAhOuj
|
||||||
|
gX0V1duZi8fKHdIsdk0nvEa/mV0QS6pEAeZh+dbLkKyu1J4MSi5l+L+te5XjYBGpoRa3ZGrI
|
||||||
|
R3CkA0oQDCOh312SrcH6Tn9RBPChVSigzg==
|
||||||
|
=zF5K
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
24
files/midonet.key
Normal file
24
files/midonet.key
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
Version: SKS 1.1.5
|
||||||
|
Comment: Hostname: keyserver.ubuntu.com
|
||||||
|
|
||||||
|
mQGiBFRF760RBADwIz8rK0K1qiXbq0/cda42oKZW+jvcqUIDsNeKYSWI5YRfS4NX+jRJM/rL
|
||||||
|
PzQD+JZtLeFHeLK0qxpr5b2acxleOgNfw3hzxz4DNQsVbkts3n1s7YT80DwNdYPBbFCAOOkJ
|
||||||
|
jH7CL2PN4fTs5eP/0QpMOZT+s5DTqozPDgTYWhhVrwCgoc5H2zYVW86Ok3c0fOru9VZPJxsE
|
||||||
|
AIexw3sBv9FZyvVr6rehiVlzOtwfHwSEQZQ511so46H5GdLqQFwThKmWVvxyDAGshtpjLJbs
|
||||||
|
KHilEJVkfzhs/xyCjwAPl8VbIYgUy/FlhKtFWWxkQLlUwuC5iOPLdzhoL1PEzZuCYmMkSr0E
|
||||||
|
XASN83nbzIIqdQgvEZrAUGUzTf68A/9eSiry88vEIIGL7hT2rw/NockwCGsc2xrjqrfs9PpU
|
||||||
|
rg7ksTPua1UQUkMeWoKEoYpGppGd5XXEvo6287i8eAB4B9qr4AGbz8NKmVI2lC9V641Ecu3/
|
||||||
|
kmhaGQRBmCZgcW3B987rTyY5lsLc66+tNai6L72y1fj5nBtY2MVYg6ixZrRNTWlkb2t1cmEg
|
||||||
|
UlBNICYgREVCIFJlcG9zaXRvcnkgQXV0b21hdGljIFNpZ25pbmcgS2V5ICgyMDE0KSA8b3Bz
|
||||||
|
QG1pZG9rdXJhLmNvbT6IYgQTEQIAIgUCVEXvrQIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgEC
|
||||||
|
F4AACgkQ/ONA0lDxj8+EZgCdEqXQrZ8PiemTgQK7044Deed5OpsAnjL8Cw4GnGJZHmW24pKQ
|
||||||
|
IkzTvb1SuQENBFRF760QBADJD9aLzLYAehNITLlrNao+bZsSAAeKRYWjtyf6Z620/WiQw6a+
|
||||||
|
01/ZwrthvXNUcnIVIKKokPVpXR29AUV0T7npDMTkQCXfw24X+9NedBCquJpHnBS/YySHP+EJ
|
||||||
|
vNeLc0xdwnOcGehe7IeaDN0eEWx+HVhEfC/lXa/Pebs4OpIo/wADBwQAwyCTQ7Vod3jO7JFP
|
||||||
|
6R6mS5gX3Sx6s3ocE4laDFBmh9d8GPWpdzHwzPzrVaIw/xSaxP2zXeWFcDoY3zT7PH3dm+xj
|
||||||
|
cEG23iTqvmMAr7EXirKu9pL/DKuBPncNMTS6JoltGGVzZLoJF2OJZX81c+U1mGyLpWg/hK3K
|
||||||
|
t9VpzNjFGc2ISQQYEQIACQUCVEXvrQIbDAAKCRD840DSUPGPz0PiAJ9QXGyMCTymuuCdYyEX
|
||||||
|
3D94y0Z8FgCaAwYNRahgGw/HN04xkqfrN7bXajE=
|
||||||
|
=hLRg
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
@ -233,6 +233,13 @@ def neutron_plugins():
|
|||||||
'neutron-plugin-ml2']
|
'neutron-plugin-ml2']
|
||||||
# NOTE: patch in vmware renames nvp->nsx for icehouse onwards
|
# NOTE: patch in vmware renames nvp->nsx for icehouse onwards
|
||||||
plugins['nvp'] = plugins['nsx']
|
plugins['nvp'] = plugins['nsx']
|
||||||
|
if release >= 'kilo':
|
||||||
|
plugins['midonet']['driver'] = (
|
||||||
|
'neutron.plugins.midonet.plugin.MidonetPluginV2')
|
||||||
|
if release >= 'liberty':
|
||||||
|
if config('midonet-origin')[4:5] == '1':
|
||||||
|
plugins['midonet']['driver'] = (
|
||||||
|
'midonet.neutron.plugin_v1.MidonetPluginV2')
|
||||||
return plugins
|
return plugins
|
||||||
|
|
||||||
|
|
||||||
|
1
hooks/midonet-relation-broken
Symbolic link
1
hooks/midonet-relation-broken
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
neutron_api_hooks.py
|
1
hooks/midonet-relation-changed
Symbolic link
1
hooks/midonet-relation-changed
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
neutron_api_hooks.py
|
1
hooks/midonet-relation-joined
Symbolic link
1
hooks/midonet-relation-joined
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
neutron_api_hooks.py
|
@ -166,6 +166,12 @@ class NeutronCCContext(context.NeutronContext):
|
|||||||
ctxt['pg_username'] = config('plumgrid-username')
|
ctxt['pg_username'] = config('plumgrid-username')
|
||||||
ctxt['pg_password'] = config('plumgrid-password')
|
ctxt['pg_password'] = config('plumgrid-password')
|
||||||
ctxt['virtual_ip'] = config('plumgrid-virtual-ip')
|
ctxt['virtual_ip'] = config('plumgrid-virtual-ip')
|
||||||
|
elif config('neutron-plugin') == 'midonet':
|
||||||
|
ctxt.update(MidonetContext()())
|
||||||
|
identity_context = IdentityServiceContext(service='neutron',
|
||||||
|
service_user='neutron')()
|
||||||
|
if identity_context is not None:
|
||||||
|
ctxt.update(identity_context)
|
||||||
ctxt['l2_population'] = self.neutron_l2_population
|
ctxt['l2_population'] = self.neutron_l2_population
|
||||||
ctxt['enable_dvr'] = self.neutron_dvr
|
ctxt['enable_dvr'] = self.neutron_dvr
|
||||||
ctxt['l3_ha'] = self.neutron_l3ha
|
ctxt['l3_ha'] = self.neutron_l3ha
|
||||||
@ -342,3 +348,21 @@ class NeutronApiSDNConfigFileContext(context.OSContextGenerator):
|
|||||||
if neutron_server_plugin_conf:
|
if neutron_server_plugin_conf:
|
||||||
return {'config': neutron_server_plugin_conf}
|
return {'config': neutron_server_plugin_conf}
|
||||||
return {'config': '/etc/neutron/plugins/ml2/ml2_conf.ini'}
|
return {'config': '/etc/neutron/plugins/ml2/ml2_conf.ini'}
|
||||||
|
|
||||||
|
|
||||||
|
class MidonetContext(context.OSContextGenerator):
|
||||||
|
def __init__(self, rel_name='midonet'):
|
||||||
|
self.rel_name = rel_name
|
||||||
|
self.interfaces = [rel_name]
|
||||||
|
|
||||||
|
def __call__(self):
|
||||||
|
for rid in relation_ids(self.rel_name):
|
||||||
|
for unit in related_units(rid):
|
||||||
|
rdata = relation_get(rid=rid, unit=unit)
|
||||||
|
ctxt = {
|
||||||
|
'midonet_api_ip': rdata.get('host'),
|
||||||
|
'midonet_api_port': rdata.get('port'),
|
||||||
|
}
|
||||||
|
if self.context_complete(ctxt):
|
||||||
|
return ctxt
|
||||||
|
return {}
|
||||||
|
@ -25,6 +25,7 @@ from charmhelpers.core.hookenv import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
from charmhelpers.core.host import (
|
from charmhelpers.core.host import (
|
||||||
|
mkdir,
|
||||||
restart_on_change,
|
restart_on_change,
|
||||||
service_reload,
|
service_reload,
|
||||||
service_restart,
|
service_restart,
|
||||||
@ -162,18 +163,18 @@ def configure_https():
|
|||||||
def install():
|
def install():
|
||||||
status_set('maintenance', 'Executing pre-install')
|
status_set('maintenance', 'Executing pre-install')
|
||||||
execd_preinstall()
|
execd_preinstall()
|
||||||
configure_installation_source(config('openstack-origin'))
|
openstack_origin = config('openstack-origin')
|
||||||
additional_install_locations(
|
configure_installation_source(openstack_origin)
|
||||||
config('neutron-plugin'), config('openstack-origin')
|
neutron_plugin = config('neutron-plugin')
|
||||||
)
|
additional_install_locations(neutron_plugin, openstack_origin)
|
||||||
|
|
||||||
add_source(config('extra-source'), config('extra-key'))
|
add_source(config('extra-source'), config('extra-key'))
|
||||||
status_set('maintenance', 'Installing apt packages')
|
status_set('maintenance', 'Installing apt packages')
|
||||||
apt_update(fatal=True)
|
apt_update(fatal=True)
|
||||||
packages = determine_packages(config('openstack-origin'))
|
packages = determine_packages(openstack_origin)
|
||||||
apt_install(packages, fatal=True)
|
apt_install(packages, fatal=True)
|
||||||
|
|
||||||
if config('neutron-plugin') == 'vsp':
|
if neutron_plugin == 'vsp':
|
||||||
source = config('nuage-tarball-url')
|
source = config('nuage-tarball-url')
|
||||||
if source is not None:
|
if source is not None:
|
||||||
try:
|
try:
|
||||||
@ -201,6 +202,10 @@ def install():
|
|||||||
|
|
||||||
[open_port(port) for port in determine_ports()]
|
[open_port(port) for port in determine_ports()]
|
||||||
|
|
||||||
|
if neutron_plugin == 'midonet':
|
||||||
|
mkdir('/etc/neutron/plugins/midonet', owner='neutron', group='neutron',
|
||||||
|
perms=0o755, force=False)
|
||||||
|
|
||||||
|
|
||||||
@hooks.hook('vsd-rest-api-relation-changed')
|
@hooks.hook('vsd-rest-api-relation-changed')
|
||||||
@restart_on_change(restart_map(), stopstart=True)
|
@restart_on_change(restart_map(), stopstart=True)
|
||||||
@ -593,6 +598,14 @@ def etcd_proxy_force_restart(relation_id=None):
|
|||||||
force_etcd_restart()
|
force_etcd_restart()
|
||||||
|
|
||||||
|
|
||||||
|
@hooks.hook('midonet-relation-joined')
|
||||||
|
@hooks.hook('midonet-relation-changed')
|
||||||
|
@hooks.hook('midonet-relation-departed')
|
||||||
|
@restart_on_change(restart_map())
|
||||||
|
def midonet_changed():
|
||||||
|
CONFIGS.write_all()
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
try:
|
try:
|
||||||
hooks.execute(sys.argv)
|
hooks.execute(sys.argv)
|
||||||
|
@ -28,6 +28,7 @@ from charmhelpers.contrib.python.packages import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
from charmhelpers.core.hookenv import (
|
from charmhelpers.core.hookenv import (
|
||||||
|
charm_dir,
|
||||||
config,
|
config,
|
||||||
log,
|
log,
|
||||||
relation_ids,
|
relation_ids,
|
||||||
@ -198,14 +199,43 @@ def additional_install_locations(plugin, source):
|
|||||||
on the Neutron plugin being used. This will also force an immediate
|
on the Neutron plugin being used. This will also force an immediate
|
||||||
package upgrade.
|
package upgrade.
|
||||||
'''
|
'''
|
||||||
|
release = get_os_codename_install_source(source)
|
||||||
if plugin == 'Calico':
|
if plugin == 'Calico':
|
||||||
if config('calico-origin'):
|
if config('calico-origin'):
|
||||||
calico_source = config('calico-origin')
|
calico_source = config('calico-origin')
|
||||||
else:
|
else:
|
||||||
release = get_os_codename_install_source(source)
|
|
||||||
calico_source = 'ppa:project-calico/%s' % release
|
calico_source = 'ppa:project-calico/%s' % release
|
||||||
|
|
||||||
add_source(calico_source)
|
add_source(calico_source)
|
||||||
|
elif plugin == 'midonet':
|
||||||
|
midonet_origin = config('midonet-origin')
|
||||||
|
release_num = midonet_origin.split('-')[1]
|
||||||
|
|
||||||
|
if midonet_origin.startswith('mem'):
|
||||||
|
with open(os.path.join(charm_dir(),
|
||||||
|
'files/midokura.key')) as midokura_gpg_key:
|
||||||
|
priv_gpg_key = midokura_gpg_key.read()
|
||||||
|
mem_username = config('mem-username')
|
||||||
|
mem_password = config('mem-password')
|
||||||
|
if release in ('juno', 'kilo', 'liberty'):
|
||||||
|
add_source(
|
||||||
|
'deb http://%s:%s@apt.midokura.com/openstack/%s/stable '
|
||||||
|
'trusty main' % (mem_username, mem_password, release),
|
||||||
|
key=priv_gpg_key)
|
||||||
|
add_source('http://%s:%s@apt.midokura.com/midonet/v%s/stable '
|
||||||
|
'main' % (mem_username, mem_password, release_num),
|
||||||
|
key=priv_gpg_key)
|
||||||
|
else:
|
||||||
|
with open(os.path.join(charm_dir(),
|
||||||
|
'files/midonet.key')) as midonet_gpg_key:
|
||||||
|
pub_gpg_key = midonet_gpg_key.read()
|
||||||
|
if release in ('juno', 'kilo', 'liberty'):
|
||||||
|
add_source(
|
||||||
|
'deb http://repo.midonet.org/openstack-%s stable main' %
|
||||||
|
release, key=pub_gpg_key)
|
||||||
|
|
||||||
|
add_source('deb http://repo.midonet.org/midonet/v%s stable main' %
|
||||||
|
release_num, key=pub_gpg_key)
|
||||||
|
|
||||||
apt_update(fatal=True)
|
apt_update(fatal=True)
|
||||||
apt_upgrade(fatal=True)
|
apt_upgrade(fatal=True)
|
||||||
|
@ -44,6 +44,8 @@ requires:
|
|||||||
scope: container
|
scope: container
|
||||||
etcd-proxy:
|
etcd-proxy:
|
||||||
interface: etcd-proxy
|
interface: etcd-proxy
|
||||||
|
midonet:
|
||||||
|
interface: midonet
|
||||||
peers:
|
peers:
|
||||||
cluster:
|
cluster:
|
||||||
interface: neutron-api-ha
|
interface: neutron-api-ha
|
||||||
|
11
templates/juno/midonet.ini
Normal file
11
templates/juno/midonet.ini
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
###############################################################################
|
||||||
|
# [ WARNING ]
|
||||||
|
# Configuration file maintained by Juju. Local changes may be overwritten.
|
||||||
|
###############################################################################
|
||||||
|
[MIDONET]
|
||||||
|
# MidoNet API URL
|
||||||
|
midonet_uri = http://{{ midonet_api_ip }}:{{ midonet_api_port }}/midonet-api
|
||||||
|
# credentials
|
||||||
|
username = {{ admin_user }}
|
||||||
|
password = {{ admin_password }}
|
||||||
|
project_id = {{ admin_tenant_name }}
|
@ -102,4 +102,6 @@ admin_password = {{ admin_password }}
|
|||||||
[service_providers]
|
[service_providers]
|
||||||
service_provider=LOADBALANCER:Haproxy:neutron.services.loadbalancer.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default
|
service_provider=LOADBALANCER:Haproxy:neutron.services.loadbalancer.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default
|
||||||
service_provider=VPN:openswan:neutron.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default
|
service_provider=VPN:openswan:neutron.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default
|
||||||
|
{% if not neutron_plugin or neutron_plugin != 'midonet' -%}
|
||||||
service_provider=FIREWALL:Iptables:neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver:default
|
service_provider=FIREWALL:Iptables:neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver:default
|
||||||
|
{% endif -%}
|
||||||
|
@ -107,9 +107,13 @@ root_helper = sudo /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf
|
|||||||
{% include "section-rabbitmq-oslo" %}
|
{% include "section-rabbitmq-oslo" %}
|
||||||
|
|
||||||
[service_providers]
|
[service_providers]
|
||||||
service_provider=LOADBALANCER:Haproxy:neutron_lbaas.services.loadbalancer.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default
|
|
||||||
service_provider=VPN:openswan:neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default
|
service_provider=VPN:openswan:neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default
|
||||||
|
{% if neutron_plugin and neutron_plugin == 'midonet' -%}
|
||||||
|
service_provider = LOADBALANCER:Midonet:midonet.neutron.services.loadbalancer.driver.MidonetLoadbalancerDriver:default
|
||||||
|
{% else -%}
|
||||||
|
service_provider=LOADBALANCER:Haproxy:neutron_lbaas.services.loadbalancer.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default
|
||||||
service_provider=FIREWALL:Iptables:neutron_fwaas.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver:default
|
service_provider=FIREWALL:Iptables:neutron_fwaas.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver:default
|
||||||
|
{% endif -%}
|
||||||
|
|
||||||
[oslo_concurrency]
|
[oslo_concurrency]
|
||||||
lock_path = $state_path/lock
|
lock_path = $state_path/lock
|
||||||
|
@ -36,6 +36,8 @@ service_plugins = {{ service_plugins }}
|
|||||||
{% else -%}
|
{% else -%}
|
||||||
{% if neutron_plugin in ['ovs', 'ml2', 'Calico'] -%}
|
{% if neutron_plugin in ['ovs', 'ml2', 'Calico'] -%}
|
||||||
service_plugins = router,firewall,lbaas,vpnaas,metering
|
service_plugins = router,firewall,lbaas,vpnaas,metering
|
||||||
|
{% elif neutron_plugin == 'midonet' -%}
|
||||||
|
service_plugins = lbaas
|
||||||
{% endif -%}
|
{% endif -%}
|
||||||
{% endif -%}
|
{% endif -%}
|
||||||
{% endif -%}
|
{% endif -%}
|
||||||
@ -44,7 +46,7 @@ service_plugins = router,firewall,lbaas,vpnaas,metering
|
|||||||
allow_overlapping_ips = True
|
allow_overlapping_ips = True
|
||||||
{% if neutron_plugin == 'Calico' -%}
|
{% if neutron_plugin == 'Calico' -%}
|
||||||
neutron_firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
|
neutron_firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
|
||||||
{% else -%}
|
{% elif neutron_plugin != 'midonet' -%}
|
||||||
neutron_firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
|
neutron_firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
|
||||||
{% endif -%}
|
{% endif -%}
|
||||||
{% endif -%}
|
{% endif -%}
|
||||||
|
@ -15,5 +15,9 @@
|
|||||||
# auth_version = 2
|
# auth_version = 2
|
||||||
|
|
||||||
[service_providers]
|
[service_providers]
|
||||||
|
{% if neutron_plugin and neutron_plugin == 'midonet' -%}
|
||||||
|
service_provider = LOADBALANCER:Midonet:midonet.neutron.services.loadbalancer.driver.MidonetLoadbalancerDriver:default
|
||||||
|
{% else -%}
|
||||||
service_provider=LOADBALANCER:Haproxy:neutron_lbaas.services.loadbalancer.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default
|
service_provider=LOADBALANCER:Haproxy:neutron_lbaas.services.loadbalancer.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default
|
||||||
# service_provider=LOADBALANCERV2:Haproxy:neutron_lbaas.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default
|
# service_provider=LOADBALANCERV2:Haproxy:neutron_lbaas.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default
|
||||||
|
{% endif %}
|
||||||
|
@ -283,6 +283,9 @@ class NeutronCCContextTest(CharmTestCase):
|
|||||||
self.test_config.set('plumgrid-username', 'plumgrid')
|
self.test_config.set('plumgrid-username', 'plumgrid')
|
||||||
self.test_config.set('plumgrid-password', 'plumgrid')
|
self.test_config.set('plumgrid-password', 'plumgrid')
|
||||||
self.test_config.set('plumgrid-virtual-ip', '192.168.100.250')
|
self.test_config.set('plumgrid-virtual-ip', '192.168.100.250')
|
||||||
|
self.test_config.set('midonet-origin', 'mem-1.9')
|
||||||
|
self.test_config.set('mem-username', 'yousir')
|
||||||
|
self.test_config.set('mem-password', 'heslo')
|
||||||
self.test_config.set('enable-ml2-port-security', True)
|
self.test_config.set('enable-ml2-port-security', True)
|
||||||
self.test_config.set('dhcp-agents-per-network', 3)
|
self.test_config.set('dhcp-agents-per-network', 3)
|
||||||
|
|
||||||
@ -654,3 +657,34 @@ class NeutronApiSDNConfigFileContextTest(CharmTestCase):
|
|||||||
self.assertEquals(napisdn_ctxt, {
|
self.assertEquals(napisdn_ctxt, {
|
||||||
'config': '/etc/neutron/plugins/ml2/ml2_conf.ini'
|
'config': '/etc/neutron/plugins/ml2/ml2_conf.ini'
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
class MidonetContextTest(CharmTestCase):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
super(MidonetContextTest, self).setUp(context, TO_PATCH)
|
||||||
|
self.relation_get.side_effect = self.test_relation.get
|
||||||
|
self.config.side_effect = self.test_config.get
|
||||||
|
self.test_config.set('neutron-plugin', 'midonet')
|
||||||
|
self.test_config.set('midonet-origin', 'midonet-2015.06')
|
||||||
|
|
||||||
|
def tearDown(self):
|
||||||
|
super(MidonetContextTest, self).tearDown()
|
||||||
|
|
||||||
|
def test_midonet_no_related_units(self):
|
||||||
|
self.related_units.return_value = []
|
||||||
|
ctxt = context.MidonetContext()()
|
||||||
|
expect = {}
|
||||||
|
|
||||||
|
self.assertEquals(expect, ctxt)
|
||||||
|
|
||||||
|
def test_some_related_units(self):
|
||||||
|
self.related_units.return_value = ['unit1']
|
||||||
|
self.relation_ids.return_value = ['rid1']
|
||||||
|
self.test_relation.set({'host': '11.11.11.11',
|
||||||
|
'port': '8080'})
|
||||||
|
ctxt = context.MidonetContext()()
|
||||||
|
expect = {'midonet_api_ip': '11.11.11.11',
|
||||||
|
'midonet_api_port': '8080'}
|
||||||
|
|
||||||
|
self.assertEquals(expect, ctxt)
|
||||||
|
Loading…
Reference in New Issue
Block a user