charm-helpers:stable/20.08

Last commit made on 2020-07-22
Get this branch:
git clone -b stable/20.08 https://git.launchpad.net/charm-helpers

Branch merges

Branch information

Name:
stable/20.08
Repository:
lp:charm-helpers

Recent commits

02bc7dc... by Aurelien Lourot

Clean-up around adding linux bridges to OVS bridges (#449)

* Fix typo

* Mark OVS ports as managed by us

Before we used to mark only OVS interfaces

* add_ovsbridge_linuxbridge fixes

1. Fix missing 'ifup' on bionic.
2. Mark the OVS port also when upgrading the charm.

* Fix typos

* Use deprecate decorator

* Don't install ifupdown automatically

* Make dependency explicit

* Deprecate adding a linux bridge to an openvswitch bridge

* Minor improvements

* Make linter happy

* Raise on focal+

a9810ba... by Adam Dyess

BugFix: snap services always use systemd, even in trusty (#494)

* Unpin runtime requirements because the pinning occurs at charm-build time, not charm-install time. This gives downstream charmers the flexibilty to pin as they wish

* move specific version pinning to test_requirements.txt

* remove requirements.txt from test_requirements.txt... all runtime tests are installed

* Make charmhelpers.core.host.init_is_systemd depend on optional service_name so snap packages are always systemd regarless of the os-release

* Fix Linting issues

9e20a38... by Alex Kavanagh <email address hidden>

Fix directory /etc/nagios/nrpe.d/ issue (#492)

* Fix directory /etc/nagios/nrpe.d/ issue

Under certain deployment conditions, the charm can attempt to write to
the /etc/nagios/nrpe.d/ directory before it exists. This directory is
created by the nrpe charm, but if the hacluster gets installed first,
then it can be triggered to attempt to set up the nrpe entries before
the directory can be created by nrpe. This change (and the associated
charm-helpers change) ensures that the charm will delay the nrpe config
until the directory is available (and thus, the nrpe charm is fully
installed)

Related Bug: LP: #1882557

* Simplify the check so it doesn't do the write.

Co-authored-by: David Ames <email address hidden>

b6cb715... by Aurelien Lourot

Add useful traces around peer readiness detection (#476)

https://bugs.launchpad.net/charm-keystone/+bug/1818113

6565024... by Frode Nordahl

contrib/ovs: Fix deletion of virtual bridge ports (#491)

The OVS `del_bridge_port` helper currently assumes it will be used
with interfaces that actually exist in the system.

This is not always the case. Add arguments that allow the caller
to decide whether a interface link and promiscuous settings should
be touched after removing the port from a OVS bridge. Defaults to
being compatible with the current behaviour.

27d6ceb... by Nobuto Murata

Refresh cipher suites and protocols (#485)

* Refresh cipher suites and protocols

The last update was 2016, and it's time to drop TLSv1 and TLSv1.1 as the
base configuration recommended by Mozilla.
https://wiki.mozilla.org/Security/Server_Side_TLS

Follow-up of the following commits:
cac799b31e94341c7ff03f6bda2d5688bcb1b483
14ca7a00ea99bce03261f14abfba020281437d90

Closes-Bug: LP: #1886630

* Drop the explanation of SSLSessionTickets from the template

SSLSessionTickets is supported by Apache 2.4.11 or later. The following
line can be enabled when trusty support is dropped.
https://httpd.apache.org/docs/trunk/mod/mod_ssl.html#sslsessiontickets

SSLSessionTickets off

f3e8d9f... by Liam Young

Reuse connection in MySQLHelper (#478)

If a connection exists in MySQLHelper (self.connection) then reuse
it rather than creating a new one.

Co-authored-by: David Ames <email address hidden>

d9c9169... by Corey Bryant

Add Victoria/Groovy release and version details (#490)

1989f1f... by Trent Lloyd

core.hookenv.Config: Handle invalid state files (#484)

When initialising core.hookenv.Config a blank or corrupt state file
(.juju-persistent-config) caused the following exception to be raised:

  File "charmhelpers/core/hookenv.py", line 348, in load_previous
    for k, v in copy.deepcopy(self._prev_dict).items():
AttributeError: 'NoneType' object has no attribute 'items'

Handle this situation and return a blank previous state instead to
recover from this situation.

A previous attempt to fix this was made in #166 (LP #1768018) however it
did not work because while it caught the error loading the JSON file, it
then tried to call .items() on the object copy which is set to None.
Fix that by returning from the function after catching the exception.

The test cases (test_init_empty_state_file,
test_init_invalid_state_file) were also incorrectly passing because they
wrote to the test state file after initialising the Config object when
it had already been read. Fix that by writing to the file before Config
is initialised instead.

Note that in such a case where the file was corrupt, we will log an
error but otherwise silently "fix" this by loading a blank dictionary
causing Config() to report that all config values have changed even
though they may not have. Even though the code already intended (but
failed) to do this, we should ensure that is acceptable when reviewing
this change. I have updated the logged error to make this explicit.

65f20f5... by Frode Nordahl

openstack/context: allow adding unmapped interface to bridge (#483)

We iterate over and map physical interfaces when building
the bridge port interface map.

If our user have put a virtual interface name in the config they
have most likely done so with a purpose, let's not force our users
hand and carry out their wish to be compatible with existing
neutron-openvswitch / neutron-gateway deployment topologies.