- hosts: ceph_adm
remote_user: root
accelerate: true
- roles: [] # just test
- #- ceph-deploy
+ roles:
+ - ceph-deploy
- hosts: all
remote_user: root
- include: mariadb_install.yml
- include: mariadb_cluster.yml
- when: '{{ haproxy_hosts|length }} > 1'
- include: mariadb_config.yml
when:
service:
name: mysql
state: restarted
- when:
- - inventory_hostname == haproxy_hosts.keys()[0]
+ when: inventory_hostname == haproxy_hosts.keys()[0] and haproxy_hosts|length > 1
---
-- name: copy replica js
+- name: copy mongo js
template:
- src: replica.js
- dest: /opt/replica.js
+ src: '{{ item.src }}'
+ dest: '{{ item.dest }}'
+ with_items:
+ - src: replica.js
+ dest: /opt/replica.js
- name: init replica servers
shell: mongo compass /opt/replica.js
- name: wait replica servers are ready
shell: mongo compass --eval 'printjson(rs.status())'|grep -E 'PRIMARY|SECONDARY'|wc -l
register: servers
- until: servers.stdout|int == 3
+ until: servers.stdout|int == {{ haproxy_hosts|length }}
+ retries: 60
+ delay: 10
+
+- debug: msg='{{ servers.stdout |int }}'
+
+- name: wait replica servers are ready
+ shell: mongo compass --eval 'printjson(rs.status())'|grep -E 'PRIMARY'|wc -l
+ register: servers
+ until: servers.stdout|int == 1
retries: 60
delay: 10
- name: create mongodb user and db
mongodb_user:
- login_host: "{{ internal_vip.ip }}"
+ login_host: "{{ internal_ip }}"
database: ceilometer
name: ceilometer
password: "{{ CEILOMETER_DBPASS }}"
- name: grant user privilege
mongodb_user:
- login_host: "{{ internal_vip.ip }}"
+ login_host: "{{ internal_ip }}"
database: ceilometer
name: ceilometer
password: "{{ CEILOMETER_DBPASS }}"
config = { _id:"compass", members:[
{% for host in haproxy_hosts.values() %}
{% set pair = '%s:27017' % host %}
- {_id:{{ loop.index0 }},host:"{{ pair }}"},
+ {_id:{{ loop.index0 }},host:"{{ pair }}",priority:{{ haproxy_hosts|length - loop.index0 }}},
{% endfor %}
]
};
wsrep_cluster_name="my_wsrep_cluster"
# Group communication system handle
+{% if haproxy_hosts|length == 1 %}
+wsrep_cluster_address=gcomm://
+{% else %}
wsrep_cluster_address=gcomm://{{ haproxy_hosts.values()|join(",") }}
+{% endif %}
# Human-readable node name (non-unique). Hostname by default.
#wsrep_node_name=
failed_when: iproute_out.rc == 255
when: "'vxlan' in {{ NEUTRON_TUNNEL_TYPES }}"
-- name: update epel-release
- shell: yum install -y http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
- ignore_errors: True
-
-- name: update rdo-release-kilo repo
- shell: yum install -y http://rdo.fedorapeople.org/openstack-kilo/rdo-release-kilo.rpm
- ignore_errors: True
-
- name: install neutron network related packages
action: "{{ ansible_pkg_mgr }} name={{ item }} state=present"
with_items: packages | union(packages_noarch)