trove/trove/taskmanager
Peter Stachowski bd761989ee Allow for invalid packet sequence in keepalive
In the SQLAlchemy keep_alive class, MariaDB is failing
as pymysql reports an invalid packet sequence.
MariaDB seems to timeout the client in a different
way than MySQL and PXC, which manifests itself as the
aforementioned invalid sequence.  It is now handled
as a special-case exception.

With this fix, the MariaDB scenario tests now pass.

The scenario tests were also tweaked a bit, which aided
in the testing of the fix.  'group=instance' was created,
plus instance_error properly interleaved with
instance_create.  _has_status now calls get_instance with
the admin client so that any faults are accompanied by
a relevant stack trace.  Cases where the result code
was being checked out-of-sequence were removed, and explicit
calls to check the http code for the right client were added.

The replication error messages for promote and eject were
enhanced as well to attempt to debug spurious failures.
One of those failures was 'Replication is not on after 60 seconds.'
This was fixed by setting 'MASTER_CONNECT_RETRY' in the mariadb
gtid replication strategy as was done in:
https://review.openstack.org/#/c/188933

Finally, backup_incremental was added to MariaDB supported
groups and cleaned up elsewhere.

Closes-Bug: #1621702
Change-Id: Id6bde5a34e1d79eece3084f761dcd153c38ccbad
2016-09-13 21:24:05 +00:00
..
__init__.py Remove copyright from empty files 2014-01-16 13:13:23 +04:00
api.py Implement Instance Upgrade 2016-09-08 11:32:14 -04:00
manager.py Allow for invalid packet sequence in keepalive 2016-09-13 21:24:05 +00:00
models.py Add command to delete BUILD instances and clusters 2016-09-13 10:00:04 -04:00
service.py Trivial: Remove unused logging import 2016-04-23 19:32:00 +08:00