Commit Graph

50 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
Chris MacNaughton 86fa317420 Sync charm-helpers to ensure Rocky support
Change-Id: Ib117de4541e0cdc23aa72859d2d878e6ef7ba651
2018-07-13 15:57:26 +02: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
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
Liam Young f427dc5a48 Resync charmhelpers for py3 fixes.
Change-Id: I28457389a65a835204729c5070b420715664aa26
2017-11-13 16:13:50 +00:00
David Ames 1fa5f7a673 Dual Stack VIPs
Enable dual stack IPv4 and IPv6 VIPs on the same interface.
HAProxy always listens on both IPv4 and IPv6 allowing connectivity
on either protocol.

charm-helpers sync for HAProxy template changes.

Change-Id: Ide561155adbe56a4cbc865b683532e00c9c33441
2017-08-14 14:55:18 -07:00
James Page 7186587ac6 Updates for Pike b1
Resync charmhelpers to pickup new versions for Pike.

Add amulet tests for pike, but leave disabled for now.

Change-Id: I2d828fa88b73260b2abf02ff2c6037ffbee654f3
2017-05-24 11:04:13 +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
David Ames c59dd636e8 Charm-helper sync to pull in dns resolve fix
Change d5d2e5064e introduced this fix
However the charm-helpers branch was not merged. This is a
reintroduction of the same code with a charm-helpers sync after the
charm-helpers branch was merged.

Change-Id: I68f53d5d4ed726c14d8cc83c650763fa77a4324d
2017-01-10 13:35:06 -08: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
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
Billy Olsen 8d35070586 Change worker-multiplier to float
Change the worker-multiplier to a floating point config option type
instead of integer. This allows users to specify workers to be less
than the number of CPUs, which is useful in deployments with multiple
services deployed into containers on top of bare metal.

The fix is to simply change the config option type and to sync in
the necessary update from lp:charm-helpers.

Partial-Bug: #1602444

Change-Id: I2c846832d24f709a3d019b766f5f23c28c4371f4
Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
2016-07-12 17:39:11 -07: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
James Page 8e3d71ea82 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: Ia4cbe14575851c0f54cbb5845ffd6b8669fb7fa2
2016-06-17 11:52:35 +01:00
James Page 30c60318e5 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: I529f4ac54ee1a56e61e61f35e2bc52353f6874f3
Closes-Bug: 1581171
Closes-Bug: 1581598
Closes-Bug: 1580674
2016-05-18 14:09:18 +01:00
Liam Young b89b7cf93c Charmhelper sync before 1604 testing
Change-Id: Ie00b1a39d14fc44f702aa6b664e8d12ec4fc5de7
2016-04-12 14:09:23 +00: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
Edward Hope-Morley a6e121afba [hopem,r=]
Sync charmhelpers to get fix for bug 1518975
2016-02-11 14:46:45 +00:00
Corey Bryant 7e08983055 [corey.bryant,r=osci] Sync charm-helpers. 2016-01-08 02:38:01 +00:00
Corey Bryant c4020b6d0a [corey.bryant,r=trivial] Sync charm-helpers. 2016-01-04 16:29:34 -05:00
Edward Hope-Morley d7e169d631 [hopem,r=]
Sync charmhelpers to get fix for bug 1499643
2015-09-25 15:35:19 +01:00
Hui Xiang c2528803eb Fix conflicts. 2015-09-22 10:45:17 +08:00
Hui Xiang 9ac81c9fde Merge lp:charm-helpers. 2015-09-22 10:07:16 +08:00
Liam Young 746f9afae9 [gnuoy,trivial] Charmhelper sync (+1'd by mojo) 2015-08-19 14:48:32 +01:00
Corey Bryant 334c66c2b7 [corey.bryant,r=trivial] Sync charm-helpers to pick up Liberty support. 2015-08-18 13:34:35 -04: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 d418994ea6 Merged trunk in + LE charmhelper sync 2015-05-11 08:38:35 +01:00
Edward Hope-Morley b74dfcaf68 synced charm-helpers 2015-03-26 10:36:30 -07:00
Edward Hope-Morley c850324ed1 [hopem,r=] fix ssl cert inject 2015-03-18 13:31:30 +01:00
Edward Hope-Morley 8eb78b49aa [trivial] charmhelpers sync 2015-02-24 11:07:04 +00:00
Liam Young c63649ac21 [gnuoy,trivial] Pre-release charmhelper sync 2015-01-26 09:44:11 +00:00
Edward Hope-Morley f9c8a1297d charmhelpers sync to get fix for LP #1396246 2014-12-18 11:26:04 +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
Edward Hope-Morley e8685516c8 synced lp:~cts-engineering/charms/trusty/charm-helpers/ipv6 2014-09-22 21:21:48 +01:00
Liam Young 77c29732f2 Sync charm helpers 2014-08-26 14:28:26 +01:00
Liam Young 9eba3a9154 Sync charm-helpers from lp:charm-helpers 2014-08-13 14:12:02 +01: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
Christopher Glass e065be6e4f Updating charm-helpers from lp:charm-helpers revision 153 2014-05-19 13:38:09 +02:00
James Page 400604db75 [ivoks] Re-order port-pipeline to ensure end-to-end SSL 2014-02-19 11:02:03 +00:00
Ante Karamatic 2a6124ec60 Provide both restart and stop/start functionality 2014-02-16 19:44:30 +01:00
Ante Karamatic 3c2fa8b8b5 Instead of restarting services, stop them and start. This
way we eliminate issue of 'locked' TCP ports.
2014-02-16 19:32:47 +01:00
James Page 801ac9b82f resync with helpers 2013-10-22 16:01:40 -07:00
James Page 8bfca0783e Resync with rebased charm-helpers 2013-09-20 17:29:50 +01:00
Adam Gandelman f7b057ca60 Check in start of py redux. 2013-08-01 20:42:16 -07:00