trove/releasenotes
Zhao Chao 2133963b89 Fix zuul check jobs
This patch is a squash of three commits that is needed to have
a successful zuul run:

1. Use neutronclient for floatingip operations

As add_floating_ip and remove_floating_ip were removed from novaclient,
migrating to neutronclient for floatingip operations.

This is the first patch for fixing unittests. As integration tests
didn't fail, floatingip operations are not covered there, so it may be
necessary to add new scenario tests for this in following patches.

NOTE(elod.illes): this backport is necessary due to nova client
constraint update [1] otherwise (periodic stable) jobs in queens fails
in stable/queens

[1] https://review.openstack.org/#/c/571540/

Signed-off-by: Zhao Chao <zhaochao1984@gmail.com>

2. Avoid diverged slave when migrating MariaDB master

When promoting one slave to the new master in a replication group,
previously the old master will be attached to the new one right after
the new master is on. For MariaDB, attaching the old master to the new
one, new GTID may be created on the old master and also may be synced
to some of the other replicas, as they're still connecting to the old
master. The new GTID does not exists in the new master, making these
slaves diverged from the master. After that, when the diverged slave
connects to the new master, 'START SLAVE' will fail with logs like:

    [ERROR] Error reading packet from server: Error: connecting slave
    requested to start from GTID X-XXXXXXXXXX-XX, which is not in the
    master's binlog. Since the master's binlog contains GTIDs with
    higher sequence numbers, it probably means that the slave has
    diverged due to executing extra erroneous transactions
    (server_errno=1236)

And these slaves will be left orphan and errored after
promote_to_replica_source finishs.

Attaching the other replicas to the new master before dealing with the
old master will fix this problem and the failure of the
trove-scenario-mariadb-multi Zuul job as well.

Closes-Bug: #1754539
Signed-off-by: Zhao Chao <zhaochao1984@gmail.com>

3. Add a hook for restore process to check if successful

1.This is the same solution with the backup process. Previously we only
check the stderr of the restore command, but this method is not
reliable, and the changes during percona-xtrabackup 2.4.11:
https://jira.percona.com/browse/PXB-1542
causes the gate jobs failed in creating a slave MySQL instance.

The new hook currently is only used by InnoBackupEx restore runner with
checking the exit status and stderr output of xbstream.

NOTE(elod.illes): The following part is not backported because [1] is
not backported either:
2.with[1] merged,this makes DIB_CLOUD_IMAGES more flexible, but it
break trovestack build image, now we need to specify a more
detailed path to DIB_CLOUD_IMAGES to get the appropriate content.

[1]:https://review.openstack.org/#/c/568697/

Co-Authored-By: Zhao Chao <zhaochao1984@gmail.com>
Co-Authored-By: zhanggang <zhanggang@cmss.chinamobile.com>
Co-Authored-By: jiansong <jian.song@easystack.cn>

Closes-Bug: #1771990

Change-Id: Ic41f5898db77a09158e0f8bfa4196bdb5e40b49a
(cherry picked from commit 9209d0bf89)
(cherry picked from commit 5895cf0ee9)
(cherry picked from commit 43b5807f2d)
2018-07-10 10:56:06 +02:00
..
notes Fix zuul check jobs 2018-07-10 10:56:06 +02:00
source Remove setting of version/release from releasenotes 2017-11-17 05:50:17 +00:00