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