Hello community, here is the log from the commit of package clustduct for openSUSE:Factory checked in at 2019-02-11 21:23:41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/clustduct (Old) and /work/SRC/openSUSE:Factory/.clustduct.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "clustduct" Mon Feb 11 21:23:41 2019 rev:2 rq:672822 version:0.0.1_alpha5 Changes: -------- --- /work/SRC/openSUSE:Factory/clustduct/clustduct.changes 2018-12-05 09:45:41.832554195 +0100 +++ /work/SRC/openSUSE:Factory/.clustduct.new.28833/clustduct.changes 2019-02-11 21:23:45.827132893 +0100 @@ -1,0 +2,6 @@ +Fri Feb 8 13:18:45 UTC 2019 - cg...@suse.com + +- Updated to alpha5 which fixes linebreak in perpare_tftp.sh + (BSC#1124812) + +------------------------------------------------------------------- Old: ---- clustduct-0.0.1_alpha4.tar.gz New: ---- clustduct-0.0.1_alpha5.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ clustduct.spec ++++++ --- /var/tmp/diff_new_pack.VklDTz/_old 2019-02-11 21:23:47.279132114 +0100 +++ /var/tmp/diff_new_pack.VklDTz/_new 2019-02-11 21:23:47.283132111 +0100 @@ -1,7 +1,7 @@ # # spec file for package clustduct # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -22,7 +22,7 @@ %bcond_with pdfdoc Name: clustduct -Version: 0.0.1_alpha4 +Version: 0.0.1_alpha5 Release: 0 Summary: Framework which connects a genders database to dnsmasq License: BSD-3-Clause @@ -35,6 +35,7 @@ BuildRequires: coreutils BuildRequires: dnsmasq BuildRequires: lua +BuildRequires: lua-genders %if %{with pdfdoc} %if 0%{?is_opensuse} BuildRequires: pandoc @@ -98,4 +99,5 @@ %{_datadir}/doc/%{name} %exclude %{_datadir}/doc/%{name}/COPYING %{_libdir}/lua + %changelog ++++++ clustduct-0.0.1_alpha4.tar.gz -> clustduct-0.0.1_alpha5.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clustduct-0.0.1_alpha4/Makefile.am new/clustduct-0.0.1_alpha5/Makefile.am --- old/clustduct-0.0.1_alpha4/Makefile.am 2018-11-29 12:20:26.000000000 +0100 +++ new/clustduct-0.0.1_alpha5/Makefile.am 2019-02-08 12:11:20.000000000 +0100 @@ -11,7 +11,7 @@ clustductconf_DATA = configs/clustduct.conf clustductdocdir = $(docdir) -clustductdoc_DATA = doc/* Usage.md COPYING Bugs.md configs/default configs/grub.cfg +clustductdoc_DATA = doc/* Usage.md Readme.md COPYING Bugs.md configs/default configs/grub.cfg #FIXME Evil hack to point to the real / #tftpdir= $(prefix)/../srv/tftpboot/pxelinux.cfg @@ -20,23 +20,23 @@ #efidir = $(prefix)/../srv/tftpboot/EFI/x86 #efi_DATA = configs/grub.cfg -kiwibasedir = $(docdir)/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS -kiwibase_DATA = kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/Dicefile \ - kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/config.sh \ - kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/config.xml +kiwibasedir = $(docdir)/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS +kiwibase_DATA = kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/Dicefile \ + kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/config.sh \ + kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/config.xml kiwirootdir = $(kiwibasedir)/root -kiwiroot_DATA = kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/root/.kiwi_grub_config.trigger +kiwiroot_DATA = kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/root/.kiwi_grub_config.trigger kiwietcdir = $(kiwirootdir)/etc -kiwietc_DATA = kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/root/etc/motd +kiwietc_DATA = kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/root/etc/motd kiwinetdir = $(kiwietcdir)/sysconfig/network -kiwinet_DATA = kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/root/etc/sysconfig/network/ifcfg-lan0 \ - kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/root/etc/sysconfig/network/dhcp +kiwinet_DATA = kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/root/etc/sysconfig/network/ifcfg-lan0 \ + kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/root/etc/sysconfig/network/dhcp kiwiudevdir = $(kiwietcdir)/udev/rules.d/ -kiwiudev_DATA = kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/root/etc/udev/rules.d/70-persistent-net.rules +kiwiudev_DATA = kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/root/etc/udev/rules.d/70-persistent-net.rules kiwisystemdir = $(kiwirootdir)/usr/lib/systemd/system/ -kiwisystem_DATA = kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/root/usr/lib/systemd/system/grub_config.service +kiwisystem_DATA = kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/root/usr/lib/systemd/system/grub_config.service diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clustduct-0.0.1_alpha4/Readme.md new/clustduct-0.0.1_alpha5/Readme.md --- old/clustduct-0.0.1_alpha4/Readme.md 1970-01-01 01:00:00.000000000 +0100 +++ new/clustduct-0.0.1_alpha5/Readme.md 2019-02-08 12:11:20.000000000 +0100 @@ -0,0 +1,131 @@ +# clustduct reference + +The deployment tool `clustduct` connects the `genders` database to the `dnsmasq` service. During initialization the files `/etc/ethers` and `/etc/hosts` are populated by `node` entries from the genders database. `clustduct` also monitors *tftp* file transfers and can so be used to deploy prebuilt images to `compute nodes`. + +## components of `clustduct` +The central component of `clustduct` is the script +`/usr/sbin/clustduct.lua` +and is called directly by `dnsmasq` at every dhcp and tftp activity of `dnsmasq`. + +Two scrips are used to create and maintain the directory and file structure for booting and installing the `compute nodes`. In order to copy the files from the `syslinux` package the shell script +``` +/usr/sbin/prepare_tftp.sh +``` +can be used. For the creation of the files used for `grub` or PXE the `lua` script +``` +/usr/sbin/write_bf.lua +``` +can be used. It can be used with following command line options + +option | description +-------|-------------------------------------------------- +-f | overwrite existing configuration files +-n NODE| create configuration only for given and not all nodes +-o DIRECTORY| base directory to write boot file to +-c DIRECTORY| search directory for configuration files + +## configuration of `clustduct` +The script +``` +/usr/sbin/clustduc.lua +``` +can be configured with the file +``` +/etc/clustduct.conf +``` +which is not parsed, but is itself a `lua` table. Following values can be used + +option | description +--------|-------------------------------------------------- +ethers | location of the ethers files, default is `/etc/ethers` +hosts | location of the hosts files, default is `/etc/hosts` +genders |location of the genders database, default is `/etc/genders` +domain | domain to which the nodes are expanded, *must* be the same as in `/etc/dnsmasq.conf` +linear_add | if *true*, nodes with unknown `mac` addresses will be added to the `genders` database +confdir | the directory where clustduct searches for template files, `/etc/clustduct.d/` is used as default + +## template files + +During the initializaton of `clustduct` or the call of `write_bf.lua` individual entries for every node is created. As templates for the menus shown at boot time, two template files are used +For the PXE boot, the file +``` +/etc/clustduct.d/pxe_iptemplate +``` +and for `grub` the file +``` +/etc/clustduct.d/grub_iptemplate +``` +is used. Following values are substituted + +value | description +------|-------------------------------------------------- +$NODE | replaced with node name +$MAC | replaced with mac address +$IP | replaced with ip address + + + +## genders database +The genders database is the single flat file located under `/etc/genders`. The format is +``` +IDENTIFICATION KEY=VALUE +``` +as *IDENTIFICATION* the name of the node or image is used. The node entry will be expanded to the FQDN. For the use of `clustduct` every node needs a single entry for every `KEY` and `VALUE` as the scripts may add and delete whole lines. An example database is shown below: + +``` +compute-01 ip=192.168.100.11 +compute-02 ip=192.168.100.12 +compute-03 ip=192.168.100.13 +compute-03 mac=aa:bb:cc:dd:ee:ff +``` + +### special node entries + +value | description +------|-------------------------------------------------- +ip | used a ip address, *must* be present for node entry +mac | used as for dhpd +install | image entry which be used as default boot for node, inferior to boot +boot | image entry for boot, takes precedence over install entry + + +### special characters + +As `genders` does not allow white spaces and other special characters, so following translation table is used + +character | character description | value in `genders` +----------|-----------------------|------------------- +' ' | whitespace | \\ws += | equals | \\eq + +### image and boot entries + +If an IDENTIFICATION in the `genders` database has KEY called 'menu' it is interpreted as a boot entry for `grub` called from (U)EFI and/or pxe network boot. Following values used for the boot entries are common for PXE and `grub`. All values which are not listed below will be ignored. + +value | description +------|-------------------------------------------------- +menu | will be expanded the label of menu +kernel | kernel which be used to boot, could also be a chainloader +append | options appended to the kernel entry +mandatory | will be added to *all* node entries +nextboot | will be used as boot entry after trigger event +trigger | download if file name will be used as trigger event + + + +#### Options for PXE boot + +value | description +------|-------------------------------------------------- +com32 | used instead of kernel, used for chainloading +initrd | used as initrd in the append entry + +#### Options for `grub` entries called from EFI + +value | description +------|-------------------------------------------------- +initrdefi | used as initrdefi +set | used as set, like timeouts ... +chainloader | the used chainloader entries +grub | value is used without directly without 'grub' + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clustduct-0.0.1_alpha4/Usage.md new/clustduct-0.0.1_alpha5/Usage.md --- old/clustduct-0.0.1_alpha4/Usage.md 2018-11-29 12:20:26.000000000 +0100 +++ new/clustduct-0.0.1_alpha5/Usage.md 2019-02-08 12:11:20.000000000 +0100 @@ -1,13 +1,13 @@ # Bare metal deployment with dnsmasq and kiwi -Currently it is not possible to deploy the HPC nodes on bare metal via any tools. This document provides initial thoughts and describes the necessary tools and steps. +Currently it is not possible to deploy the openSUSE/SUSE HPC product on bare metal without a third party tool. `clustduct` provides this possibility. ## Used software For the bare metal provisioning, we need the following software packages: - * **dnsmasq** in for dhpc, dns and tftp managment + * **dnsmasq** in for dhpc, dns and tftp management * **kiwi-ng** for creating stateful (installation on disk) and stateless installs * **genders** as central database tool and format - * **syslinux** providing the necessary pxe boot infratsructure + * **syslinux** providing the necessary pxe boot infrastructure * **clustduct** which connects dnsmasq with genders Additional purpose beyond bare metal provision may depend on following packages: @@ -42,8 +42,8 @@ ##### Note Disabling the **apparmor** profile introduces some security issues, which we are ignoring at the moment. -### Software installation with prepackaged clustduct -In the first step the repo of clustuct is added and the package is installed +### Software installation with prepackaged `clustduct` +In the first step the repository of clustuct is added and the package is installed ``` zypper ar \ https://download.opensuse.org/repositories/home:/mslacken:/prov/\ @@ -52,7 +52,7 @@ zypper in clustduct ``` ### Dnsmasq configuration -In the dnsmasq configuration file */etc/dnsmasq.conf*, the following options have to be changed: +In the dnsmasq configuration file `/etc/dnsmasq.conf`, the following options have to be changed: * the local domain: ``` @@ -71,11 +71,11 @@ ``` dhcp-boot=pxelinux.0 ``` - * connect dnsmasq the genders database via clustduct + * connect dnsmasq the genders database via `clustduct` ``` dhcp-script=/usr/sbin/clustduct.sh ``` - * enable mac managenemnt + * enable mac management ``` read-ethers ``` @@ -93,7 +93,7 @@ ### Genders databases configuration for the nodes -Now the cluster nodes have to be defined by creating a genders database for them. The genders database, a flat file in */etc/genders*, must contain for every node a new line wth the *ip*-attribute which will be used as ip address for the compute node. If the mac addresses of the hosts are known they could also be added now if not they can be set on the pxe boot menu or will be added on the node boot up. +Now the cluster nodes have to be defined by creating a genders database for them. The genders database, a flat file in `/etc/genders`, must contain for every node a new line with the *ip*-attribute which will be used as ip address for the compute node. If the mac addresses of the hosts are known they could also be added now if not they can be set on the pxe boot menu or will be added on the node boot up. ``` compute-01 ip=192.168.100.11 compute-02 ip=192.168.100.12 @@ -103,7 +103,7 @@ ``` for i in $(seq 1 20); do echo "compute-$(printf %02g $i) ip=192.168.100.$(($i+10))"; done > /etc/genders ``` -For booting the node ther must also be entries in the genders database. Boot from local disk can allowed by adding following entry to */etc/genders* +For booting the node there must also be entries in the genders database. Boot from local disk can allowed by adding following entry to `/etc/genders` ``` local menu=label\wsboot\wsfrom\wslocal\wsdisk,com32=chain.c32,append=hd0,mandatoryentry @@ -133,7 +133,7 @@ ``` git clone https://github.com/SUSE/kiwi-descriptions ``` -which are the descriptions for creating the node images. Second, archive the clustduct script which provides the connection between the **genders** database and **dnsmasq** is needed. +which are the descriptions for creating the node images. Second, archive the `clustduct` script which provides the connection between the **genders** database and **dnsmasq** is needed. ``` git clone https://github.com/mslacken/clustduct.git ``` @@ -189,7 +189,7 @@ ``` mkdir -p /srv/tftpboot/leap15/ ``` -now extract image to the direcotry with +now extract image to the directory with ``` cd /srv/tftpboot/leap15/ tar xJf /tmp/packed_image/LimeJeOS-Leap-15.0.x86_64-1.15.0.install.tar.xz @@ -285,14 +285,14 @@ - require: - pkg: genders ``` -and the defintion for the node as *srv/salt/top.sls* +and the definition for the node as *srv/salt/top.sls* ``` base: 'compute-[0-2][0-9].cluster.suse': - compute-node ``` -we also have to create the config files for *lus-lmod* with +we also have to create the configuration files for *lua-lmod* with ``` mkdir /srv/salt/shared_module cp /etc/profile.d/lmod* /srv/salt/shared_module diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clustduct-0.0.1_alpha4/doc/default.example new/clustduct-0.0.1_alpha5/doc/default.example --- old/clustduct-0.0.1_alpha4/doc/default.example 2018-11-29 12:20:26.000000000 +0100 +++ new/clustduct-0.0.1_alpha5/doc/default.example 2019-02-08 12:11:20.000000000 +0100 @@ -1,19 +1,19 @@ DEFAULT menu PROMPT 0 -MENU TITLE Hombrew pxe boot +MENU TITLE Boomenut for clustduct deployment TIMEOUT 600 TOTALTIMEOUT 6000 -ONTIMEOUT JeOS +ONTIMEOUT Clustduct + +LABEL Clustduct + MENU LABEL Clustduct cluster deployment + MENU DEFAULT + KERNEL menu.c32 + APPEND /srv/tftpboot/clustduct/menu.pxe LABEL local MENU LABEL (local) - MENU DEFAULT COM32 chain.c32 APPEND hd0 -LABEL JeOS - kernel /image/LimeJeOS-Leap-15.0.kernel - MENU LABEL liveJeOS15.0 - append initrd=/boot/initrd rd.kiwi.install.pxe \ - rd.kiwi.install.image=tftp://192.168.100.253/image/LimeJeOS-Leap-15.0.xz diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clustduct-0.0.1_alpha4/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/Dicefile new/clustduct-0.0.1_alpha5/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/Dicefile --- old/clustduct-0.0.1_alpha4/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/Dicefile 1970-01-01 01:00:00.000000000 +0100 +++ new/clustduct-0.0.1_alpha5/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/Dicefile 2019-02-08 12:11:20.000000000 +0100 @@ -0,0 +1,3 @@ +Dice.configure do |config| + config.buildhost = :DOCKER +end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clustduct-0.0.1_alpha4/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/config.sh new/clustduct-0.0.1_alpha5/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/config.sh --- old/clustduct-0.0.1_alpha4/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/config.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/clustduct-0.0.1_alpha5/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/config.sh 2019-02-08 12:11:20.000000000 +0100 @@ -0,0 +1,87 @@ +#!/bin/bash +#================ +# FILE : config.sh +#---------------- +# PROJECT : OpenSuSE KIWI Image System +# COPYRIGHT : (c) 2006 SUSE LINUX Products GmbH. All rights reserved +# : +# AUTHOR : Marcus Schaefer <m...@suse.de> +# : +# BELONGS TO : Operating System images +# : +# DESCRIPTION : configuration script for SUSE based +# : operating systems +# : +# : +# STATUS : BETA +#---------------- +#====================================== +# Functions... +#-------------------------------------- +test -f /.kconfig && . /.kconfig +test -f /.profile && . /.profile + +#====================================== +# Greeting... +#-------------------------------------- +echo "Configure image: [$kiwi_iname]..." + +#====================================== +# Mount system filesystems +#-------------------------------------- +baseMount + +#====================================== +# Setup baseproduct link +#-------------------------------------- +suseSetupProduct + +#====================================== +# Add missing gpg keys to rpm +#-------------------------------------- +suseImportBuildKey + +#====================================== +# Activate services +#-------------------------------------- +suseInsertService sshd +if [[ ${kiwi_type} =~ oem|vmx ]];then + suseInsertService grub_config +else + suseRemoveService grub_config +fi + +#====================================== +# Setup default target, multi-user +#-------------------------------------- +baseSetRunlevel 3 + +#========================================== +# remove package docs +#------------------------------------------ +rm -rf /usr/share/doc/packages/* +rm -rf /usr/share/doc/manual/* +rm -rf /opt/kde* + +#====================================== +# only basic version of vim is +# installed; no syntax highlighting +#-------------------------------------- +sed -i -e's/^syntax on/" syntax on/' /etc/vimrc + +#====================================== +# SuSEconfig +#-------------------------------------- +suseConfig + +#====================================== +# Remove yast if not in use +#-------------------------------------- +suseRemoveYaST + +#====================================== +# Umount kernel filesystems +#-------------------------------------- +baseCleanMount + +exit 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clustduct-0.0.1_alpha4/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/config.xml new/clustduct-0.0.1_alpha5/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/config.xml --- old/clustduct-0.0.1_alpha4/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/config.xml 1970-01-01 01:00:00.000000000 +0100 +++ new/clustduct-0.0.1_alpha5/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/config.xml 2019-02-08 12:11:20.000000000 +0100 @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="utf-8"?> + +<image schemaversion="6.8" name="LimeJeOS-Leap-15.0"> + <description type="system"> + <author>Marcus Schaefer</author> + <contact>m...@suse.de</contact> + <specification> + Leap 15.0 JeOS, is a small text based image + </specification> + </description> + <preferences> + <type image="iso" primary="true" flags="overlay" hybrid="true" firmware="efi" kernelcmdline="splash" hybridpersistent_filesystem="ext4" hybridpersistent="true" mediacheck="true"/> + <version>1.15.0</version> + <packagemanager>zypper</packagemanager> + <locale>en_US</locale> + <keytable>us</keytable> + <timezone>Europe/Berlin</timezone> + <rpm-excludedocs>true</rpm-excludedocs> + <rpm-check-signatures>false</rpm-check-signatures> + <bootsplash-theme>openSUSE</bootsplash-theme> + <bootloader-theme>openSUSE</bootloader-theme> + </preferences> + <preferences> + <type image="vmx" filesystem="ext4" bootloader="grub2" kernelcmdline="splash" firmware="efi"/> + <type image="oem" filesystem="ext4" initrd_system="dracut" installpxe="true" bootloader="grub2" kernelcmdline="splash" firmware="efi"> + <oemconfig> + <oem-systemsize>2048</oem-systemsize> + <oem-swap>true</oem-swap> + <oem-device-filter>/dev/ram</oem-device-filter> + <oem-multipath-scan>false</oem-multipath-scan> + <oem-unattended>true</oem-unattended> + </oemconfig> + <machine memory="512" guestOS="suse" HWversion="4"> + <vmdisk id="0" controller="ide"/> + <vmnic driver="e1000" interface="0" mode="bridged"/> + </machine> + </type> + </preferences> + <users> + <user password="$1$wYJUgpM5$RXMMeASDc035eX.NbYWFl0" home="/root" name="root" groups="root"/> + </users> + <repository type="rpm-md" alias="kiwi" priority="1"> + <source path="obs://Virtualization:Appliances:Builder/openSUSE_Leap_15.0"/> + </repository> + <repository type="rpm-md" alias="Leap_15_0" imageinclude="true"> + <source path="obs://openSUSE:Leap:15.0/standard"/> + </repository> + <packages type="image"> + <package name="checkmedia"/> + <package name="patterns-openSUSE-base"/> + <package name="plymouth-branding-openSUSE"/> + <package name="plymouth-dracut"/> + <package name="grub2-branding-openSUSE"/> + <package name="ifplugd"/> + <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="tar"/> + <package name="parted"/> + <package name="openssh"/> + <package name="iproute2"/> + <package name="less"/> + <package name="bash-completion"/> + <package name="dhcp-client"/> + <package name="which"/> + <package name="salt-minion"/> + <package name="shim"/> + <package name="kernel-default"/> + <package name="timezone"/> + </packages> + <packages type="iso"> + <package name="gfxboot-branding-openSUSE"/> + <package name="dracut-kiwi-live"/> + </packages> + <packages type="oem"> + <package name="gfxboot-branding-openSUSE"/> + <package name="dracut-kiwi-oem-repart"/> + <package name="dracut-kiwi-oem-dump"/> + </packages> + <packages type="bootstrap"> + <package name="udev"/> + <package name="filesystem"/> + <package name="glibc-locale"/> + <package name="cracklib-dict-full"/> + <package name="ca-certificates"/> + <package name="openSUSE-release"/> + </packages> +</image> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clustduct-0.0.1_alpha4/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/leap-15.0-JeOS.kiwi new/clustduct-0.0.1_alpha5/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/leap-15.0-JeOS.kiwi --- old/clustduct-0.0.1_alpha4/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/leap-15.0-JeOS.kiwi 1970-01-01 01:00:00.000000000 +0100 +++ new/clustduct-0.0.1_alpha5/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/leap-15.0-JeOS.kiwi 2019-02-11 21:23:47.335132084 +0100 @@ -0,0 +1 @@ +symbolic link to config.xml diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clustduct-0.0.1_alpha4/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/root/etc/motd new/clustduct-0.0.1_alpha5/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/root/etc/motd --- old/clustduct-0.0.1_alpha4/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/root/etc/motd 1970-01-01 01:00:00.000000000 +0100 +++ new/clustduct-0.0.1_alpha5/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/root/etc/motd 2019-02-08 12:11:20.000000000 +0100 @@ -0,0 +1,7 @@ +This is the Leap 15.0 JeOS SuSE Linux System. +To upgrade your system call: + + zypper refresh + zypper up + +Have a lot of fun... diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clustduct-0.0.1_alpha4/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/root/etc/sysconfig/network/dhcp new/clustduct-0.0.1_alpha5/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/root/etc/sysconfig/network/dhcp --- old/clustduct-0.0.1_alpha4/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/root/etc/sysconfig/network/dhcp 1970-01-01 01:00:00.000000000 +0100 +++ new/clustduct-0.0.1_alpha5/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/root/etc/sysconfig/network/dhcp 2019-02-08 12:11:20.000000000 +0100 @@ -0,0 +1,381 @@ +## Type: list(enabled,disabled,default,) +## Default: "" +# +# Default is to use the FQDN option, when the DHCLIENT_HOSTNAME_OPTION +# variable is set to a full hostname, that is, when it contains a dot. +# When DHCLIENT_HOSTNAME_OPTION is set to AUTO, short hostname from +# /etc/hostname is send via hostname option 12 (same as SLES-11). +# +DHCLIENT_FQDN_ENABLED="" + +## Type: list(both,ptr,none,) +## Default: "" +# +# Request to update A and PTR or only the PTR DNS records using the +# hostname specified in DHCLIENT_HOSTNAME_OPTION variable. +# Default is to update 'both' when hostname is set or 'none' when +# the hostname is empty and DHCLIENT_FQDN_ENABLED is set to enabled. +# +DHCLIENT_FQDN_UPDATE="" + +## Type: yesno +## Default: yes +# +# Qualify relative sub-domains/hostname in the DHCLIENT_HOSTNAME_OPTION +# variable adding a final dot ('foo.bar' -> 'foo.bar.'). +# When disabled, the DHCP server may append it's update domain to the +# hostname (e.g. 'foo.bar' -> 'foo.bar.example.net'). +# +DHCLIENT_FQDN_QUALIFY="yes" + +## Type: yesno +## Default: yes +# +# The FQDN option is encoding hostnames using canonical DNS wire format +# by default. This flag permits to enable use of the deprecated ascii +# format limited to a single label (host hostname) for compatibility +# purposes with draft implementation, which may be unsupported and cause +# that a DHCP server ignores the fqdn option request completely. +# +DHCLIENT_FQDN_ENCODE="yes" + +## Type: list(,default,none,all,dns,ntp,nis,tz,boot,smb,nds,slp,sip,log) +## Default: "" +# +# This variable permits to specify a space separated list of build-in +# facility names supported by the dhcp4 client modifying the default +# options used in requests and to update system settings (via netconfig). +# +# When empty, default settings configured in wicked-config(5) or built-in +# defaults are used. The special "default", "all", and "none" sets enable +# to request none, the built-in default set or all supported options, +# respectively. A "no-" or "-" in the front of a facility name permit to +# remove/disable it from the currently applied set, e.g. "default,-nis" +# disables request for nis options. +# More specific variables as DHCLIENT_SET_DEFAULT_ROUTE,_SET_HOSTNAME or +# the MTU option have higher precedence. +# +DHCLIENT_UPDATE="" + +## Type: list(enabled,disabled,default,) +## Default: "" +# +# Default is to use the FQDN option, when the DHCLIENT6_HOSTNAME_OPTION +# variable provides a hostname. +# When DHCLIENT6_HOSTNAME_OPTION is set to AUTO, short hostname from the +# /etc/hostname file is send (same to SLES-11). +# +DHCLIENT6_FQDN_ENABLED="" + +## Type: list(both,ptr,none,) +## Default: "" +# +# Request to update AAAA and PTR or only the PTR DNS records using the +# hostname specified in DHCLIENT6_HOSTNAME_OPTION variable. +# Default is to update \fIboth\fR when hostname is given or \fInone\fR +# when hostname is empty and DHCLIENT6_FQDN_ENABLED is set to enabled. +# +DHCLIENT6_FQDN_UPDATE="" + +## Type: yesno +## Default: yes +# +# Qualify relative sub-domains/hostname in the DHCLIENT6_HOSTNAME_OPTION +# variable adding a final dot ('foo.bar' -> 'foo.bar.'). +# When disabled, the DHCP server may append it's update domain to the +# hostname (e.g. 'foo.bar' -> 'foo.bar.example.net'). +# +DHCLIENT6_FQDN_QUALIFY="yes" + +## Type: list(,default,none,all,dns,ntp,tz,boot,nis,sip) +## Default: "" +# +# This variable permits to specify a space separated list of build-in +# facility names supported by the dhcp6 client modifying the default +# options used in requests and to update system settings (via netconfig). +# +# When empty, default settings configured in wicked-config(5) or built-in +# defaults are used. The special "default", "all", and "none" sets enable +# to request none, the built-in default set or all supported options, +# respectively. A "no-" or "-" in the front of a facility name permit to +# remove/disable it from the currently applied set, e.g. "default,-nis" +# disables request for nis options. +# The more specific variable DHCLIENT6_SET_HOSTNAME has higher precedence. +# +DHCLIENT6_UPDATE="" +## Path: Network/DHCP/DHCP client +## Description: DHCPv4 client configuration variables +# +# Note: +# To configure one or more interfaces for DHCP configuration, you have to +# change the BOOTPROTO variable in /etc/sysconfig/network/ifcfg-<interface> +# to 'dhcp' (and possibly set STARTMODE='onboot'). +# +# Most of the options can and should be overridden by per-interface +# settings in the ifcfg-* files. +# +# Note: NetworkManager is not using any sysconfig settings. +# + +## Type: yesno +## Default: no +# +# Should the DHCPv4 client set the hostname? (yes|no) +# +# When it is likely that this would occur during a running X session, +# your DISPLAY variable could be screwed up and you won't be able to open +# new windows anymore, then this should be "no". +# +# If it happens during booting it won't be a problem and you can +# safely say "yes" here. For a roaming notebook with X kept running, "no" +# makes more sense. +# +DHCLIENT_SET_HOSTNAME="yes" + +## Type: string +## Default: AUTO +# +# Specifies the hostname option field when DHCPv4 client sends messages. +# Some DHCP servers will update nameserver entries (dynamic DNS) to it. +# Also, some DHCP servers, notably those used by @Home Networks, require +# the hostname option field containing a specific string in the DHCP +# messages from clients. +# +# When set to "AUTO", the current hostname from /etc/hostname is sent. +# Use this variable to override it with another hostname, or leave it +# empty to not send any hostname. +# +DHCLIENT_HOSTNAME_OPTION="AUTO" + +## Type: yesno +## Default: yes +# +# Should the DHCP client set a default route (default Gateway) (yes|no) +# +# When multiple copies of dhcp client run, it would make sense that only +# one of them does it. +# +DHCLIENT_SET_DEFAULT_ROUTE="yes" + +## Type: integer +## Default: "0" +# +# This option allows to set a metrics/priority for DHCPv4 routes. +# +DHCLIENT_ROUTE_PRIORITY="0" + +## Type: string +## Default: "" +# +# specify a client ID +# +# Specifies a client identifier string. By default an id derived from the +# hardware address of the network interface is sent as client identifier. +# +DHCLIENT_CLIENT_ID="" + +## Type: string +## Default: "" +# +# Specifies the vendor class identifier string. The default is dhcp client +# specific. +# +DHCLIENT_VENDOR_CLASS_ID="" + +## Type: list<rfc3004,string> +## Default: string +# +# Specifies the format of the DHCLIENT_USER_CLASS_ID variable. +# +# The DHCPv4 option and it's format is specified by RFC3004 as an array +# of class identifiers, but most DHCP clients/servers aren't compliant +# with the specification and send/expect a single string without proper +# RFC3004 length-value tuple format instead. +# +# When set to "rfc3004" DHCLIENT_USER_CLASS_ID[SUFFIX] permit an RFC +# compliant array, otherwise DHCLIENT_USER_CLASS_ID is used as string. +# +DHCLIENT_USER_CLASS_FORMAT="" + +## Type: string +## Default: "" +## Suffix: yes +# +# Specifies the user class identifier (array) to send in dhcp requests. +# The DHCLIENT_USER_CLASS_FORMAT variable specified how to interpret it. +# +DHCLIENT_USER_CLASS_ID="" + +## Type: integer +## Default: "" +# +# Specifies the lease time (in seconds), that is suggested to the +# server. Default is to use the lease time offered by the server. +# +DHCLIENT_LEASE_TIME="" + +## Type: yesno +## Default: yes +# +# This setting controls whether dhcp client should try to use DHCP settings +# provided in its last lease when the dhcp-server is not reachable and +# the lease hasn't expired yet. +# Set this variable to "no" to disable the fallback to the last lease. +# +DHCLIENT_USE_LAST_LEASE="yes" + +## Type: yesno +## Default: no +# +# Send a DHCPRELEASE to the server (sign off the address)? (yes|no) +# This may lead to getting a different address/hostname next time an address +# is requested. But some servers require it. +# +DHCLIENT_RELEASE_BEFORE_QUIT="no" + +## Type: integer +## Default: 0 +# +# Some interfaces need time to initialize and/or do not report correct status. +# Add the latency time in seconds so these can be handled properly. Should +# probably set per interface rather than here. +# This setting causes a sleep time before dhcp clients are started regardless +# of the link status. +# +# Note: RFC 2131 specifies, that the dhcp client should wait a random time +# between one and ten seconds to desynchronize the use of DHCP at startup. +# We do not use this initial delay to not slow down start/boot time. +# +DHCLIENT_SLEEP="0" + +## Type: integer +## Default: 15 +# +# The DHCPv4 client will try to get a lease for DHCLIENT_WAIT_AT_BOOT seconds, +# then inform ifup waiting for it, that it continues in background. +# When you increase this time, increase also the WAIT_FOR_INTERFACES variable +# e.g. to a value twice as high as the time specified here. +# +DHCLIENT_WAIT_AT_BOOT="15" + +## Type: integer +## Default: "0" +# +# The DHCPv4 client will stop processing / fail after this time when it does +# not get a reply from the dhcp server. Before you set this variable, take a +# look at DHCLIENT_WAIT_AT_BOOT allowing to continue in background instead. +# +DHCLIENT_TIMEOUT="0" + +## Path: Network/DHCP/DHCPv6 client +## Description: Global DHCPv6 client configuration + +## Type: list(auto,managed,info) +## Default: auto +# +# This option allows to specify the request mode used by the DHCPv6 +# client when the BOOTPROTO is set to dhcp or dhcp6, and overrides +# the "Managed Address Configuration" and the "Other Configuration" +# flags provided by the IPv6 router its Router Advertisement (RA) +# for the network connected to this interface. +# +# auto: follow RA flags, remain silent when no RA flag is set +# info: request other configuration (dns,ntp) only, no IP address +# managed: request IP address as well as other configuration +# +DHCLIENT6_MODE="auto" + +## Type: yesno +### Default: yes +# +# This option allows the DHCPv6 client to indicate its desire to accept +# rapid commit leases using two-packet exchange (solicitation, lease ack) +# instead of the four packet (solicitation, offer, request, lease ack). +# +DHCLIENT6_RAPID_COMMIT="yes" + +## Type: yesno +## Default: no +# +# Should the DHCPv6 client set the hostname? (yes|no) +# +# When it is likely that this would occur during a running X session, +# your DISPLAY variable could be screwed up and you won't be able to +# open new windows anymore, then this should be "no". +# +# If it happens during booting it won't be a problem and you can +# safely say "yes" here. For a roaming notebook with X kept running, +# "no" makes more sense. +# +DHCLIENT6_SET_HOSTNAME="no" + +## Type: string +### Default: AUTO +# +# Specifies the hostname option field when DHCPv6 client sends messages. +# Some DHCP servers will update nameserver entries (dynamic DNS) to it. +# +# When set to "AUTO", the current hostname from /etc/hostname is sent. +# Use this variable to override it with another hostname, or leave it +# empty to not send any hostname. +# +DHCLIENT6_HOSTNAME_OPTION="AUTO" + +## Type: integer +### Default: "" +# +# Specifies the preferred lifetime (in seconds) used as T1/renewal +# (1/2 of it) and T1/rebind (4/5 of it) in DHCPv6 IA NA requests. +# +# Default is to not propose anything but use the times as offered +# by the DHCPv6 server. +# +DHCLIENT6_LEASE_TIME="" + +## Type: yesno +## Default: yes +# +# This setting controls whether DHCPv6 client should try to use settings +# provided in its last lease when the DHCPv6-server is not reachable and +# the lease hasn't expired yet. +# Set this variable to "no" to disable the fallback to the last lease. +# +DHCLIENT6_USE_LAST_LEASE="yes" + +## Type: yesno +## Default: no +# +# Send a DHCPv6 RELEASE to the server (sign off the address)? (yes|no) +# This may lead to getting a different address/hostname next time an address +# is requested. But some servers require it. +# +DHCLIENT6_RELEASE_BEFORE_QUIT="no" + +## Type: integer +## Default: 0 +# +# Some interfaces need time to initialize and/or do not report correct status. +# By default, DHCPv6 waits until the link-local address (fe80::) is available +# and then ~1 second as specified by RFC3315. +# This setting allows override to use a non-standsrd initial delay. +# +DHCLIENT6_SLEEP="0" + +## Type: integer +## Default: 15 +# +# The DHCPv6 client will try to get a lease for DHCLIENT6_WAIT_AT_BOOT seconds, +# then inform ifup waiting for it, that it continues in background. +# When you increase this time, increase also the WAIT_FOR_INTERFACES variable +# e.g. to a value twice as high as the time specified here. +# +DHCLIENT6_WAIT_AT_BOOT="15" + +## Type: integer +## Default: "0" +# +# The dhcpv6 client will stop processing / fail after this time when it does +# not get a reply from the dhcp server. Before you set this variable, take a +# look at DHCLIENT6_WAIT_AT_BOOT allowing to continue in background instead. +# +DHCLIENT6_TIMEOUT="0" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clustduct-0.0.1_alpha4/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/root/etc/sysconfig/network/ifcfg-lan0 new/clustduct-0.0.1_alpha5/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/root/etc/sysconfig/network/ifcfg-lan0 --- old/clustduct-0.0.1_alpha4/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/root/etc/sysconfig/network/ifcfg-lan0 1970-01-01 01:00:00.000000000 +0100 +++ new/clustduct-0.0.1_alpha5/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/root/etc/sysconfig/network/ifcfg-lan0 2019-02-08 12:11:20.000000000 +0100 @@ -0,0 +1,4 @@ +BOOTPROTO='dhcp' +MTU='' +REMOTE_IPADDR='' +STARTMODE='onboot' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clustduct-0.0.1_alpha4/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/root/etc/udev/rules.d/70-persistent-net.rules new/clustduct-0.0.1_alpha5/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/root/etc/udev/rules.d/70-persistent-net.rules --- old/clustduct-0.0.1_alpha4/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/root/etc/udev/rules.d/70-persistent-net.rules 1970-01-01 01:00:00.000000000 +0100 +++ new/clustduct-0.0.1_alpha5/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/root/etc/udev/rules.d/70-persistent-net.rules 2019-02-08 12:11:20.000000000 +0100 @@ -0,0 +1 @@ +SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="?*", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="?*", NAME="lan0" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clustduct-0.0.1_alpha4/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/root/usr/lib/systemd/system/grub_config.service new/clustduct-0.0.1_alpha5/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/root/usr/lib/systemd/system/grub_config.service --- old/clustduct-0.0.1_alpha4/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/root/usr/lib/systemd/system/grub_config.service 1970-01-01 01:00:00.000000000 +0100 +++ new/clustduct-0.0.1_alpha5/kiwi-descriptions/openSUSE/x86_64/suse-leap-15.0-JeOS/root/usr/lib/systemd/system/grub_config.service 2019-02-08 12:11:20.000000000 +0100 @@ -0,0 +1,11 @@ +[Unit] +Description=Rebuild grub config from distro toolkit +ConditionPathExists=/.kiwi_grub_config.trigger + +[Service] +Type=oneshot +ExecStart=/bin/bash -c 'grub2-mkconfig -o /boot/grub2/grub.cfg' +ExecStartPost=/bin/bash -c 'rm -f /.kiwi_grub_config.trigger' + +[Install] +WantedBy=multi-user.target diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clustduct-0.0.1_alpha4/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/Dicefile new/clustduct-0.0.1_alpha5/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/Dicefile --- old/clustduct-0.0.1_alpha4/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/Dicefile 2018-11-29 12:20:26.000000000 +0100 +++ new/clustduct-0.0.1_alpha5/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/Dicefile 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -Dice.configure do |config| - config.buildhost = :DOCKER -end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clustduct-0.0.1_alpha4/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/config.sh new/clustduct-0.0.1_alpha5/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/config.sh --- old/clustduct-0.0.1_alpha4/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/config.sh 2018-11-29 12:20:26.000000000 +0100 +++ new/clustduct-0.0.1_alpha5/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/config.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,87 +0,0 @@ -#!/bin/bash -#================ -# FILE : config.sh -#---------------- -# PROJECT : OpenSuSE KIWI Image System -# COPYRIGHT : (c) 2006 SUSE LINUX Products GmbH. All rights reserved -# : -# AUTHOR : Marcus Schaefer <m...@suse.de> -# : -# BELONGS TO : Operating System images -# : -# DESCRIPTION : configuration script for SUSE based -# : operating systems -# : -# : -# STATUS : BETA -#---------------- -#====================================== -# Functions... -#-------------------------------------- -test -f /.kconfig && . /.kconfig -test -f /.profile && . /.profile - -#====================================== -# Greeting... -#-------------------------------------- -echo "Configure image: [$kiwi_iname]..." - -#====================================== -# Mount system filesystems -#-------------------------------------- -baseMount - -#====================================== -# Setup baseproduct link -#-------------------------------------- -suseSetupProduct - -#====================================== -# Add missing gpg keys to rpm -#-------------------------------------- -suseImportBuildKey - -#====================================== -# Activate services -#-------------------------------------- -suseInsertService sshd -if [[ ${kiwi_type} =~ oem|vmx ]];then - suseInsertService grub_config -else - suseRemoveService grub_config -fi - -#====================================== -# Setup default target, multi-user -#-------------------------------------- -baseSetRunlevel 3 - -#========================================== -# remove package docs -#------------------------------------------ -rm -rf /usr/share/doc/packages/* -rm -rf /usr/share/doc/manual/* -rm -rf /opt/kde* - -#====================================== -# only basic version of vim is -# installed; no syntax highlighting -#-------------------------------------- -sed -i -e's/^syntax on/" syntax on/' /etc/vimrc - -#====================================== -# SuSEconfig -#-------------------------------------- -suseConfig - -#====================================== -# Remove yast if not in use -#-------------------------------------- -suseRemoveYaST - -#====================================== -# Umount kernel filesystems -#-------------------------------------- -baseCleanMount - -exit 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clustduct-0.0.1_alpha4/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/config.xml new/clustduct-0.0.1_alpha5/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/config.xml --- old/clustduct-0.0.1_alpha4/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/config.xml 2018-11-29 12:20:26.000000000 +0100 +++ new/clustduct-0.0.1_alpha5/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/config.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,95 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<image schemaversion="6.8" name="LimeJeOS-Leap-15.0"> - <description type="system"> - <author>Marcus Schaefer</author> - <contact>m...@suse.de</contact> - <specification> - Leap 15.0 JeOS, is a small text based image - </specification> - </description> - <preferences> - <type image="iso" primary="true" flags="overlay" hybrid="true" firmware="efi" kernelcmdline="splash" hybridpersistent_filesystem="ext4" hybridpersistent="true" mediacheck="true"/> - <version>1.15.0</version> - <packagemanager>zypper</packagemanager> - <locale>en_US</locale> - <keytable>us</keytable> - <timezone>Europe/Berlin</timezone> - <rpm-excludedocs>true</rpm-excludedocs> - <rpm-check-signatures>false</rpm-check-signatures> - <bootsplash-theme>openSUSE</bootsplash-theme> - <bootloader-theme>openSUSE</bootloader-theme> - </preferences> - <preferences> - <type image="vmx" filesystem="ext4" bootloader="grub2" kernelcmdline="splash" firmware="efi"/> - <type image="oem" filesystem="ext4" initrd_system="dracut" installpxe="true" bootloader="grub2" kernelcmdline="splash" firmware="efi"> - <oemconfig> - <oem-systemsize>2048</oem-systemsize> - <oem-swap>true</oem-swap> - <oem-device-filter>/dev/ram</oem-device-filter> - <oem-multipath-scan>false</oem-multipath-scan> - <oem-unattended>true</oem-unattended> - </oemconfig> - <machine memory="512" guestOS="suse" HWversion="4"> - <vmdisk id="0" controller="ide"/> - <vmnic driver="e1000" interface="0" mode="bridged"/> - </machine> - </type> - </preferences> - <users> - <user password="$1$wYJUgpM5$RXMMeASDc035eX.NbYWFl0" home="/root" name="root" groups="root"/> - </users> - <repository type="rpm-md" alias="kiwi" priority="1"> - <source path="obs://Virtualization:Appliances:Builder/openSUSE_Leap_15.0"/> - </repository> - <repository type="rpm-md" alias="Leap_15_0" imageinclude="true"> - <source path="obs://openSUSE:Leap:15.0/standard"/> - </repository> - <packages type="image"> - <package name="checkmedia"/> - <package name="patterns-openSUSE-base"/> - <package name="plymouth-branding-openSUSE"/> - <package name="plymouth-dracut"/> - <package name="grub2-branding-openSUSE"/> - <package name="ifplugd"/> - <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="tar"/> - <package name="parted"/> - <package name="openssh"/> - <package name="iproute2"/> - <package name="less"/> - <package name="bash-completion"/> - <package name="dhcp-client"/> - <package name="which"/> - <package name="salt-minion"/> - <package name="shim"/> - <package name="kernel-default"/> - <package name="timezone"/> - </packages> - <packages type="iso"> - <package name="gfxboot-branding-openSUSE"/> - <package name="dracut-kiwi-live"/> - </packages> - <packages type="oem"> - <package name="gfxboot-branding-openSUSE"/> - <package name="dracut-kiwi-oem-repart"/> - <package name="dracut-kiwi-oem-dump"/> - </packages> - <packages type="bootstrap"> - <package name="udev"/> - <package name="filesystem"/> - <package name="glibc-locale"/> - <package name="cracklib-dict-full"/> - <package name="ca-certificates"/> - <package name="openSUSE-release"/> - </packages> -</image> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clustduct-0.0.1_alpha4/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/leap-15.0-JeOS.kiwi new/clustduct-0.0.1_alpha5/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/leap-15.0-JeOS.kiwi --- old/clustduct-0.0.1_alpha4/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/leap-15.0-JeOS.kiwi 2019-02-11 21:23:47.331132085 +0100 +++ new/clustduct-0.0.1_alpha5/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/leap-15.0-JeOS.kiwi 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -symbolic link to config.xml diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clustduct-0.0.1_alpha4/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/root/etc/motd new/clustduct-0.0.1_alpha5/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/root/etc/motd --- old/clustduct-0.0.1_alpha4/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/root/etc/motd 2018-11-29 12:20:26.000000000 +0100 +++ new/clustduct-0.0.1_alpha5/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/root/etc/motd 1970-01-01 01:00:00.000000000 +0100 @@ -1,7 +0,0 @@ -This is the Leap 15.0 JeOS SuSE Linux System. -To upgrade your system call: - - zypper refresh - zypper up - -Have a lot of fun... diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clustduct-0.0.1_alpha4/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/root/etc/sysconfig/network/dhcp new/clustduct-0.0.1_alpha5/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/root/etc/sysconfig/network/dhcp --- old/clustduct-0.0.1_alpha4/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/root/etc/sysconfig/network/dhcp 2018-11-29 12:20:26.000000000 +0100 +++ new/clustduct-0.0.1_alpha5/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/root/etc/sysconfig/network/dhcp 1970-01-01 01:00:00.000000000 +0100 @@ -1,381 +0,0 @@ -## Type: list(enabled,disabled,default,) -## Default: "" -# -# Default is to use the FQDN option, when the DHCLIENT_HOSTNAME_OPTION -# variable is set to a full hostname, that is, when it contains a dot. -# When DHCLIENT_HOSTNAME_OPTION is set to AUTO, short hostname from -# /etc/hostname is send via hostname option 12 (same as SLES-11). -# -DHCLIENT_FQDN_ENABLED="" - -## Type: list(both,ptr,none,) -## Default: "" -# -# Request to update A and PTR or only the PTR DNS records using the -# hostname specified in DHCLIENT_HOSTNAME_OPTION variable. -# Default is to update 'both' when hostname is set or 'none' when -# the hostname is empty and DHCLIENT_FQDN_ENABLED is set to enabled. -# -DHCLIENT_FQDN_UPDATE="" - -## Type: yesno -## Default: yes -# -# Qualify relative sub-domains/hostname in the DHCLIENT_HOSTNAME_OPTION -# variable adding a final dot ('foo.bar' -> 'foo.bar.'). -# When disabled, the DHCP server may append it's update domain to the -# hostname (e.g. 'foo.bar' -> 'foo.bar.example.net'). -# -DHCLIENT_FQDN_QUALIFY="yes" - -## Type: yesno -## Default: yes -# -# The FQDN option is encoding hostnames using canonical DNS wire format -# by default. This flag permits to enable use of the deprecated ascii -# format limited to a single label (host hostname) for compatibility -# purposes with draft implementation, which may be unsupported and cause -# that a DHCP server ignores the fqdn option request completely. -# -DHCLIENT_FQDN_ENCODE="yes" - -## Type: list(,default,none,all,dns,ntp,nis,tz,boot,smb,nds,slp,sip,log) -## Default: "" -# -# This variable permits to specify a space separated list of build-in -# facility names supported by the dhcp4 client modifying the default -# options used in requests and to update system settings (via netconfig). -# -# When empty, default settings configured in wicked-config(5) or built-in -# defaults are used. The special "default", "all", and "none" sets enable -# to request none, the built-in default set or all supported options, -# respectively. A "no-" or "-" in the front of a facility name permit to -# remove/disable it from the currently applied set, e.g. "default,-nis" -# disables request for nis options. -# More specific variables as DHCLIENT_SET_DEFAULT_ROUTE,_SET_HOSTNAME or -# the MTU option have higher precedence. -# -DHCLIENT_UPDATE="" - -## Type: list(enabled,disabled,default,) -## Default: "" -# -# Default is to use the FQDN option, when the DHCLIENT6_HOSTNAME_OPTION -# variable provides a hostname. -# When DHCLIENT6_HOSTNAME_OPTION is set to AUTO, short hostname from the -# /etc/hostname file is send (same to SLES-11). -# -DHCLIENT6_FQDN_ENABLED="" - -## Type: list(both,ptr,none,) -## Default: "" -# -# Request to update AAAA and PTR or only the PTR DNS records using the -# hostname specified in DHCLIENT6_HOSTNAME_OPTION variable. -# Default is to update \fIboth\fR when hostname is given or \fInone\fR -# when hostname is empty and DHCLIENT6_FQDN_ENABLED is set to enabled. -# -DHCLIENT6_FQDN_UPDATE="" - -## Type: yesno -## Default: yes -# -# Qualify relative sub-domains/hostname in the DHCLIENT6_HOSTNAME_OPTION -# variable adding a final dot ('foo.bar' -> 'foo.bar.'). -# When disabled, the DHCP server may append it's update domain to the -# hostname (e.g. 'foo.bar' -> 'foo.bar.example.net'). -# -DHCLIENT6_FQDN_QUALIFY="yes" - -## Type: list(,default,none,all,dns,ntp,tz,boot,nis,sip) -## Default: "" -# -# This variable permits to specify a space separated list of build-in -# facility names supported by the dhcp6 client modifying the default -# options used in requests and to update system settings (via netconfig). -# -# When empty, default settings configured in wicked-config(5) or built-in -# defaults are used. The special "default", "all", and "none" sets enable -# to request none, the built-in default set or all supported options, -# respectively. A "no-" or "-" in the front of a facility name permit to -# remove/disable it from the currently applied set, e.g. "default,-nis" -# disables request for nis options. -# The more specific variable DHCLIENT6_SET_HOSTNAME has higher precedence. -# -DHCLIENT6_UPDATE="" -## Path: Network/DHCP/DHCP client -## Description: DHCPv4 client configuration variables -# -# Note: -# To configure one or more interfaces for DHCP configuration, you have to -# change the BOOTPROTO variable in /etc/sysconfig/network/ifcfg-<interface> -# to 'dhcp' (and possibly set STARTMODE='onboot'). -# -# Most of the options can and should be overridden by per-interface -# settings in the ifcfg-* files. -# -# Note: NetworkManager is not using any sysconfig settings. -# - -## Type: yesno -## Default: no -# -# Should the DHCPv4 client set the hostname? (yes|no) -# -# When it is likely that this would occur during a running X session, -# your DISPLAY variable could be screwed up and you won't be able to open -# new windows anymore, then this should be "no". -# -# If it happens during booting it won't be a problem and you can -# safely say "yes" here. For a roaming notebook with X kept running, "no" -# makes more sense. -# -DHCLIENT_SET_HOSTNAME="yes" - -## Type: string -## Default: AUTO -# -# Specifies the hostname option field when DHCPv4 client sends messages. -# Some DHCP servers will update nameserver entries (dynamic DNS) to it. -# Also, some DHCP servers, notably those used by @Home Networks, require -# the hostname option field containing a specific string in the DHCP -# messages from clients. -# -# When set to "AUTO", the current hostname from /etc/hostname is sent. -# Use this variable to override it with another hostname, or leave it -# empty to not send any hostname. -# -DHCLIENT_HOSTNAME_OPTION="AUTO" - -## Type: yesno -## Default: yes -# -# Should the DHCP client set a default route (default Gateway) (yes|no) -# -# When multiple copies of dhcp client run, it would make sense that only -# one of them does it. -# -DHCLIENT_SET_DEFAULT_ROUTE="yes" - -## Type: integer -## Default: "0" -# -# This option allows to set a metrics/priority for DHCPv4 routes. -# -DHCLIENT_ROUTE_PRIORITY="0" - -## Type: string -## Default: "" -# -# specify a client ID -# -# Specifies a client identifier string. By default an id derived from the -# hardware address of the network interface is sent as client identifier. -# -DHCLIENT_CLIENT_ID="" - -## Type: string -## Default: "" -# -# Specifies the vendor class identifier string. The default is dhcp client -# specific. -# -DHCLIENT_VENDOR_CLASS_ID="" - -## Type: list<rfc3004,string> -## Default: string -# -# Specifies the format of the DHCLIENT_USER_CLASS_ID variable. -# -# The DHCPv4 option and it's format is specified by RFC3004 as an array -# of class identifiers, but most DHCP clients/servers aren't compliant -# with the specification and send/expect a single string without proper -# RFC3004 length-value tuple format instead. -# -# When set to "rfc3004" DHCLIENT_USER_CLASS_ID[SUFFIX] permit an RFC -# compliant array, otherwise DHCLIENT_USER_CLASS_ID is used as string. -# -DHCLIENT_USER_CLASS_FORMAT="" - -## Type: string -## Default: "" -## Suffix: yes -# -# Specifies the user class identifier (array) to send in dhcp requests. -# The DHCLIENT_USER_CLASS_FORMAT variable specified how to interpret it. -# -DHCLIENT_USER_CLASS_ID="" - -## Type: integer -## Default: "" -# -# Specifies the lease time (in seconds), that is suggested to the -# server. Default is to use the lease time offered by the server. -# -DHCLIENT_LEASE_TIME="" - -## Type: yesno -## Default: yes -# -# This setting controls whether dhcp client should try to use DHCP settings -# provided in its last lease when the dhcp-server is not reachable and -# the lease hasn't expired yet. -# Set this variable to "no" to disable the fallback to the last lease. -# -DHCLIENT_USE_LAST_LEASE="yes" - -## Type: yesno -## Default: no -# -# Send a DHCPRELEASE to the server (sign off the address)? (yes|no) -# This may lead to getting a different address/hostname next time an address -# is requested. But some servers require it. -# -DHCLIENT_RELEASE_BEFORE_QUIT="no" - -## Type: integer -## Default: 0 -# -# Some interfaces need time to initialize and/or do not report correct status. -# Add the latency time in seconds so these can be handled properly. Should -# probably set per interface rather than here. -# This setting causes a sleep time before dhcp clients are started regardless -# of the link status. -# -# Note: RFC 2131 specifies, that the dhcp client should wait a random time -# between one and ten seconds to desynchronize the use of DHCP at startup. -# We do not use this initial delay to not slow down start/boot time. -# -DHCLIENT_SLEEP="0" - -## Type: integer -## Default: 15 -# -# The DHCPv4 client will try to get a lease for DHCLIENT_WAIT_AT_BOOT seconds, -# then inform ifup waiting for it, that it continues in background. -# When you increase this time, increase also the WAIT_FOR_INTERFACES variable -# e.g. to a value twice as high as the time specified here. -# -DHCLIENT_WAIT_AT_BOOT="15" - -## Type: integer -## Default: "0" -# -# The DHCPv4 client will stop processing / fail after this time when it does -# not get a reply from the dhcp server. Before you set this variable, take a -# look at DHCLIENT_WAIT_AT_BOOT allowing to continue in background instead. -# -DHCLIENT_TIMEOUT="0" - -## Path: Network/DHCP/DHCPv6 client -## Description: Global DHCPv6 client configuration - -## Type: list(auto,managed,info) -## Default: auto -# -# This option allows to specify the request mode used by the DHCPv6 -# client when the BOOTPROTO is set to dhcp or dhcp6, and overrides -# the "Managed Address Configuration" and the "Other Configuration" -# flags provided by the IPv6 router its Router Advertisement (RA) -# for the network connected to this interface. -# -# auto: follow RA flags, remain silent when no RA flag is set -# info: request other configuration (dns,ntp) only, no IP address -# managed: request IP address as well as other configuration -# -DHCLIENT6_MODE="auto" - -## Type: yesno -### Default: yes -# -# This option allows the DHCPv6 client to indicate its desire to accept -# rapid commit leases using two-packet exchange (solicitation, lease ack) -# instead of the four packet (solicitation, offer, request, lease ack). -# -DHCLIENT6_RAPID_COMMIT="yes" - -## Type: yesno -## Default: no -# -# Should the DHCPv6 client set the hostname? (yes|no) -# -# When it is likely that this would occur during a running X session, -# your DISPLAY variable could be screwed up and you won't be able to -# open new windows anymore, then this should be "no". -# -# If it happens during booting it won't be a problem and you can -# safely say "yes" here. For a roaming notebook with X kept running, -# "no" makes more sense. -# -DHCLIENT6_SET_HOSTNAME="no" - -## Type: string -### Default: AUTO -# -# Specifies the hostname option field when DHCPv6 client sends messages. -# Some DHCP servers will update nameserver entries (dynamic DNS) to it. -# -# When set to "AUTO", the current hostname from /etc/hostname is sent. -# Use this variable to override it with another hostname, or leave it -# empty to not send any hostname. -# -DHCLIENT6_HOSTNAME_OPTION="AUTO" - -## Type: integer -### Default: "" -# -# Specifies the preferred lifetime (in seconds) used as T1/renewal -# (1/2 of it) and T1/rebind (4/5 of it) in DHCPv6 IA NA requests. -# -# Default is to not propose anything but use the times as offered -# by the DHCPv6 server. -# -DHCLIENT6_LEASE_TIME="" - -## Type: yesno -## Default: yes -# -# This setting controls whether DHCPv6 client should try to use settings -# provided in its last lease when the DHCPv6-server is not reachable and -# the lease hasn't expired yet. -# Set this variable to "no" to disable the fallback to the last lease. -# -DHCLIENT6_USE_LAST_LEASE="yes" - -## Type: yesno -## Default: no -# -# Send a DHCPv6 RELEASE to the server (sign off the address)? (yes|no) -# This may lead to getting a different address/hostname next time an address -# is requested. But some servers require it. -# -DHCLIENT6_RELEASE_BEFORE_QUIT="no" - -## Type: integer -## Default: 0 -# -# Some interfaces need time to initialize and/or do not report correct status. -# By default, DHCPv6 waits until the link-local address (fe80::) is available -# and then ~1 second as specified by RFC3315. -# This setting allows override to use a non-standsrd initial delay. -# -DHCLIENT6_SLEEP="0" - -## Type: integer -## Default: 15 -# -# The DHCPv6 client will try to get a lease for DHCLIENT6_WAIT_AT_BOOT seconds, -# then inform ifup waiting for it, that it continues in background. -# When you increase this time, increase also the WAIT_FOR_INTERFACES variable -# e.g. to a value twice as high as the time specified here. -# -DHCLIENT6_WAIT_AT_BOOT="15" - -## Type: integer -## Default: "0" -# -# The dhcpv6 client will stop processing / fail after this time when it does -# not get a reply from the dhcp server. Before you set this variable, take a -# look at DHCLIENT6_WAIT_AT_BOOT allowing to continue in background instead. -# -DHCLIENT6_TIMEOUT="0" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clustduct-0.0.1_alpha4/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/root/etc/sysconfig/network/ifcfg-lan0 new/clustduct-0.0.1_alpha5/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/root/etc/sysconfig/network/ifcfg-lan0 --- old/clustduct-0.0.1_alpha4/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/root/etc/sysconfig/network/ifcfg-lan0 2018-11-29 12:20:26.000000000 +0100 +++ new/clustduct-0.0.1_alpha5/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/root/etc/sysconfig/network/ifcfg-lan0 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -BOOTPROTO='dhcp' -MTU='' -REMOTE_IPADDR='' -STARTMODE='onboot' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clustduct-0.0.1_alpha4/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/root/etc/udev/rules.d/70-persistent-net.rules new/clustduct-0.0.1_alpha5/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/root/etc/udev/rules.d/70-persistent-net.rules --- old/clustduct-0.0.1_alpha4/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/root/etc/udev/rules.d/70-persistent-net.rules 2018-11-29 12:20:26.000000000 +0100 +++ new/clustduct-0.0.1_alpha5/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/root/etc/udev/rules.d/70-persistent-net.rules 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="?*", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="?*", NAME="lan0" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clustduct-0.0.1_alpha4/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/root/usr/lib/systemd/system/grub_config.service new/clustduct-0.0.1_alpha5/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/root/usr/lib/systemd/system/grub_config.service --- old/clustduct-0.0.1_alpha4/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/root/usr/lib/systemd/system/grub_config.service 2018-11-29 12:20:26.000000000 +0100 +++ new/clustduct-0.0.1_alpha5/kiwi-descriptions/suse/x86_64/suse-leap-15.0-JeOS/root/usr/lib/systemd/system/grub_config.service 1970-01-01 01:00:00.000000000 +0100 @@ -1,11 +0,0 @@ -[Unit] -Description=Rebuild grub config from distro toolkit -ConditionPathExists=/.kiwi_grub_config.trigger - -[Service] -Type=oneshot -ExecStart=/bin/bash -c 'grub2-mkconfig -o /boot/grub2/grub.cfg' -ExecStartPost=/bin/bash -c 'rm -f /.kiwi_grub_config.trigger' - -[Install] -WantedBy=multi-user.target diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clustduct-0.0.1_alpha4/src/prepare_tftp.sh new/clustduct-0.0.1_alpha5/src/prepare_tftp.sh --- old/clustduct-0.0.1_alpha4/src/prepare_tftp.sh 2018-11-29 12:20:26.000000000 +0100 +++ new/clustduct-0.0.1_alpha5/src/prepare_tftp.sh 2019-02-08 12:11:20.000000000 +0100 @@ -1,8 +1,10 @@ #!/bin/bash -TFTPDIR=${TFTPDIR+/srv/tftpdir} -mkdir -p ${TFTPDIR}/clustduct -mkdir -p ${TFTPDIR}/EFI/x86/ -cp /usr/share/syslinux/chain.c32 /usr/share/syslinux/menu.c32 /usr/share/syslinux/pxelinux.0 /usr/share/s -yslinux/reboot.c32 $TFTPDIR -cp /usr/lib64/efi/shim.efi ${TFTPDIR}/EFI/x86/bootx64.efi -cp /usr/lib64/efi/grub.efi ${TFTPDIR}/EFI/x86/ +TFTPDIR=${TFTPDIR-/srv/tftpboot} +cp -v /usr/share/syslinux/chain.c32 /usr/share/syslinux/menu.c32 /usr/share/syslinux/pxelinux.0 /usr/share/syslinux/reboot.c32 $TFTPDIR +mkdir -pv ${TFTPDIR}/pxelinux.cfg/ +cp -v /usr/share/doc/clustduct/default.example ${TFTPDIR}/pxelinux.cfg/default +mkdir -pv ${TFTPDIR}/EFI/x86/ +cp -v /usr/lib64/efi/shim.efi ${TFTPDIR}/EFI/x86/bootx64.efi +cp -v /usr/lib64/efi/grub.efi ${TFTPDIR}/EFI/x86/ +cp -v /usr/share/doc/clustduct/grub.cfg ${TFTPDIR}/EFI/x86/ +mkdir -pv ${TFTPDIR}/clustduct