diff options
Diffstat (limited to 'ci/ansible/roles/common/scenarios')
-rw-r--r-- | ci/ansible/roles/common/scenarios/container.yml | 18 | ||||
-rw-r--r-- | ci/ansible/roles/common/scenarios/release.yml | 38 | ||||
-rw-r--r-- | ci/ansible/roles/common/scenarios/repository.yml | 57 |
3 files changed, 113 insertions, 0 deletions
diff --git a/ci/ansible/roles/common/scenarios/container.yml b/ci/ansible/roles/common/scenarios/container.yml new file mode 100644 index 0000000..0edbcef --- /dev/null +++ b/ci/ansible/roles/common/scenarios/container.yml @@ -0,0 +1,18 @@ +# Copyright (c) 2018 Huawei Technologies Co., Ltd. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +--- +- name: install docker-py package with pip when enabling containerized deployment + pip: + name: docker-py diff --git a/ci/ansible/roles/common/scenarios/release.yml b/ci/ansible/roles/common/scenarios/release.yml new file mode 100644 index 0000000..500d82e --- /dev/null +++ b/ci/ansible/roles/common/scenarios/release.yml @@ -0,0 +1,38 @@ +# Copyright (c) 2018 Huawei Technologies Co., Ltd. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +--- +- name: check for opensds release files existed + stat: + path: "{{ opensds_tarball_dir }}" + ignore_errors: yes + register: opensdsreleasesexisted + +- name: download and extract the opensds release tarball if not exists + unarchive: + src={{ opensds_download_url }} + dest=/tmp/ + when: + - opensdsreleasesexisted.stat.exists is undefined or opensdsreleasesexisted.stat.exists == false + +- name: change the mode of all binary files in opensds release + file: + path: "{{ opensds_tarball_dir }}/bin" + mode: 0755 + recurse: yes + +- name: copy opensds tarball into opensds work directory + copy: + src: "{{ opensds_tarball_dir }}/" + dest: "{{ opensds_work_dir }}" diff --git a/ci/ansible/roles/common/scenarios/repository.yml b/ci/ansible/roles/common/scenarios/repository.yml new file mode 100644 index 0000000..3cddd34 --- /dev/null +++ b/ci/ansible/roles/common/scenarios/repository.yml @@ -0,0 +1,57 @@ +# Copyright (c) 2018 Huawei Technologies Co., Ltd. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +--- +- set_fact: + go_path: "{{ lookup('env', 'GOPATH') }}" + +- name: check go_path + shell: "{{ item }}" + with_items: + - echo "The environment variable GOPATH must be set and cannot be an empty string!" + - /bin/false + when: go_path == "" + +- name: check for opensds source code existed + stat: + path: "{{ go_path }}/src/github.com/opensds/opensds" + ignore_errors: yes + register: opensdsexisted + +- name: download opensds source code if not exists + git: + repo: "{{ opensds_remote_url }}" + dest: "{{ go_path }}/src/github.com/opensds/opensds" + version: "{{ opensds_repo_branch }}" + when: + - opensdsexisted.stat.exists is undefined or opensdsexisted.stat.exists == false + +- name: build opensds binary file + shell: make + environment: + GOPATH: "{{ go_path }}" + args: + chdir: "{{ go_path }}/src/github.com/opensds/opensds" + +- name: copy opensds binary files into opensds work directory + copy: + src: "{{ go_path }}/src/github.com/opensds/opensds/build/out/" + dest: "{{ opensds_work_dir }}" + +- name: change the permissions of opensds executable files + file: + path: "{{ opensds_work_dir }}/bin" + state: directory + mode: 0755 + recurse: yes |