Commit Graph

116 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 f03ccf02b7 Enable Bionic as a gate test
Change bionic test from dev to gate for 18.05.

Change-Id: I5a82ac79b29181fabec41570cd5aa003d2bfb8ea
2018-05-11 16:12:20 -07: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
Billy Olsen d43e264d02 Sync charm-helpers and use VolumeAPIContext
Sync in the charm-helpers to use the new VolumeAPIContext object
in order to determine the volume catalog info to use in the
configuration file.

This is simply an alternative implementation for commit 16ae06bf
which separates the concerns for volume endpoint context and
internal endpoint context.

Change-Id: I187bc8ef5644a59dc5a0b5f7ad66774812a78b78
Related-Bug: #1733566
2018-02-08 19:01:44 -07:00
Ryan Beisner 33881c371b Sync charm-helpers
Notable issues resolved:

openstack_upgrade_available() broken for swift
https://bugs.launchpad.net/charm-swift-proxy/+bug/1743847

haproxy context doesn't consider bindings
https://bugs.launchpad.net/charm-helpers/+bug/1735421

regression in haproxy check
https://bugs.launchpad.net/charm-helpers/+bug/1743287

Change-Id: Ifb1d9e71924db6ab8a3d9ee34fcd1b40f910d68a
2018-01-19 16:18:19 +02:00
James Page 0f14eac672 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: I2fe15b648d485e5b03965a00dee6324669ebe9fa
2018-01-12 10:42:50 +00: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
Ryan Beisner 1da186ac2d Sync charm-helpers
Change-Id: I7ffa8b100144e14b736a7f204977f0aee24aada3
2017-11-22 18:25:39 +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 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 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
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
David Ames 86e59d7457 Charm-heleprs sync for AMQP context fix
In Ocata nova uses the transport_url for communication to rabbitmq.
In the charm the default port 5672 was assumed. However, when
rabbitmq uses SSL it changes the port to 5671.

This pulls in the fix which makes the default port explicit and
changes the port when SSL is in use.

Change-Id: Ic9c24d33550c4c899cabca3667871212dabac1f7
Closes-bug: #1667362
2017-02-23 11:48:56 -05: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
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
David Ames 94966e0e59 Pre-release charm-helpers sync 16.10
Get each charm up to date with lp:charm-helpers for release testing.

Change-Id: Iab6950c48e91266f5471a4180e9e94479d955e34
2016-09-30 09:10:55 -07: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 5d319f5b2b 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: Ibdd74250e411e95252f91883d8cd758bd9c5b8c0
2016-05-27 12:29:03 +01:00
Liam Young b89b7cf93c Charmhelper sync before 1604 testing
Change-Id: Ie00b1a39d14fc44f702aa6b664e8d12ec4fc5de7
2016-04-12 14:09:23 +00:00
Edward Hope-Morley 24514dcd5b Support using internal network for clients
Openstack mostly defaults to using public endpoints for
internal communication between services. This patch adds
a new option use-internal-endpoints which, if set to True,
will configure services to use internal endpoints where
possible.

Closes-Bug: 1456876
Change-Id: I0f13fa1ab66864859d3adb37e5ec64bd95d7025d
2016-04-01 12:40:06 +01:00
James Page d5806b4ce2 Resync charm-helpers
Change-Id: Id8eb4ea28f651f007d714d2bf406eb9796a5ab5d
2016-03-02 12:09:33 +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
David Ames c0057cd5a1 Add haproxy context for new timeout values. Fix template whitespace 2015-12-07 14:44:00 -08: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
Ryan Beisner 86da61c478 auto sync charmhelpers 2015-04-16 21:34:39 +00:00
James Page 03b2ce7a9c [jamespage] Trivial resync of charm-helpers to pickup Nuage VSP landing. 2015-04-13 09:51:41 +01:00
Subbarayudu Mukkamala e4d73595e6 Merge from lp:~openstack-charmers/.../next 2015-04-09 19:39:10 -07:00
James Page eaa0fc5093 Rebase, resync 2015-03-30 18:00:34 +01:00
Edward Hope-Morley c850324ed1 [hopem,r=] fix ssl cert inject 2015-03-18 13:31:30 +01:00
Subbarayudu Mukkamala 445e19a8ca Merge from upstream from: ~openstack-charmers 2015-03-13 14:22:28 -07:00
James Page ce9668fcf8 Automated resync of charm-helpers 2015-03-04 09:51:39 +00:00
Subbarayudu Mukkamala 9092af16cf Merge from lp:~openstack-charmers 2015-02-03 10:10:09 -08:00
Liam Young c63649ac21 [gnuoy,trivial] Pre-release charmhelper sync 2015-01-26 09:44:11 +00:00
James Page 6e08b87a2a [trivial] Resync helpers 2015-01-13 12:08:05 +00:00