fix some error in functest 23/37223/1
authorwutianwei <wutianwei1@huawei.com>
Wed, 12 Jul 2017 00:46:08 +0000 (08:46 +0800)
committerwutianwei <wutianwei1@huawei.com>
Wed, 12 Jul 2017 00:46:08 +0000 (08:46 +0800)
1. Remove the --share when create network
   to fix the error in tempest network visibility
2. create the cinder-volums to fix issue in test volumes

Change-Id: I8bf7197ac33271eb6856e542da114249b79a391d
Signed-off-by: wutianwei <wutianwei1@huawei.com>
deploy/adapters/ansible/openstack/HA-ansible-multinodes.yml
deploy/adapters/ansible/roles/config-osa/templates/create-network.yml.j2
deploy/adapters/ansible/roles/storage/files/create_img.sh [new file with mode: 0755]
deploy/adapters/ansible/roles/storage/files/get_var_size.sh [new file with mode: 0755]
deploy/adapters/ansible/roles/storage/files/loop.yml [new file with mode: 0755]
deploy/adapters/ansible/roles/storage/files/losetup.sh [new file with mode: 0755]
deploy/adapters/ansible/roles/storage/files/storage [new file with mode: 0755]
deploy/adapters/ansible/roles/storage/files/storage.service [new file with mode: 0644]
deploy/adapters/ansible/roles/storage/tasks/loop.yml [new file with mode: 0755]
deploy/adapters/ansible/roles/storage/tasks/main.yml [new file with mode: 0755]
deploy/adapters/ansible/roles/storage/tasks/real.yml [new file with mode: 0755]

index 417c054..ddf6f05 100644 (file)
@@ -21,6 +21,7 @@
   remote_user: root
   roles:
     - config-compute
+    - storage
 
 - hosts: localhost
   remote_user: root
index 419b9b1..301bf9d 100644 (file)
@@ -15,7 +15,7 @@
     - name: create external net
       shell: |
         . /root/openrc;
-        openstack network create  --share --external \
+        openstack network create --external \
         --provider-physical-network {{ public_net_info.provider_network }} \
         --provider-network-type {{ public_net_info.type }}  {{ public_net_info.network }};
       when: {{ public_net_info.enable }} == True
@@ -24,7 +24,7 @@
     - name: create external net
       shell: |
         . /root/openrc;
-        openstack network create  --share --external \
+        openstack network create --external \
         --network-segment {{ public_net_info.segment_id }} \
         --provider-network-type {{ public_net_info.type }}  {{ public_net_info.network }};
       when: {{public_net_info.enable}} == True
diff --git a/deploy/adapters/ansible/roles/storage/files/create_img.sh b/deploy/adapters/ansible/roles/storage/files/create_img.sh
new file mode 100755 (executable)
index 0000000..0039292
--- /dev/null
@@ -0,0 +1,12 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+seek_num=`echo $1 | sed -e 's/.* //g'`
+if [ ! -f /var/storage.img ]; then
+  dd if=/dev/zero of=/var/storage.img bs=1 count=0 seek=$seek_num
+fi
diff --git a/deploy/adapters/ansible/roles/storage/files/get_var_size.sh b/deploy/adapters/ansible/roles/storage/files/get_var_size.sh
new file mode 100755 (executable)
index 0000000..9d679f9
--- /dev/null
@@ -0,0 +1,14 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+size=`df /var | awk '$3 ~ /[0-9]+/ { print $4 }'`;
+if [ $size -gt 2000000000 ]; then
+  echo -n 2000000000000;
+else
+  echo -n $((size * 1000 / 512 * 512));
+fi
diff --git a/deploy/adapters/ansible/roles/storage/files/loop.yml b/deploy/adapters/ansible/roles/storage/files/loop.yml
new file mode 100755 (executable)
index 0000000..32088de
--- /dev/null
@@ -0,0 +1,10 @@
+---
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+physical_device: /dev/loop0
diff --git a/deploy/adapters/ansible/roles/storage/files/losetup.sh b/deploy/adapters/ansible/roles/storage/files/losetup.sh
new file mode 100755 (executable)
index 0000000..8a22a62
--- /dev/null
@@ -0,0 +1,15 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+loop_dev=`losetup -a |grep "/var/storage.img"|awk -F':' '{print $1}'`
+if [ -z $loop_dev ]; then
+  losetup -f --show /var/storage.img
+else
+  echo $loop_dev
+fi
+
diff --git a/deploy/adapters/ansible/roles/storage/files/storage b/deploy/adapters/ansible/roles/storage/files/storage
new file mode 100755 (executable)
index 0000000..3acc611
--- /dev/null
@@ -0,0 +1,10 @@
+#! /bin/bash
+### BEGIN INIT INFO
+# Provides:          Storage
+# Required-Start:    $remote_fs $network
+# Required-Stop:     $remote_fs $network
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Description:       Storage
+### END INIT INFO
+loop_dev=`sh /opt/setup_storage/losetup.sh`
diff --git a/deploy/adapters/ansible/roles/storage/files/storage.service b/deploy/adapters/ansible/roles/storage/files/storage.service
new file mode 100644 (file)
index 0000000..924db25
--- /dev/null
@@ -0,0 +1,15 @@
+[Unit]
+Description=Storage Service
+Before=runlevel2.target runlevel3.target runlevel4.target runlevel5.target shutdown.target
+After=remote-fs.target nss-lookup.target network-online.target time-sync.target network-online.target net_init.service
+Before=ceph.service
+Wants=network-online.target
+Conflicts=shutdown.target
+
+[Service]
+Type=oneshot
+ExecStart=/bin/sh -c "/etc/init.d/storage"
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/deploy/adapters/ansible/roles/storage/tasks/loop.yml b/deploy/adapters/ansible/roles/storage/tasks/loop.yml
new file mode 100755 (executable)
index 0000000..599e2ce
--- /dev/null
@@ -0,0 +1,31 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+
+- name: get available /var partition size
+  script: get_var_size.sh
+  register: part_size
+
+- name: create image file if not exitst
+  script: create_img.sh "{{ part_size.stdout }}"
+
+- name: do a losetup on storage volumes
+  script: losetup.sh
+  register: loop_device
+
+- name: debug loop device
+  debug: msg={{ loop_device.stdout }}
+
+- name: get device
+  shell: echo '{{ loop_device.stdout }}' | sed ':a;N;$!ba;s/.*\n\(\/dev\)/\1/g'
+  register: loop_device_filterd
+
+- name: create physical and group volumes
+  lvg: vg=cinder-volumes pvs={{ loop_device_filterd.stdout }}
+       vg_options=--force
diff --git a/deploy/adapters/ansible/roles/storage/tasks/main.yml b/deploy/adapters/ansible/roles/storage/tasks/main.yml
new file mode 100755 (executable)
index 0000000..b054be9
--- /dev/null
@@ -0,0 +1,68 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+- name: check if physical device exists
+  stat: path={{ physical_device }}
+  register: status
+  tags:
+    - storage
+
+- name: load loop.yml
+  include: loop.yml
+  when: status.stat.exists == False or status.stat.isblk == False
+  tags:
+    - storage
+
+- name: load real.yml
+  include: real.yml
+  when: status.stat.exists == True and status.stat.isblk == True
+  tags:
+    - storage
+
+- name: make setup_storage directory
+  file: path=/opt/setup_storage state=directory mode=0755
+  tags:
+    - storage
+
+- name: copy setup storage scripts
+  copy: src={{ item }} dest=/opt/setup_storage mode=0755
+  with_items:
+    - losetup.sh
+  tags:
+    - storage
+
+- name: set autostart file
+  copy: src=storage dest=/etc/init.d/storage mode=0755
+  tags:
+    - storage
+
+- name: set autostart file for centos
+  copy:
+    src: storage.service
+    dest: /usr/lib/systemd/system/storage.service
+    mode: 0755
+  when: ansible_os_family == "RedHat"
+  tags:
+    - storage
+
+- name: add to boot scripts
+  shell: update-rc.d storage defaults
+  when: ansible_os_family == "Debian"
+  tags:
+    - storage
+
+- name: add to boot scripts
+  shell: |
+    chkconfig --add storage;
+    chkconfig --level 2345 storage on;
+  when: ansible_os_family == 'RedHat'
+  tags:
+    - storage
+
+- meta: flush_handlers
diff --git a/deploy/adapters/ansible/roles/storage/tasks/real.yml b/deploy/adapters/ansible/roles/storage/tasks/real.yml
new file mode 100755 (executable)
index 0000000..6c2ac4a
--- /dev/null
@@ -0,0 +1,16 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+- name: destroy GPT lable
+  shell: dd if=/dev/urandom of={{ physical_device }} bs=4M count=1
+  ignore_errors: "True"
+
+- name: create physical and group volumes
+  lvg: vg=cinder-volumes pvs={{ physical_device }}
+       vg_options=--force