459 Commits

Author SHA1 Message Date
David Ames
9cd483e653 Enable Ocata Amulet Tests
- 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
2017-03-09 14:35:00 -08:00
David Ames
4a8245cb6a Pre-release charm-helpers sync 17.02
Get each charm up to date with lp:charm-helpers for release testing.

Change-Id: I0f1514bb60bb2f0bb1d46b62580ec31778cfe142
2017-02-14 14:52:24 -08: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
Jenkins
cd5fb8b51b Merge "Do not create MTU upstart scripts on xenial+" 2017-01-25 10:08:41 +00:00
Anh Tran
6e763ded2b Typo fix: seperate => separate
Change-Id: I9fb6e798069dd75cc5d523eee7cc3f7cf20d3c53
2017-01-23 16:43:07 +07:00
Jenkins
1b8d84f91c Merge "Sync charm-helpers to pick up Ocata UCA support" 2017-01-19 13:36:49 +00:00
Liam Young
d57a6e9a4e Do not create MTU upstart scripts on xenial+
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
2017-01-05 13:51:29 +00:00
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
Ryan Beisner
776d8950ee Remove zesty series metadata
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
2016-12-03 09:47:54 -06:00
Corey Bryant
a03bd758e5 Sync charm-helpers to pick up Ocata UCA support
Change-Id: I5c08d1060a1803d9d8c117d6f0d2b4c8c53c6ca5
2016-12-01 21:37:08 +00:00
Ryan Beisner
73e2e7b594 Update Amulet defs, series metadata and c-h sync
- Sync charm helpers if applicable.

- Fix test executable hashbags for virtualenv prep.

- Add Yakkety-Newton Amulet test definitions.

- Prep Xenial-Ocata Amulet test definitions (not yet enabled).

- Prep Zesty-Ocata Amulet test definitions (not yet enabled).

- Add Zesty charm series metadata.

- Remove Precise charm series metadata if present.

- Remove Precise Amulet test definitions if present.

Change-Id: Ie3c1f208dbb4497ad99f7f930457b7e8e057e6b3
2016-11-28 14:54:50 -06:00
Ryan Beisner
d898647e8b Additional amulet definition updates
- Re-enable bundletester reset boolean

- Other updates for Newton amulet tests

Change-Id: I681d8eda8142fd600688937b4ad1ce255657efe1
2016-10-10 21:25:25 -05:00
Jenkins
ca0a119d2c Merge "Update amulet test definitions for Newton" 2016-10-10 08:43:02 +00:00
James Page
02f315b260 Add missing update-status hook
Charm is missing the symlink for update-status, which means that
its status is not re-evaluated periodically.

Change-Id: I8cdca654905175cb9cb1669c9ec3ea7ba2779f45
2016-10-10 09:28:46 +01:00
Ryan Beisner
0ca5eb7122 Update amulet test definitions for Newton
- 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
2016-10-07 13:47:27 -05:00
David Ames
d381addef3 Pre-release charm-helpers sync 16.10
Get each charm up to date with lp:charm-helpers for release testing.

Change-Id: I01f5ed5d0105202bbaff672aea4267bd50508375
2016-09-30 09:08:21 -07:00
Liam Young
4463c334ca Restart openvswitch-vswitch when requested
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
2016-09-27 15:20:04 +00:00
James Page
7e4bd68494 Add support for application version
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
2016-09-20 12:32:57 +01:00
James Page
101668c5ba Add charm series data to metadata.yaml
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
2016-09-14 09:35:11 +01:00
Ryan Beisner
810ece602c Update tox.ini files from release-tools gold copy
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
2016-09-09 19:43:24 +00:00
Jenkins
130c778842 Merge "Add neutron-control interface" 2016-09-09 14:09:06 +00:00
Jenkins
05a2239042 Merge "Install ipset package when deploying from source." 2016-09-09 13:53:53 +00:00
Ryan Beisner
69ffcc15c6 Update tox.ini files from release-tools gold copy
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
2016-09-06 22:09:19 +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
Corey Bryant
1495b034b8 Install ipset package when deploying from source.
Change-Id: I52f128ec919d9f58f7a568b9a5aa39767db89f95
2016-08-12 19:14:37 +00:00
Liam Young
97a80fe777 Pre 1607 release charm-helpers sync
Sync charmhelpers to pick up bug fixes for 1607 release

Change-Id: I8a2a7eb08d846150fa800ad2f19f20f27cca478f
2016-07-21 14:21:32 +00:00
James Page
bad410a739 Use bundletester for amulet test execution
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
2016-07-20 08:49:34 +01:00
David Ames
6c69341940 Pre-release charm-helpers sync
To begin release testing get each charm up to date with lp:charm-helpers

Change-Id: Ic85e647d718246af2d7244cbad82f27f0a66c04e
2016-07-15 10:33:38 -07:00
Corey Bryant
faaf51e7ba Add systemd init support for deploy from source
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
2016-07-13 19:25:46 +00:00
James Page
76f4183dff Resync charmhelpers for licensing change
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
2016-07-06 16:38:31 +01: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
Corey Bryant
9ad5cf9637 Add defaults for openstack-origin-git config option
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
2016-06-20 09:42:16 -04:00
James Page
6ee7c2fc17 Switch to using charm-store for amulet tests
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
2016-06-17 11:50:54 +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
Jenkins
64b420ca7f Merge "Set correct permissions for vhostuser sockets" 2016-06-08 18:45:00 +00:00
James Page
dc63d80dd9 Resync charm helpers
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
2016-05-27 12:28:43 +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
James Page
f22e739c2c Resync charm-helpers
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
2016-05-18 14:08:44 +01:00
James Page
4f6e2ca251 Set correct permissions for vhostuser sockets
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
2016-05-10 10:16:06 +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
Alex Kavanagh
1dfe139242 Modify add_bridge_ports(...) to include port up and permisc code
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
2016-04-15 12:18:13 +00:00
Liam Young
cdb6f31f02 Fix pbr requirement
Change-Id: If6555784a6e6de2bb518a8f2d122ed279db590dc
2016-04-13 10:24:55 +00:00
Liam Young
cb0d08942a Charmhelper sync before 1604 testing
Change-Id: I74e737bd374966018421725321acbdee22526d0d
2016-04-12 14:08:57 +00:00
Liam Young
8d000ac1ce Enable tests/021-basic-xenial-mitaka amulet
The tests/021-basic-xenial-mitaka amulet test was present but not
enabled. This test now passes and can be enabled

Change-Id: I4eb0649d41672fd71fc2eab9d9aea050670d24cf
2016-04-11 16:55:23 +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
Jenkins
fff134ee0e Merge "Add Juju Network Space support" 2016-03-31 23:39:17 +00: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
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
b38c8c8c24 Update to charm-tools >= 2.0.0
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
2016-03-23 09:30:17 +00:00
Billy Olsen
6c24849607 Use tox in Makefile targets
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
2016-03-15 20:13:17 -07:00