5 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
602c4d42de Improve the function tests
- Execute test groups in serial to make sure no more than 2 database
  instance are created at the same time.
- Remove some unneccesary tests
- Remove unneeded datastore, e.g. 'Test_Datastore_1'
- Remove unsupported trovestack subcommands
- Move unsupported DIB elements to the 'deprecated-elements' folder
- Decrease default value of 'agent_call_high_timeout' to 5min
- Add initial_deplay for pooling task
- Use socket file to connect with database instead of using localhost
  IP

Change-Id: Ie5030a671fbeb453eafa6cbe04e08da7b52e33c9
2020-01-28 14:27:52 +13:00
Tomasz Nowak
043ad08237 Configure guestagent on Ubuntu guest images to use CA certificates
Currently there is no way to provide SSL configuration for Trove, so it
fails e.g. when uploading backups to a secured Swift endpoint. This
patch sets an environment variable (REQUESTS_CA_BUNDLE [1]) understood
by Requests library for Python, so all HTTPS calls done by trove-guest
service will trust the provided CAs.

For Ubuntu Xenial and Fedora a systemd drop-in sets this environment
variable for trove-guest service, so it uses Ubuntu's/Fedora's system
certificate store to validate server certificates.

For Ubuntu Trusty the upstart script is modified to build and use a
bundle file from certificates in /usr/local/share/ca-certificates,
because Requests library doesn't support CA directories in such old
Python versions.

On Ubuntu systems the custom certificates are taken from
/usr/local/share/ca-certificates; please use PEM format, .crt extension
and call update-ca-certificates.

On Fedora systems custom certificates can be put in
/usr/share/pki/ca-trust-source/anchors; please use PEM format, .pem
extension and call update-ca-trust.

[1] http://docs.python-requests.org/en/master/user/advanced/#ssl-cert-verification

Change-Id: I0025e7c72fa2d863ae9540941956b1ab63bcc636
2017-11-09 09:29:16 +00: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