9 Commits

Author SHA1 Message Date
wuchunyang
2f755b64b3 Add network isolation for trove
this PR adds a network_isolation config option for trove,
with network_isolation enabled, trove guest agent will
plug the user-defined port to database container by
docker host_nic network driver which is implemented in this PR.

docker host_nic network driver is a simple driver to plug host
nic to a container. this driver supports ipv4,ipv6 and dual-stack.

for more details please see the story.

story: 2010733
task: 47957

Change-Id: I35d6f8b81a2c5e847cbed3f5bc6095dc1d387165
2023-08-03 11:35:04 +00:00
wu.chunyang
09fd606163 synchronize guest logs to controller node
use rsync to synchronize guest logs to the controller node so that we can
find the logs even after the instance is deleted

Add a guest-log-collection timer, this timer triggers
guest-log-collection service every 10 seconds

Change-Id: I264235ce7b7df585358654c46bdac4dcd743fb3d
2023-06-13 10:39:25 +08:00
wu.chunyang
06c8ed94ab Revert "Add debug log for CI tests"
This reverts commit 49c16b889b68039b068eb420f345efdfaafcc1cc.

Reason for revert: this patch doesn't work as expected

Change-Id: I398dd7ac8c628d19b75693dcac0521346e8f5d64
2023-06-07 06:25:10 +00:00
wu.chunyang
49c16b889b Add debug log for CI tests
When the CI fails, specifically related to the Trove guest agent,
we are unable to find a way to debug it.
this patch synchronizes the guest agent logs to controller nodes.

Change-Id: I24695238075f9b1354ee4c54673d021de481a868
2023-06-06 15:43:44 +08:00
Lingxian Kong
1e4405c60b Fix trove guest agent logrotate
* The logrotate file owner should be root
* Log file path is /var/log/trove/trove-guestagent.log

Change-Id: I669fedc76aa79d7bfc1e4e64684adc4a89a3a15d
2021-09-30 22:27:53 +13:00
Lingxian Kong
1e04b269ca Stop using pip-and-virtualenv diskimage element
ALthough diskimage-builder will solve the issue eventually, but we
still prefer to put the package installation under trove's own control.

Story: 2008559
Task: 41697

Change-Id: Ie704db8233c4b797eeefa140c4a11427280dffd9
2021-01-27 11:43:16 +13:00
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
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