Update the latest version of ansible script 79/60679/2
authorleonwang <wanghui71@huawei.com>
Tue, 7 Aug 2018 06:49:27 +0000 (14:49 +0800)
committerleonwang <wanghui71@huawei.com>
Tue, 7 Aug 2018 06:57:29 +0000 (14:57 +0800)
This patch is proposed for merging the latest version of
ansible code according to opensds-installer project.
From the latest version code, we change the default
installation way from source code to release, which means
there is no need for golang environment prepare and
long-time building work.

Change-Id: I93d7d24f29e61979bc8fda7125ae753063eda423
Signed-off-by: leonwang <wanghui71@huawei.com>
16 files changed:
ci/ansible/group_vars/common.yml
ci/ansible/group_vars/osdsdb.yml
ci/ansible/group_vars/osdsdock.yml
ci/ansible/group_vars/osdslet.yml
ci/ansible/roles/cleaner/tasks/main.yml
ci/ansible/roles/common/scenarios/release.yml
ci/ansible/roles/common/tasks/main.yml
ci/ansible/roles/dashboard-installer/scenarios/container.yml
ci/ansible/roles/nbp-installer/scenarios/csi.yml
ci/ansible/roles/nbp-installer/scenarios/flexvolume.yml
ci/ansible/roles/nbp-installer/scenarios/release.yml
ci/ansible/roles/nbp-installer/scenarios/repository.yml
ci/ansible/roles/osdsdb/tasks/main.yml
ci/ansible/roles/osdsdock/tasks/main.yml
ci/ansible/roles/osdslet/tasks/main.yml
ci/conf/policy.json

index 50749e6..dab13a7 100644 (file)
@@ -24,11 +24,15 @@ dummy:
 \r
 # This field indicates which way user prefers to install, currently support\r
 # 'repository', 'release' and 'container'\r
-install_from: repository\r
+install_from: release\r
+\r
+# This field indicates which os family the system will be running, currently\r
+# support 'Debian' and 'RedHat'\r
+ansible_os_family: Debian\r
 \r
 # These fields are NOT suggested to be modifie\r
-opensds_work_dir: /opt/opensds-linux-amd64\r
-nbp_work_dir: /opt/opensds-k8s-linux-amd64\r
+opensds_work_dir: /opt/opensds-hotpot-linux-amd64\r
+nbp_work_dir: /opt/opensds-sushi-linux-amd64\r
 opensds_config_dir: /etc/opensds\r
 opensds_driver_config_dir: "{{ opensds_config_dir }}/driver"\r
 opensds_log_dir: /var/log/opensds\r
@@ -40,8 +44,8 @@ opensds_log_dir: /var/log/opensds
 \r
 # If user specifies intalling from repository, then he can choose the specific\r
 # repository branch\r
-opensds_repo_branch: master\r
-nbp_repo_branch: master\r
+opensds_repo_branch: stable/aruba\r
+nbp_repo_branch: stable/aruba\r
 \r
 # These fields are NOT suggested to be modified\r
 opensds_remote_url: https://github.com/opensds/opensds.git\r
@@ -53,21 +57,25 @@ nbp_remote_url: https://github.com/opensds/nbp.git
 ###########\r
 \r
 # If user specifies intalling from release,then he can choose the specific version\r
-opensds_release: v0.2.0 # The version should be at least v0.2.0\r
-nbp_release: v0.2.0 # The version should be at least v0.2.0\r
+opensds_release: v0.2.1 # The version should be at least v0.2.1\r
+nbp_release: v0.2.1 # The version should be at least v0.2.1\r
 \r
 # These fields are NOT suggested to be modified\r
-opensds_download_url: https://github.com/opensds/opensds/releases/download/{{ opensds_release }}/opensds-{{ opensds_release }}-linux-amd64.tar.gz\r
-opensds_tarball_dir: /tmp/opensds-{{ opensds_release }}-linux-amd64\r
-nbp_download_url: https://github.com/opensds/nbp/releases/download/{{ nbp_release }}/opensds-k8s-{{ nbp_release }}-linux-amd64.tar.gz\r
-nbp_tarball_dir: /tmp/opensds-k8s-{{ nbp_release }}-linux-amd64\r
+opensds_download_url: https://github.com/opensds/opensds/releases/download/{{ opensds_release }}/opensds-hotpot-{{ opensds_release }}-linux-amd64.tar.gz\r
+opensds_tarball_dir: /tmp/opensds-hotpot-{{ opensds_release }}-linux-amd64\r
+nbp_download_url: https://github.com/opensds/nbp/releases/download/{{ nbp_release }}/opensds-sushi-{{ nbp_release }}-linux-amd64.tar.gz\r
+nbp_tarball_dir: /tmp/opensds-sushi-{{ nbp_release }}-linux-amd64\r
 \r
 \r
 #############\r
 # CONTAINER #\r
 #############\r
 \r
-container_enabled: false\r
+opensds_image_tag: aruba\r
+\r
+# These fields are NOT suggested to be modified\r
+controller_docker_image: opensdsio/opensds-controller:{{ opensds_image_tag }}\r
+dock_docker_image: opensdsio/opensds-dock:{{ opensds_image_tag }}\r
 \r
 \r
 ###########\r
index 1ad176e..9093a04 100644 (file)
@@ -45,4 +45,7 @@ etcd_dir: /opt/etcd-{{ etcd_release }}-linux-amd64
 # DOCKER  #\r
 ###########\r
 \r
+etcd_container_enabled: false\r
+\r
+# These fields are NOT suggested to be modified\r
 etcd_docker_image: quay.io/coreos/etcd:latest\r
index c0f54f0..e23a546 100644 (file)
@@ -90,10 +90,3 @@ cinder_name: cinder backend
 cinder_description: This is a cinder backend service\r
 cinder_driver_name: cinder\r
 cinder_config_path: "{{ opensds_driver_config_dir }}/cinder.yaml"\r
-\r
-\r
-###########\r
-# DOCKER  #\r
-###########\r
-\r
-dock_docker_image: opensdsio/opensds-dock:latest\r
index 32c12fe..488ea75 100644 (file)
@@ -25,10 +25,3 @@ dummy:
 # These fields are NOT suggested to be modified\r
 controller_endpoint: 0.0.0.0:50040\r
 controller_log_file: "{{ opensds_log_dir }}/osdslet.log"\r
-\r
-\r
-###########\r
-# DOCKER  #\r
-###########\r
-\r
-controller_docker_image: opensdsio/opensds-controller:latest\r
index 8399b08..ed887c6 100644 (file)
@@ -14,7 +14,7 @@
 \r
 - name: kill osdslet daemon service\r
   shell: killall osdslet osdsdock\r
-  when: container_enabled == false\r
+  when: install_from != "container"\r
   ignore_errors: true\r
 \r
 - name: kill osdslet containerized service\r
     name: osdslet\r
     image: "{{ controller_docker_image }}"\r
     state: stopped\r
-  when: container_enabled == true\r
+  when: install_from == "container"\r
 \r
 - name: kill osdsdock containerized service\r
   docker_container:\r
     name: osdsdock\r
     image: "{{ dock_docker_image }}"\r
     state: stopped\r
-  when: container_enabled == true\r
+  when: install_from == "container"\r
 \r
 - name: stop container where dashboard is located\r
   docker_container:\r
   ignore_errors: yes\r
   when: nbp_plugin_type == "flexvolume"\r
 \r
+- name: clean opensds external provisioner plugin if flexvolume specified\r
+  shell: |\r
+    . /etc/profile\r
+    kubectl delete -f deploy/\r
+  args:\r
+    chdir: "{{ nbp_work_dir }}/provisioner"\r
+  ignore_errors: yes\r
+  when: nbp_plugin_type == "flexvolume"\r
+\r
 - name: clean opensds csi plugin if csi plugin specified\r
   shell: |\r
     . /etc/profile\r
index 500d82e..83df8bd 100644 (file)
@@ -21,8 +21,9 @@
 
 - name: download and extract the opensds release tarball if not exists
   unarchive:
-    src={{ opensds_download_url }}
-    dest=/tmp/
+    src: "{{ opensds_download_url }}"
+    dest: /tmp/
+    remote_src: yes
   when:
     - opensdsreleasesexisted.stat.exists is undefined or opensdsreleasesexisted.stat.exists == false
 
@@ -36,3 +37,4 @@
   copy:
     src: "{{ opensds_tarball_dir }}/"
     dest: "{{ opensds_work_dir }}"
+    mode: 0755
index daee059..14a28d3 100644 (file)
@@ -31,8 +31,8 @@
   apt:\r
     update_cache: yes\r
 \r
-- name: install make, gcc and pip external packages\r
-  apt:\r
+- name: install system packages\r
+  package:\r
     name: "{{ item }}"\r
     state: present\r
   with_items:\r
     - gcc\r
     - python-pip\r
 \r
+- name: install Red Hat system packages\r
+  package:\r
+    name: "{{ item }}"\r
+    state: present\r
+  with_items:\r
+    - librados-devel\r
+    - librbd-devel\r
+  when: ansible_os_family == "RedHat"\r
+\r
+- name: install Ubuntu system packages\r
+  package:\r
+    name: "{{ item }}"\r
+    state: present\r
+  with_items:\r
+    - librados-dev\r
+    - librbd-dev\r
+  when: ansible_os_family == "Debian"\r
+\r
 - name: create opensds work directory if it doesn't exist\r
   file:\r
     path: "{{ item }}"\r
index e25d90f..0c8fe18 100644 (file)
@@ -20,7 +20,7 @@
 - name: run dashboard containerized service
   docker_container:
     name: dashboard
-    image: opensdsio/dashboard:latest
+    image: "{{ dashboard_docker_image }}"
     state: started
     network_mode: host
     restart_policy: always
index 93fff88..ef86967 100644 (file)
     regexp: '^  opensdsendpoint'
     line: '  opensdsendpoint: {{ opensds_endpoint }}'
     backup: yes
-    
+
 - name: Configure opensds auth strategy in opensds csi plugin
   lineinfile:
     dest: "{{ nbp_work_dir }}/csi/deploy/kubernetes/csi-configmap-opensdsplugin.yaml"
     regexp: '^  opensdsauthstrategy'
     line: '  opensdsauthstrategy: {{ opensds_auth_strategy }}'
     backup: yes
-    
+
 - name: Configure keystone os auth url in opensds csi plugin
   lineinfile:
     dest: "{{ nbp_work_dir }}/csi/deploy/kubernetes/csi-configmap-opensdsplugin.yaml"
index 52ec16d..2117411 100644 (file)
 \r
 - name: Copy opensds flexvolume plugin binary file into flexvolume plugin dir\r
   copy:\r
-    src: "{{ nbp_work_dir }}/flexvolume/opensds"\r
+    src: "{{ nbp_work_dir }}/bin/flexvolume.server.opensds"\r
     dest: "{{ flexvolume_plugin_dir }}/opensds"\r
+    mode: 0755\r
+\r
+- name: Configure opensds endpoint IP in opensds external provisioner plugin\r
+  lineinfile:\r
+    dest: "{{ nbp_work_dir }}/provisioner/deploy/configmap.yaml"\r
+    regexp: '^  opensdsendpoint'\r
+    line: '  opensdsendpoint: {{ opensds_endpoint }}'\r
+    backup: yes\r
+\r
+- name: Configure opensds auth strategy in opensds external provisioner plugin\r
+  lineinfile:\r
+    dest: "{{ nbp_work_dir }}/provisioner/deploy/configmap.yaml"\r
+    regexp: '^  opensdsauthstrategy'\r
+    line: '  opensdsauthstrategy: {{ opensds_auth_strategy }}'\r
+    backup: yes\r
+\r
+- name: Configure keystone os auth url in opensds external provisioner plugin\r
+  lineinfile:\r
+    dest: "{{ nbp_work_dir }}/provisioner/deploy/configmap.yaml"\r
+    regexp: '^  osauthurl'\r
+    line: '  osauthurl: {{ keystone_os_auth_url }}'\r
+    backup: yes\r
+  when: opensds_auth_strategy == "keystone"\r
+\r
+- name: Prepare and deploy opensds external provisioner plugin\r
+  shell: |\r
+    . /etc/profile\r
+    kubectl create -f deploy/\r
+  args:\r
+    chdir: "{{ nbp_work_dir }}/provisioner"\r
+  ignore_errors: yes\r
index 89429d7..b528724 100644 (file)
 
 - name: download and extract the nbp release tarball if not exists
   unarchive:
-    src={{ nbp_download_url }}
-    dest=/tmp/
+    src: "{{ nbp_download_url }}"
+    dest: /tmp/
+    remote_src: yes
   when:
     - nbpreleasesexisted.stat.exists is undefined or nbpreleasesexisted.stat.exists == false
 
 - name: change the mode of all binary files in nbp release
   file:
-    path: "{{ nbp_tarball_dir }}/flexvolume"
+    path: "{{ nbp_tarball_dir }}/bin"
     mode: 0755
     recurse: yes
 
@@ -36,3 +37,4 @@
   copy:
     src: "{{ nbp_tarball_dir }}/"
     dest: "{{ nbp_work_dir }}"
+    mode: 0755
index fb8059b..0c323d2 100644 (file)
@@ -15,7 +15,7 @@
 ---
 - set_fact:
     go_path: "{{ lookup('env', 'GOPATH') }}"
-  
+
 - name: check go_path
   shell: "{{ item }}"
   with_items:
index a826d21..396fd9a 100644 (file)
@@ -22,4 +22,4 @@
 \r
 - name: include scenarios/container.yml\r
   include: scenarios/container.yml\r
-  when: db_driver == "etcd" and container_enabled == true\r
+  when: db_driver == "etcd" and etcd_container_enabled == true\r
index 8b18c8d..dc803b5 100644 (file)
       done\r
   args:\r
     chdir: "{{ opensds_work_dir }}"\r
-  when: container_enabled == false\r
+  when: install_from != "container"\r
 \r
 - name: run osdsdock containerized service\r
   docker_container:\r
     name: osdsdock\r
-    image: opensdsio/opensds-dock:latest\r
+    image: "{{ dock_docker_image }}"\r
     state: started\r
     network_mode: host\r
     privileged: true\r
     volumes:\r
-    - "/etc/opensds/:/etc/opensds"\r
-    - "/etc/ceph/:/etc/ceph"\r
-  when: container_enabled == true\r
+    - "/etc/opensds:/etc/opensds"\r
+    - "/etc/ceph:/etc/ceph"\r
+    - "/dev/:/dev/"\r
+    - "/run/:/run/:shared"\r
+    - "/etc/localtime:/etc/localtime:ro"\r
+    - "/lib/modules:/lib/modules:ro"\r
+  when: install_from == "container"\r
index 87ea816..d844e3a 100644 (file)
       done\r
   args:\r
     chdir: "{{ opensds_work_dir }}"\r
-  when: container_enabled == false\r
+  when: install_from != "container"\r
 \r
 - name: run osdslet containerized service\r
   docker_container:\r
     name: osdslet\r
-    image: opensdsio/opensds-controller:latest\r
+    image: "{{ controller_docker_image }}"\r
     state: started\r
     network_mode: host\r
     volumes:\r
     - "/etc/opensds/:/etc/opensds"\r
-  when: container_enabled == true\r
+  when: install_from == "container"\r
index 781ee48..a912238 100644 (file)
@@ -45,5 +45,6 @@
   "volume_group:list": "rule:admin_or_owner",
   "volume_group:get": "rule:admin_or_owner",
   "volume_group:update": "rule:admin_or_owner",
-  "volume_group:delete": "rule:admin_or_owner"
-}
\ No newline at end of file
+  "volume_group:delete": "rule:admin_or_owner",
+  "availability_zone:list":""
+}