charm-hacluster:stable/18.02

Last commit made on 2019-04-19
Get this branch:
git clone -b stable/18.02 https://git.launchpad.net/charm-hacluster

Branch merges

Branch information

Name:
stable/18.02
Repository:
lp:charm-hacluster

Recent commits

2202439... by OpenDev Sysadmins <email address hidden>

OpenDev Migration Patch

This commit was bulk generated and pushed by the OpenDev sysadmins
as a part of the Git hosting and code review systems migration
detailed in these mailing list posts:

http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003603.html
http://lists.openstack.org/pipermail/openstack-discuss/2019-April/004920.html

Attempts have been made to correct repository namespaces and
hostnames based on simple pattern matching, but it's possible some
were updated incorrectly or missed entirely. Please reach out to us
via the contact information listed at https://opendev.org/ with any
questions you may have.

af65662... by Corey Bryant

bionic: enable bionic amulet test as part of a full gate recheck

Note(coreycb): This cherry-pick is split into two commits. Bionic
amulet test enablement can't land until charm-percona-cluster
bionic support lands.

Change-Id: I031202093464a0a72a5fc18b95e49a8b83def5f3
(cherry picked from commit 6fc85dc5a2058297a2d706fd204347e2112f18cb)

7dfd7b2... by James Page

bionic: ensure crmsh package is installed

pacemaker no longer Recommends crmsh so explicitly install it
for all Ubuntu series as its required for charm operation.

Note(coreycb): This cherry-pick is split into two commits. Bionic
amulet test enablement can't land until charm-percona-cluster
bionic support lands, and charm-percona-cluster bionic support
can't land until this crmsh commit lands.

Change-Id: I06e0dcfec0a787f85655c89bf36e18253c75de2e
(cherry picked from commit 6fc85dc5a2058297a2d706fd204347e2112f18cb)

8f0958a... by Ryan Beisner

Update tox.ini to stop using unverified package

As of pip 10.0, --allow-unverified is not permitted.

Use of the flag in this repo was previously used to force
installation of python-apt to accommodate certain unit tests.

The unverified package, python-apt, is no longer necessary
for test execution.

Related-Bug: #1760720

Change-Id: Id08a9dd5096afa9e6d7fe811e53c4d9d83247cac
(cherry picked from commit e251aec359e840545059e44b2b1171c37cf8f449)

73b3072... by David Ames

Updates for stable branch 18.02 creation

Set default branch for git review/gerrit.

Switch amulet tests to stable.

Switch to using stable charm-helpers branch.

Change-Id: I1c7184d60efb931445174f3fe6377747333f0ad2

a2e655c... by Liam Young

Fix up amulet for queens

* Fix up amulet tests to use keystone v3 clients.
* Remove admin_* and auth_* for Queens l3_agent and metadata
  config files as they no longer appears to be used.
* charm helper sync

Change-Id: I880b7f710fa6b5ba480fb41d4095871fd9dabed7

57a7dd8... by Ryan Beisner

Sync charm-helpers

Change-Id: I49b73bae7379dc50027b8c9ec8beee926dce927c

8200221... by Trent Lloyd

Enforce no-quorum-policy=stop for all cluster sizes

Previously quorum was only enforced on clusters with 3 or more nodes
under the mistaken assumption that it is not possible to have quorum
with only 2 nodes. The corosync votequorum agent which is configured
allows for quorum in 2-node scenarios using the "two_node" option which
is already configured by the charm.

In this new scenario, corosync requires that both nodes are present in
order to initially form cluster quorum, but also allows a single
surviving node to keep quorum or take-over once it was already started
while in contact with the other node.

The net effect of this change is that nodes are unable to startup
independently (which is when split brain situations are frequently seen
due to network startup delays, etc). There is no change to the runtime
behavior (there is still a risk that both nodes can go active if the
network connection between them is interrupted, this is an inherrent
risk of two-node clusters and requires a 3-node cluster to fix).

Thus we update the CRM configuration to always set no-quorum-policy=stop
regardless of whether the cluster has 2 or 3+ nodes.

In the event that you need to startup a cluster manually with only 1
node, first verify that the second node is definitely either powered off
or that corosync/pacemaker and all managed resources are stopped (thus
we can be sure it won't go split brain, because it cannot startup again
until it is in contact with the other node). Then you can override
cluster startup using this command to temporarily set the expected votes
to 1 instead of 2:
$ corosync-quorumtool -e1

Once the second node comes back up and corosync reconnects, the expected
vote count will automatically be reset to the configured value (or if
corosync is restarted).

Change-Id: Ica6a3ba387a4ab362400a25ff2ba0145e0218e1f

9422937... by Ryan Beisner

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: Ia244151bbb74ddecd30ea2005d741c072b5ace9a

22d30c2... by James Page

Support use of json for relation data

In order to provide consistent presentation of relation data
in Python 3 based charms, support passing of data using JSON
format which ensures that data on relations won't continually
change due to non-deterministic dictionary iteration in py3.

Change-Id: I364a60ca7b91327fe88ee729cf49ff8ab3f5e2b6
Closes-Bug: 1741304