--- /dev/null
+---\r
+# If we can't get golang installed before any module is used we will fail\r
+# so just try what we can to get it installed\r
+- name: check for golang\r
+ stat:\r
+ path: /usr/local/go\r
+ ignore_errors: yes\r
+ register: systemgolang\r
+\r
+- name: install golang for debian based systems\r
+ shell:\r
+ cmd: |\r
+ set -e\r
+ set -x\r
+\r
+ wget https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz\r
+ tar xvf go1.9.linux-amd64.tar.gz -C /usr/local/\r
+ cat >> /etc/profile <<GOLANG__CONFIG_DOC\r
+ export GOROOT=/usr/local/go\r
+ export GOPATH=\$HOME/gopath\r
+ export PATH=\$PATH:\$GOROOT/bin:\$GOPATH/bin\r
+ GOLANG__CONFIG_DOC\r
+\r
+ executable: /bin/bash\r
+ ignore_errors: yes\r
+ when:\r
+ - systemgolang.stat.exists is undefined or systemgolang.stat.exists == false\r
+\r
+- name: Run the equivalent of "apt-get update" as a separate step\r
+ apt:\r
+ update_cache: yes\r
+\r
+- name: install librados-dev external package\r
+ apt:\r
+ name: librados-dev\r
+\r
+- name: install librbd-dev external package\r
+ apt:\r
+ name: librbd-dev\r
+\r
+- name: check for opensds source code existed\r
+ stat:\r
+ path: "{{ opensds_root_dir }}"\r
+ ignore_errors: yes\r
+ register: opensdsexisted\r
+\r
+- name: download opensds source code\r
+ git:\r
+ repo: "{{ remote_url }}"\r
+ dest: "{{ opensds_root_dir }}"\r
+ when:\r
+ - opensdsexisted.stat.exists is undefined or opensdsexisted.stat.exists == false\r
+\r
+- name: check for opensds binary file existed\r
+ stat:\r
+ path: "{{ opensds_build_dir }}"\r
+ ignore_errors: yes\r
+ register: opensdsbuilt\r
+\r
+- name: build opensds binary file\r
+ shell: . /etc/profile; make\r
+ args:\r
+ chdir: "{{ opensds_root_dir }}"\r
+ when:\r
+ - opensdsbuilt.stat.exists is undefined or opensdsbuilt.stat.exists == false\r
+\r
+- name: create opensds global config directory if it doesn't exist\r
+ file:\r
+ path: "{{ opensds_config_dir }}/driver"\r
+ state: directory\r
+ mode: 0755\r
+\r
+- name: create opensds log directory if it doesn't exist\r
+ file:\r
+ path: "{{ opensds_log_dir }}"\r
+ state: directory\r
+ mode: 0755\r
+\r
+- name: configure opensds global info\r
+ shell: |\r
+ cat > opensds.conf <<OPENSDS_GLOABL_CONFIG_DOC\r
+ [osdslet]\r
+ api_endpoint = {{ controller_endpoint }}\r
+ graceful = True\r
+ log_file = {{ controller_log_file }}\r
+ socket_order = inc\r
+\r
+ [osdsdock]\r
+ api_endpoint = {{ dock_endpoint }}\r
+ log_file = {{ dock_log_file }}\r
+ # Specify which backends should be enabled, sample,ceph,cinder,lvm and so on.\r
+ enabled_backends = {{ enabled_backend }}\r
+\r
+ [lvm]\r
+ name = {{ lvm_name }}\r
+ description = {{ lvm_description }}\r
+ driver_name = {{ lvm_driver_name }}\r
+ config_path = {{ lvm_config_path }}\r
+\r
+ [ceph]\r
+ name = {{ ceph_name }}\r
+ description = {{ ceph_description }}\r
+ driver_name = {{ ceph_driver_name }}\r
+ config_path = {{ ceph_config_path }}\r
+\r
+ [cinder]\r
+ name = {{ cinder_name }}\r
+ description = {{ cinder_description }}\r
+ driver_name = {{ cinder_driver_name }}\r
+ config_path = {{ cinder_config_path }}\r
+\r
+ [database]\r
+ endpoint = {{ db_endpoint }}\r
+ driver = {{ db_driver }}\r
+ args:\r
+ chdir: "{{ opensds_config_dir }}"\r
+ ignore_errors: yes\r
+\r
+- name: copy opensds lvm backend file if specify lvm backend\r
+ copy:\r
+ src: ../../../group_vars/lvm/lvm.yaml\r
+ dest: "{{ lvm_config_path }}"\r
+ when: enabled_backend == "lvm"\r
+\r
+- name: copy opensds ceph backend file if specify ceph backend\r
+ copy:\r
+ src: ../../../group_vars/ceph/ceph.yaml\r
+ dest: "{{ ceph_config_path }}"\r
+ when: enabled_backend == "ceph"\r
+\r
+- name: copy opensds cinder backend file if specify cinder backend\r
+ copy:\r
+ src: ../../../group_vars/cinder/cinder.yaml\r
+ dest: "{{ cinder_config_path }}"\r
+ when: enabled_backend == "cinder"\r