91 Commits

Author SHA1 Message Date
caoyuan
5cd55bf236 Optimize reconfiguration for mariadb
Change-Id: I278609f9832955849bc9381120a1b260f5a03f1b
Partially-implements: blueprint better-reconfigure
2017-07-22 08:50:08 +08:00
Jeffrey Zhang
cacf08f0a6 Remove all kolla-kubernetes configurations
kolla-kubernetes is using its own configuration generation[0], so it is
time for kolla-ansible to remove the related code to simplify the
logical.

[0] https://github.com/openstack/kolla-kubernetes/tree/master/ansible

Change-Id: I7bb0b7fe3b8eea906613e936d5e9d19f4f2e80bb
Implements: blueprint clean-k8s-config
2017-07-18 22:00:58 +08:00
Jenkins
a71aa61ea7 Merge "Use unified vars in task" 2017-07-12 01:56:12 +00:00
Jeffrey Zhang
03e1b05f99 Use unified vars in task
Ansible task support vars directive, no need implement another one in
merge_config. This patch remove the vars directive in merge_config
action plugin.

Change-Id: I33648a2b6e39b4d49ce76eb66fbf2522721f8c68
2017-06-15 22:37:28 +08:00
Duong Ha-Quang
41686edba9 Replace always_run by check_mode
always_run is deprecated and removed in Ansible 2.4
check_mode is introduced in Ansible 2.2 and Kolla-ansible bump Ansible to
2.2.0 so it's safe to replace always_run by check_mode now.

Change-Id: Id1028d38b7bde30a6afe17b319dcdc77907914ab
Closes-Bug: #1643633
Implements: blueprint migrate-to-ansible-2-2-0
2017-06-15 08:10:33 +00:00
Bertrand Lallau
afdd11b9a2 Generalize api_interface_address variable usage
Useful api_interface_address variable has been define here:
https://github.com/openstack/kolla-ansible/blob/master/ansible/group_vars/all.yml#L57
In order to simplify codebase we must use it as much as possible.

Change-Id: I18fec19bf69e05a22a4142a9cd1165eccd022455
2017-05-23 08:35:15 +00:00
Jeffrey Zhang
b1f015616c Add timeout parameter for precheck tasks
wait_for module waits 300 seconds for the port started or stopped.  This
is meaningless and useless in precheck. This patch change timeout to 1
seconds.

Change-Id: I9b251ec4ba17ce446655917e8ef5e152ef947298
Closes-Bug: #1688152
2017-05-04 09:02:25 +08:00
Dai Dang Van
74a26a91e5 Use utf8_general_ci collation as a default collation
Now, I see mariadb are using utf8_general_ci as a default collation.
- https://mariadb.com/kb/en/mariadb/supported-character-sets-and-collations/

This mean all of Devstack database will be created with utf8_general_ci collation,
so may be, one service/project can be deployed successfully via Devstack
but will be fail with Kolla deployment.

Therefore, we should use above default collation for Kolla-ansible.

Change-Id: Icbb6c15f536fc6986816c58f4fd68bfb95813e46
Closes-Bug: 1680783
2017-04-10 15:38:16 +07:00
Bertrand Lallau
dff062b3a6 Activate binary-logs in MariaDB/MySQL
The binary log contains a record of all changes to the databases, both
data and structure. It consists of a set of binary log files and an
index.
Activate it in MariaDB will fix Telegraf error on Mysql/MariaDB inputs
retrieval.

Change-Id: I040ed75ffbf1afded87ba0f8f63a3e384707d1fb
Closes-Bug: #1673969
2017-03-19 09:38:24 +01:00
Jeffrey Zhang
430a9dedf3 Use new bootstrap and register method
Change-Id: I61aa70affc8ff98c7e57160de8da0df3d6be5929
2017-02-05 20:45:46 +08:00
Mauricio Lima
d53f27caea Move prechecks into its own role
To avoid many merge conflicts and re-works
* Panko
* Octavia
* Ceph
* MariaDB

Co-Authored-By: caoyuan <cao.yuan@99cloud.net>
Partially-implements: blueprint condition-pre-check
Change-Id: I3d2766d0d9f01ad4052731c7219a2d0635527ac5
2017-01-13 12:43:49 -03:00
Eduardo Gonzalez
f56d8e58ba Revert "updating-deprecated-ansible-modules"
check_mode option is included in Ansible 2.2.
Using in our playbooks mean that any other version before
Ansible 2.2 can be used

This reverts commit 529f202d00e4615caa1fcb447aaa47fde6aa1417.

Change-Id: I3af96290443d760346264e6d994fd2a44de65543
Closes-Bug: #1644828
2016-11-25 14:41:38 +00:00
gardlt
529f202d00 updating-deprecated-ansible-modules
* update ceph tasks
* update mariadb tasks
Closes-Bug: #1643633

Change-Id: Ib81789574843edba6e33394a7f66a2e8077075eb
2016-11-21 21:52:26 -06:00
Jenkins
8b830f5e1a Merge "Mariadb performance tuning" 2016-11-06 21:26:07 +00:00
Jeffrey Zhang
fa45801946 Move precheck into its own role
* Merge prechecks.yml and site.yml playbook
* Create empty precheck.yml into all roles.

Change-Id: I8a138558a26c0a2a66c5fd48ed37be657c99c1dd
Implements: blueprint condition-pre-check
2016-11-03 14:48:58 +08:00
Mathias Ewald
2d95514b59 Mariadb performance tuning
Change-Id: Ic2b44de0ce8e8090318380a0fed3ff1bd51dc791
Closes-Bug: #1633178
2016-10-24 16:14:02 +02:00
Jenkins
e87f095085 Merge "Update the upgrade.yml for mariadb roles" 2016-10-21 16:19:33 +00:00
zhubingbing
bb51ca3a3d Fix mariadb upgrade permission issue
Change-Id: I356d41d030365b7b4f917b1334f9f68e560b7512
Co-Authored-By: Michal (inc0) Jastrzebski <inc007@gmail.com>
Partial-Bug: #1631503
2016-10-14 16:51:03 +00:00
Jenkins
45b0f2cf63 Merge "Remove do_reconfigure.yml file for all roles" 2016-10-13 16:20:30 +00:00
Jeffrey Zhang
1bcb139392 Choose node with largest seqno number for mariadb recovery
When all mariadb nodes are stopped gracefully, mariadb galera will
write it's last executed position into the grastate.dat file. Need find
the node with largest seqno number in that file and recovery from that
node.

Closes-Bug: #1627717
Change-Id: I6e97c190eec99c966bffde0698f783e519ba14bd
2016-10-09 12:08:58 +00:00
caoyuan
9f6b6db302 Update the upgrade.yml for mariadb roles
beacause upgrade is not required to recreate the database
TrivialFix

Change-Id: I50bbb1592dd1fd5262642077bbe3d9bd32503033
2016-10-02 15:49:26 +08:00
Jeffrey Zhang
fa856556d5 Remove do_reconfigure.yml file for all roles
do_reconfigure.yml is introduced to use serial directive. But we use
it in wrong. Now serial has moved to playbook file. So it is time to
remove the do_reconfigure.yml file

Closes-Bug: #1628152
Change-Id: I8d42d27e6bc302a0e575b0353956eaef9b2ca9fd
2016-09-27 15:04:00 +00:00
Jenkins
557c02fe77 Merge "Change Mariadb default character set to utf8" 2016-09-14 13:14:26 +00:00
Jeffrey Zhang
de0c780100 Change Mariadb default character set to utf8
Closes-Bug: #1623307
Change-Id: I364a8345872ae3b0a7ff684edfe9ff0e22f2c26c
Signed-off-by: Jeffrey Zhang <zhang.lei.fly@gmail.com>
2016-09-14 02:57:19 +00:00
Jenkins
6d03a05819 Merge "Fix permissions of tmp files" 2016-09-13 16:44:10 +00:00
Christian Berendt
924fbb6f7a Fix permissions of tmp files
When running kolla-ansible as non-root users the tmp files will
be created with become user as owner and mode 0600. This way the user
running kolla-ansible is not able to read the generated files. This
is necessary because of the use of the lookup method, which will
not run as become user.

TrivialFix

Change-Id: If86d114c05a9b2e7fa240718611d78e93100ebdf
2016-09-13 13:30:25 +02:00
Mick Thompson
4c1482b999 Added serial option to site.yml.
Useful for upgrade etc., which is preferablly done serially.

Example usage: tools/kolla-ansible deploy OR tools/kolla-ansible upgrade

Closes-Bug: #1576708

DocImpact

Change-Id: I34b2e16f8ce53e472a4682a4738c4ac0f5abf00c
2016-09-13 09:26:51 +00:00
Duong Ha-Quang
34975e291e Port with_ loop variable syntax to Ansbile 2
Migrate to full variable syntax in with_ loop
instead of bare variables for:
- ceph
- ceilometer
- glance
- heat
- horizon
- keystone
- mariadb
- memcached
- neutron
- nova
- rabbitmq

Change-Id: Ib925b4ecea47ac758a77739c9c7e140f06933b08
Partial-Implements: blueprint ansible2
2016-08-09 23:23:21 +07:00
Michal (inc0) Jastrzebski
5838bd0b3c Enable kolla k8s to override bind api bind address in genconfig
It's good if k8s reuses ansible templates, but we need to abstract all
ansible specific variables to achieve that.

- Implements ansible override variable api_interface_address.
- Adds api_interface_address setting and comments to globals.yml
- Makes changes to mariadb templates to accept this new setting.
- Disabled Galera when api_interface_address==0.0.0.0 in the
  case of Kubernetes.  Otherwise, mariadb fails to start.
- Tested with and without setting to ensure kolla genconfig output
  does not change when setting is disabled or undefined.

Change-Id: Ia0e4951c327be01b717aebb86ef4c3a4e7ed170e
Partially-implements: blueprint api-interface-bind-address-override
Co-authored-by: David Wang <dcwangmit01@gmail.com>
Co-authored-by: Ryan Hallisey <rhallise@redhat.com>
Co-authored-by: Kevin Fox <kevin@efox.cc>
2016-07-28 11:59:28 -04:00
Ken Wronkiewicz
1d74db7df0 Config files having underscores breaks Kolla-Kubernetes.
I just thought I'd dash off a quick patch and change the underscore
to a dash.

Change-Id: Ib34cfc8039de01be7e37176648482f9815ac3848
Closes-Bug: #1589734
2016-06-06 16:58:58 -07:00
Ettore Simone
b4759b280c Enable HAProxy consider MariaDB wsrep_local_state
This patch enable wsrep_notify_cmd to rename haproxy user in haproxy_blocked
when the node is not ready to serve and restore it when ready.

Change-Id: I4f49960d7ff2fa689d6ea730b2574f16f083edc1
Closes-Bug: 1578752
Closes-Bug: 1587752
2016-06-03 01:30:00 +02:00
Jenkins
6f5239ce40 Merge "Bump the ansible to 2" 2016-05-26 10:57:27 +00:00
Jenkins
6f17a71d7f Merge "add support for non-default database_port in kolla/ansible" 2016-05-26 09:24:56 +00:00
Jeffrey Zhang
491822c510 Bump the ansible to 2
DocImpact

Change-Id: I3cdfbf84919de80f535c030bd146787ecda40dec
partial-Implements: blueprint ansible2
2016-05-24 19:53:31 +08:00
Ryan Hallisey
2da010a7b9 Make configurable the location where config files are merged
An operator may want to specify the location of custom config
files so that kolla can detect their location and merge
them with the default configs generated.

Partially implements: blueprint multi-project-config

Change-Id: Ibfb38d07a36dfa7fe25381adc34cc1d3cbe7d1e1
2016-05-23 03:23:06 -04:00
Waldemar Znoinski
a2c2eba34f add support for non-default database_port in kolla/ansible
This change makes each step of the kolla deployment aware
of the port database was configured to listen on.
It defaults mariadb_port to database_port.

Change-Id: I8e85d5732015afc0a5481cb33e0b629fdfa84a1b
Closes-Bug: #1576151
DocImpact
2016-05-13 12:12:25 +00:00
Jeffrey Zhang
0fcee87549 map the host localtime to the container
Closes-Bug: #1577148
Change-Id: I636cefc63cf532434a41af3898b63dffa711e280
2016-05-03 09:27:51 +08:00
Vikram Hosakote
df53d92db6 Revert "Add general_log to mariadb container and make heka collect it"
This reverts commit 86bafeee7a8926d212e8d089fade667772dbcc83.

Closes-Bug: #1568670

Change-Id: I88563292e29d691c27a3640e5232b9f22c7a288a
2016-04-11 02:49:56 +00:00
Steven Dake
ba4bcdbbe8 Change waiting on mariadb.pid
Previously the code looked at mariadb.pid, but this seemed
flakey in function.  It seemed racey and prone to failure on
slower connections to a registry.  The original task was
extremely complex and it didnt really verify that the MariaDB
was ready to serve connections.  Use wait_for with a regex
instead.

Change-Id: I3aafac04f03639b08e0ef4d6a9c9e1a4499f000c
Closes-Bug: #1564278
2016-04-05 12:02:01 -04:00
Jenkins
dc9990e744 Merge "Add general_log to mariadb container and make heka collect it" 2016-04-04 10:51:19 +00:00
Vikram Hosakote
86bafeee7a Add general_log to mariadb container and make heka collect it
Added general_log to ansible/roles/mariadb/templates/galera.cnf.j2
to improve mariadb logging.

This will be helpful to debug mariadb issues especially when
mariadb is scaled.

Test results of this patch set are at:
http://paste.openstack.org/show/492852/

Change-Id: I80438d1bbdd1ed2a1f47489c6f9c45b8107340a0
Closes-Bug: #1563668
2016-04-04 02:52:30 +00:00
Steven Dake
1fac190cec Increase database connections to 10000
Scale limit testing on a 64 node cluster with 13 TB RAM and 2600
cores showed that atleast 1800 database connections are required
to appropriately start 2000 virtual machines simulateounsly.  Other
documentation on the internet recommends larger values such as 8000,
so we set to a larger value that should be able to handle a maxed out
512GB ram per compute node cluster with all services enabled.

Change-Id: I8767cf3fb04e066cc22e796c647e944b4e4a1742
Closes-Bug: #1564275
2016-03-31 00:42:23 -07:00
SamYaple
afce10dea4 Fix mysql bootstrap
The lightsout recover patch broke multinode mysql. Also the lightsout
recovery didnt probably pass the --wsrep-new-cluster flag. This
updates the mariadb bootstrap to work with multinode again.

Closes-Bug: #1559480
Related-Id: I903c3bcd069af39814bcabcef37684b1f043391f
Change-Id: I1ec91a8b2144930ea8f04cc1c201b53712352e4e
2016-03-21 12:23:00 +00:00
Jenkins
f5bdcfbb60 Merge "Allow per node configuration with augments" 2016-03-18 03:45:06 +00:00
SamYaple
1f371e2717 Allow per node configuration with augments
This type of per node configuration is required to support things like
availability zones for nova. As always, if this file doesnt exist it
doesnt get used so this change is safe.

TrivialFix

Change-Id: Iff8172af522c2c96e5f2c173b24a5dfd4d522ed2
2016-03-17 17:18:00 +00:00
SamYaple
f096cdcb40 After refactor, the upgrade code was missing task
TrivialFix

Change-Id: Ic946c613e5197d988897bd450040a1ea66a60f77
2016-03-17 17:13:09 +00:00
Jenkins
3c0641b36b Merge "MariaDB lights out recovery" 2016-03-17 06:24:32 +00:00
Mauricio Lima
b1cd6f473a Remove commented line
TrivialFix

Change-Id: Iadeada65248160ac34d917c67dca7954e1b449d2
2016-03-16 13:12:18 -04:00
SamYaple
2aaaed770e MariaDB lights out recovery
This playbook only matters for multinode since AIO can recover from
power outage without additional configuration.

DocImpact
Implements: blueprint mariadb-lights-out
Change-Id: I903c3bcd069af39814bcabcef37684b1f043391f
2016-03-16 15:53:44 +00:00
SamYaple
cc6cfdf4df Mariadb upgrade
Minor versions of mariadb upgrade do not require full cluster stop.
Full cluster stop will need to be address during the move to 10.1 at
some time in the future.

Change-Id: Ia048a3fd4d79921f827f3b88c623d26db506bfc3
Partially-Implements: blueprint upgrade-kolla
Implements: blueprint upgrade-mariadb
2016-03-16 15:53:27 +00:00