- job: name: leg-cloud-image-centos project-type: freestyle defaults: global properties: - authorization: anonymous: - job-read - job-extended-read linaro: - job-read - job-extended-read - job-build - job-cancel - build-discarder: days-to-keep: 30 num-to-keep: 30 disabled: false node: docker-centos7-aarch64 display-name: 'LEG Cloud image CentOS' wrappers: - timestamps builders: - linaro-publish-token: host: builds.96boards.org - shell: | #!/bin/bash export image_name=centos7-cloud-image set -ex trap cleanup_exit INT TERM EXIT cleanup_exit() { cd ${WORKSPACE} sudo virsh destroy ${image_name} || true sudo virsh undefine ${image_name} || true sudo rm -f /var/lib/libvirt/images/${image_name}.qcow2 ${image_name}.qcow2 rm -rf out } sudo yum install -y qemu-img virt-install sudo virsh pool-list --all sudo virsh net-list --all cat > centos7-aarch64.ks << EOF reboot eula --agreed text firstboot --disable ignoredisk --only-use=vda keyboard --vckeymap=us --xlayouts='us' lang en_GB.UTF-8 network --bootproto=dhcp --device=eth0 --onboot=off --ipv6=auto --hostname=localhost.localdomain repo --name=os --baseurl=http://mirror.centos.org/altarch/7/os/aarch64/ repo --name=extras --baseurl=http://mirror.centos.org/altarch/7/extras/aarch64/ repo --name=updates --baseurl=http://mirror.centos.org/altarch/7/updates/aarch64/ rootpw --plaintext root user --name centos --plaintext --password centos --homedir /home/centos --groups wheel timezone Europe/Warsaw --isUtc bootloader --boot-drive=vda autopart --type=plain clearpart --all --initlabel --drives=vda %packages @base @core cloud-init %end %post curl http://repo.linaro.org/rpm/linaro-overlay/centos-7/linaro-overlay.repo > /etc/yum.repos.d/linaro-overlay.repo yum update -y --nogpgcheck echo 'add_drivers+="virtio-blk virtio-scsi"' > /etc/dracut.conf.d/add-virtio-modules.conf dracut -f /boot/initramfs-`rpm -qa kernel|sed -e "s/kernel-//g"`.img `rpm -qa kernel|sed -e "s/kernel-//g"` %end EOF sudo virt-install \ --name ${image_name} \ --initrd-inject centos7-aarch64.ks \ --extra-args "ks=file:/centos7-aarch64.ks" \ --disk=pool=default,size=10,format=qcow2,bus=virtio \ --memory 2048 \ --location http://mirror.centos.org/altarch/7/os/aarch64/ \ --noreboot set +ex while [ true ]; do sleep 1 vm_running=$(sudo virsh list --name --state-running | grep "^${image_name}" | wc -l) [ "${vm_running}" -eq "0" ] && break done set -ex sudo virsh list --all sudo virsh pool-list --all sudo virsh net-list --all mkdir out mv centos7-aarch64.ks out/ sudo cp -a /var/lib/libvirt/images/${image_name}.qcow2 . sudo qemu-img convert -c -O qcow2 ${image_name}.qcow2 out/${image_name}.qcow2 sudo chown -R buildslave:buildslave out # Publish test -d ${HOME}/bin || mkdir ${HOME}/bin wget -q https://git.linaro.org/ci/publishing-api.git/blob_plain/HEAD:/linaro-cp.py -O ${HOME}/bin/linaro-cp.py time python ${HOME}/bin/linaro-cp.py \ --server ${PUBLISH_SERVER} \ --link-latest \ out snapshots/developer-cloud/centos/cloud-image/${BUILD_NUMBER} publishers: - email: recipients: 'fathi.boudra@linaro.org marcin.juszkiewicz@linaro.org'