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
10 - name: install golang for debian based systems
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
27 - systemgolang.stat.exists is undefined or systemgolang.stat.exists == false
29 - name: Run the equivalent of "apt-get update" as a separate step
33 - name: install librados-dev external package
37 - name: install librbd-dev external package
43 when: container_enabled == true
45 - name: check for opensds source code existed
47 path: "{{ opensds_root_dir }}"
49 register: opensdsexisted
51 - name: download opensds source code
53 repo: "{{ remote_url }}"
54 dest: "{{ opensds_root_dir }}"
56 - opensdsexisted.stat.exists is undefined or opensdsexisted.stat.exists == false
58 - name: check for opensds binary file existed
60 path: "{{ opensds_build_dir }}"
62 register: opensdsbuilt
64 - name: build opensds binary file
65 shell: . /etc/profile; make
67 chdir: "{{ opensds_root_dir }}"
69 - opensdsbuilt.stat.exists is undefined or opensdsbuilt.stat.exists == false
71 - name: create opensds global config directory if it doesn't exist
73 path: "{{ opensds_config_dir }}/driver"
77 - name: create opensds log directory if it doesn't exist
79 path: "{{ opensds_log_dir }}"
83 - name: configure opensds global info
85 cat > opensds.conf <<OPENSDS_GLOABL_CONFIG_DOC
87 api_endpoint = {{ controller_endpoint }}
89 log_file = {{ controller_log_file }}
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 }}
100 description = {{ lvm_description }}
101 driver_name = {{ lvm_driver_name }}
102 config_path = {{ lvm_config_path }}
105 name = {{ ceph_name }}
106 description = {{ ceph_description }}
107 driver_name = {{ ceph_driver_name }}
108 config_path = {{ ceph_config_path }}
111 name = {{ cinder_name }}
112 description = {{ cinder_description }}
113 driver_name = {{ cinder_driver_name }}
114 config_path = {{ cinder_config_path }}
117 endpoint = {{ db_endpoint }}
118 driver = {{ db_driver }}
120 chdir: "{{ opensds_config_dir }}"