Commit Graph

33 Commits

Author SHA1 Message Date
Alex Kavanagh 9c12812735 Switch the charm to support py3
Some major changes:
* the charm has been rebased (from a Python perspective) to be rooted in
  the charm directory.  This is a single root.
* Imports have been changed so that the don't add lots of imports to the
  namespace of the module doing the import.
* The code that used to run at module import time has been made lazy
  such that it only has to run if the relevant functions are called.
  This includes restart_on_change parameters, the harden function and
  the parameters to the guard_map.  Appropriate changes will be
  submitted to charm-helpers.
* Several tests had to be re-written as (incorrect) mocking meant that
  text fixtures didn't actually match what the code was doing.  Thus,
  the tests were meaningless.
* This has had a net positive impact on the unit tests wrt to importing
  modules and mocking.

Change-Id: Id07d9d1caaa9b29453a63c2e49ba831071e9457f
2018-10-18 15:43:03 +01:00
James Page 935d30571c Use v2.1 API for >= Queens
Switch to using the v2.1 API endpoint for OpenStack Queens or later.

Closes-Bug: 1794271

Change-Id: Ia21b3a6782ab944b7c41564e889e6b12d264b731
2018-09-27 15:08:17 +01:00
David Ames 54a7603437 Series Upgrade
Implement the series-upgrade feature allowing to move between Ubuntu
series.

Change-Id: I16393fe61f589ae796c91da9177bfacd774279d0
2018-09-19 07:56:06 +00:00
Frode Nordahl 1ee5ce6b55 Sync charm helpers and enable Rocky func test
Change-Id: Id2784943aa3cd5fbaec451dde735de9574013dc1
2018-08-29 09:02:23 -05:00
Corey Bryant b99070edf6 Sync charm-helpers for Rocky series support
Change-Id: I8e625fb8871a9b6afcedf4633df780bd18233aeb
2018-06-21 18:59:34 +00:00
Liam Young 57d13c665b Add support for tls-certificates relation
Add support for the charm to request and receive certificates from
the tls-certificates relation.

Change-Id: I54995aefbb31a845dbb46800d0444697ed057da7
2018-05-15 14:56:53 +00:00
David Ames 794b8ed0bb Charm-helpers sync to fix CA cert comparison
The comparison of bytes vs string of the CA certificate produces a
false negative. This leads to rewriting certificates and affecting
connectivity to services.

Read in the certificate as bytes as well for a bytes vs bytes
comparison.

Closes-Bug: #1762431

Change-Id: Ie2348a83671b9636bd94227e903b1a50bff7aecc
2018-04-11 14:26:49 -07:00
Ryan Beisner f5213021b7 Sync charm-helpers
Change-Id: If5ce5cd9b5aa88ec4b12b1087fc9ee4770a4be0a
2018-02-21 14:09:38 -06:00
Edward Hope-Morley 16ae06bf42 Use volumev3 for internal endpoint in >= Pike
volumev2 api is deprecated for >= Pike so switch
internal endpoint to v3 for Pike onwards.

Change-Id: Icb9861efbd650b079f507ca585818e95921dc42a
Partial-Bug: 1733566
2017-12-08 10:06:49 +00:00
Andrew McLeod 93bd3d7279 Enable xenial-pike amulet test
Make default func27-smoke xenial-pike
Charm-helpers sync

Change-Id: If2de44a0661aaa4679c7ed4c8bfe99e56fb8c24d
2017-11-16 15:41:44 +13:00
Liam Young f427dc5a48 Resync charmhelpers for py3 fixes.
Change-Id: I28457389a65a835204729c5070b420715664aa26
2017-11-13 16:13:50 +00:00
James Page b1da4f2dd4 Update notification config >= mitaka
Use oslo_messaging_notifications for mitaka or later releases
including setting the transport_url to the value provided by
the AMQP context.

This removes use of deprecated configuration options for
ceilometer notifications.

Change-Id: Ia57f29abbbabf1712b2385c2d94ece12f9ce0861
2017-07-31 10:41:26 +01:00
James Page b699e56699 Make worker-multiplier sane in container environments
Resync charm-helpers to pickup the capped worker-multiplier
changes when deploying in containers.

Drop the default value for worker-multiplier of 2.0; this
is now handled from within the codebase rather than via a
default configuration value, reflecting the differing
behaviours between container and non-container deployments.

Change-Id: Iec5fa21b0e1b377bcb22ad5193c84aa0ae525f16
Closes-Bug: 1665270
2017-04-27 09:28:27 +01:00
David Ames e94f7882cb Avoid shared-db change when using access-network
When the percona-cluster charm sets an access-network but the default
unit-get address is not on that network extra shared-db relations get
executed. This is specifically a problem when running upgrades and
trying to avoid API downtime.

The root cause is that the access-network is not checked until the
SharedDBContext is consulted. But then db_joined function will
change it back to the wrong ip on subsequent runs.

This change adds a check for access-network on the relation during the
db_joined function and pushes IP selection off to get_relation_ip.

Charm helpers sync to pull in changes to get_relation_ip.

Partial-bug: #1677647
Change-Id: Ifd4e975d9abbb9f7a8b0f12c8f0a8cf8f78595b6
2017-04-25 14:32:19 -07:00
David Ames bb4b8d6540 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: I0f824bf80beeb8509b2958d429aaed52f4cf46bb
2017-03-09 14:35:03 -08:00
Corey Bryant 1e2647a9b5 Enable minimal cells v2 support
A minimal cells v2 setup is required in Ocata, which includes the
following databases:
 1. An API database (named nova_api)
 2. A special cell0 database (named cell0)
 3. A "cell1" database (named nova - we're using the nova db as cell1)

The order of nova-manage commands is also updated in this commit.
The 'nova-manage api_db sync' must occur first because 'nova-manage
cell_v2' commands use the API database. 'nova-manage db sync' must
then be run after the 'nova-manage cell_v2' commands.

Finally, 'nova-manage cell_v2 discover_hosts' must be run whenever a
new compute node is introduced to add the host to cell1.

This commit includes a sync of charm-helpers to pick up AMQPContext
updates for transport_url.

Change-Id: Ia6f36ca8a360dc8490e9f41b62d499fa4d73d0b9
2017-02-16 18:23:21 +00:00
Liam Young dfd8208354 Enable Memcache service for Token Caching
With the release of 4.2.0 of keystonemiddleware using the
in-process token cache is no longer recommended. It is recommended
that a memcache backend to store tokens is used instead,

This installs and configures memcache and configures neutron-server
to use memcache for token caching.

http://docs.openstack.org/releasenotes/keystonemiddleware/mitaka.html#id2

Change-Id: I747d107d28474d545e4a3612a927d46cae34e6b6
2016-12-13 09:31:19 +00:00
Ryan Beisner 24df5f451d 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: I42776be9284b0eee2fd58b62b0269a5a3c556453
2016-11-28 14:55:42 -06:00
Ryan Beisner 2bd1f60d7c 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: Idab48a7831008c5353eeb56da5deb49ce1305a41
2016-10-12 13:34:02 -05:00
James Page 58bf5b0628 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: I8c1d6b9b6d42bcc357d764ec1bd04a36e9982f57
2016-09-20 12:35:19 +01:00
James Page a05c9c6beb 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: I8746721aea508fa01d2b616d580b38f84197759b
2016-07-06 16:39:15 +01:00
Liam Young bb9ef8b039 Add pause/resume actions and sync charm-helpers
Adds pause and resume unit to the charm such that the
charm stays paused during maintenance operations.

Change-Id: Ia422aa4077fbdd8cdb0353306c14f5633e2affb8
Partial-Bug: 1558642
2016-03-23 15:41:30 +00:00
Corey Bryant c4020b6d0a [corey.bryant,r=trivial] Sync charm-helpers. 2016-01-04 16:29:34 -05:00
Liam Young 65b3ac32f6 CH sync 2015-10-06 10:25:48 +00:00
Hui Xiang 9ac81c9fde Merge lp:charm-helpers. 2015-09-22 10:07:16 +08:00
Corey Bryant 2ebd710f02 Sync charm-helpers. 2015-07-16 20:18:38 +00:00
Corey Bryant a794fc0e38 Sync charm-helpers 2015-06-19 15:10:20 +00:00
Liam Young c63649ac21 [gnuoy,trivial] Pre-release charmhelper sync 2015-01-26 09:44:11 +00:00
Corey Bryant 430f26f7f6 Sync charm-helpers. 2014-12-10 20:28:55 +00:00
Edward Hope-Morley 1ab401f941 synced charm-helpers 2014-09-26 13:41:21 +01:00
Corey Bryant f36eb2a121 Sync with charm-helpers 2014-07-30 15:20:13 +00:00
James Page 71b6d561d9 [corey.bryant,r=james-page,gnuoy] Add amulet tests 2014-07-28 12:38:42 +01:00
Corey Bryant e2e7e4798d Sync with charm-helpers 2014-07-11 02:43:50 +00:00