d6bef823e2a65d22798a3bc3d69dc04564738693
[stor4nfv.git] / ci / ansible / roles / common / tasks / main.yml
1 ---
2 # If we can't get golang installed before any module is used we will fail
3 # so just try what we can to get it installed
4 - name: check for golang
5   stat:
6     path: /usr/local/go
7   ignore_errors: yes
8   register: systemgolang
9
10 - name: install golang for debian based systems
11   shell:
12     cmd: |
13       set -e
14       set -x
15
16       wget {{ golang_download_url }} -P /opt/
17       tar xvf /opt/{{ golang_tarball }} -C /usr/local/
18       cat >> /etc/profile <<GOLANG__CONFIG_DOC
19       export GOROOT=/usr/local/go
20       export GOPATH=\$HOME/gopath
21       export PATH=\$PATH:\$GOROOT/bin:\$GOPATH/bin
22       GOLANG__CONFIG_DOC
23
24     executable: /bin/bash
25   ignore_errors: yes
26   when:
27     - systemgolang.stat.exists is undefined or systemgolang.stat.exists == false
28
29 - name: Run the equivalent of "apt-get update" as a separate step
30   apt:
31     update_cache: yes
32
33 - name: install librados-dev external package
34   apt:
35     name: librados-dev
36
37 - name: install librbd-dev external package
38   apt:
39     name: librbd-dev
40
41 - pip:
42     name: docker-py
43   when: container_enabled == true
44
45 - name: check for opensds source code existed
46   stat:
47     path: "{{ opensds_root_dir }}"
48   ignore_errors: yes
49   register: opensdsexisted
50
51 - name: download opensds source code
52   git:
53     repo: "{{ remote_url }}"
54     dest: "{{ opensds_root_dir }}"
55   when:
56     - opensdsexisted.stat.exists is undefined or opensdsexisted.stat.exists == false
57
58 - name: check for opensds binary file existed
59   stat:
60     path: "{{ opensds_build_dir }}"
61   ignore_errors: yes
62   register: opensdsbuilt
63
64 - name: build opensds binary file
65   shell: . /etc/profile; make
66   args:
67     chdir: "{{ opensds_root_dir }}"
68   when:
69     - opensdsbuilt.stat.exists is undefined or opensdsbuilt.stat.exists == false
70
71 - name: create opensds global config directory if it doesn't exist
72   file:
73     path: "{{ opensds_config_dir }}/driver"
74     state: directory
75     mode: 0755
76
77 - name: create opensds log directory if it doesn't exist
78   file:
79     path: "{{ opensds_log_dir }}"
80     state: directory
81     mode: 0755
82
83 - name: configure opensds global info
84   shell: |
85     cat > opensds.conf <<OPENSDS_GLOABL_CONFIG_DOC
86     [osdslet]
87     api_endpoint = {{ controller_endpoint }}
88     graceful = True
89     log_file = {{ controller_log_file }}
90     socket_order = inc
91
92     [osdsdock]
93     api_endpoint = {{ dock_endpoint }}
94     log_file = {{ dock_log_file }}
95     # Specify which backends should be enabled, sample,ceph,cinder,lvm and so on.
96     enabled_backends = {{ enabled_backend }}
97
98     [lvm]
99     name = {{ lvm_name }}
100     description = {{ lvm_description }}
101     driver_name = {{ lvm_driver_name }}
102     config_path = {{ lvm_config_path }}
103
104     [ceph]
105     name = {{ ceph_name }}
106     description = {{ ceph_description }}
107     driver_name = {{ ceph_driver_name }}
108     config_path = {{ ceph_config_path }}
109
110     [cinder]
111     name = {{ cinder_name }}
112     description = {{ cinder_description }}
113     driver_name = {{ cinder_driver_name }}
114     config_path = {{ cinder_config_path }}
115
116     [database]
117     endpoint = {{ db_endpoint }}
118     driver = {{ db_driver }}
119   args:
120     chdir: "{{ opensds_config_dir }}"
121   ignore_errors: yes