The following pull request was submitted through Github. It can be accessed and reviewed at: https://github.com/lxc/lxc-ci/pull/135
This e-mail was sent by the LXC bot, direct replies will not reach the author unless they happen to be subscribed to this list. === Description (from pull-request) === PLD (https://pld-linux.org/) LXD/LXC image. Tested with bin/build-distro script, but I'm not 100% sure about Jenkins job.
From bd1f238307b80f3ae1d5c3322132f49c10b02beb Mon Sep 17 00:00:00 2001 From: Pawel Gajda <m...@pld-linux.org> Date: Fri, 13 Mar 2020 17:18:23 +0100 Subject: [PATCH] Add PLD Linux Signed-off-by: Pawel Gajda <m...@pld-linux.org> --- images/pld.yaml | 146 ++++++++++++++++++++++++++++++++++++ jenkins/jobs/image-pld.yaml | 71 ++++++++++++++++++ 2 files changed, 217 insertions(+) create mode 100644 images/pld.yaml create mode 100644 jenkins/jobs/image-pld.yaml diff --git a/images/pld.yaml b/images/pld.yaml new file mode 100644 index 0000000..f84a944 --- /dev/null +++ b/images/pld.yaml @@ -0,0 +1,146 @@ +image: + distribution: pld + +source: + downloader: docker-http + url: pldlinux/i686:latest + +targets: + lxc: + create-message: |- + You just created a {{ image.description }} container. + config: + - type: all + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/common.conf + - type: user + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/userns.conf + - type: all + content: |- + lxc.arch = {{ image.architecture_personality }} + +packages: + custom-manager: + refresh: + cmd: poldek + flags: [ --noprogress, --up ] + install: + cmd: poldek + flags: [ --noprogress, --noask, -u ] + remove: + cmd: poldek + flags: [ --noprogress, --noask, -e ] + update: + cmd: poldek + flags: [ --noprogress, --noask, --upgrade-dist ] + clean: + cmd: poldek + flags: [ --clean ] + +actions: + - trigger: post-unpack + action: |- + #!/bin/sh + set -eux + # re-enable network initialization disabled in docker image + rm -f /var/lock/subsys/network + # disable i18n installing + sed -i '$ a%_install_langs C' /etc/rpm/macros + # no systemd here + sed -i '/^RPM_ENABLE_SYSTEMD_SERVICE=/ s/=yes/=no/' /etc/sysconfig/rpm + - trigger: post-packages + action: |- + #!/bin/sh + set -eux + + # system config + for op in RC_PROMPT RUN_DEPMOD SELINUX SET_SLINKS \ + START_UDEV EVMS_LVM_COMPAT_NODES LVM2 \ + DMRAID MDADM DM_MULTIPATH \ + VSERVER_ISOLATION_NET; do + sed -i "/^${op}=/ s/=.*/=no/" /etc/sysconfig/system + done + + for op in FASTRC VSERVER; do + sed -i "/^${op}=/ s/=.*/=yes/" /etc/sysconfig/system + done + + # disable ttys + sed -i '/^[^#].*:respawn:/ s/^/#/' /etc/inittab + # shutdown immediately + sed -i '/^pf::powerfail.*\+2/ s/\+2/now/' /etc/inittab + + # disable irrelevant sysctls + sed -i '/^kernel.sysrq/ s/^/#/' /etc/sysctl.conf + + # fix: check lsmod existence + sed -i -e '/if *\! *lsmod / i [ -x /sbin/lsmod ] || return 1' /lib/rc-scripts/functions + + # fix: loopback is initialized by lxd + sed -i -e '/^[ \t]*ip addr add 127\.0\.0\.1\/8 dev lo/ s/^/(ip addr show dev lo | grep -q 127.0.0.1) ||/' /lib/rc-scripts/functions.network + + # locale + cat << EOF >> /etc/sysconfig/i18n + LANG="C.UTF-8" + SUPPORTED_LOCALES="C.UTF-8/UTF-8" + EOF + + localedb-gen + + # uninstall needless systemd-units + rpm -q systemd-units >/dev/null && rpm -e systemd-units --nodeps --noscripts + + # cleanup + rpm -e localedb-src + rm -f /var/cache/hrmib/* + rm -f /var/lib/rpm/__db.* + +packages: + update: false + cleanup: true + sets: + - packages: + - dhcp-client + - localedb-src + - rc-scripts + - tzdata + - vim + action: install + +files: + - name: hostname + path: /etc/hostname + generator: hostname + when: create + - path: /etc/machine-id + generator: dump + when: create + - name: network + path: /etc/sysconfig/network + generator: dump + templated: true + content: |- + NETWORKING=yes + IPV4_NETWORKING=yes + IPV6_NETWORKING=no + HOSTNAME=LXC_NAME + - name: network.lxd + path: /etc/sysconfig/network + generator: template + content: |- + NETWORKING=yes + IPV4_NETWORKING=yes + IPV6_NETWORKING=no + HOSTNAME={{ container.name }} + - name: ifcfg-eth0 + path: /etc/sysconfig/interfaces/ifcfg-eth0 + generator: dump + templated: true + content: |- + DEVICE=eth0 + ONBOOT=yes + BOOTPROTO=dhcp + # static ip configuration + #BOOTPROTO=none + #IPADDR=10.1.1.10/24 diff --git a/jenkins/jobs/image-pld.yaml b/jenkins/jobs/image-pld.yaml new file mode 100644 index 0000000..5bd3e2f --- /dev/null +++ b/jenkins/jobs/image-pld.yaml @@ -0,0 +1,71 @@ +- job: + name: "image-pld" + concurrent: false + description: PLD Linux images for LXC and LXD. + node: master + project-type: matrix + + axes: + - axis: + name: architecture + type: slave + values: + - amd64 + - i386 + + - axis: + name: release + type: user-defined + values: + - current + + - axis: + name: variant + type: user-defined + values: + - default + + builders: + - shell: |- + cd /lxc-ci + LXD_ARCHITECTURE="${architecture}" + + ARCH=${architecture} + [ "${ARCH}" = "amd64" ] && ARCH="x86_64" + [ "${ARCH}" = "i386" ] && ARCH="i686" + + TYPE="container" + + exec sudo /lxc-ci/bin/build-distro /lxc-ci/images/pld.yaml \ + ${LXD_ARCHITECTURE} container 1800 ${WORKSPACE} \ + -o image.architecture=${ARCH} -o image.release=${release} \ + -o source.url="pldlinux/${ARCH}:latest" + + properties: + - build-discarder: + num-to-keep: 2 + + - raw: + !include: ../includes/webhook.yaml.inc + + publishers: + - archive: + artifacts: "*.qcow2,*.tar.xz,*.squashfs,image.yaml,serial" + only-if-success: true + + - workspace-cleanup: + fail-build: false + + - naginator: + rerun-unstable-builds: true + rerun-matrix-part: true + max-failed-builds: 3 + progressive-delay-increment: 300 + progressive-delay-maximum: 900 + + triggers: + - timed: '@daily' + + wrappers: + - ansicolor: + colormap: xterm
_______________________________________________ lxc-devel mailing list lxc-devel@lists.linuxcontainers.org http://lists.linuxcontainers.org/listinfo/lxc-devel