Periodic job to build + publish diskimage

Sets up a job to build an image and publishes it to the tarball
server.

Change-Id: I8dc005cf023a5562466f4ac9ce862ee9fc9a9c2a
changes/59/549259/28
German Eichberger 5 years ago
parent 54a4cf00cf
commit e5f0a1c76e
  1. 10
      playbooks/image-build/post.yaml
  2. 45
      playbooks/image-build/run.yaml
  3. 26
      zuul.d/jobs.yaml
  4. 7
      zuul.d/projects.yaml

@ -0,0 +1,10 @@
- hosts: all
name: Copy image
tasks:
- synchronize:
dest: "{{ zuul.executor.log_root }}"
mode: pull
src: "{{ ansible_user_dir }}/test-images"
verify_host: true
rsync_opts:
- "--exclude=/*/*/"

@ -0,0 +1,45 @@
- hosts: all
tasks:
- name: Install apt packages
apt:
pkg: "{{ item }}"
state: "latest"
update_cache: yes
register: install_packages
become: yes
until: install_packages|success
retries: 5
delay: 2
with_items:
- qemu-utils
- uuid-runtime
- curl
- kpartx
- python-yaml
- debootstrap
- qemu
- name: Install required pip packages
pip:
name: "{{ item }}"
state: "latest"
register: install_packages
until: install_packages|success
retries: 5
delay: 2
become: yes
with_items:
- diskimage-builder
- name: Ensure artifacts/images directory exists
file:
path: '{{ ansible_user_dir }}/test-images'
state: directory
- name: Build an amphora image for publishing
shell: >-
./diskimage-create.sh -o {{ ansible_user_dir }}/test-images/test-only-amphora-x64-haproxy-{{ amphora_os }}-{{ amphora_os_release }}.qcow2 \
-i {{ amphora_os }} \
-d {{ amphora_os_release }} \
-s {{ amphora_image_size | default(2) }}
args:
chdir: "{{ ansible_user_dir }}/src/git.openstack.org/openstack/octavia/diskimage-create"
tags:
- skip_ansible_lint

@ -76,3 +76,29 @@
post-run: playbooks/legacy/octavia-v1-dsvm-scenario-lxd/post.yaml
required-projects:
- openstack/nova-lxd
- job:
name: publish-openstack-octavia-amphora-image
parent: publish-openstack-artifacts
run: playbooks/image-build/run.yaml
post-run: playbooks/image-build/post.yaml
required-projects:
- openstack/diskimage-builder
- openstack/octavia
- job:
name: publish-openstack-octavia-amphora-image-ubuntu
parent: publish-openstack-octavia-amphora-image
description: |
Publish Ubuntu-based amphora image to tarballs.o.o.
vars:
amphora_os: ubuntu
amphora_os_release: xenial
- job:
name: publish-openstack-octavia-amphora-image-centos
parent: publish-openstack-octavia-amphora-image
description: |
Publish CentOS-based amphora image to tarballs.o.o.
vars:
amphora_os: centos
amphora_image_size: 3
amphora_os_release: 7

@ -66,3 +66,10 @@
jobs:
- octavia-v1-dsvm-scenario-lxd:
branches: ^(?!stable/ocata).*$
periodic:
jobs:
- publish-openstack-octavia-amphora-image-ubuntu:
branches: ^(?!stable/.*).*$
- publish-openstack-octavia-amphora-image-centos:
branches: ^(?!stable/.*).*$

Loading…
Cancel
Save