Heatstack create: fix str/bytes error in NamedTemporaryFile.write()
[yardstick.git] / ansible / build_yardstick_image.yml
index 347e9bc..7f70987 100644 (file)
@@ -12,7 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 ---
-- hosts: localhost
+- hosts: jumphost
 
   vars:
     boot_modes:
     sha256sums_url: "{{ lookup('env', 'SHA256SUMS_URL')|default('https://' ~ host ~ '/' ~ sha256sums_path, true) }}"
 
     workspace: "{{ lookup('env', 'workspace')|default('/tmp/workspace/yardstick', true) }}"
-    imgfile: "{{ workspace }}/yardstick-image.img"
     raw_imgfile_basename: "yardstick-{{ release }}-server.raw"
   environment:
-    PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/bin
+    - PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/bin
+    - "{{ proxy_env }}"
 
   tasks:
     - group_by:
 
     - package: name=parted state=present
 
+    - set_fact:
+        imgfile: "{{ normal_image_file }}"
+      when: img_property == "normal"
+
+    - set_fact:
+        imgfile: "{{ nsb_image_file }}"
+      when: img_property == "nsb"
+
     - set_fact:
         mountdir: "{{ lookup('env', 'mountdir')|default('/mnt/yardstick', true) }}"
 
       command: "e2fsck -y -f {{ image_first_partition_device  }}"
 
     - name: make tmp disposable fstab
-      command: mktemp fake_fstab.XXXXXXXXXX
+      command: mktemp --tmpdir fake_fstab.XXXXXXXXXX
       register: mktemp_res
 
     - set_fact:
         name: "{{ mountdir }}"
         # fstype is required
         fstype: "{{ image_fs_type }}"
+        # !!!!!!! this is required otherwise we add entries to /etc/fstab
+        # and prevent the system from booting
+        fstab: "{{ fake_fstab }}"
         state: mounted
 
     - name: mount chroot /proc
         src: none
         name: "{{ mountdir }}/proc"
         fstype: proc
+        # !!!!!!! this is required otherwise we add entries to /etc/fstab
+        # and prevent the system from booting
+        fstab: "{{ fake_fstab }}"
         state: mounted
 
     - name: if arm copy qemu-aarch64-static into chroot
         mode: 0755
       when: "target_os == 'Ubuntu'"
 
-    - name: set img_modify_playbook
-      set_fact:
-        img_modify_playbook: ubuntu_server_cloudimg_modify.yml
-
-    - debug:
-        var: img_modify_playbook
-        verbosity: 2
-
     - name: add chroot as host
       add_host:
         name: "{{ mountdir }}"
         nameserver_ip: "{{ ansible_dns.nameservers[0] }}"
         image_type: vm
 
-- name: include {{ img_modify_playbook }}
-  include: "{{ img_modify_playbook }}"
+- name: include ubuntu_server_cloudimg_modify.yml
+  include: ubuntu_server_cloudimg_modify.yml
+  when: img_property == "normal"
+
+- name: include ubuntu_server_cloudimg_modify_samplevnfs.yml
+  include: ubuntu_server_cloudimg_modify_samplevnfs.yml
+  when: img_property == "nsb"
+
+- hosts: localhost
+  tasks:
+    - name: convert image to image file
+      command: "qemu-img convert -c -o compat=0.10 -O qcow2 {{ raw_imgfile }} {{ imgfile }}"
 
 - name: run post build tasks
   include: post_build_yardstick_image.yml
 
   tasks:
     - debug:
-        msg: "yardstick image = {{ raw_imgfile }}"
+        msg: "yardstick image = {{ imgfile }}"