80 Commits

Author SHA1 Message Date
Tytus Kurek
297b7eae98 Add support for 'availability_zone' parameter.
I've added support for 'availability_zone' parameter. I've added
'dhcp_agent.ini' template and implemented the parameter to be consumed
via 'neutron-plugin' relation settings.

Change-Id: I015a6dfcf89800043bd7dbf02b07da07d8a7d728
Closes-Bug: 1595937
2016-12-09 14:02:56 +00:00
Liam Young
a92b6fb881 Add neutron-control interface
Add neutron-control interface to allow charms to send triggers to
restart neutron services managed by this charm

Change-Id: I0e44f7cab99db4fb9b5d2764859e16b30705e6fe
2016-08-31 10:40:07 +00:00
James Page
ed83413331 Re-license charm as Apache-2.0
All contributions to this charm where made under Canonical
copyright; switch to Apache-2.0 license as agreed so we
can move forward with official project status.

Change-Id: I7bd44dc15ad951bf2536e5ee10de01ec592b8970
2016-07-01 17:36:39 +01:00
James Page
85cf60219b Support new style (and multiple) external networks
Note that this change only impacts use of this charm when
Distributed Virtual Routing is enabled in a deployment.

Switch the generated configuration to use "new" style external
networks when ext-port is not set.  In this case we configure:

  external_network_bridge = (intentionally blank)
  gateway_external_network_id = (blank)

The current template configures external networks by using the default
external_network_bridge=br-ex (implied when not set).  This activates
legacy code which assumes that a single external network exists on
that bridge and the L3 Agent directly plugs itself in.
provider:network_type, provider:physical_network and
provider:segmentation_id are ignored.  You cannot create multiple
networks and you cannot use segmented networks (e.g. VLAN)

By setting external_network_bridge = (intentionally blank) the L2
Agent handles the configuration instead, this allows us to create
multiple networks and also to use more complex network configurations
such as VLAN.  It is also possible to use the same physical connection
with different segmentation IDs for both internal and external
networks, as well as multiple external networks.

Legacy/existing configurations where ext-port is set generate the same
configuration as previous and should continue to work as before.
Migration from legacy to new style configuration is not supported.

Change-Id: I3d06581850ccbe5ea77741c4a546e663b2957a91
Closes-Bug: #1536768
2016-06-15 20:45:20 +01:00
James Page
4cfdc89c56 Drop use of resolve_address
The shared secret context makes use of 'resolve_address' to
resolve the local_ip address of the unit; the resulting
value is not actually used in the metadata_agent.ini template
and breaks under Juju 2.0, where resolve_address attempts
to use network-get to resolve the public endpoint of the
service using extra bindings (which are not relevant for this
charm).

Drop use of resolve address and tidy templates; the default
127.0.0.1 address is fine for accessing the Nova Metadata
service from the Neutron Metadata agent proxy.

Change-Id: I03fc6d1c7c8ca832b02a7df5b1666c04aaecc589
Close-Bug: 1580271
2016-05-23 09:46:50 +01:00
Liam Young
236bb562f1 Restart services when trigger from principle
Check to see if a restart trigger has been sent by the principle,
if it has then right the trigger uuid in to the neutron.conf to
trigger a service restart

Change-Id: I19649cb73dad94f4fe24412c0b8c37a28f30047d
Partial-Bug: 1571634
2016-04-19 05:47:04 +00:00
James Page
acd617f4ca Add support for DPDK userspace networking
Add full support for DPDK; this includes a number of configuration
options to allow the number of cores and memory allocated per
NUMA node to be changed.  By default, the first core and 1024MB of
RAM of each NUMA node will be configured for DPDK use.

When DPDK is enabled, OVS bridges are configured as datapath type
'netdev' rather than type 'system' to allow use of userspace
DPDK packet processing; Security groups are also disabled, as
iptables based rules cannot be applied against userspace sockets.

DPDK device binding is undertaken using /etc/dpdk/interfaces and
the dpdk init script provided as part of the DPDK package; device
resolution is determined using the data-port configuration option
using the <bridge:<mac address> format - MAC addresses are used
to resolve underlying PCI device names for binding with DPDK.

It's assumed that hugepage memory configuration is either done as
part of system boot as kernel command line options (set via MAAS)
or using the hugepages configuration option on the nova-compute
charm.

Change-Id: Ieb2ac522b07e495f1855e304d31eef59c316c0e4
2016-04-07 12:42:16 +01:00
James Page
6ee724fc4b Add Juju Network Space support
Juju 2.0 provides support for network spaces, allowing
charm authors to support direct binding of relations and
extra-bindings onto underlying network spaces.

Resync charm-helpers to pickup support for new hookenv
tools and add data extra-binding to the charm metadata.

This allows the local endpoint IP for overlay tunnels to
be configured using network spaces.

Any existing configuration of os-data-network is preferred
over the new binding support if already set.

Change-Id: I0e2e3f51106b6c6483f22ce4abd04bcb098b484e
2016-03-31 12:18:51 +01:00
James Page
e27ef245fb Make this a configuration knob 2016-02-10 10:30:30 +00:00
Liam Young
a50e1024df Fix sharedsecret context bug looking for wrong param 2015-09-08 15:52:52 +01:00
Liam Young
9595e7516c Enable metadata 2015-09-08 13:17:28 +01:00
Edward Hope-Morley
904a3f4715 [hopem,r=]
Allow flat network providers to be configured seperately to vlan
providers.

Closes-Bug: 1444470
2015-04-15 15:08:36 +01:00
Edward Hope-Morley
82b867339a added unit tests 2015-04-10 17:21:20 +01:00
Edward Hope-Morley
43e0f7bf74 fix ml2 mapping parsing 2015-04-10 16:42:06 +01:00
Liam Young
83d814c810 Fix up lint and unit tests. Unit tests needed fixing as _ensure_bridge has been removed from the OVSPluginContext in favour of doing it explicitly in configure_ovs() 2015-04-01 09:57:10 +01:00
Liam Young
fe1406ebec Get keystone creds from neutron-api not nova-cc 2015-03-31 14:33:06 +00:00
Liam Young
8f1827f88c Lint cleanup 2015-03-26 10:27:32 +00:00
Liam Young
c13cd7e0c8 Stop managing the bridges in two places 2015-03-26 10:22:41 +00:00
Liam Young
67b068f3f8 Merged next in 2015-03-25 09:49:01 +00:00
Liam Young
b54c200370 Prep for merging next in 2015-03-25 08:37:29 +00:00
Liam Young
78b14f6e89 Update after some contexts moved to charm helpers 2015-03-24 13:39:11 +00:00
Edward Hope-Morley
dfaded5874 fix bad remove sec_group disable 2015-03-18 18:23:06 +01:00
Edward Hope-Morley
869669a926 added vlan-ranges config 2015-03-16 18:43:06 +00:00
Edward Hope-Morley
b00416f1c6 phy-nic* > get value from data-port config param 2015-03-12 10:32:45 +00:00
Edward Hope-Morley
53bfb48db3 more 2015-03-03 14:24:10 +08:00
Edward Hope-Morley
5859ad0d86 more 2015-03-03 13:55:30 +08:00
Edward Hope-Morley
2844b0dc98 more 2015-02-27 18:26:42 +00:00
Edward Hope-Morley
befb2b4f3b more 2015-02-27 18:25:49 +00:00
Liam Young
8b5d14e345 More unit tests 2015-02-25 13:50:38 +00:00
Liam Young
f5321e3f50 Use charm-helpers ExternalPortContext 2015-02-25 07:54:14 +00:00
Edward Hope-Morley
8181d2f450 synced /next 2015-02-24 11:35:32 +00:00
Liam Young
02dca40b5e Fix bug stopping agent type being set correctly. neutron_api_settings['enable_dvr'] is now a boolean not a string 2015-02-20 09:13:08 +00:00
Liam Young
e3bc81a2eb Merged trunk in and tidyup 2015-02-19 15:55:06 +00:00
Liam Young
283974d867 Use charmhelper bool_from_string rather than local to_boolean 2015-02-16 11:16:11 +00:00
Liam Young
1986e44d62 Try to fix lint error that osci is seeing although I cannot reproduce locally 2015-02-13 09:15:36 +00:00
Liam Young
6995409ebc Fix lint 2015-02-12 21:06:19 +00:00
Liam Young
6f33e03ab8 _neutron_api_settings should return booleans for things which are supposed to be booleans rather than strings. this avoids confusion in the template 2015-02-12 16:27:40 +00:00
Edward Hope-Morley
ecfd1bfb57 more 2015-02-11 18:48:41 +00:00
Edward Hope-Morley
97058d3690 more 2015-02-11 16:31:04 +00:00
Edward Hope-Morley
977581b761 more 2015-02-11 15:48:19 +00:00
Edward Hope-Morley
063458a1f5 more 2015-02-11 14:24:39 +00:00
Edward Hope-Morley
7685b4a349 more 2015-02-11 13:43:17 +00:00
Edward Hope-Morley
9e6c6355a4 support multiple phy nics for mtu 2015-02-10 19:09:25 +00:00
Edward Hope-Morley
afe5f6d938 more 2015-02-10 15:25:42 +00:00
Edward Hope-Morley
c71fbc275e allow net_dev_mtu local override 2015-02-10 14:38:11 +00:00
Edward Hope-Morley
6caaca5035 allow net_dev_mtu local override 2015-02-10 14:27:23 +00:00
Edward Hope-Morley
86dac4c72f add support for ext-port 2015-02-10 13:06:32 +00:00
Edward Hope-Morley
9bf7ed1482 default to no network-device-mtu 2015-02-10 10:51:33 +00:00
Edward Hope-Morley
64cc446092 default to no network-device-mtu 2015-02-10 09:54:40 +00:00
Edward Hope-Morley
e4baa3876c cleanup 2015-02-09 18:27:49 +00:00