Merge "support deploying etcd on aarch64 platform"
authorHui Wang <wanghui71@huawei.com>
Fri, 25 May 2018 09:09:51 +0000 (09:09 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Fri, 25 May 2018 09:09:51 +0000 (09:09 +0000)
ci/ansible/roles/cleaner/tasks/main.yml
ci/ansible/roles/osdsdb/scenarios/container.yml
ci/ansible/roles/osdsdb/scenarios/etcd_aarch64.yml [new file with mode: 0644]
ci/ansible/roles/osdsdb/tasks/main.yml

index 4b3b0c2..0f65d7e 100644 (file)
@@ -28,7 +28,7 @@
 \r
 - name: kill etcd containerized service\r
   docker:\r
-    image: quay.io/coreos/etcd:latest\r
+    image: {{ etcd_docker_image }}\r
     state: stopped\r
   when: db_driver == "etcd" and container_enabled == true\r
 \r
index afbd15b..a5c71d9 100644 (file)
@@ -2,7 +2,7 @@
 - name: run etcd containerized service\r
   docker:\r
     name: myetcd\r
-    image: quay.io/coreos/etcd:latest\r
+    image: {{ etcd_docker_image }}\r
     command: /usr/local/bin/etcd --advertise-client-urls http://{{ etcd_host }}:{{ etcd_port }} --listen-client-urls http://{{ etcd_host }}:{{ etcd_port }} -advertise-client-urls http://{{ etcd_host }}:{{ etcd_peer_port }} -listen-peer-urls http://{{ etcd_host }}:{{ etcd_peer_port }}\r
     state: started\r
     net: host\r
diff --git a/ci/ansible/roles/osdsdb/scenarios/etcd_aarch64.yml b/ci/ansible/roles/osdsdb/scenarios/etcd_aarch64.yml
new file mode 100644 (file)
index 0000000..f3600d8
--- /dev/null
@@ -0,0 +1,39 @@
+---
+- name: check for etcd existed
+  stat:
+    path: "{{ etcd_dir }}/etcd"
+  ignore_errors: yes
+  register: etcdexisted
+
+- name: download etcd
+  get_url:
+    url={{ etcd_download_url }}
+    dest=/opt/{{ etcd_tarball }}
+  when:
+    - etcdexisted.stat.exists is undefined or etcdexisted.stat.exists == false
+
+- name: extract the etcd tarball
+  unarchive:
+    src=/opt/{{ etcd_tarball }}
+    dest=/opt/
+  when:
+    - etcdexisted.stat.exists is undefined or etcdexisted.stat.exists == false
+
+- name: Check if etcd is running
+  shell: ps aux | grep etcd | grep -v grep
+  ignore_errors: true
+  register: service_etcd_status
+
+- name: run etcd daemon service
+  shell: ETCD_UNSUPPORTED_ARCH=arm64 nohup ./etcd --advertise-client-urls http://{{ etcd_host }}:{{ etcd_port }} --listen-client-urls http://{{ etcd_host }}:{{ etcd_port }} -listen-peer-urls http://{{ etcd_host }}:{{ etcd_peer_port }} &>>etcd.log &
+  become: true
+  args:
+    chdir: "{{ etcd_dir }}"
+  when: service_etcd_status.rc != 0
+
+- name: check etcd cluster health
+  shell: ./etcdctl --endpoints http://{{ etcd_host }}:{{ etcd_port }} cluster-health
+  become: true
+  ignore_errors: true
+  args:
+    chdir: "{{ etcd_dir }}"
index efbfba9..5b42eaf 100644 (file)
@@ -1,6 +1,9 @@
 ---\r
 - name: include scenarios/etcd.yml\r
-  include: scenarios/etcd.yml\r
+  include: "{{ item }}"\r
+  with_first_found:\r
+    - "scenarios/etcd_{{ ansible_architecture }}.yml"\r
+    - "scenarios/etcd.yml"\r
   when: db_driver == "etcd" and container_enabled == false\r
 \r
 - name: include scenarios/container.yml\r