X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=conflicts-with-openstack-ansible%2Fgalera-install.yml;fp=conflicts-with-openstack-ansible%2Fgalera-install.yml;h=d339343e772de80a9cd9a44bc579b01c7420bd48;hb=74a49ba6ef2ea715fa492db0bcd85c30398688e8;hp=0000000000000000000000000000000000000000;hpb=a936af362724cca0c5dc2c424902d398f9833410;p=ta%2Finfra-ansible.git diff --git a/conflicts-with-openstack-ansible/galera-install.yml b/conflicts-with-openstack-ansible/galera-install.yml new file mode 100644 index 0000000..d339343 --- /dev/null +++ b/conflicts-with-openstack-ansible/galera-install.yml @@ -0,0 +1,84 @@ +--- +# Copyright 2014, Rackspace US, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# cmframework.requires: initial_poweroff_hosts.yml, memcached-install.yml + +- name: Galera container config + hosts: galera_all + gather_facts: "{{ osa_gather_facts | default(True) }}" + serial: 1 + tasks: + - include: common-tasks/os-log-dir-setup.yml + vars: + log_dirs: + - src: "/openstack/log/{{ inventory_hostname }}-mysql_logs" + dest: "/var/log/mysql_logs" + when: reinitialized_nodes is not defined or (reinitialized_nodes is defined and hostname in reinitialized_nodes) + - include: "common-tasks/os-{{ container_tech | default('lxc') }}-container-setup.yml" + vars: + list_of_bind_mounts: "{{ galera_container_bind_mounts }}" + extra_container_config_no_restart: + - "lxc.start.order=10" + when: reinitialized_nodes is not defined or (reinitialized_nodes is defined and hostname in reinitialized_nodes) + - include: common-tasks/unbound-clients.yml + static: no + when: + - hostvars['localhost']['resolvconf_enabled'] | bool + - reinitialized_nodes is not defined or (reinitialized_nodes is defined and hostname in reinitialized_nodes) + environment: "{{ deployment_environment_variables | default({}) }}" + tags: + - galera + +- name: Install galera server + hosts: galera_all + gather_facts: "{{ osa_gather_facts | default(True) }}" + serial: 1 + roles: + - role: "galera_server" + when: reinitialized_nodes is not defined or (reinitialized_nodes is defined and hostname in reinitialized_nodes) + - role: "rsyslog_client" + rsyslog_client_log_rotate_file: galera_log_rotate + rsyslog_client_log_dir: "/var/log/mysql_logs" + rsyslog_client_log_files: + - /var/log/mysql.log + - /var/log/mysql.err + rsyslog_client_config_name: "99-galera-rsyslog-client.conf" + tags: + - rsyslog + when: reinitialized_nodes is not defined or (reinitialized_nodes is defined and hostname in reinitialized_nodes) + - role: "system_crontab_coordination" + tags: + - crontab + when: reinitialized_nodes is not defined or (reinitialized_nodes is defined and hostname in reinitialized_nodes) + vars: + galera_server_id: "{{ inventory_hostname | string_2_int }}" + galera_wsrep_node_name: "{{ container_name }}" + environment: "{{ deployment_environment_variables | default({}) }}" + tags: + - galera + +- name: Verify Galera cluster count. + hosts: baremetal-infra_hosts + tasks: + - set_fact: + given_cluster_count: "{{ groups['galera_all'] | count }}" + + - name: Check the mysql cluster count + shell: mysql -e 'show status like "%wsrep_cluster_%";' | awk -F "wsrep_cluster_size" {'print $2'} |tr -d " \t\n\r" + register: cluster_count + until: cluster_count|success + failed_when: cluster_count.stdout != given_cluster_count + tags: + - galera +