- add *.charm to .gitignore
- add build-requirements.txt
- add charmcraft.yaml (build on 18.04, run on 18.04)
- modify osci.yaml to do build
- add rename.sh to clean-up naming of charms
- modify bundles to work with *.charm and use the charmhub
- modify tox.ini to include the build target
Note that this charm doesn't officially support xenial, but the bundle
has been left in the tests for debugging/test purposes. It Launchpad it
will be build on bionic to run on bionic.
This patch adds *.charm to the .gitignore to ensure that any built
artifacts are ignored.
Change-Id: Icd4942262a8dfcd3a194684571861121d92f8ed2
Drop xenial metadata and function tests as the next release of
the charms won't support xenial. xenial-queens-ha-series-upgrade
was not dropped as it still seems useful to test.
Change-Id: I27005eb7c149f788a14a68fad1b700b374697dd3
The associated bug is due to a change introduced in commit d55dcde
which was to ensure that the correct password update is used for
different versions of mysql (pre and post 5.7.5). However, this change
has broken the nagios user creation due to not setting the password.
This patch creates the nagios user and passord at the same time. The
updating of the password is only done if the account already exists.
The change also corrects the nagios password store in leader-settings to
the 'mysql-nagios.passwd' key instead of 'nagios-password'. This was an
unfortuante error when the nagios change password was introduced. The
charm detects if the 'nagios-password' key is used on charm-upgrade and
moves it to 'mysql-nagios.passwd'. This enables the key to work with
the standard MySQLHelper functions.
Finally, the ALTER command (on percona) doesn't update non-InnoDB tables
and thus needs to be run for each unit when the nagios password is
changed via the action. The changes in percona_utils.py enable this to
happen.
Whilst the change looks large it ONLY affects the nagios password parts
of the charm.
The related bug is a tracking bug to serve as a reminder to fix this in
charm-helpers and this charm (i.e. make the charm-helpers code work to
change a password for any user other than root, and then enable this
charm to use that code).
Change-Id: Ibc751bef7b4654ebffdf843c556b193373e6e80c
Related-Bug: #1925377
Closes-Bug: #1925042
During resume on a non-leader unit, the 'seeded' file can go missing
when the package syncs over to the /var/lib/mysql or
/var/lib/percona-xtradb-cluster directories (vivid+). It's not really
clear why it doesn't do this every time (i.e. not every non-leader unit
fails), but this fix ensures that if the unit *is* seeded prior to the
series-upgrade, then it stays seeded after the series upgrade.
The related zaza-openstack-tests change [1] is about fixing the
series-upgrade test.
Note there is no trusty-mitaka test here as the charm doesn't support
trusty. The last version of percona-cluster in the charm store that
supports trusty is rev. 276
[1]: https://github.com/openstack-charmers/zaza-openstack-tests/pull/406
Change-Id: I628be1c24081d7e0e150e5064c5fa4ab694632e9
Closes-bug: #1868326
When the percona cluster is undergoing a series upgrade, clients
should suspend db activity in their hooks (like db migrations).
This change sents a notification of upgrade down the shared-db
relation which clients can then react to.
Change-Id: I5d8ed7d3935db5568c50f8d585e37a4d0cc6914f
Occasionally after cold boot yaml load of grastate will be throw an
exception. Do not error out in this instance.
Update percona to use TEST_ variables
Fix HA overlays
func-test-pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/116
Change-Id: I6e40970423acb6f70dcc3b91f8b5109de6f46bfc
The bundle disco-stein was in the dev bundles because
a bug with the Python 3.7 syntax prevented the success of
the deployment of HA clusters. This bug is fixed, we can
reintegrate disco-stein in the gate bundles.
Other small additions:
- Removed unused Amluet test templates
- removing sitepackages in tox.ini to avoid test env pollution
- skip_missing_interpreters in tox.ini set to False to avoid false
positives by skipping missing interpreters.
LP Related-Bug: #1823718
Change-Id: I38ba1d762fede6c25b8b4c41919859e52eb097fd
Convert amulet tests to zaza.
Add additional tests for new cold boot actions.
Use multi-model tests.yaml for different tests for bionic and xenial.
Change-Id: I5dadefa6092acecdaae194370a81b05a69b09909
Add functional test for trusty to ensure we don't regress
older deployments (until trusty support is dropped).
Change-Id: I888a1bcd21aca074e6f742e920280297c9cab341
These options allow tuning the Galera replication to avoid flow control from
slowing down the primary.
Change-Id: Ib275cae0db02e4c8c0a85fcc8cb138b26eb26982
Closes-Bug: 1799622
Use helpers from charmhelpers to generate the data to send down the
relation to the hacluster charm.
This results in a few changes in behaviour:
1) The charm will no longer specify a nic name to bind the vip. This
is because Pacemaker VIP resources are able to automatically
detect and configure correct iface and netmask parameters based
on local configuration of the unit.
2) The original iface named VIP resource will be stopped and deleted
prior to the creation of the new short hash named VIP resource.
Change-Id: Id3804fb7913662b8c573f59d84e663561a687b1f
Add a tactical change which is already merged into charm-helpers.
This needs to go into all charms to solve the chicken:egg issue
where cosmic is untestable until this change exists.
Reference:
4835c6c167
Change-Id: I182314eee702cf4bf842b26cb2f2a5c0ee03dcc7
Ensure that EOL releases are removed from metadata
and tests, and that the current dev release is enabled
in metadata. Dev release tests are enabled separately
because of chickens and eggs.
Change-Id: I56fdbbfc2ead2f3af8ea8a4bd17c53c6794c141a
In order to fix bug#1756928 the whole cluster buildup process needed to
be redesigned. The assumptions about what is_bootstrapped and clustered
meant and when to restart on configuration changed needed to be
re-evaluated.
The timing of restarts needed to be protected to avoid collisions.
Only bootstrapped hosts should go in to the
wsrep_cluster_address=gcomm:// setting. Adding or removing units should
be handled gracefully. Starting with a single unit and expanding to a
cluster must work.
This change guarantees mysqld is restarted when the configuration file
changes and meets all the above requirements. As a consequence of the redesign,
the workload status now more accurately reflects the state of the unit.
Charm-helpers sync to bring in distributed_wait fix.
Closes-Bug: #1756308
Closes-Bug: #1756928
Change-Id: I0742e6889b32201806cec6a0b5835e11a8027567
Bionic will ship with Percona XtraDB Cluster 5.7 and a newer
version of Percona XtraBackup; the majority of charm changes
are associated with the use of native mysql{@} units for
bootstrap and startup of mysqld.
Co-Authored-By: James Page <james.page@ubuntu.com>
Change-Id: I50c5642e11393da3bc03de0ef0b9af4c32e9a0c9
Bionic, being the next LTS, is important to enable for dev
and test as early as possible ahead of 18.02.
Zesty goes EOL in Jan 2018. The next stable charms release (18.02)
will not provide Zesty series support, as it was an interim
(non-LTS) release.
Change-Id: I63403c8aacfd2da5195b0baac2fdb7c550a741e7
The underlying test infrastructure and tooling previously had
an issue which prevented HA VIP tests from functioning. That
issue is now resolved, and the VIP tests can be re-enabled.
Change-Id: I3f0bdace1baf62a646a487766744fdc212311640
Change the configured root's password in percona and update the leader
settings.
Change-Id: I7168a96cac7a3b4df7fcfa1afc6f35076748578b
Partial-Bug: 1436093
Resync charm-helpers to ensure that MySQL syntax is correctly
quoted with single quotes, supporting use of the db-{admin} relation
with services containing a dash.
Change-Id: I859133263a8200e82e73d74837bcb91a18b3e0ff
Closes-Bug: 1675220
- Turn on Zesty-Ocata Amulet test definitions.
- Standardize test-requirements.txt
- Sync charm helpers for various fixes
Change-Id: I22d7f8f37bf53635cb689803eb6e9b5170181bb1
Since 17.02 the charm relies on the existence of bootstrap-uuid to
determine if pxc is bootstraped. The upgrade-charm hook handler uses
leader_node_is_ready() which calls cluster_ready(), this function will
evaluate to False when bootstrap-uuid is not defined
This patch drops leader_node_is_ready() from the upgrade-charm hook to
simply rely on is_leader(), for the non-leader unit
leader_get('bootstrap-uuid') and then notify_bootstrapped() if it's
set. For cases where the non-leader units are upgraded before
notify_bootstrapped() is called as part of the leader-settings-changed
hooks.
Change-Id: I621e23d7666920b91614491927711a85370310ad
Closes-Bug: 1674467
- sync charmhelpers with fix-alpha helpers
- fix up code where the alpha comparisons are done
Change-Id: I61a6831f381664f9378a1b6a7a119cf3a2c026c2
Related-Bug: #1659575
In the past, its mandatory to provide the sst and root password
configuration options for clustered deployments to ensure consistent
use of passwords across the cluster from install onwards.
Rework password management and install process to seed passwords
from the lead unit if not supplied via configuration options.
Following units will defer installation until the leader has
stored this information in leader storage for retrieval by
followers.
Closes-Bug: 1454317
Change-Id: I5ab70cae78ed35322bf60048af841de071a69704
Refactor to support direct use of BasicDeployment test class
in all gate tests. As hacluster now defaults to using unicast
transport, the configuration for multicast device address is
no longer required and can be dropped, removing the need to
specialize tests on a per series basis.
Use min-cluster-size in tests to ensure that pxc clusters
build out correctly.
Refactor specific test cases into BasicDeployment test
class so they get executed against all series, including
kill mysqld test
pause/resume tests
Closes-Bug: 1546577
Change-Id: I239946808f68a0225b49c0327da2b4d35715b837
Cap default memory consumption at 512MB or 50% of system memory -
whichever is the lowest - to ensure that deployments in containers
on large server infrastructure don't end up consuming silly
amounts of memory by default.
Update tests to not explicity configure dataset-size, and to
remove the constraint for a larger VM for testing - with the
performance schema disabled by default things should fit into
a default instance size in the gate.
Change-Id: Ifb9bd7e28e160190913f6bd03b84073a2857e4d7
The 5.6 version of mysql defauls to performance_schema=on at server
startup. This allocates all the memory that would be required to
handle max-connections plus several other memory settings.
We occasionally saw connection exhaustion in HA clouds with
max-connections near 2000. The common practice became to set
max-connections unrealistically high near 10k or 20k. In the move to
5.6 on Xenial this became a problem as the memory requirements for
values that high are unrealistic.
This change adds performance schema as a configuration option and
defaults to off giving 5.5 like behavior. It also considerably
updates documentation and highlights the need to carefully consider
memory related configuration settings for production environments.
Make the amulet test python2 and python3 capable.
Change-Id: Id01095ac2f73fa041b25b2602496a4c04a13e3ef
Partial-Bug: #1654086
Closes-Bug: #1600001
Pass charm-helpers' nrpe.add_init_service_checks() a list of services
as its second argument, instead of a string.
Additionally adjust amulet tests to configure hacluster's cluster_count
when > 1 unit is configured.
Change-Id: Ib48a31e17c1e8d8c68e774b64fcf52c0ee99bef5
Closes-Bug: 1643855