Add support to detect SUSE

This patch extends `get_os()` to check /etc/SuSE-release and report the
operative system is SUSE.

blueprint: suse-support

Change-Id: Idd89d151c2ee3945108cb58b1544587fcb47cece
Add SUSE support in mysql datastore

SUSE uses /etc/my.cnf instead of /etc/mysql/my.cnf. This patch changes
MYSQL_CONFIG from string to a dictionary using the operative system
name as key to identify where mysql's configuration is located.

blueprint: suse-support

Co-Authored-By: Ionut Artarisi <iartarisi@suse.cz>
Change-Id: Ibb17fa584ae3bc632e970f0a3dd99af2ac51b441
Stop using intersphinx

Remove intersphinx from the docs build as it triggers network calls that
occasionally fail, and we don't really use intersphinx (links other
sphinx documents out on the internet)

This also removes the requirement for internet access during docs build.

This causes docs jobs to fail because we error out on warnings.

Change-Id: I71e941e2a639641a662a163c682eb86d51de42fb
Related-Bug: #1368910
Mark trove as being a universal wheel

Universal is used to identify pure-Python module(by bdist_wheel). For
these, it is sufficient to build a wheel with _any_ Python ABI
version and publish that to PyPI (by whatever means).

Change-Id: I41c1bddf27be9986c43ce408eccfc6b43c5562a1
Partially address concerns in Couchbase restore strategy

This is a preliminary fix for community review. I expect to be making
some changes as well.

This change addresses some concerns about the Couchbase restore
strategy. In particular, the concerns that are addressed include
string injection in some execute calls, and issues around the
permissions on the secret file used to store the password.

This change set aims to fully address the issue around the password
file but is a partial solution to the string injection
problem. Additional changes are required to completely address
that. Some additional bugs have also been raised to address issues
related to other concerns discovered while fixing this bug. More to
come.

Change-Id: Icd8033caea4866f57f8cb4c5861d21797136ff90
Partial-Bug: #1349939
Use different timeouts for create and restore

Restoring an instance from a backup can take significantly longer than
just creating an instance. Introduce a new timeout for the restore case
with a higher default value

Change-Id: I44af03e9b2c966dd94fcfd0ff475f112ac21be5b
Closes-Bug: 1356645
Make the replication snapshot timeout configurable

There is no way to tell how long the snapshot for replication
will take, and we have no good way to poll for the slave state.
Eventually, we will need to have an intelligent poll (perhaps
based on guest heartbeats), but in the meantime we will have
the the snapshot use a configurable timeout which can be set
as needed, and independently of the agent_call timeouts.

Co-Authored-By: Nikhil Manchanda <SlickNik@gmail.com>
Change-Id: I6316d748e91d1ec3eebe25a14bb43fbfe10db669
Closes-bug: 1362310
Event simulator II

The previous event simulator simulated time by making all tasks that
would have been launched as threads run in the same thread. That only
worked to a point but didn't properly simulate more complex behaviors
such as clustering.

This new one handles things properly by still running tasks in
eventlet's greenthreads but forcing them to only run one at a time.

Change-Id: Ife834e8d55193da8416ba700e55e7b0c2496f532
Open Kilo development

Bump pre-version to 2015.1 to formally open master branch to Kilo
development.

Change-Id: Idc0542e1ad2bf2170f8c7ee4fe44ad4bdfa67581
Merge "Make the replication snapshot timeout configurable"
Merge "Use different timeouts for create and restore"
Merge "Partially address concerns in Couchbase restore strategy"
Add templates for replica and replica source

This patch adds templates for replica and replica source.
Previously this was hard coded in the code. This gives
deployers the ability to customize their replication
configurations.

Closes-Bug: 1370125

Change-Id: Ie1b4cff1685d2577240eb43ffecac3c977ba964c
Use unique passwords for replication user

Generates a unique user with a random password for each slave.
The replication user and password is passed to each slave during
the snapshot attach process.  Replication user is deleted from
both the master and the slave during the detach process.

Co-Authored-By: Nikhil Manchanda <SlickNik@gmail.com>
Co-Authored-By: Denis Makogon <dmakogon@mirantis.com>

Change-Id: I9cb158a161714bfff90225227f5c652120393ba7
Closes-bug: 1357065
Merge "Use unique passwords for replication user"
Docs: Fix Sphinx warnings

Sphinx emits warnings messages when building docs. Correct identation fixes this.

Change-Id: Ic84f10e13b6dc9ea70575dcea3bd2104007f1d56
Closes-Bug:1333205
Merge "Open Kilo development"
Merge "Event simulator II"
Merge "Docs: Fix Sphinx warnings"
Mgmt Reboot allowed if datastore in crashed state

Change-Id: I256c74bc3f9cadd1c4dce4abd4ddc51cbba71231
Closes-Bug: 1365185