forked from suse-edge/Factory
Add openstack-ironic-image and fix nm-configurator
Signed-off-by: Nicolas Belouin <nicolas.belouin@suse.com>
This commit is contained in:
parent
45a2190b48
commit
440f4d1fdd
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -2,3 +2,4 @@
|
||||
*.tar.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tar.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.tar.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
|
@ -16,7 +16,7 @@
|
||||
#
|
||||
|
||||
|
||||
Name: nm-configurator-031
|
||||
Name: nm-configurator
|
||||
Version: 0.3.1
|
||||
Release: 0
|
||||
Summary: NM Configurator
|
||||
|
8
openstack-ironic-image/_constraints
Normal file
8
openstack-ironic-image/_constraints
Normal file
@ -0,0 +1,8 @@
|
||||
<constraints>
|
||||
<hardware>
|
||||
<processors>4</processors>
|
||||
<disk>
|
||||
<size unit="G">12</size>
|
||||
</disk>
|
||||
</hardware>
|
||||
</constraints>
|
105
openstack-ironic-image/config.sh
Normal file
105
openstack-ironic-image/config.sh
Normal file
@ -0,0 +1,105 @@
|
||||
#!/bin/bash
|
||||
|
||||
test -f /.kconfig && . /.kconfig
|
||||
test -f /.profile && . /.profile
|
||||
|
||||
#======================================
|
||||
# Greeting...
|
||||
#--------------------------------------
|
||||
echo "Configure image: [$kiwi_iname]..."
|
||||
|
||||
#==========================================
|
||||
# setup build day
|
||||
#------------------------------------------
|
||||
baseSetupBuildDay
|
||||
|
||||
#======================================
|
||||
# Mount system filesystems
|
||||
#--------------------------------------
|
||||
#baseMount
|
||||
|
||||
#==========================================
|
||||
# remove unneded kernel files
|
||||
#------------------------------------------
|
||||
suseStripKernel
|
||||
baseStripLocales en_US.utf-8 C.utf8
|
||||
|
||||
#======================================
|
||||
# Setup baseproduct link
|
||||
#--------------------------------------
|
||||
suseSetupProduct
|
||||
|
||||
#======================================
|
||||
# Add missing gpg keys to rpm
|
||||
#--------------------------------------
|
||||
suseImportBuildKey
|
||||
|
||||
#======================================
|
||||
# Activate services
|
||||
#--------------------------------------
|
||||
baseInsertService openstack-ironic-python-agent
|
||||
baseInsertService suse-ironic-image-setup
|
||||
baseInsertService suse-network-setup
|
||||
baseInsertService sshd
|
||||
baseInsertService NetworkManager
|
||||
#suseInsertService sshd
|
||||
#suseInsertService openstack-ironic-python-agent
|
||||
#suseInsertService suse-ironic-image-setup
|
||||
|
||||
echo 'DEFAULT_TIMEZONE="UTC"' >> /etc/sysconfig/clock
|
||||
baseUpdateSysConfig /etc/sysconfig/clock HWCLOCK "-u"
|
||||
baseUpdateSysConfig /etc/sysconfig/clock TIMEZONE UTC
|
||||
baseUpdateSysConfig /etc/sysconfig/network/dhcp DHCLIENT_SET_HOSTNAME no
|
||||
baseUpdateSysConfig /etc/sysconfig/network/dhcp WRITE_HOSTNAME_TO_HOSTS no
|
||||
|
||||
#==========================================
|
||||
# generate autologin@ service
|
||||
# based on getty@ service
|
||||
#------------------------------------------
|
||||
#sed 's/^ExecStart=.*/\0 --autologin root/' /usr/lib/systemd/system/getty@.service > /etc/systemd/system/autologin\@.service
|
||||
sed -E 's/^(ExecStart=.*\/agetty).*(--noclear.*)/\1 \2 --autologin root/' /usr/lib/systemd/system/getty@.service > /etc/systemd/system/autologin\@.service
|
||||
|
||||
#==========================================
|
||||
# add fstab entry for tmpfs based /tmp
|
||||
#------------------------------------------
|
||||
echo 'tmpfs /tmp tmpfs size=3G 0 0' >> /etc/fstab
|
||||
|
||||
#==========================================
|
||||
# remove package docs and manuals
|
||||
#------------------------------------------
|
||||
#baseStripDocs
|
||||
#baseStripMans
|
||||
#baseStripInfos
|
||||
|
||||
#======================================
|
||||
# only basic version of vim is
|
||||
# installed; no syntax highlighting
|
||||
#--------------------------------------
|
||||
sed -i -e's/^syntax on/" syntax on/' /etc/vimrc
|
||||
|
||||
#======================================
|
||||
# Remove yast if not in use
|
||||
#--------------------------------------
|
||||
#suseRemoveYaST
|
||||
|
||||
#======================================
|
||||
# Remove package manager
|
||||
#--------------------------------------
|
||||
#suseStripPackager
|
||||
|
||||
#rm -f usr/lib/perl5/*/*/auto/Encode/??/??.so # 9MB
|
||||
|
||||
#======================================
|
||||
# Umount kernel filesystems
|
||||
#--------------------------------------
|
||||
#baseCleanMount
|
||||
|
||||
ln -s /sbin/init /init
|
||||
|
||||
#==========================================
|
||||
# umount
|
||||
#------------------------------------------
|
||||
umount /proc >/dev/null 2>&1
|
||||
|
||||
exit 0
|
||||
|
173
openstack-ironic-image/openstack-ironic-image.kiwi
Normal file
173
openstack-ironic-image/openstack-ironic-image.kiwi
Normal file
@ -0,0 +1,173 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<image schemaversion="7.4" name="openstack-ironic-image-200">
|
||||
<description type="system">
|
||||
<author>Cloud developers</author>
|
||||
<contact>cloud-devel@suse.de</contact>
|
||||
<specification>kernel and ramdisk image for metal3</specification>
|
||||
</description>
|
||||
<profiles>
|
||||
<profile name="default" description="Booting default profile" import="true"/>
|
||||
</profiles>
|
||||
<preferences>
|
||||
<locale>en_US</locale>
|
||||
<packagemanager>zypper</packagemanager>
|
||||
<rpm-check-signatures>false</rpm-check-signatures>
|
||||
<timezone>UTC</timezone>
|
||||
<version>1.0.0</version>
|
||||
</preferences>
|
||||
<preferences profiles="default">
|
||||
<type image="kis" initrd_system="none" compressed="false"/>
|
||||
</preferences>
|
||||
|
||||
<users>
|
||||
<user password="*" home="/root" name="root" groups="root"/>
|
||||
</users>
|
||||
|
||||
<repository alias="build-binaries" type="rpm-md" priority="99">
|
||||
<source path="dir:///.build.binaries"/>
|
||||
</repository>
|
||||
|
||||
<drivers>
|
||||
<file name="crypto/*"/>
|
||||
<file name="drivers/acpi/*"/>
|
||||
<file name="drivers/acpi/dock.ko"/>
|
||||
<file name="drivers/ata/*"/>
|
||||
<file name="drivers/block/brd.ko"/>
|
||||
<file name="drivers/block/cciss.ko"/>
|
||||
<file name="drivers/block/loop.ko"/>
|
||||
<file name="drivers/block/virtio_blk.ko"/>
|
||||
<file name="drivers/cdrom/*"/>
|
||||
<file name="drivers/char/hw_random/virtio-rng.ko"/>
|
||||
<file name="drivers/char/lp.ko"/>
|
||||
<file name="drivers/char/ipmi/*"/>
|
||||
<file name="drivers/firmware/iscsi_ibft.ko"/>
|
||||
<file name="drivers/firmware/edd.ko"/>
|
||||
<file name="drivers/gpu/drm/*"/>
|
||||
<file name="drivers/hid/*"/>
|
||||
<file name="drivers/hv/*"/>
|
||||
<file name="drivers/hwmon/*"/>
|
||||
<file name="drivers/ide/*"/>
|
||||
<file name="drivers/input/keyboard/*"/>
|
||||
<file name="drivers/input/mouse/*"/>
|
||||
<file name="drivers/md/*"/>
|
||||
<file name="drivers/message/fusion/*"/>
|
||||
<file name="drivers/misc/hpilo.ko"/>
|
||||
<file name="drivers/net/*"/>
|
||||
<file name="drivers/parport/*"/>
|
||||
<file name="drivers/scsi/*"/>
|
||||
<file name="drivers/staging/hv/*"/>
|
||||
<file name="drivers/target/*"/>
|
||||
<file name="drivers/thermal/*"/>
|
||||
<file name="drivers/usb/*"/>
|
||||
<file name="drivers/virtio/*"/>
|
||||
<file name="fs/binfmt_aout.ko"/>
|
||||
<file name="fs/binfmt_misc.ko"/>
|
||||
<file name="fs/overlayfs/*"/>
|
||||
<file name="fs/btrfs/*"/>
|
||||
<file name="fs/exportfs/*"/>
|
||||
<file name="fs/ext4/*"/>
|
||||
<file name="fs/fat/*"/>
|
||||
<file name="fs/fuse/*"/>
|
||||
<file name="fs/hfs/*"/>
|
||||
<file name="fs/jbd2/*"/>
|
||||
<file name="fs/nfs/*"/>
|
||||
<file name="fs/mbcache.ko"/>
|
||||
<file name="fs/nls/nls_cp437.ko"/>
|
||||
<file name="fs/nls/nls_iso8859-1.ko"/>
|
||||
<file name="fs/nls/nls_utf8.ko"/>
|
||||
<file name="fs/quota_v1.ko"/>
|
||||
<file name="fs/quota_v2.ko"/>
|
||||
<file name="fs/squashfs/*"/>
|
||||
<file name="fs/udf/*"/>
|
||||
<file name="fs/vfat/*"/>
|
||||
<file name="fs/xfs/*"/>
|
||||
<file name="fs/isofs/*"/>
|
||||
<file name="lib/crc-t10dif.ko"/>
|
||||
<file name="lib/crc16.ko"/>
|
||||
<file name="lib/libcrc32c.ko"/>
|
||||
<file name="lib/zlib_deflate/zlib_deflate.ko"/>
|
||||
<file name="net/packet/*"/>
|
||||
</drivers>
|
||||
|
||||
<packages type="delete">
|
||||
<package name="gpg2"/>
|
||||
<package name="libcairo2"/>
|
||||
<package name="libpango-1_0-0"/>
|
||||
<package name="libX11-6"/>
|
||||
<package name="libXext6"/>
|
||||
<package name="libXft2"/>
|
||||
<package name="libXrender1"/>
|
||||
<package name="libX11-data"/>
|
||||
<package name="libXau6"/>
|
||||
<package name="libxcb-render0"/>
|
||||
<package name="libxcb-shm0"/>
|
||||
<package name="libxcb1"/>
|
||||
<package name="plymouth"/>
|
||||
<package name="plymouth-branding-SLE"/>
|
||||
</packages>
|
||||
|
||||
<packages type="image">
|
||||
<package name="checkmedia"/>
|
||||
<package name="plymouth-branding-SLE"/>
|
||||
<package name="plymouth-dracut"/>
|
||||
<package name="plymouth-theme-bgrt"/>
|
||||
<package name="grub2-branding-SLE"/>
|
||||
<package name="iputils"/>
|
||||
<package name="vim"/>
|
||||
<package name="grub2"/>
|
||||
<package name="grub2-x86_64-efi" arch="x86_64"/>
|
||||
<package name="grub2-i386-pc"/>
|
||||
<package name="syslinux"/>
|
||||
<package name="lvm2"/>
|
||||
<package name="plymouth"/>
|
||||
<package name="fontconfig"/>
|
||||
<package name="fonts-config"/>
|
||||
<package name="openssh"/>
|
||||
<package name="iproute2"/>
|
||||
<package name="which"/>
|
||||
<package name="kernel-firmware"/>
|
||||
<package name="kernel-default"/>
|
||||
<package name="NetworkManager"/>
|
||||
<package name="nm-configurator-031"/>
|
||||
<package name="timezone"/>
|
||||
<package name="haveged"/>
|
||||
<!-- ironic-python-agent specific -->
|
||||
<package name="openstack-ironic-python-agent"/>
|
||||
<package name="hdparm"/>
|
||||
<package name="qemu-tools"/>
|
||||
<package name="python311-proliantutils" arch="x86_64"/>
|
||||
<package name="lshw"/>
|
||||
<package name="dmidecode" arch="aarch64"/>
|
||||
<package name="dmidecode" arch="x86_64"/>
|
||||
<package name="efibootmgr" arch="aarch64" />
|
||||
<package name="efibootmgr" arch="x86_64" />
|
||||
<package name="gptfdisk"/>
|
||||
<package name="open-iscsi"/>
|
||||
<package name="hwinfo"/>
|
||||
<package name="ipmitool"/>
|
||||
<package name="iputils"/>
|
||||
<package name="lvm2"/>
|
||||
<package name="net-tools"/>
|
||||
<package name="ntp"/>
|
||||
<package name="parted"/>
|
||||
<package name="psmisc"/>
|
||||
<package name="timezone"/>
|
||||
<package name="which"/>
|
||||
<package name="kbd"/>
|
||||
</packages>
|
||||
|
||||
<packages type="kis">
|
||||
<package name="gfxboot-branding-SLE"/>
|
||||
<package name="dracut-kiwi-oem-repart"/>
|
||||
<package name="dracut-kiwi-oem-dump"/>
|
||||
</packages>
|
||||
|
||||
<packages type="bootstrap">
|
||||
<package name="glibc-locale"/>
|
||||
<package name="udev"/>
|
||||
<package name="filesystem"/>
|
||||
<package name="cracklib-dict-full"/>
|
||||
<package name="ca-certificates"/>
|
||||
<package name="sles-release"/>
|
||||
</packages>
|
||||
</image>
|
167
openstack-ironic-image/openstack-ironic-image.spec
Normal file
167
openstack-ironic-image/openstack-ironic-image.spec
Normal file
@ -0,0 +1,167 @@
|
||||
#
|
||||
# spec file for package openstack-ironic-image
|
||||
#
|
||||
# Copyright (c) 2023 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
# needsrootforbuild
|
||||
# needsbinariesforbuild
|
||||
|
||||
|
||||
Name: openstack-ironic-image
|
||||
Version: 2.0.0
|
||||
Release: 0
|
||||
Summary: Kernel and ramdisk image for OpenStack Ironic
|
||||
License: SUSE-EULA
|
||||
Group: System/Management
|
||||
URL: https://github.com/SUSE-Cloud/
|
||||
Source0: config.sh
|
||||
Source10: openstack-ironic-image.kiwi
|
||||
Source20: root.tar.bz2
|
||||
|
||||
BuildRequires: -post-build-checks
|
||||
BuildRequires: bash
|
||||
BuildRequires: kiwi
|
||||
BuildRequires: kiwi-tools
|
||||
BuildRequires: zypper
|
||||
BuildArch: noarch
|
||||
|
||||
BuildRequires: checkmedia
|
||||
BuildRequires: acl
|
||||
BuildRequires: ca-certificates
|
||||
BuildRequires: cracklib-dict-full
|
||||
BuildRequires: cron
|
||||
BuildRequires: dbus-1
|
||||
BuildRequires: elfutils
|
||||
BuildRequires: filesystem
|
||||
BuildRequires: fipscheck
|
||||
BuildRequires: fontconfig
|
||||
BuildRequires: fonts-config
|
||||
BuildRequires: gptfdisk
|
||||
BuildRequires: grub2
|
||||
BuildRequires: grub2-x86_64-efi
|
||||
BuildRequires: haveged
|
||||
BuildRequires: hdparm
|
||||
BuildRequires: hwinfo
|
||||
BuildRequires: ipmitool
|
||||
BuildRequires: iproute2
|
||||
BuildRequires: iputils
|
||||
BuildRequires: kernel-default
|
||||
BuildRequires: kernel-firmware
|
||||
BuildRequires: lvm2
|
||||
BuildRequires: net-tools
|
||||
BuildRequires: ntp
|
||||
BuildRequires: open-iscsi
|
||||
BuildRequires: openssh
|
||||
BuildRequires: openstack-ironic-python-agent
|
||||
BuildRequires: pam-config
|
||||
BuildRequires: parted
|
||||
BuildRequires: patterns-base-minimal_base
|
||||
BuildRequires: pinentry
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: Mesa-gallium
|
||||
BuildRequires: plymouth
|
||||
BuildRequires: plymouth-scripts
|
||||
BuildRequires: python311-proliantutils
|
||||
BuildRequires: psmisc
|
||||
BuildRequires: qemu-tools
|
||||
BuildRequires: sg3_utils
|
||||
BuildRequires: sles-release
|
||||
BuildRequires: sudo
|
||||
BuildRequires: suse-build-key
|
||||
BuildRequires: systemd-presets-branding-SLE
|
||||
BuildRequires: timezone
|
||||
BuildRequires: udev
|
||||
BuildRequires: vim
|
||||
BuildRequires: wpa_supplicant
|
||||
BuildRequires: dhcp-client
|
||||
BuildRequires: which
|
||||
BuildRequires: NetworkManager
|
||||
BuildRequires: nm-configurator
|
||||
BuildRequires: logrotate
|
||||
BuildRequires: plymouth-dracut
|
||||
BuildRequires: plymouth-theme-bgrt
|
||||
BuildRequires: dracut-kiwi-oem-dump
|
||||
BuildRequires: dracut-kiwi-oem-repart
|
||||
BuildRequires: gfxboot-branding-SLE
|
||||
BuildRequires: grub2-branding-SLE
|
||||
BuildRequires: open-iscsi
|
||||
BuildRequires: plymouth-branding-SLE
|
||||
BuildRequires: lshw
|
||||
BuildRequires: kbd
|
||||
%ifarch aarch64
|
||||
BuildRequires: dmidecode
|
||||
BuildRequires: efibootmgr
|
||||
%endif
|
||||
%ifarch x86_64
|
||||
BuildRequires: dmidecode
|
||||
BuildRequires: efibootmgr
|
||||
BuildRequires: syslinux
|
||||
%endif
|
||||
|
||||
%description
|
||||
Kernel and ramdisk image for use with Metal3
|
||||
|
||||
%package %{_arch}
|
||||
Summary: Kernel and ramdisk image for Metal3
|
||||
Group: System/Management
|
||||
Provides: openstack-ironic-python-agent = %{version}
|
||||
Obsoletes: openstack-ironic-python-agent < %{version}
|
||||
|
||||
%description %{_arch}
|
||||
Kernel and ramdisk image for use with Metal3
|
||||
For %{_arch}
|
||||
|
||||
%prep
|
||||
mkdir -p /tmp/openstack-ironic-image/build /tmp/openstack-ironic-image/root /tmp/openstack-ironic-image/img
|
||||
|
||||
cp -a %{SOURCE0} /tmp/openstack-ironic-image/config.sh
|
||||
|
||||
cp -a %{SOURCE10} /tmp/openstack-ironic-image/config.kiwi
|
||||
|
||||
tar -xC /tmp/openstack-ironic-image/root -f %{SOURCE20}
|
||||
|
||||
%build
|
||||
if ! which kiwi; then
|
||||
cat <<EOF >&2
|
||||
kiwi not found in \$PATH; most likely this build was missing
|
||||
the --userootforbuild option. If you are invoking osc build
|
||||
manually, please use 'make buildlocal' instead.
|
||||
EOF
|
||||
exit 1
|
||||
fi
|
||||
|
||||
kiwi-ng --debug --profile default system build --description /tmp/openstack-ironic-image --target-dir /tmp/openstack-ironic-image/img
|
||||
|
||||
%install
|
||||
TDIR=`mktemp -d /tmp/openstack-ironic-image.XXXXX`
|
||||
cd /tmp/openstack-ironic-image/img/build/image-root
|
||||
find . | cpio --create --format=newc --quiet > $TDIR/initrdtmp
|
||||
cd $TDIR
|
||||
gzip -9 -f initrdtmp
|
||||
INITRDGZ=`ls *.gz | head -1`
|
||||
gzip -cd $INITRDGZ | xz --check=crc32 -c9 > initrd.xz
|
||||
INITRD=`ls *.xz | head -1`
|
||||
|
||||
ls /tmp/openstack-ironic-image/img/openstack-ironic-image*
|
||||
KERNEL=`ls /tmp/openstack-ironic-image/img/openstack-ironic-image*default*kernel | head -1`
|
||||
|
||||
mkdir -p %{buildroot}/srv/tftpboot/openstack-ironic-image
|
||||
install -p -m 644 $KERNEL $INITRD %{buildroot}/srv/tftpboot/openstack-ironic-image/
|
||||
|
||||
%files %{_arch}
|
||||
%defattr(644,root,root)
|
||||
%dir %attr(755, root, root) /srv/tftpboot/openstack-ironic-image
|
||||
%attr(644, root, root) /srv/tftpboot/openstack-ironic-image/*
|
||||
|
||||
%changelog
|
BIN
openstack-ironic-image/root.tar.bz2
(Stored with Git LFS)
Normal file
BIN
openstack-ironic-image/root.tar.bz2
(Stored with Git LFS)
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user