- Add Zesty as a supported series to metadata.yaml.
- Turn on Xenial-Ocata Amulet test definitions.
- Sync charm helpers to get Juju 2.x amulet compatibility.
- Keeping Zesty-Ocata Amulet test definitions turned off until the
metadata.yaml changes propagate to the charm store.
Change-Id: I99120d250e3de5015552a9dda1963a2a72ac7119
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
MTU scripts are no longer needed as MAAS 1.9 can set the mtu and
bring up the interfaces.
The charm has no systemd versions of the 'os-charm-phy-mic-mtu'
and 'ext-port' scripts either so for xenial to set mtu sizes
on physical nics use MAAS 1.9 and appropriate network config
Change-Id: I3aa4d2a80a08dd605d4ae08d53f35282017e1009
Partial-Bug: 1566786
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
The charm store does not yet recognize this series, and errors
when it exists, thereby preventing push/release of dev charms
into the charm store.
Revisit after the following is resolved:
- https://github.com/juju/charmstore/issues/695
Change-Id: I5985113b95f28f61555e22a9c522afd6bce23591
Charm is missing the symlink for update-status, which means that
its status is not re-evaluated periodically.
Change-Id: I8cdca654905175cb9cb1669c9ec3ea7ba2779f45
- Remove Precise-Icehouse Amulet test definitions if they exist.
- Add Xenial-Newton Amulet test definitions.
- Add Yakkety-Newton Amulet test definitions.
- Use the percona-cluster charm in tests instead of the mysql charm.
Change-Id: Id9ca2fc92aebd310c03c9e0f11ef7354a641d2fa
Restart requests can be sent by related charms. A request to restart
services did not previously restart openvswitch. This change adds the
ability to restart it.
Closes-Bug: 1628093
Change-Id: I0f57d84e2cdaa103c18a1cdacd996f9421fba46c
Juju 2.0 provides support for display of the version of
an application deployed by a charm in juju status.
Insert the os_application_version_set function into the
existing assess_status function - this gets called after
all hook executions, and periodically after that, so any
changes in package versions due to normal system updates
will also be reflected in the status output.
This review also includes a resync of charm-helpers to
pickup hookenv and contrib.openstack support for this
feature.
Change-Id: Ia91a2de062fbc13fdb2b366217278bb96fc648fa
This optimizes the publication process to the charm store, and
ensures that the charm code and version is consistent across all
supported Ubuntu series.
Change-Id: Ia61d53c3dc7c20c61d74d6ed8f874ec5719fff11
All OpenStack Charms now contain identical tox.ini files,
not to be modified or made unique within each charm repo.
This is to ensure consistency across charm repos in tox
target naming, approach and purpose, also giving the
charm dev and test experience additional consistency.
Also create empty dirs with .keep files where necessary.
Some classic charms have actions and/or lib dirs, and some
do not. In all classic charms, flake will now check those
dirs to ensure lint coverage of existing or future content.
Change-Id: I543f07685bf3b2cb89e68ea4fb4692552a74415c
All OpenStack Charms now contain identical tox.ini files,
not to be modified or made unique within each charm repo.
This is to ensure consistency across charm repos in tox
target naming, approach and purpose, also giving the
charm dev and test experience additional consistency.
Change-Id: I180bc53ca131f37d569be1bfcd4e24df1eca3e93
Add neutron-control interface to allow charms to send triggers to
restart neutron services managed by this charm
Change-Id: I0e44f7cab99db4fb9b5d2764859e16b30705e6fe
Switch to using bundletester for execution of functional tests,
leveraging tox to build out test virtualenvs.
Rename amulet tests inline with gate-* and dfs-* naming standards.
Update README to refer to functional testing section of the charm
guide.
Change-Id: I853d2f7e1f2d6e7acbf9098abf626c182d121059
systemd is used instead of upstart by default since Ubuntu 15.10
(Wily). This adds systemd init file support for nova services
that are deployed from source.
Change-Id: I7d031e86853a3fb8b91501dc6bbd7f5f1b67701d
The charm-helpers project have re-licensed to Apache 2.0
inline with the agreed licensing approach to intefaces,
layers and charms generally.
Resync helpers to bring charmhelpers inline with charm
codebase.
Change-Id: I1b988a174d4a236599cffef8334a2923bf031fff
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
openstack-origin-git currently only supports YAML that specifies
the git repositories to deploy from.
This adds support for default openstack-origin-git values. The
default values supported are: icehouse, kilo, liberty, mitaka,
and master. For example: openstack-origin-git=master.
Change-Id: I032cb58283d54a9ccfcc268a7fd70b460a03aa58
All OpenStack charms are now directly published to the charm store
on landing; switch Amulet helper to resolve charms using the
charm store rather than bzr branches, removing the lag between
charm changes landing and being available for other charms to
use for testing.
This is also important for new layered charms where the charm must
be build and published prior to being consumable.
Change-Id: I1b601d88e32368b0f0705795ba03272a13816bb2
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
Add support for OpenStack Newton and Ocata.
Rework version detection code to just match on major version for
OpenStack projects using semantic versioning.
Provide fallback version detection based on major.minor versions
for swift packages.
Rework config-flags support helpers.
Fix is_ip function to correctly detect both IPv4 and IPv6 addresses.
Change-Id: Iacf0f688a6a74dbadde8591f0fa05c83d5c92b4e
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
Avoid use of 'service --status-all' which is currently
broken on trusty for upstart managed daemons; the change
moves to detecting how the daemon is managed, and then
using upstart status XXX or the return code of service XXX
status to determine whether a process is running.
Fixes for IPv6 network address detection under Ubuntu
16.04 which changes the output format of the ip commands
slightly.
Update the version map to include 8.1.x as a Neutron
version for Mitaka.
Change-Id: I023dbb4b3d7e16d7ec50e5b78636e5c7688ff9cc
Closes-Bug: 1581171
Closes-Bug: 1581598
Closes-Bug: 1580674
The latest updates to DPDK in 16.04 and above introduce two new
parameters for DPDK initialization which avoid the need to run
qemu processes with vhostuser sockets as root.
Use these options to ensure that sockets are created with the
correct ownership and permissions for OpenStack/KVM.
Change-Id: I04bbd514d1bdb9b3249ed69e8d64eb66d9839944
Closes-Bug: 1546565
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
This fixes bug#1570411 where the add_bridge_port(...) function was
modified to include a port type but missed off port up and promisc
features.
Change-Id: I2a304270be97ed1eae5a7ceeb5777514460d8b4f
Closes-Bug: #1570411
The tests/021-basic-xenial-mitaka amulet test was present but not
enabled. This test now passes and can be enabled
Change-Id: I4eb0649d41672fd71fc2eab9d9aea050670d24cf
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
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
Add in pause/resume feature for maintenance mode along with tests.
Sync charmhelpers with support for the maintenance mode feature.
Change-Id: I075459e56ce34e78f5206d116208165aa43aae21
The new release of charm-tools no longer ships the charm
command; update minimum version requirement and switch
to using charm-proof instead, unblocking current pep8
failures across all charms.
Also pin the version of requests to 2.6.0 until theblues
(indirect dependency of charm-tools) sort out its
requirements versioning.
Change-Id: I5f47e86da878ded3684c34d0bc90a340769888a8
Modify the Makefile to point at the appropriate tox targets
so that tox and Make output can be equivalent. This involves
mapping the lint target to the pep8 target and the test target
to the py27 target.
Change-Id: I9dd0998ef410bdd725ec0cfde1f94379bd38b060