X-Git-Url: https://gerrit.akraino.org/r/gitweb?p=ta%2Fipa-deployer.git;a=blobdiff_plain;f=ipa-deployer.spec;fp=ipa-deployer.spec;h=de86c3e61ea4190caff7818ccc4c6fac868cac58;hp=bb8c3d7466551881bb49a222fc74bce6e6d23022;hb=d881d27e8eaaf154f24432f4a9c19a10a6fa7701;hpb=a45f45480df7dc03311da9a4f0f3e63ab2863217 diff --git a/ipa-deployer.spec b/ipa-deployer.spec index bb8c3d7..de86c3e 100644 --- a/ipa-deployer.spec +++ b/ipa-deployer.spec @@ -7,11 +7,24 @@ License: %{_platform_licence} Source0: %{name}-%{version}.tar.gz Vendor: %{_platform_vendor} -BuildArch: noarch -BuildRequires: diskimage-builder qemu-img-ev which sudo PyYAML e2fsprogs syslinux genisoimage wget kernel python2-ironic-python-agent python-ironic-lib python-devel +BuildRequires: qemu-img-ev which sudo PyYAML e2fsprogs genisoimage wget kernel python2-ironic-python-agent python-ironic-lib python-devel xz python-pip gdisk dosfstools util-linux +%ifarch x86_64 amd64 +BuildRequires: syslinux +%endif %define dib_selinuxfile elements/rpm-distro/cleanup.d/99-selinux-fixfiles-restore %define dib_epel elements/epel/pre-install.d/05-rpm-epel-release +%ifarch x86_64 amd64 +%define centos_cloudimg https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud-1801-01.qcow2 +%define centos_mirror http://mirror.centos.org/centos/7 +%else +%define centos_cloudimg https://cloud.centos.org/altarch/7/images/aarch64/CentOS-7-aarch64-GenericCloud-1708.qcow2.xz +%define centos_cloudimg_xz 1 +%define centos_mirror http://mirror.centos.org/altarch/7 +%define dib_block_device_efi 1 +%endif +%define centos_efibootimg %{centos_mirror}/os/%{_arch}/images/efiboot.img +%define centos_efidir %{centos_mirror}/os/%{_arch}/EFI %description Deployment image for ironic python agent image @@ -20,18 +33,26 @@ Deployment image for ironic python agent image %autosetup %build +sudo pip install diskimage-builder==2.26.1 sudo rm -rf %{python2_sitelib}/diskimage_builder/%{dib_selinuxfile} %{_datarootdir}§/diskimage-builder/%{dib_selinuxfile} %{python2_sitelib}/diskimage_builder/elements/epel/pre-install.d/05-rpm-epel-release cp /etc/yum.conf work/local.repo -wget --progress=dot:giga https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud-1801-01.qcow2 -O CentOS.qcow2 +wget --progress=dot:giga %{centos_cloudimg} -O CentOS.qcow2%{?centos_cloudimg_xz:.xz} +%if 0%{?centos_cloudimg_xz:1} +unxz CentOS.qcow2.xz +%endif +url=%{centos_efidir}/ +wget --progress=dot:giga %{centos_efibootimg} -O efiboot.img +cut_dirs=$(echo $url | sed -re 's|.*://[^/]+/(.+)|\1|' -e 's|/$||' | grep -o / | wc -l) +wget -N -r --no-host-directories --no-verbose --cut-dirs=${cut_dirs} --reject index.html* --no-parent $url DIB_DEBUG_TRACE=1 \ ELEMENTS_PATH="${PWD}/work/dib-ipa-element/" \ DIB_LOCAL_IMAGE="file://${PWD}/CentOS.qcow2" \ DIB_YUM_REPO_CONF="work/local.repo" \ DIB_LOCAL_REPO="/usr/localrepo/" \ - break=after-error /usr/bin/disk-image-create --install-type package localrepo centos7 virtmedia-netconf ironic-agent + break=after-error /usr/bin/disk-image-create --install-type package localrepo centos7 virtmedia-netconf ironic-agent %{?dib_block_device_efi:block-device-efi} if [[ $? == 0 ]]; then - work/iso-image-create -o ./ironic-deploy.iso -i ./image.initramfs -k ./image.vmlinuz + work/iso-image-create -o ./ironic-deploy.iso -i ./image.initramfs -k ./image.vmlinuz -e ./efiboot.img -E ./EFI else echo "Failed to run disk-image-create" fi