]>
Commit | Line | Data |
---|---|---|
eb299d9b LSJ |
1 | Role Name |
2 | ========= | |
3 | ||
a06e4a79 | 4 | Installs rabbitmq https://www.rabbitmq.com/ (Configurable...HA and Clustering ready) |
eb299d9b LSJ |
5 | |
6 | Requirements | |
7 | ------------ | |
8 | ||
71120079 | 9 | Ensure hostnames are resolvable prior to clustering...either update /etc/hosts or ensure DNS is working. |
eb299d9b | 10 | |
203ffcbf LSJ |
11 | Vagrant |
12 | ------- | |
13 | ||
14 | Spin up a 3 node HA Cluster for testing... | |
15 | Install Ansible role on your host: | |
16 | ```` | |
17 | sudo ansible-galaxy install -r requirements.yml -f | |
18 | ```` | |
19 | Now spin up your environment... | |
20 | ```` | |
21 | vagrant up | |
22 | ```` | |
23 | When you are done testing, tear it all down... | |
24 | ```` | |
25 | ./cleanup.sh | |
26 | ```` | |
27 | ||
eb299d9b LSJ |
28 | Role Variables |
29 | -------------- | |
30 | ||
31 | ```` | |
203ffcbf LSJ |
32 | --- |
33 | # defaults file for ansible-rabbitmq | |
da8e343d LSJ |
34 | rabbitmq_config_ha: false #defines if rabbitmq ha should be configured...define here or in group_vars/group |
35 | rabbitmq_enable_clustering: false #defines if setting up a rabbitmq cluster...define here or in group_vars/group | |
36 | rabbitmq_erlang_cookie: 'LSKNKBELKPSTDBBCHETL' #define erlang cookie for cluster...define here or in group_vars/group | |
37 | rabbitmq_erlang_cookie_file: '/var/lib/rabbitmq/.erlang.cookie' | |
a290f6cf LSJ |
38 | rabbitmq_config: |
39 | - queue_name: logstash | |
40 | durable: true | |
41 | exchange_name: logstash | |
93f90e27 | 42 | type: direct |
a290f6cf LSJ |
43 | routing_key: logstash |
44 | tags: 'ha-mode=all,ha-sync-mode=automatic' | |
203ffcbf LSJ |
45 | rabbitmq_debian_repo: 'deb http://www.rabbitmq.com/debian/ testing main' |
46 | rabbitmq_debian_repo_key: 'http://www.rabbitmq.com/rabbitmq-signing-key-public.asc' | |
9658075b | 47 | rabbitmq_master: [] #defines the inventory host that should be considered master...define here or in group_vars/group |
203ffcbf LSJ |
48 | rabbitmq_redhat_repo_key: 'https://www.rabbitmq.com/rabbitmq-signing-key-public.asc' |
49 | rabbitmq_redhat_package: 'rabbitmq-server-{{ rabbitmq_redhat_version }}-1.noarch.rpm' | |
50 | rabbitmq_redhat_url: 'http://www.rabbitmq.com/releases/rabbitmq-server/v{{ rabbitmq_redhat_version }}' | |
51 | rabbitmq_redhat_version: '3.6.1' | |
52 | rabbitmq_users: #define admin user to create in order to login to WebUI | |
53 | - name: rabbitmqadmin | |
54 | password: rabbitmqadmin | |
55 | vhost: / | |
56 | configure_priv: '.*' | |
57 | read_priv: '.*' | |
58 | write_priv: '.*' | |
59 | tags: 'administrator' #define comma separated list of tags to assign to user....management,policymaker,monitoring,administrator...required for management plugin. https://www.rabbitmq.com/management.html | |
9658075b LSJ |
60 | ```` |
61 | ||
62 | example... | |
63 | group_vars/rabbitmq-cluster-nodes | |
64 | ```` | |
65 | --- | |
da8e343d LSJ |
66 | rabbitmq_enable_clustering: true |
67 | rabbitmq_config_ha: false | |
9658075b | 68 | rabbitmq_master: ans-test-1 |
eb299d9b LSJ |
69 | ```` |
70 | ||
71 | Dependencies | |
72 | ------------ | |
73 | ||
203ffcbf | 74 | None |
eb299d9b LSJ |
75 | |
76 | Example Playbook | |
77 | ---------------- | |
78 | ||
203ffcbf LSJ |
79 | ```` |
80 | --- | |
81 | - hosts: all | |
82 | become: true | |
83 | vars: | |
84 | - pri_domain_name: 'test.vagrant.local' | |
85 | roles: | |
86 | tasks: | |
87 | - name: updating /etc/hosts | |
88 | lineinfile: | |
89 | dest: /etc/hosts | |
90 | regexp: "^{{ hostvars[item].ansible_ssh_host }} {{ item }} {{ item }}.{{ pri_domain_name }}" | |
91 | line: "{{ hostvars[item].ansible_ssh_host }} {{ item }} {{ item }}.{{ pri_domain_name }}" | |
92 | state: present | |
93 | with_items: groups['all'] | |
eb299d9b | 94 | |
203ffcbf LSJ |
95 | - hosts: all |
96 | become: true | |
97 | vars: | |
da8e343d LSJ |
98 | - rabbitmq_config_ha: true |
99 | - rabbitmq_enable_clustering: true | |
203ffcbf LSJ |
100 | - pri_domain_name: 'test.vagrant.local' |
101 | - rabbitmq_master: 'node0' | |
102 | roles: | |
103 | - role: ansible-rabbitmq | |
104 | tasks: | |
105 | ```` | |
eb299d9b LSJ |
106 | |
107 | License | |
108 | ------- | |
109 | ||
110 | BSD | |
111 | ||
112 | Author Information | |
113 | ------------------ | |
114 | ||
115 | Larry Smith Jr. | |
116 | - @mrlesmithjr | |
117 | - http://everythingshouldbevirtual.com | |
118 | - mrlesmithjr [at] gmail.com |