8 Commits

Author SHA1 Message Date
Lingxian Kong
aa1d4d2246 Datastore containerization
Significant changes:

* Using docker image to install datastore.
* Datastore image is common to different datastores.
* Using backup docker image to do backup and restore.
* Support MariaDB replication
* Set most of the functional jobs as non-voting as nested
  virtualization is not supported in CI.

Change-Id: Ia9c97a63a961eebc336b70d28dc77638144c1834
2020-05-27 10:31:50 +12:00
Lingxian Kong
523d66e8fd Fix CI job
* Fix pep8: ambiguous variable name
* Install Python 3.7 for trove guest image. oslo.concurrency requires
  python 3.6 or newer. See
  https://bugs.launchpad.net/tripleo/+bug/1861803
* Mark tempest job non-voting temporarily because of some tempest bugs.

Change-Id: I6d316779cc7220a855ce187437056b667bbe1f75
2020-05-25 17:37:38 +12:00
Lingxian Kong
dfa5ce93d5 Improve devmode=flase when building the image
During debugging, the following changes are also included:

- Support to specify an image ID to run the integration test.
- Fix the reboot function bug.
- Remove the unsuccessful restart test.

How to run integration test with dev_mode=false:

    ADMIN_PASSWORD=password \
    SERVICE_PASSWORD=password \
    DEV_MODE=false \
    /opt/stack/trove/integration/scripts/trovestack gate-tests mysql mysql

Change-Id: I31d4ee579a554f4c98f9facb9fd4b7779665a3dd
2019-08-25 23:11:54 +12:00
Lingxian Kong
798af4d02a Improve trove guest agent image building
- Add a new element 'guest-agent' for image building. This element is
  used when dev_mode=false, so that the trove code is downloaded into
  the image during the building phase rather than during the guest
  agent initialization.
- Improve trovestack sub-command 'build-image'.

  ./trovestack build-image ${datastore_type} \
     ${guest_os} \
     ${guest_release} \
     ${dev_mode}

- Improve documentation.

Story: #2005387
Task: #30375

Change-Id: I9d7acbd6a97f8c01b48b0f2cf94398d549d89124
2019-04-10 09:29:40 +12:00
Zhao Chao
8057b2d926 More reliable gpg keys importing in DIB elements
We're still seeing apt-key failed to import gpg keys these days during
the images building in the gate jobs, the problem is keys.gnupg.net and
keyserver.ubuntu.com are both not stable according to [1] and [2], it's
better to adopt pool.sks-keyservers.net instead and with simple retries.

To reduce code duplication, this common apt-key importing function is
also moved to ubuntu-guest as an environment snippet.

[1] https://www.gnupg.org/faq/gnupg-faq.html#new_user_default_keyserver
[2] https://sks-keyservers.net/overview-of-pools.php

Closes-Bug: #1579094

Change-Id: I0fe200d140f6f9c4d423dd498797a225e3295a71
Signed-off-by: Zhao Chao <zhaochao1984@gmail.com>
2018-07-16 12:03:16 +08:00
Doug Shelley
8bd7aa81a1 Initial work to support Xenial
The main goal of this change is to add support for Xenial to
trove/integration and ensure the voting check jobs continue
to pass when switched to Xenial.

- It was decided that Trusty should continue to be supported
to aid in the developer transition to Xenial. Therefore,
the elements have been organized to accomplish this by making
"trusty" and "xenial" specific elements extend the already
existing "ubuntu" elements.
- We tried to do the initial work without impacting the core
Trove code therefore some choices were made - for example,
cluster delete doesn't work for PXC on Xenial (see [1]) so
the test that does this is skipped for PXC.
- Only Mysql, PXC, Postgresql and Redis were fixed for
Xenial and tested as these are the only voting jobs
currently. Future work should sort out the elements for the
rest of the datastores. Note that all of the datastores should
continue to function on Trusty.
- Previously, the "DISTRO" variable was hardcoded to "ubuntu".
This is no longer the case; DISTRO and RELEASE variables will
be automatically set to whatever the base OS is (for example,
if you are running trovestack on Xenial, DISTRO will be set
to "ubuntu" and RELEASE will be set to "xenial". These can
be overriden if needed.

[1] https://bugs.launchpad.net/trove/+bug/1645096

Change-Id: I8e1de6ef31f969ccee88c334a0d5ed03aabd1b51
Depends-On: I3831de12c999ef8818e80ecdb29f1d86ff8cd5c8
2016-11-29 19:30:45 +00:00
Amrith Kumar
357930d459 Update the Signing Key for Percona Debian and Ubuntu Packages
Attempting to build images fails now with an error because of a change
in the signing key for Percona packages.

Quick summary copied from [1]

Percona .deb packages are signed with a key that uses an algorithm now
considered weak. Starting with the next release, Debian and Ubuntu
packages are signed with a new key that uses the much stronger SHA-512
algorithm. All future package release will also contain the new
algorithm.

It’s important that you add the new key before the next release.

[1] https://www.percona.com/blog/2016/10/13/new-signing-key-for-percona-debian-and-ubuntu-packages/

Change-Id: I0420193982ebc5c9922eb388adb85da1423ab3f0
2016-10-24 09:39:23 -04:00
Amrith Kumar
b120be1772 Merge trove-integration into trove
This commit will merge into trove, the trove-integration tree as of
commit 9f92ca853f8aa2f72921e54682c918941a8f0919. This is in
preparation for making trove-integration go away.

In addition, it supresses any consideration of the integration
directory in the trove tox tests as it is understandably a small pile
of pooh and in need of much cleanup.

Change-Id: Ib7f2655c4c5ed86b5454708c04371ee55e37ec2d
Partially-Implements-Blueprint: eliminate-trove-integration-and-redstack
2016-10-09 07:14:25 -04:00