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
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
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
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
volumev2 api is deprecated for >= Pike so switch
internal endpoint to v3 for Pike onwards.
Change-Id: Icb9861efbd650b079f507ca585818e95921dc42a
Partial-Bug: 1733566
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
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
Resync charmhelpers to pickup new versions for Pike.
Add amulet tests for pike, but leave disabled for now.
Change-Id: I2d828fa88b73260b2abf02ff2c6037ffbee654f3
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
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
- 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
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
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
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
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
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>
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
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
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