FIX: mariadb cluster failed on centos7 55/12555/1
authorgrakiss <grakiss.wanglei@huawei.com>
Fri, 22 Apr 2016 07:04:12 +0000 (03:04 -0400)
committergrakiss <grakiss.wanglei@huawei.com>
Fri, 22 Apr 2016 07:04:12 +0000 (03:04 -0400)
JIRA:COMPASS-373
  - use shell to support the parameter
  - remove blank user
  - adapte http service name and config path

Change-Id: I6625f3c53bfa8ff3e3792ec339aa2e63bcf1da83
Signed-off-by: grakiss <grakiss.wanglei@huawei.com>
deploy/adapters/ansible/roles/database/tasks/mariadb_cluster.yml
deploy/adapters/ansible/roles/database/tasks/mariadb_cluster_debian.yml [new file with mode: 0644]
deploy/adapters/ansible/roles/database/tasks/mariadb_cluster_redhat.yml [new file with mode: 0644]
deploy/adapters/ansible/roles/keystone/tasks/keystone_install.yml
deploy/adapters/ansible/roles/keystone/templates/wsgi-keystone.conf.j2
deploy/adapters/ansible/roles/keystone/vars/Debian.yml
deploy/adapters/ansible/roles/keystone/vars/RedHat.yml

index 8fdb143..84704fa 100644 (file)
@@ -7,52 +7,8 @@
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
 ---
-- name: get cluster status
-  shell: mysql --silent --skip-column-names -e 'SHOW STATUS LIKE "wsrep_evs_state"'|awk '{print $2}'
-  register: cluster_status
-  when:
-    - inventory_hostname == haproxy_hosts.keys()[0]
+- include: mariadb_cluster_debian.yml
+  when: ansible_os_family == "Debian"
 
-- name: start first node to create new cluster
-  service:
-    name: mysql
-    state: restarted
-    enabled: yes
-    args: "--wsrep-new-cluster"
-  when: |
-    inventory_hostname == haproxy_hosts.keys()[0]
-    and not cluster_status.stdout | search("OPERATIONAL")
-
-- name: wait for cluster ready
-  shell: mysql --silent --skip-column-names -e 'SHOW STATUS LIKE "wsrep_evs_state"'|awk '{print $2}'
-  register: cluster_status
-  until: cluster_status|success
-  failed_when: not cluster_status.stdout | search("OPERATIONAL")
-  retries: 10
-  delay: 3
-  when: |
-    inventory_hostname == haproxy_hosts.keys()[0]
-    and not cluster_status.stdout | search("OPERATIONAL")
-
-- name: if I in the cluster nodes
-  shell: mysql --silent --skip-column-names -e 'SHOW STATUS LIKE "wsrep_incoming_addresses"'|awk '{print $2}'
-  register: cluster_nodes
-  changed_when: false
-
-- name: restart other nodes and join cluster
-  service:
-    name: mysql
-    state: restarted
-    enabled: yes
-  when: |
-    inventory_hostname != haproxy_hosts.keys()[0]
-    and not cluster_nodes.stdout | search("{{ internal_ip }}")
-
-- name: restart first nodes
-  service:
-    name: mysql
-    state: restarted
-  when: |
-    (inventory_hostname == haproxy_hosts.keys()[0]
-    and haproxy_hosts|length > 1
-    and not cluster_nodes.stdout | search('{{ internal_ip }}'))
+- include: mariadb_cluster_redhat.yml
+  when: ansible_os_family == "RedHat"
diff --git a/deploy/adapters/ansible/roles/database/tasks/mariadb_cluster_debian.yml b/deploy/adapters/ansible/roles/database/tasks/mariadb_cluster_debian.yml
new file mode 100644 (file)
index 0000000..6b67031
--- /dev/null
@@ -0,0 +1,60 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+- name: get cluster status
+  shell: mysql --silent --skip-column-names -e 'SHOW STATUS LIKE "wsrep_evs_state"'|awk '{print $2}'
+  register: cluster_status
+  when:
+    - inventory_hostname == haproxy_hosts.keys()[0]
+
+- name: start first node to create new cluster
+  service:
+    name: mysql
+    state: restarted
+    enabled: yes
+    args: "--wsrep-new-cluster"
+  when: |
+    inventory_hostname == haproxy_hosts.keys()[0]
+    and not cluster_status.stdout | search("OPERATIONAL")
+
+- name: wait for cluster ready
+  shell: mysql --silent --skip-column-names -e 'SHOW STATUS LIKE "wsrep_evs_state"'|awk '{print $2}'
+  register: cluster_status
+  until: cluster_status|success
+  failed_when: not cluster_status.stdout | search("OPERATIONAL")
+  retries: 10
+  delay: 3
+  when: |
+    inventory_hostname == haproxy_hosts.keys()[0]
+    and not cluster_status.stdout | search("OPERATIONAL")
+
+- name: if I in the cluster nodes
+  shell: mysql --silent --skip-column-names -e 'SHOW STATUS LIKE "wsrep_incoming_addresses"'|awk '{print $2}'
+  register: cluster_nodes
+  changed_when: false
+
+- name: restart other nodes and join cluster
+  service:
+    name: mysql
+    state: restarted
+    enabled: yes
+  when: |
+    inventory_hostname != haproxy_hosts.keys()[0]
+    and not cluster_nodes.stdout | search( "{{ internal_ip }}" )
+
+- name: restart first nodes
+  service:
+    name: mysql
+    state: restarted
+  when: |
+    (inventory_hostname == haproxy_hosts.keys()[0] 
+    and haproxy_hosts|length > 1
+    and not cluster_nodes.stdout | search( '{{ internal_ip }}' ))
+  
+
diff --git a/deploy/adapters/ansible/roles/database/tasks/mariadb_cluster_redhat.yml b/deploy/adapters/ansible/roles/database/tasks/mariadb_cluster_redhat.yml
new file mode 100644 (file)
index 0000000..da1b863
--- /dev/null
@@ -0,0 +1,59 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+- name: get cluster status
+  shell: mysql --silent --skip-column-names -e 'SHOW STATUS LIKE "wsrep_evs_state"'|awk '{print $2}'
+  register: cluster_status
+  when:
+    - inventory_hostname == haproxy_hosts.keys()[0]
+
+- name: start first node to create new cluster
+  shell: service mysql start --wsrep-new-cluster
+  when: |
+    inventory_hostname == haproxy_hosts.keys()[0]
+    and not cluster_status.stdout | search("OPERATIONAL")
+
+- name: wait for cluster ready
+  shell: mysql --silent --skip-column-names -e 'SHOW STATUS LIKE "wsrep_evs_state"'|awk '{print $2}'  
+  register: cluster_status
+  until: cluster_status|success
+  failed_when: not cluster_status.stdout | search("OPERATIONAL")
+  retries: 10
+  delay: 3
+  when: |
+    inventory_hostname == haproxy_hosts.keys()[0]
+    and not cluster_status.stdout | search("OPERATIONAL")
+
+- name: if I in the cluster nodes
+  shell: mysql --silent --skip-column-names -e 'SHOW STATUS LIKE "wsrep_incoming_addresses"'|awk '{print $2}'
+  register: cluster_nodes
+  changed_when: false
+
+- name: restart other nodes and join cluster
+  service:
+    name: mysql
+    state: restarted
+    enabled: yes
+  when: |
+    inventory_hostname != haproxy_hosts.keys()[0]
+    and not cluster_nodes.stdout | search( "{{ internal_ip }}")
+
+- name: remove unused user
+  script: remove_user.sh
+  when: ansible_os_family == "RedHat"
+
+- name: restart first nodes
+  service:
+    name: mysql
+    state: restarted
+  when: |
+    inventory_hostname == haproxy_hosts.keys()[0] 
+    and haproxy_hosts|length > 1
+
+
index 7873249..ffae8ff 100644 (file)
   notify:
     - restart keystone services
 
+- name: update apache2 configs
+  template:
+    src: wsgi-keystone.conf.j2
+    dest: '{{ apache_config_dir }}/wsgi-keystone.conf'
+  when: ansible_os_family == 'RedHat'
+  notify:
+    - restart keystone services
+
 - name: enable keystone server
   file:
-    src: "/etc/apache2/sites-available/wsgi-keystone.conf"
-    dest: "/etc/apache2/sites-enabled/wsgi-keystone.conf"
+    src: "{{ apache_config_dir }}/sites-available/wsgi-keystone.conf"
+    dest: "{{ apache_config_dir }}/sites-enabled/wsgi-keystone.conf"
     state: "link"
   when: ansible_os_family == 'Debian'
   notify:
index ff7526a..64d864a 100644 (file)
@@ -8,8 +8,8 @@
     <IfVersion >= 2.4>
       ErrorLogFormat "%{cu}t %M"
     </IfVersion>
-    ErrorLog /var/log/apache2/keystone.log
-    CustomLog /var/log/apache2/keystone_access.log combined
+    ErrorLog /var/log/{{ http_service_name }}/keystone.log
+    CustomLog /var/log/{{ http_service_name }}/keystone_access.log combined
 
     <Directory /usr/bin>
         <IfVersion >= 2.4>
@@ -31,8 +31,8 @@
     <IfVersion >= 2.4>
       ErrorLogFormat "%{cu}t %M"
     </IfVersion>
-    ErrorLog /var/log/apache2/keystone.log
-    CustomLog /var/log/apache2/keystone_access.log combined
+    ErrorLog /var/log/{{ http_service_name }}/keystone.log
+    CustomLog /var/log/{{ http_service_name }}/keystone_access.log combined
 
     <Directory /usr/bin>
         <IfVersion >= 2.4>