54 Commits

Author SHA1 Message Date
James Page
3015d95af8 py3: Switch to Python 3 for OpenStack Rocky
Switch to execution of Neutron agents under Python 3 for
OpenStack Rocky; this is triggered by the nova-compute charm
mutating the container scoped neutron-plugin relation post
OpenStack series upgrade.

Update default smoke test target to bionic-rocky.

Change-Id: Ic5e96336b6a2ca474fc28d358553c6a05e1a75ce
2018-10-04 14:58:19 +01:00
David Ames
2bfa6c0605 Series Upgrade
Implement the series-upgrade feature allowing to move between Ubuntu
series.

Change-Id: Iccffccec390495b72750fe1fac81d06c96fa7dd4
2018-09-18 10:06:06 +00:00
James Page
96c1788e94 Misc updates for DPDK support
Fix use of OVS DPDK context by direct use of methods on context
for OVS table values.

For modern OVS versions that require the PCI address of the
DPDK device for type=dpdk ports, use a hash of the PCI address
for the port name rather than the index of the PCI device in
the current list of devices to use; this is idempotent in the
event that the configuration changes and new devices appear
in the list of devices to use for DPDK.

Only set OVS table values if the value has changed; OVS will
try to re-allocate hugepage memory, irrespective as to whether
the table value actually changed.

Switch to using /run/libvirt-vhost-user for libvirt created DPDK
sockets, allowing libvirt to directly create the socket as part
of instance creation; Use systemd-tmpfiles to ensure that the
vhost-user subdirectory is re-created on boot with the correct
permissions.

Scan data-port and dpdk-bond-mappings for PCI devices to use
for DPDK to avoid having to replicate all PCI devices in data-port
configuration when DPDK bonds are in use.

Change-Id: I2964046bc8681fa870d61c6cd23b6ad6fee47bf4
2018-09-04 12:43:03 +01:00
Edward Hope-Morley
e8af22633b Fix charm upgrade broken by commit 862c362
Currently, upgrading this charm on a host that is running
ovs >= 2.6 will break because the OVS_DEFAULT config file
is not expected to be written by the charm.

Change-Id: I33352deb3b60231347045d5f39f3508a29dda61e
2018-07-17 14:31:49 +01:00
James Page
fe9633856b Remove deploy from source support
Drop support for deployment from Git repositories, as deprecated
in the 17.02 charm release.  This feature is unmaintained and has
no known users.

Change-Id: Ib954ddd1fb63d409af77949d8e76a6d6da8f2cde
2018-01-10 12:01:23 +00:00
James Page
46faae4ff8 Drop zeromq support
Support for the ZeroMQ messaging driver has bit-rotted over
the last few years across the OpenStack charms; drop support
for ZMQ inline with deprecation notices issued in 17.02 charm
release.

Change-Id: I3a4f4bc84327ee2e269d3ebd93d102494102b05e
2017-12-15 12:26:50 -08:00
James Page
0e86a664be Update to run under Python 3
Refactoring of charm to support execution under Python 3.

Change-Id: I8d48614f38abf31159311d82b0cbb54e60f710c1
2017-11-20 08:54:31 -08:00
Jenkins
c937133368 Merge "Migrate openvswitch-switch file to avoid restarts" 2017-08-24 22:57:42 +00:00
Frode Nordahl
4ffbc2fe25 Fix handling of SR-IOV interface configuration
SR-IOV interfaces are currently only configured on charm
installation and not after seubsequent reboots.

The VFs need to be configured before the Neutron SR-IOV
agent is started. Charms should also really not be involved
in boot time system configuration. Due to these factors
this commit adds a init script and corrensponding systemd
unit file and upstart job to handle the boot-time configuration.

Keep configure_sriov function for runtime configuration. Add
warning about runtime configuration disrupting network service.

Add restart of Neutron SR-IOV agent after runtime configuration.

Cap value of sriov-numvfs at each interfaces sriov_totalvfs value.

Change-Id: I7bde7217bf027db09ded35a262c214ccb11d6d86
Closes-Bug: #1697572
2017-08-24 12:34:58 -07:00
Billy Olsen
e3ec31c91d Migrate openvswitch-switch file to avoid restarts
The 16.10 release of the neutron-openvswitch charm changed the
file management strategy of /etc/default/openvswitch-switch
config file from managing the file when dpdk is enabled to always
managing the file. Additionally, the template file was changed
in the 16.10 release to modify the file header (commit 4463c334).
These two changes guarantee that the contents of the file will
change when upgrading the charm.

The changing file contents causes the openvswitch-switch service
to be restarted, which in turn causes a data plane outage. This
commit fixes that by migrating the /etc/default/openvswitch-switch
to be charm managed without restarting the openvswitch-switch
service.

The change will only attempt to migrate versions of the file
which were created before 16.10 by searching for a marker in the
rendered version of the file which was added in 16.10.

Change-Id: Icc0f326991be239b88a57292740473f501181ebb
Closes-Bug: #1712444
2017-08-23 15:39:36 -07:00
James Page
790819c237 Update SR-IOV support for >= Mitaka
SR-IOV network for OpenStack release later than Mitaka requires the
use of the neutron-sriov-agent to support management of SR-IOV PF
and VF interface state by Neutron - said interfaces are still
consumed directly by nova-compute/libvirt via PCI device allocation
scheduling for instances.

Add new configuration options to the neutron-openvswitch charm to
support enablement of the SR-IOV agent; this could have been done
automatically from data presented from neutron-api, but its possible
that cloud deployments may only have subsets of compute nodes that
are SR-IOV enabled in terms of hardware.

Enabling this option ('enable-sriov') will install and configure
the neutron-sriov-agent; configuration of SR-IOV PF's are made
using the 'sriov-numvfs', which by default automatically configures
all SR-IOV devices on every machine to the maximum number of VF's
supported by the device.  This option can be used to configure
devices at an individual level as well.

Finally, neutron needs to understand what underlying provider
network each SR-IOV device maps to - this is configured using the
sriov-device-mappings configuration option.

Change-Id: Ie185fd347ddc1b11e9ed13cefaf44fb7c8546ab0
2017-02-07 14:55:32 +01: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
Alex Kavanagh
a9b41dfbed Enhanced pause/resume for maintenance mode
Add in pause/resume feature for maintenance mode along with tests.
Sync charmhelpers with support for the maintenance mode feature.

Change-Id: I075459e56ce34e78f5206d116208165aa43aae21
2016-03-30 19:57:58 +00:00
James Page
f7c430f9d0 Ensure that metadata agent packages are not uninstalled if dvr is enabled but local dhcp is not 2015-11-12 09:33:27 +00:00
Liam Young
e0d58eb289 Move from decorator to new format for workload status 2015-10-08 14:25:23 +01:00
Liam Young
bbecca866a Added workload status 2015-10-07 10:41:12 +00:00
Liam Young
d87daa8805 Purge dhcp packages when no longer required 2015-09-12 09:58:58 +01:00
Liam Young
883c01903a Unit test updates 2015-09-08 15:12:14 +01:00
Liam Young
806049e08f Metadata tidy 2015-09-08 13:23:26 +01:00
Liam Young
9595e7516c Enable metadata 2015-09-08 13:17:28 +01:00
Corey Bryant
b22c6aebbf Deploy from source 2015-04-02 20:35:37 +00:00
James Page
16e98c628a Rebase 2015-04-01 15:19:17 +01:00
James Page
be6b39e892 [gnuoy,r=james-page] Add support for Neutron DVR 2015-04-01 13:53:02 +01:00
Corey Bryant
d5e9cebd14 Overall refresh to current install from source approach 2015-03-21 10:25:07 +00:00
James Page
b30df45a48 Make 0mq support >= kilo 2015-03-16 16:15:06 +00:00
Corey Bryant
c8885bba2a Initial support for deploying from git 2015-03-08 10:52:40 +00:00
Liam Young
7a4e0e1222 Purge pkgs when not in dvr mode 2015-03-02 14:56:11 +00:00
Liam Young
8b5d14e345 More unit tests 2015-02-25 13:50:38 +00:00
Liam Young
63e451fbcf Inform nova-compute if dvr is enabled as it'll need to enable the metadata service 2015-02-20 08:17:24 +00:00
Liam Young
b9fd91de35 Fix BASE_RESOURCE_MAP 2015-02-05 09:57:47 +00:00
Liam Young
c02f501399 Add relation to nova-cc (as neutron-gateway has) to get ks service info 2015-02-04 16:30:03 +00:00
Liam Young
a0c85efdd4 Reenable configure_ovs 2015-02-03 14:17:30 +00:00
Liam Young
35afca213d Tmp disable configure_ovs 2015-02-03 13:35:41 +00:00
Liam Young
d89c19dd78 Call ovs setup 2015-02-02 15:28:26 +00:00
Liam Young
3c7dd72d38 Add dvr support 2015-02-02 13:31:39 +00:00
Liam Young
7328d593a7 Use os_requires_version to ensure that zmq is only used with >= juno 2014-10-20 10:15:19 +00:00
James Page
3867666491 Update correct user 2014-09-10 10:12:06 +00:00
Liam Young
642bd51cd9 Add 0mq support 2014-09-09 13:09:30 +00:00
Liam Young
392ed152dc determine_packages should return a list of lists which the install hook should iterate over passing each inner list to apt_install in turn to ensure the dkms module gets install prior to openvswitch-switch trying to load it 2014-06-24 15:04:51 +01:00
Liam Young
b5b11f8c87 Fixes in response to bug comment 2014-06-23 12:49:58 +01:00
Liam Young
c3ca6a8d08 Write configs and conditional restarts when joining neutron-plugin-api relation 2014-06-20 14:43:53 +01:00
Liam Young
3c85d2249a Lint tidyup and unit tests 2014-06-19 10:56:25 +01:00
Liam Young
5df2c802d4 General tidyup after initial feedback 2014-06-17 15:31:03 +01:00
Liam Young
c8e783883f Restore management of neutron.conf to plugin 2014-06-11 09:44:51 +00:00
Liam Young
2440166014 Trigger restarts on config updates 2014-06-10 17:56:10 +00:00
Liam Young
9b48491b62 Send comments to principle for inclusion in config, also add restart support 2014-06-10 12:50:03 +00:00
Liam Young
58db4bd4dd Set config for /etc/default/neutron-server via the subordinate_configuration setting which is how the Subordinate context was designed to work 2014-06-10 10:28:12 +00:00
Liam Young
60225d1c4b Allow nova flags to be disabled, pass plugin_conf_file and service plugins to principle. Fix release looking for nova-package 2014-06-09 14:11:20 +00:00
Liam Young
7236c065ac Removed debug data 2014-06-09 10:42:56 +00:00