|
8 | 8 | changed_when: false
|
9 | 9 | always_run: yes # side-effect free, so it can be run in check-mode as well
|
10 | 10 |
|
| 11 | +- name: Establish some role-related facts |
| 12 | + set_fact: |
| 13 | + mongodb_is_systemd: "{{ sbin_init.stat.islnk is defined and sbin_init.stat.islnk }}" |
| 14 | + mongodb_major_version: "{{ mongodb_version[0:3] }}" |
| 15 | + |
11 | 16 | - name: Add systemd configuration if present
|
12 | 17 | copy: src=mongodb.service dest=/lib/systemd/system/mongodb.service owner=root group=root mode=0640
|
13 |
| - when: sbin_init.stat.islnk is defined and sbin_init.stat.islnk |
| 18 | + when: mongodb_is_systemd |
14 | 19 |
|
15 | 20 | - name: Add symlink for systemd
|
16 | 21 | file: src=/lib/systemd/system/mongodb.service dest=/etc/systemd/system/multi-user.target.wants/mongodb.service state=link
|
17 |
| - when: sbin_init.stat.islnk is defined and sbin_init.stat.islnk |
| 22 | + when: mongodb_is_systemd |
18 | 23 | notify: reload systemd
|
19 | 24 |
|
20 | 25 | - meta: flush_handlers
|
21 |
| - when: sbin_init.stat.islnk is defined and sbin_init.stat.islnk |
| 26 | + when: mongodb_is_systemd |
22 | 27 |
|
23 | 28 | - name: Add APT key
|
24 | 29 | apt_key:
|
25 | 30 | keyserver: "{{mongodb_apt_keyserver}}"
|
26 | 31 | id: "{{mongodb_apt_key_id}}"
|
27 | 32 | when: mongodb_package == 'mongodb-org'
|
28 |
| - |
| 33 | + |
29 | 34 | - name: Fail when used wrong mongodb_version variable
|
30 | 35 | fail:
|
31 | 36 | msg: "mongodb_version variable should be '2.6', '3.0' or '3.2'"
|
32 | 37 | when: (mongodb_package == 'mongodb-org' and
|
33 | 38 | (mongodb_version is not defined
|
34 |
| - or mongodb_repository[item] is not defined)) |
35 |
| - with_items: "{{ mongodb_version[0:3] }}" |
36 |
| - |
| 39 | + or mongodb_repository[mongodb_major_version] is not defined)) |
| 40 | + |
37 | 41 | - name: Add APT repository
|
38 | 42 | apt_repository: repo="{{ mongodb_repository[item] }}" update_cache=yes
|
39 |
| - with_items: "{{ mongodb_version[0:3] }}" |
| 43 | + with_items: "{{ mongodb_major_version }}" |
40 | 44 | when: mongodb_package == 'mongodb-org'
|
41 | 45 |
|
42 | 46 | - name: Install MongoDB package
|
|
48 | 52 | - name: reload systemd
|
49 | 53 | shell: systemctl daemon-reload
|
50 | 54 | changed_when: false
|
51 |
| - when: sbin_init.stat.islnk is defined and sbin_init.stat.islnk |
| 55 | + when: mongodb_is_systemd |
52 | 56 |
|
53 | 57 | - name: Install PyMongo package
|
54 | 58 | apt: pkg=python-pymongo state=latest
|
|
0 commit comments