\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
\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
###########\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
# 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
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
# 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
\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
- 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
copy:
src: "{{ opensds_tarball_dir }}/"
dest: "{{ opensds_work_dir }}"
+ mode: 0755
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
- 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
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"
\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
- 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
copy:
src: "{{ nbp_tarball_dir }}/"
dest: "{{ nbp_work_dir }}"
+ mode: 0755
---
- set_fact:
go_path: "{{ lookup('env', 'GOPATH') }}"
-
+
- name: check go_path
shell: "{{ item }}"
with_items:
\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
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
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
"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":""
+}