diff --git a/Dockerfile b/Dockerfile index 37d1bf2e82321d0d3698d54347dfff738412f6b9..258f17e617954771ba37a4b3278c2eb90c43d989 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,5 @@ -FROM registry.fedoraproject.org/fedora:35 +#FROM registry.fedoraproject.org/fedora:35 +FROM openeuler-22.03-lts:latest WORKDIR /root/containerbuild # Keep this Dockerfile idempotent for local development rebuild use cases. diff --git a/Makefile b/Makefile index c58b4aacfdea01b7e58ae5efb6d4280ba7e88e27..6f4ec72178b6b225daf6873b258284d0a2539769 100644 --- a/Makefile +++ b/Makefile @@ -9,11 +9,11 @@ DESTDIR ?= # W504 line break after binary operator PYIGNORE ?= E128,E241,E402,E501,E722,W503,W504 -.PHONY: all check flake8 pycheck unittest clean mantle mantle-check install gangplank gangplank-check tools +.PHONY: all check flake8 pycheck unittest clean mantle mantle-check install MANTLE_BINARIES := ore kola plume -all: tools mantle gangplank +all: mantle src:=$(shell find src -maxdepth 1 -type f -executable -print) pysources=$(shell find src -type f -name '*.py') $(shell for x in $(src); do if head -1 $$x | grep -q python; then echo $$x; fi; done) @@ -33,7 +33,7 @@ endif .%.shellchecked: % ./tests/check_one.sh $< $@ -check: ${src_checked} ${tests_checked} ${cwd_checked} flake8 pycheck mantle-check gangplank-check +check: ${src_checked} ${tests_checked} ${cwd_checked} flake8 pycheck mantle-check echo OK pycheck: @@ -53,7 +53,6 @@ unittest: clean: rm -f ${src_checked} ${tests_checked} ${cwd_checked} - rm -rf tools/bin find . -name "*.py[co]" -type f | xargs rm -f find . -name "__pycache__" -type d | xargs rm -rf @@ -67,18 +66,6 @@ $(MANTLE_BINARIES) kolet: mantle-check: cd mantle && $(MAKE) test -gangplank: - cd gangplank && $(MAKE) - -gangplank-check: - cd gangplank && $(MAKE) test - -staticanalysis: - cd gangplank && $(MAKE) staticanalysis - -tools: - cd tools && $(MAKE) - .PHONY: schema schema: $(MAKE) -C schema @@ -96,6 +83,5 @@ install: ln -sf ../lib/coreos-assembler/cp-reflink $(DESTDIR)$(PREFIX)/bin/ ln -sf coreos-assembler $(DESTDIR)$(PREFIX)/bin/cosa install -d $(DESTDIR)$(PREFIX)/lib/coreos-assembler/tests/kola - cd tools && $(MAKE) install DESTDIR=$(DESTDIR) + cd mantle && $(MAKE) install DESTDIR=$(DESTDIR) - cd gangplank && $(MAKE) install DESTDIR=$(DESTDIR) diff --git a/build.sh b/build.sh index 028d11831605c91266f236ccd1835b60d54216c7..c3e296e8ed22a9081c35525f45eaad0724b9e460 100755 --- a/build.sh +++ b/build.sh @@ -4,12 +4,6 @@ set -euo pipefail # Keep this script idempotent for local development rebuild use cases: # any consecutive runs should produce the same result. -# Detect what platform we are on -if ! grep -q '^Fedora' /etc/redhat-release; then - echo 1>&2 "should be on either Fedora" - exit 1 -fi - arch=$(uname -m) if [ $# -gt 1 ]; then @@ -31,26 +25,43 @@ configure_yum_repos() { # Add continuous tag for latest build tools and mark as required so we # can depend on those latest tools being available in all container # builds. - echo -e "[f${version_id}-coreos-continuous]\nenabled=1\nmetadata_expire=1m\nbaseurl=https://kojipkgs.fedoraproject.org/repos-dist/f${version_id}-coreos-continuous/latest/\$basearch/\ngpgcheck=0\nskip_if_unavailable=False\n" > /etc/yum.repos.d/coreos.repo + #echo -e "[${version_id}-nestos]\nenabled=1\nmetadata_expire=1m\nbaseurl=http://10.1.110.88/nestos-assembler/\ngpgcheck=0\nskip_if_unavailable=False\n" > /etc/yum.repos.d/nestos.repo + rm -rf /etc/yum.repos.d/* + # openeuler 22.03-LTS + echo -e "[${version_id}]\nenabled=1\nmetadata_expire=1m\nbaseurl=http://119.3.219.20:82/openEuler:/22.03:/LTS/standard_$arch/\ngpgcheck=0\npriority=1\nskip_if_unavailable=False\n" > /etc/yum.repos.d/nestos-LTS.repo + echo -e "[${version_id}-Next]\nenabled=1\nmetadata_expire=1m\nbaseurl=http://119.3.219.20:82/openEuler:/22.03:/LTS:/Epol/standard_$arch/\ngpgcheck=0\npriority=1\nskip_if_unavailable=False\n" > /etc/yum.repos.d/nestos-EPOL.repo + + echo -e "[${version_id}-SP1]\nenabled=1\nmetadata_expire=1m\nbaseurl=http://119.3.219.20:82/openEuler:/22.03:/LTS:/SP1/standard_$arch/\ngpgcheck=0\npriority=2\nskip_if_unavailable=False\n" > /etc/yum.repos.d/nestos-SP1.repo + echo -e "[${version_id}-SP1-epol]\nenabled=1\nmetadata_expire=1m\nbaseurl=http://119.3.219.20:82/openEuler:/22.03:/LTS:/SP1:/Epol/standard_$arch/\ngpgcheck=0\npriority=2\nskip_if_unavailable=False\n" > /etc/yum.repos.d/nestos-sp1-epol.repo } install_rpms() { local builddeps local frozendeps - # freeze kernel due to https://github.com/coreos/coreos-assembler/issues/2707 - frozendeps=$(echo kernel{,-core,-modules}-5.15.18-200.fc35) - yum install -y systemd systemd-udev dracut linux-firmware + # freeze kernel due to https://github.com/coreos/nestos-assembler/issues/2707 + #frozendeps=$(echo kernel-5.10.0-60.41.0.73.oe2203) + + yum install -y qemu-img qemu-block-iscsi qemu-block-curl qemu-hw-usb-host qemu-system-x86_64 qemu liburing-devel glib2-devel + arch=$(uname -m) + case $arch in + "x86_64") rpm -iUh qemu-*.x86_64.rpm libslirp-*.x86_64.rpm;; + "aarch64") rpm -iUh qemu-*.aarch64.rpm libslirp-*.aarch64.rpm;; + *) fatal "Architecture ${arch} not supported" + esac + + yum install -y grubby initscripts iptables nftables python3-setuptools linux-firmware bubblewrap json-c ostree json-glib polkit-libs ostree-devel dnf-plugins-core container-selinux oci-runtime arch=$(uname -m) case $arch in - "x86_64") rpm -iUh kernel-core-5.15.18-200.fc35.x86_64.rpm kernel-modules-5.15.18-200.fc35.x86_64.rpm ;; - "aarch64") rpm -iUh kernel-core-5.15.18-200.fc35.aarch64.rpm kernel-modules-5.15.18-200.fc35.aarch64.rpm ;; + "x86_64") rpm -iUh kernel-5.10.0-60.41.0.73.oe2203.x86_64.rpm kernel-headers-5.10.0-60.41.0.73.oe2203.x86_64.rpm buildah-1.26.1-1.x86_64.rpm butane-0.14.0-1.oe2203.x86_64.rpm dumb-init-1.2.5-4.oe2203.x86_64.rpm python3-semver-2.10.2-2.oe2203.noarch.rpm containers-common-1-1.oe2203.noarch.rpm netavark-1.0.2-1.x86_64.rpm rpm-ostree-2022.8-3.oe2203.x86_64.rpm rpm-ostree-devel-2022.8-3.oe2203.x86_64.rpm supermin-5.3.2-1.x86_64.rpm;; + "aarch64") rpm -iUh kernel-5.10.0-118.0.0.64.oe2203.aarch64.rpm kernel-headers-5.10.0-118.0.0.64.oe2203.aarch64.rpm buildah-1.26.1-1.oe2203.aarch64.rpm butane-0.14.0-2.oe2203.aarch64.rpm dumb-init-1.2.5-1.oe2203.aarch64.rpm python3-semver-2.10.2-2.oe2203.noarch.rpm containers-common-1-1.oe2203.noarch.rpm netavark-1.0.2-1.oe2203.aarch64.rpm rpm-ostree-2022.8-3.oe2203.aarch64.rpm rpm-ostree-devel-2022.8-3.oe2203.aarch64.rpm supermin-5.3.2-1.oe2203.aarch64.rpm;; *) fatal "Architecture ${arch} not supported" esac + # First, a general update; this is best practice. We also hit an issue recently # where qemu implicitly depended on an updated libusbx but didn't have a versioned # requires https://bugzilla.redhat.com/show_bug.cgi?id=1625641 - yum -y distro-sync + #yum -y distro-sync # xargs is part of findutils, which may not be installed yum -y install /usr/bin/xargs @@ -63,26 +74,12 @@ install_rpms() { builddeps=$(grep -v '^#' "${srcdir}"/src/build-deps.txt) # Process our base dependencies + build dependencies and install - (echo "${builddeps}" && echo "${frozendeps}" && "${srcdir}"/src/print-dependencies.sh) | xargs yum -y install + #(echo "${builddeps}" && echo "${frozendeps}" && "${srcdir}"/src/print-dependencies.sh) | xargs yum -y install + (echo "${builddeps}" && "${srcdir}"/src/print-dependencies.sh) | xargs yum -y install # Add fast-tracked packages here. We don't want to wait on bodhi for rpm-ostree # as we want to enable fast iteration there. - yum --enablerepo=updates-testing upgrade rpm-ostree - - # Commented out for now, see above - #dnf remove -y ${builddeps} - # can't remove grubby on el7 because libguestfs-tools depends on it - # Add --exclude for s390utils-base because we need it to not get removed. - rpm -q grubby && yum remove --exclude=s390utils-base -y grubby - - yum remove -y rpm-ostree - yum install -y bubblewrap ostree - arch=$(uname -m) - case $arch in - "x86_64") rpm -iUh rpm-ostree-2021.14-3.fc35.x86_64.rpm rpm-ostree-libs-2021.14-3.fc35.x86_64.rpm nestos-installer-0.14.0-2.x86_64.rpm ;; - "aarch64") rpm -iUh rpm-ostree-2021.14-3.fc35.aarch64.rpm rpm-ostree-libs-2021.14-3.fc35.aarch64.rpm nestos-installer-0.14.0-2.aarch64.rpm ;; - *) fatal "Architecture ${arch} not supported" - esac + #yum --enablerepo=updates-testing upgrade rpm-ostree # Allow Kerberos Auth to work from a keytab. The keyring is not # available in a Container. @@ -101,6 +98,7 @@ install_rpms() { make_and_makeinstall() { make && make install + rm -rf /root/.cache/go-build } configure_user(){ @@ -129,6 +127,13 @@ configure_user(){ } write_archive_info() { + cp -f ./packages /usr/lib64/guestfs/supermin.d/packages + #head -n -1 /etc/bashrc > ./bashrc + + #mv -f ./bashrc /etc/bashrc + head -n -1 /etc/bashrc + echo "TMOUT=32400" >> /etc/bashrc + #source /etc/bashrc # shellcheck source=src/cmdlib.sh . "${srcdir}/src/cmdlib.sh" mkdir -p /cosa /lib/coreos-assembler diff --git a/mantle/kola/tests/ignition/passwd.go b/mantle/kola/tests/ignition/passwd.go index 70637dfb6a5ef7dfca4dede4c1b5977ac1f87885..113605d3430e2c244b9c4e066be3d37a50ac0a34 100644 --- a/mantle/kola/tests/ignition/passwd.go +++ b/mantle/kola/tests/ignition/passwd.go @@ -99,12 +99,12 @@ func groups(c cluster.TestCluster) { tests := []groupTest{ { group: "group1", - groupRecord: "group1:*:501:", + groupRecord: "group1:x:501:", gshadowRecord: "group1:*::", }, { group: "group2", - groupRecord: "group2:foobar:502:", + groupRecord: "group2:x:502:", gshadowRecord: "group2:foobar::", }, } diff --git a/mantle/kola/tests/ignition/resource.go b/mantle/kola/tests/ignition/resource.go index e5aaf637a1cdbc5cbaebe5d1401001485033bde4..bce938c74156c612b2dd4314ef41d7361aa2abe0 100644 --- a/mantle/kola/tests/ignition/resource.go +++ b/mantle/kola/tests/ignition/resource.go @@ -93,7 +93,7 @@ func init() { { "path": "/var/resource/http", "contents": { - "source": "http://124.126.103.127/nestos/kola/nestos-ignition-resource-remote.txt" + "source": "http://1.203.97.152/kola/nestos-ignition-resource-remote.txt" }, "mode": 420 } diff --git a/mantle/kola/tests/rpmostree/deployments.go b/mantle/kola/tests/rpmostree/deployments.go index 1bab4a88870871b43021b3d70afffe605131324f..9b3f1a6f7cbef4e20e0ff938d2d60754e1a3d423 100644 --- a/mantle/kola/tests/rpmostree/deployments.go +++ b/mantle/kola/tests/rpmostree/deployments.go @@ -79,7 +79,7 @@ func rpmOstreeUpgradeRollback(c cluster.TestCluster) { newCommit := c.MustSSH(m, createCommit) // use "rpm-ostree rebase" to get to the "new" commit - c.RunCmdSync(m, "sudo rpm-ostree rebase :"+newBranch) + c.RunCmdSync(m, "sudo rpm-ostree rebase :"+newBranch+" --bypass-driver") // get latest rpm-ostree status output to check validity postUpgradeStatus, err := util.GetRpmOstreeStatusJSON(c, m) @@ -182,7 +182,7 @@ func rpmOstreeInstallUninstall(c cluster.TestCluster) { m := c.Machines()[0] - _, err := c.SSH(m, `sudo wget http://124.126.103.127/nestos/kola/rpm/aht-dummy-1.0-1.noarch.rpm`) + _, err := c.SSH(m, `sudo wget http://1.203.97.152/kola/aht-dummy-1.0-1.noarch.rpm`) if err != nil { c.Fatal(err) } diff --git a/mantle/kola/tests/rpmostree/rebase.go b/mantle/kola/tests/rpmostree/rebase.go new file mode 100644 index 0000000000000000000000000000000000000000..e40c29e75a2b6b4c803e3d381771a80fcebf3a88 --- /dev/null +++ b/mantle/kola/tests/rpmostree/rebase.go @@ -0,0 +1,72 @@ +package rpmostree + +import ( + "github.com/coreos/mantle/kola/cluster" + "github.com/coreos/mantle/kola/register" + "github.com/coreos/mantle/kola/tests/util" +) + +func init(){ + register.RegisterTest(®ister.Test{ + Run: rpmOstreeRebase, + ClusterSize: 1, + Name: "rpmostree.rebase", + FailFast: true, + Tags: []string{"rpm-ostree","upgrade"}, + Flags: []register.Flag{register.RequiresInternetAccess}, + }) +} + +func rpmOstreeRebase(c cluster.TestCluster) { + + + m := c.Machines()[0] + arch := c.MustSSH(m, "uname -m") + var newBranch string = "ostree-unverified-image:docker://docker.io/fushanqing/nestos-test:latest-" + string(arch) + + originalStatus, err := util.GetRpmOstreeStatusJSON(c, m) + if err != nil{ + c.Fatal(err) + } + + if len(originalStatus.Deployments) < 1 { + c.Fatalf(`Unexpected results from "rpm-ostree status"; received: %v`, originalStatus) + } + + c.Run("ostree upgrade",func(c cluster.TestCluster){ + + // use "rpm-ostree rebase" to get to the "new" commit + _ = c.MustSSH(m, "sudo rpm-ostree rebase --experimental "+newBranch+" --bypass-driver") + // get latest rpm-ostree status output to check validity + postUpgradeStatus, err := util.GetRpmOstreeStatusJSON(c, m) + if err != nil { + c.Fatal(err) + } + + // should have an additional deployment + if len(postUpgradeStatus.Deployments) != len(originalStatus.Deployments)+1 { + c.Fatalf("Expected %d deployments; found %d deployments", len(originalStatus.Deployments)+1, len(postUpgradeStatus.Deployments)) + } + // reboot into new deployment + rebootErr := m.Reboot() + if rebootErr != nil { + c.Fatalf("Failed to reboot machine: %v", rebootErr) + } + + // get latest rpm-ostree status output + postRebootStatus, err := util.GetRpmOstreeStatusJSON(c, m) + if err != nil { + c.Fatal(err) + } + + // should have 2 deployments, the previously booted deployment and the test deployment due to rpm-ostree pruning + if len(postRebootStatus.Deployments) != 2 { + c.Fatalf("Expected %d deployments; found %d deployment", 2, len(postRebootStatus.Deployments)) + } + + // new deployment should be booted + if !postRebootStatus.Deployments[0].Booted { + c.Fatalf("New deployment is not reporting as booted") + } + }) +} \ No newline at end of file diff --git a/packages b/packages new file mode 100644 index 0000000000000000000000000000000000000000..948a5b49cdf973551d22baba803dfa839ace6fa5 --- /dev/null +++ b/packages @@ -0,0 +1,57 @@ +acl +attr +augeas-libs +bash +binutils +btrfs-progs +bzip2 +coreutils +cpio +cryptsetup +dhcp-client +diffutils +dosfstools +e2fsprogs +file +findutils +gawk +gdisk +glibc +glibc-gconv-extra +grep +gzip +hivex-libs +iproute +jansson +kernel +kmod +less +libacl +libcap +libgcc +libselinux +libtirpc +lsscsi +lvm2 +lzop +mdadm +ntfs-3g +ntfs-3g-system-compression +ntfsprogs +parted +pcre2 +policycoreutils +procps-ng +psmisc +rpm-libs +scrub +sed +squashfs-tools +systemd +systemd-libs +systemd-udev +tar +util-linux +xz +zerofree +hivex \ No newline at end of file diff --git a/rpm-package/buildah-1.26.1-1.oe2203.aarch64.rpm b/rpm-package/buildah-1.26.1-1.oe2203.aarch64.rpm new file mode 100644 index 0000000000000000000000000000000000000000..cdcd020ef7696cf91c3d299b477de3d7840ba02d Binary files /dev/null and b/rpm-package/buildah-1.26.1-1.oe2203.aarch64.rpm differ diff --git a/rpm-package/rust-nestos-installer-0.14.0-2.src.rpm b/rpm-package/buildah-1.26.1-1.x86_64.rpm old mode 100644 new mode 100755 similarity index 34% rename from rpm-package/rust-nestos-installer-0.14.0-2.src.rpm rename to rpm-package/buildah-1.26.1-1.x86_64.rpm index ccc037e421e0ac4d3d1680b1f3a00b2972e914e3..d19000350a112506522dd8c7e93b37f09d572137 Binary files a/rpm-package/rust-nestos-installer-0.14.0-2.src.rpm and b/rpm-package/buildah-1.26.1-1.x86_64.rpm differ diff --git a/rpm-package/butane-0.14.0-1.oe2203.x86_64.rpm b/rpm-package/butane-0.14.0-1.oe2203.x86_64.rpm new file mode 100755 index 0000000000000000000000000000000000000000..3dda8318141f1eba51fe120e5d775252e97ea908 Binary files /dev/null and b/rpm-package/butane-0.14.0-1.oe2203.x86_64.rpm differ diff --git a/rpm-package/butane-0.14.0-2.oe2203.aarch64.rpm b/rpm-package/butane-0.14.0-2.oe2203.aarch64.rpm new file mode 100644 index 0000000000000000000000000000000000000000..c3051c6fa6232a6c433e6fc4b5130e891202f2a0 Binary files /dev/null and b/rpm-package/butane-0.14.0-2.oe2203.aarch64.rpm differ diff --git a/rpm-package/containers-common-1-1.oe2203.noarch.rpm b/rpm-package/containers-common-1-1.oe2203.noarch.rpm new file mode 100644 index 0000000000000000000000000000000000000000..3e98a2db75b2862ba58a8d7d6ffea71d2c771110 Binary files /dev/null and b/rpm-package/containers-common-1-1.oe2203.noarch.rpm differ diff --git a/rpm-package/dumb-init-1.2.5-1.oe2203.aarch64.rpm b/rpm-package/dumb-init-1.2.5-1.oe2203.aarch64.rpm new file mode 100644 index 0000000000000000000000000000000000000000..f3b96a86cf6c85d241f039da0896584d38c0069c Binary files /dev/null and b/rpm-package/dumb-init-1.2.5-1.oe2203.aarch64.rpm differ diff --git a/rpm-package/dumb-init-1.2.5-4.oe2203.x86_64.rpm b/rpm-package/dumb-init-1.2.5-4.oe2203.x86_64.rpm new file mode 100755 index 0000000000000000000000000000000000000000..dd039386bbb618938c5e0af2de0e3f092f70cd6d Binary files /dev/null and b/rpm-package/dumb-init-1.2.5-4.oe2203.x86_64.rpm differ diff --git a/rpm-package/kernel-core-5.15.18-200.fc35.aarch64.rpm b/rpm-package/kernel-5.10.0-118.0.0.64.oe2203.aarch64.rpm similarity index 76% rename from rpm-package/kernel-core-5.15.18-200.fc35.aarch64.rpm rename to rpm-package/kernel-5.10.0-118.0.0.64.oe2203.aarch64.rpm index f51b6f652848820bdcb2380a40a0fc58ef97dc4d..035f1bd3e389ba5b9ab8468bf75ac353154d9df1 100644 Binary files a/rpm-package/kernel-core-5.15.18-200.fc35.aarch64.rpm and b/rpm-package/kernel-5.10.0-118.0.0.64.oe2203.aarch64.rpm differ diff --git a/rpm-package/rpm-ostree-2021.14-3.fc35.src.rpm b/rpm-package/kernel-5.10.0-60.41.0.73.oe2203.x86_64.rpm old mode 100644 new mode 100755 similarity index 76% rename from rpm-package/rpm-ostree-2021.14-3.fc35.src.rpm rename to rpm-package/kernel-5.10.0-60.41.0.73.oe2203.x86_64.rpm index c078392dbf925c6cf2e988b35e81122b66927974..37ba92222206f45cf3c54a4e08885a917030760e Binary files a/rpm-package/rpm-ostree-2021.14-3.fc35.src.rpm and b/rpm-package/kernel-5.10.0-60.41.0.73.oe2203.x86_64.rpm differ diff --git a/rpm-package/kernel-core-5.15.18-200.fc35.x86_64.rpm b/rpm-package/kernel-core-5.15.18-200.fc35.x86_64.rpm deleted file mode 100644 index e08806a0364277376836bcda52ab30c9c8b33ff0..0000000000000000000000000000000000000000 Binary files a/rpm-package/kernel-core-5.15.18-200.fc35.x86_64.rpm and /dev/null differ diff --git a/rpm-package/kernel-headers-5.10.0-118.0.0.64.oe2203.aarch64.rpm b/rpm-package/kernel-headers-5.10.0-118.0.0.64.oe2203.aarch64.rpm new file mode 100644 index 0000000000000000000000000000000000000000..aae859cd388efe6daec40c414b4d8f180d51e939 Binary files /dev/null and b/rpm-package/kernel-headers-5.10.0-118.0.0.64.oe2203.aarch64.rpm differ diff --git a/rpm-package/kernel-headers-5.10.0-60.41.0.73.oe2203.x86_64.rpm b/rpm-package/kernel-headers-5.10.0-60.41.0.73.oe2203.x86_64.rpm new file mode 100755 index 0000000000000000000000000000000000000000..43cb6969cbc8436ee9118d798e430f3a70f10016 Binary files /dev/null and b/rpm-package/kernel-headers-5.10.0-60.41.0.73.oe2203.x86_64.rpm differ diff --git a/rpm-package/kernel-modules-5.15.18-200.fc35.aarch64.rpm b/rpm-package/kernel-modules-5.15.18-200.fc35.aarch64.rpm deleted file mode 100644 index bf2d3ef068f1dfead89d1d4b0eb69f481c540d13..0000000000000000000000000000000000000000 Binary files a/rpm-package/kernel-modules-5.15.18-200.fc35.aarch64.rpm and /dev/null differ diff --git a/rpm-package/kernel-modules-5.15.18-200.fc35.x86_64.rpm b/rpm-package/kernel-modules-5.15.18-200.fc35.x86_64.rpm deleted file mode 100644 index 2f3cfe314fb693f5e1d3b19e1fcf01f00c0aacab..0000000000000000000000000000000000000000 Binary files a/rpm-package/kernel-modules-5.15.18-200.fc35.x86_64.rpm and /dev/null differ diff --git a/rpm-package/libslirp-4.7.0-1.oe2203.aarch64.rpm b/rpm-package/libslirp-4.7.0-1.oe2203.aarch64.rpm new file mode 100644 index 0000000000000000000000000000000000000000..be3afd48a1c550c5bc44b7e730c47fa851d41352 Binary files /dev/null and b/rpm-package/libslirp-4.7.0-1.oe2203.aarch64.rpm differ diff --git a/rpm-package/libslirp-4.7.0-1.oe2203.x86_64.rpm b/rpm-package/libslirp-4.7.0-1.oe2203.x86_64.rpm new file mode 100644 index 0000000000000000000000000000000000000000..3cd84d9d15ec9139a4118c59f4d4614e2d90102c Binary files /dev/null and b/rpm-package/libslirp-4.7.0-1.oe2203.x86_64.rpm differ diff --git a/rpm-package/libslirp-devel-4.7.0-1.oe2203.aarch64.rpm b/rpm-package/libslirp-devel-4.7.0-1.oe2203.aarch64.rpm new file mode 100644 index 0000000000000000000000000000000000000000..d2ea7d950d5f63b65e29395b8e6d068dac0532f2 Binary files /dev/null and b/rpm-package/libslirp-devel-4.7.0-1.oe2203.aarch64.rpm differ diff --git a/rpm-package/libslirp-devel-4.7.0-1.oe2203.x86_64.rpm b/rpm-package/libslirp-devel-4.7.0-1.oe2203.x86_64.rpm new file mode 100644 index 0000000000000000000000000000000000000000..c76820a9672de1063fe1ee3959f9605f4941caf5 Binary files /dev/null and b/rpm-package/libslirp-devel-4.7.0-1.oe2203.x86_64.rpm differ diff --git a/rpm-package/nestos-installer-0.14.0-2.aarch64.rpm b/rpm-package/nestos-installer-0.14.0-2.aarch64.rpm deleted file mode 100644 index d54443eaa7436404066440f4fda26a18b597c812..0000000000000000000000000000000000000000 Binary files a/rpm-package/nestos-installer-0.14.0-2.aarch64.rpm and /dev/null differ diff --git a/rpm-package/nestos-installer-0.14.0-2.x86_64.rpm b/rpm-package/nestos-installer-0.14.0-2.x86_64.rpm deleted file mode 100644 index 9da79cca33c6bf2fcc05e4bbbc737b222d4a1e43..0000000000000000000000000000000000000000 Binary files a/rpm-package/nestos-installer-0.14.0-2.x86_64.rpm and /dev/null differ diff --git a/rpm-package/nestos-installer-bootinfra-0.14.0-2.aarch64.rpm b/rpm-package/nestos-installer-bootinfra-0.14.0-2.aarch64.rpm deleted file mode 100644 index f14c56a6026ef7e2478786fa0d7135fad7974d47..0000000000000000000000000000000000000000 Binary files a/rpm-package/nestos-installer-bootinfra-0.14.0-2.aarch64.rpm and /dev/null differ diff --git a/rpm-package/nestos-installer-bootinfra-0.14.0-2.x86_64.rpm b/rpm-package/nestos-installer-bootinfra-0.14.0-2.x86_64.rpm deleted file mode 100644 index ce80a6d9e0dcdc3c1f19ade07eb1a4e24675cfbe..0000000000000000000000000000000000000000 Binary files a/rpm-package/nestos-installer-bootinfra-0.14.0-2.x86_64.rpm and /dev/null differ diff --git a/rpm-package/netavark-1.0.2-1.oe2203.aarch64.rpm b/rpm-package/netavark-1.0.2-1.oe2203.aarch64.rpm new file mode 100644 index 0000000000000000000000000000000000000000..50ac4152c8c6367f789325033975504cfb61b58c Binary files /dev/null and b/rpm-package/netavark-1.0.2-1.oe2203.aarch64.rpm differ diff --git a/rpm-package/netavark-1.0.2-1.x86_64.rpm b/rpm-package/netavark-1.0.2-1.x86_64.rpm new file mode 100755 index 0000000000000000000000000000000000000000..cafb0392f589434870999db4e9db31e555d8b739 Binary files /dev/null and b/rpm-package/netavark-1.0.2-1.x86_64.rpm differ diff --git a/rpm-package/python3-semver-2.10.2-2.oe2203.noarch.rpm b/rpm-package/python3-semver-2.10.2-2.oe2203.noarch.rpm new file mode 100755 index 0000000000000000000000000000000000000000..ca10972db03cfd8c1dfc36bc6a7f63d2edbe4250 Binary files /dev/null and b/rpm-package/python3-semver-2.10.2-2.oe2203.noarch.rpm differ diff --git a/rpm-package/qemu-6.2.0-100.oe2203.aarch64.rpm b/rpm-package/qemu-6.2.0-100.oe2203.aarch64.rpm new file mode 100644 index 0000000000000000000000000000000000000000..091af133b27100483e63636678cdd218c0aec079 Binary files /dev/null and b/rpm-package/qemu-6.2.0-100.oe2203.aarch64.rpm differ diff --git a/rpm-package/qemu-6.2.0-100.oe2203.x86_64.rpm b/rpm-package/qemu-6.2.0-100.oe2203.x86_64.rpm new file mode 100644 index 0000000000000000000000000000000000000000..45b3dc7c1f34e728c9774f9b49ac4d61dc94d85f Binary files /dev/null and b/rpm-package/qemu-6.2.0-100.oe2203.x86_64.rpm differ diff --git a/rpm-package/qemu-block-curl-6.2.0-100.oe2203.aarch64.rpm b/rpm-package/qemu-block-curl-6.2.0-100.oe2203.aarch64.rpm new file mode 100644 index 0000000000000000000000000000000000000000..ab0ad40f8892d5be5b84d36d18f0d216efad1fc0 Binary files /dev/null and b/rpm-package/qemu-block-curl-6.2.0-100.oe2203.aarch64.rpm differ diff --git a/rpm-package/qemu-block-curl-6.2.0-100.oe2203.x86_64.rpm b/rpm-package/qemu-block-curl-6.2.0-100.oe2203.x86_64.rpm new file mode 100644 index 0000000000000000000000000000000000000000..e2fb55772e3750c764b19044cadaafa70b4cdf8b Binary files /dev/null and b/rpm-package/qemu-block-curl-6.2.0-100.oe2203.x86_64.rpm differ diff --git a/rpm-package/qemu-block-iscsi-6.2.0-100.oe2203.aarch64.rpm b/rpm-package/qemu-block-iscsi-6.2.0-100.oe2203.aarch64.rpm new file mode 100644 index 0000000000000000000000000000000000000000..32d034d9ad679f8f3c7cea3c0442165d2707bff9 Binary files /dev/null and b/rpm-package/qemu-block-iscsi-6.2.0-100.oe2203.aarch64.rpm differ diff --git a/rpm-package/qemu-block-iscsi-6.2.0-100.oe2203.x86_64.rpm b/rpm-package/qemu-block-iscsi-6.2.0-100.oe2203.x86_64.rpm new file mode 100644 index 0000000000000000000000000000000000000000..e33a884dab4934d53447ed0c268e0fca311594ae Binary files /dev/null and b/rpm-package/qemu-block-iscsi-6.2.0-100.oe2203.x86_64.rpm differ diff --git a/rpm-package/qemu-hw-usb-host-6.2.0-100.oe2203.aarch64.rpm b/rpm-package/qemu-hw-usb-host-6.2.0-100.oe2203.aarch64.rpm new file mode 100644 index 0000000000000000000000000000000000000000..814407a3cfacfac7d9e04ba5d9830aede1f8bae4 Binary files /dev/null and b/rpm-package/qemu-hw-usb-host-6.2.0-100.oe2203.aarch64.rpm differ diff --git a/rpm-package/qemu-hw-usb-host-6.2.0-100.oe2203.x86_64.rpm b/rpm-package/qemu-hw-usb-host-6.2.0-100.oe2203.x86_64.rpm new file mode 100644 index 0000000000000000000000000000000000000000..d82aa3e302e3673038fd515a4bb21825c0f7656d Binary files /dev/null and b/rpm-package/qemu-hw-usb-host-6.2.0-100.oe2203.x86_64.rpm differ diff --git a/rpm-package/qemu-img-6.2.0-100.oe2203.aarch64.rpm b/rpm-package/qemu-img-6.2.0-100.oe2203.aarch64.rpm new file mode 100644 index 0000000000000000000000000000000000000000..43aee2f64cd4799a2c817e9db48ef44e203cda46 Binary files /dev/null and b/rpm-package/qemu-img-6.2.0-100.oe2203.aarch64.rpm differ diff --git a/rpm-package/qemu-img-6.2.0-100.oe2203.x86_64.rpm b/rpm-package/qemu-img-6.2.0-100.oe2203.x86_64.rpm new file mode 100644 index 0000000000000000000000000000000000000000..d2482ca014c68a027d3c3241c44f5da261cf2088 Binary files /dev/null and b/rpm-package/qemu-img-6.2.0-100.oe2203.x86_64.rpm differ diff --git a/rpm-package/rpm-ostree-2021.14-3.fc35.aarch64.rpm b/rpm-package/qemu-system-aarch64-6.2.0-100.oe2203.aarch64.rpm similarity index 30% rename from rpm-package/rpm-ostree-2021.14-3.fc35.aarch64.rpm rename to rpm-package/qemu-system-aarch64-6.2.0-100.oe2203.aarch64.rpm index be6c90dfd2975aa31852b3418fceaa9a4e16fb21..32cd0e38f16a7e615d36c3013a384bf2358fcf53 100644 Binary files a/rpm-package/rpm-ostree-2021.14-3.fc35.aarch64.rpm and b/rpm-package/qemu-system-aarch64-6.2.0-100.oe2203.aarch64.rpm differ diff --git a/rpm-package/rpm-ostree-2021.14-3.fc35.x86_64.rpm b/rpm-package/qemu-system-x86_64-6.2.0-100.oe2203.x86_64.rpm similarity index 33% rename from rpm-package/rpm-ostree-2021.14-3.fc35.x86_64.rpm rename to rpm-package/qemu-system-x86_64-6.2.0-100.oe2203.x86_64.rpm index d85cc3846570b4d72424fc33b1a015cc66f9a991..75f8d471247cc358dea85c52baee388f74304aea 100644 Binary files a/rpm-package/rpm-ostree-2021.14-3.fc35.x86_64.rpm and b/rpm-package/qemu-system-x86_64-6.2.0-100.oe2203.x86_64.rpm differ diff --git a/rpm-package/rpm-ostree-2022.8-3.oe2203.aarch64.rpm b/rpm-package/rpm-ostree-2022.8-3.oe2203.aarch64.rpm new file mode 100644 index 0000000000000000000000000000000000000000..1bf1ca6a8457cc7e800ab9c076bd66da50c4a458 Binary files /dev/null and b/rpm-package/rpm-ostree-2022.8-3.oe2203.aarch64.rpm differ diff --git a/rpm-package/rpm-ostree-2022.8-3.oe2203.x86_64.rpm b/rpm-package/rpm-ostree-2022.8-3.oe2203.x86_64.rpm new file mode 100644 index 0000000000000000000000000000000000000000..d1ba39cccc0e6996587f01f49441655970187a56 Binary files /dev/null and b/rpm-package/rpm-ostree-2022.8-3.oe2203.x86_64.rpm differ diff --git a/rpm-package/rpm-ostree-devel-2022.8-3.oe2203.aarch64.rpm b/rpm-package/rpm-ostree-devel-2022.8-3.oe2203.aarch64.rpm new file mode 100644 index 0000000000000000000000000000000000000000..6c72f08d6acc0447e1be823f1ec1619b6638c631 Binary files /dev/null and b/rpm-package/rpm-ostree-devel-2022.8-3.oe2203.aarch64.rpm differ diff --git a/rpm-package/rpm-ostree-devel-2022.8-3.oe2203.x86_64.rpm b/rpm-package/rpm-ostree-devel-2022.8-3.oe2203.x86_64.rpm new file mode 100644 index 0000000000000000000000000000000000000000..e3f3b27d293754993d52fdea5e81a95503550dfe Binary files /dev/null and b/rpm-package/rpm-ostree-devel-2022.8-3.oe2203.x86_64.rpm differ diff --git a/rpm-package/rpm-ostree-libs-2021.14-3.fc35.aarch64.rpm b/rpm-package/rpm-ostree-libs-2021.14-3.fc35.aarch64.rpm deleted file mode 100644 index 0b570927f75e0b27bf25a7d560ca2836e0413c2d..0000000000000000000000000000000000000000 Binary files a/rpm-package/rpm-ostree-libs-2021.14-3.fc35.aarch64.rpm and /dev/null differ diff --git a/rpm-package/rpm-ostree-libs-2021.14-3.fc35.x86_64.rpm b/rpm-package/rpm-ostree-libs-2021.14-3.fc35.x86_64.rpm deleted file mode 100644 index a69af5cc85d57a685ad78e595cf27ddc4c16ba44..0000000000000000000000000000000000000000 Binary files a/rpm-package/rpm-ostree-libs-2021.14-3.fc35.x86_64.rpm and /dev/null differ diff --git a/rpm-package/supermin-5.3.2-1.oe2203.aarch64.rpm b/rpm-package/supermin-5.3.2-1.oe2203.aarch64.rpm new file mode 100644 index 0000000000000000000000000000000000000000..6d1b5fa60d97f88af06b80c23cf09869b04e856e Binary files /dev/null and b/rpm-package/supermin-5.3.2-1.oe2203.aarch64.rpm differ diff --git a/rpm-package/supermin-5.3.2-1.x86_64.rpm b/rpm-package/supermin-5.3.2-1.x86_64.rpm new file mode 100755 index 0000000000000000000000000000000000000000..7e9495dbc11c3622fe79745e84ab9f94c986d9a3 Binary files /dev/null and b/rpm-package/supermin-5.3.2-1.x86_64.rpm differ diff --git a/rpm-package/supermin-devel-5.3.2-1.x86_64.rpm b/rpm-package/supermin-devel-5.3.2-1.x86_64.rpm new file mode 100755 index 0000000000000000000000000000000000000000..7d3066ab54c17a66ef7c03d1add8317467d25596 Binary files /dev/null and b/rpm-package/supermin-devel-5.3.2-1.x86_64.rpm differ diff --git a/src/cmd-push-container b/src/cmd-push-container index 99e575a0587754e62185db82e9e135f25d9d0f1d..addc40756da83c40ad9a84573d429106a2e2606a 100755 --- a/src/cmd-push-container +++ b/src/cmd-push-container @@ -19,6 +19,7 @@ parser = argparse.ArgumentParser() parser.add_argument("--authfile", help="Authentication file", action='store') parser.add_argument("name", help="destination image reference") +parser.add_argument("source", help="source depository,e.g.(docker,local-harbor,oepkg)") args = parser.parse_args() @@ -43,6 +44,15 @@ if args.authfile is not None: container_name = args.name if ":" not in container_name: container_name = f"{container_name}:{latest_build}-{arch}" -skopeoargs.extend([f"oci-archive:{ociarchive}", f"docker://{container_name}"]) + +if args.source == "docker": + skopeoargs.extend([f"oci-archive:{ociarchive}", f"docker://{container_name}"]) +if args.source == "local-harbor": + skopeoargs.extend([f"oci-archive:{ociarchive}", f"docker://local-harbor.wyl-40/{container_name}"]) + skopeoargs.extend(["--insecure-policy"]) + skopeoargs.extend(["--dest-tls-verify=false"]) +if args.source == "oepkg": + skopeoargs.extend([f"oci-archive:{ociarchive}", f"docker://hub.oepkgs.net/{container_name}"]) + print(subprocess.list2cmdline(skopeoargs)) os.execvp('skopeo', skopeoargs) diff --git a/src/cmdlib.sh b/src/cmdlib.sh index e42ad48e41959299f9996f965bff562e2513c4f2..7f382581eeb1de20844853563b68c4598a427c80 100755 --- a/src/cmdlib.sh +++ b/src/cmdlib.sh @@ -6,16 +6,8 @@ DIR=$(dirname "$(realpath "${BASH_SOURCE[0]}")") RFC3339="%Y-%m-%dT%H:%M:%SZ" # Detect what platform we are on -if grep -q '^Fedora' /etc/redhat-release; then - export ISFEDORA=1 - export ISEL='' -elif grep -q '^Red Hat' /etc/redhat-release; then - export ISFEDORA='' - export ISEL=1 -else - echo 1>&2 "should be on either RHEL or Fedora" - exit 1 -fi +export ISFEDORA=1 +export ISEL='' info() { echo "info: $*" 1>&2 diff --git a/src/deps.txt b/src/deps.txt index 58e15cc6d77f5288d0c0c83953efe97707cd6f8a..aa7ea1d283b86d722e25cade1e9769202a764593 100644 --- a/src/deps.txt +++ b/src/deps.txt @@ -44,7 +44,7 @@ podman buildah skopeo jq # For interacting with AWS/Aliyun/HTTP -awscli golang-github-aliyun-cli python3-boto3 python3-requests +python3-boto3 python3-requests # For metadata versioning python3-semver @@ -55,9 +55,6 @@ python3-tenacity # For ignition file validation in cmd-run /usr/bin/ignition-validate -# shellcheck for test -ShellCheck - # For python testing python3-flake8 python3-pytest python3-pytest-cov pylint @@ -68,14 +65,11 @@ python3-libvirt openssl # Support for Koji uploads. -krb5-libs krb5-workstation koji-utils python3-koji python3-koji-cli-plugins +krb5-libs krb5-workstation # LUKS support cryptsetup -# For communicating with RoboSignatory for signing requests -fedora-messaging - # For debugging running processes in the pipelines strace @@ -85,16 +79,20 @@ python3-jsonschema # Will be used by mantle, and eh let's include it on # general principle so people using cosa have it # automatically -coreos-installer +nestos-installer # For the ability to easily pass in a Butane config to kola butane # Support for meta.json file locking -python3-flufl-lock +#python3-flufl-lock # entrypoint uses bsdtar for automatic compression detection bsdtar # For pulling from the prod OSTree repo, e.g. during release jobs -fedora-repos-ostree +#fedora-repos-ostree + +python3-flufl.lock python3-pyyaml + +#guestfs-tools diff --git a/src/gf-get-kargs b/src/gf-get-kargs index e325e8e36722afde70b55f89a96863034e4eaf73..024ec2e02225f8df1e14a9c1256dcc365a2d52dc 100755 --- a/src/gf-get-kargs +++ b/src/gf-get-kargs @@ -21,7 +21,7 @@ fi set -x -coreos_gf_run_mount "${src}" --ro +coreos_gf_run_mount "${src}" coreos_gf glob read-file /boot/loader/entries/ostree*conf | \ sed -e '/^options/!d' -e 's/^options\s*//' diff --git a/src/gf-mksquashfs b/src/gf-mksquashfs index 07c9eb575f712b6f9859dc694d48de0cfe38d4e5..6fcc8bcf03a03e152e5e02dbef09ecd1c6d273c6 100755 --- a/src/gf-mksquashfs +++ b/src/gf-mksquashfs @@ -30,7 +30,7 @@ set -x # https://github.com/coreos/coreos-assembler/pull/394 tmpd=$(mktemp -tdp "$(dirname "${dest}")" gf-mksquashfs.XXXXXX) tmp_dest=${tmpd}/image.squashfs -coreos_gf_run_mount "${src}" --ro +coreos_gf_run_mount "${src}" # Remove the sysroot=readonly flag, see https://github.com/coreos/fedora-coreos-tracker/issues/589 coreos_gf download /ostree/repo/config "${tmpd}/config" diff --git a/src/libguestfish.sh b/src/libguestfish.sh index 82cfcf86e72723ee94c385fa71c3d6f51ae66447..a8c42dc5bbdce3a7e165aa3db8aed1a4403bfc95 100755 --- a/src/libguestfish.sh +++ b/src/libguestfish.sh @@ -22,7 +22,7 @@ coreos_gf_launch() { return fi - eval "$(guestfish --listen -a "$@")" + eval "$(guestfish --listen --format=raw -a "$@")" if [ -z "$GUESTFISH_PID" ]; then fatal "guestfish didn't start up, see error messages above" fi diff --git a/src/vmdeps-aarch64.txt b/src/vmdeps-aarch64.txt index 48025b4a8a272b1aed1424ed2ad548822ee82e73..995f40f6f9b2c4387ce309d6dadbeef47f2430d2 100644 --- a/src/vmdeps-aarch64.txt +++ b/src/vmdeps-aarch64.txt @@ -4,3 +4,7 @@ bootupd # For creating bootable UEFI media on aarch64 shim-aa64 grub2-efi-aa64 + +qemu-system-aarch64 + +edk2-aarch64 \ No newline at end of file diff --git a/src/vmdeps-x86_64.txt b/src/vmdeps-x86_64.txt index 5289937a8b57ea8575c710dc249645f7baebd4ad..2e37d1d7f29ae77f68ece5f3c6dbee5e9fbdc67c 100644 --- a/src/vmdeps-x86_64.txt +++ b/src/vmdeps-x86_64.txt @@ -7,3 +7,5 @@ shim-x64 grub2-efi-x64 # For pxe install kola testing (uses grub2-mknetdir) grub2-tools-extra + +qemu-system-x86_64 \ No newline at end of file diff --git a/src/vmdeps.txt b/src/vmdeps.txt index 6c6045840291854a497703a334ab3c60c35c34bf..b1830f9911e420220ff51fc70b26288adbe6ea85 100644 --- a/src/vmdeps.txt +++ b/src/vmdeps.txt @@ -3,10 +3,10 @@ # rpm-ostree runs (when run unprivileged) and create-disk.sh. # bare essentials -bash vim-minimal coreutils util-linux procps-ng kmod kernel-modules +bash vim-minimal coreutils util-linux procps-ng kmod # for composes -rpm-ostree distribution-gpg-keys jq +rpm-ostree jq # for clean reboot systemd