This commit makes sure the filesystem is parsed from the
UNIONFS_CONFIG configuration variable when the PXE image is
loaded to a block device.
This commit fixes#316
Allow network interface names to be filtered by the given
regular expression. The expression is handled by the bash
regexp operator. Interface names matching the rule will be
filtered out, all others stay. It is also possible to pass
the variable kiwi_oemnicfilter as kernel command line in a
PXE deployment. Fixes#245
There is no reliable way to check if a link is unplugged, thus
the code has changed into the following workflow
1. use interfaces which returns success on ip link set up
2. wait for the UP state on all of these interfaces and return
if one of them enters the UP state
3. call a fixed wait state to allow to kernel network drivers
to settle
4. run through all remaining interfaces, discover the link
state and call a DHCP discovery
Each network interface will be switched off for a short
moment when the kernel network driver is loaded. During
that time the link status information would be misleading.
Thus we wait a short time before the link status check
is started
The setIPLinkUp method did not handle the return value of the
waitForLinkUp call and always returned success even if
waitForLinkUp ran into a timeout
The waitForLinkUp method was improved in a way that it does
not wait if the link detection discovered the interface is
unplugged. The detection if a cable is connected or not only
works if the ifplugstatus tool was found in the initrd
We're getting domain name by parsion a lease file. Unfortunately in
lease file domain name is quoted, which breaks linux resolver.
This commit gets domainname unquoted
Cleaning up existing machine id files by deleting them
causes an interactive session to be started by systemd
This is something we don't want. As the consequences
of touching the machine id files seems to be too critical
the method has been turned into a hook caller. This
allows the user to make use of it on their own purpose
and by default doesn't mess with the machine id files
Instead of creating new machine ids for systemd and dbus
the method now cleans up all existing machine ids and
leave it up to systemd to initialize and create new ids.
This allows to make use of the native way how systemd
retrieves and handles machine ids
In order to allow a raw device name in oem-unattended-id
the /dev tree has been added to search list. This is useful
if e.g a ramdisk device which is not part of any /dev/disk/...
or /dev/mapper device map should be used as target disk for
the deployment. Thus a setup to stick the deployment to
e.g /dev/ram1 would look like this
<oem-unattended-id>ram1</oem-unattended-id>
This Fixes#221
Systemd and dbus should use the same machine-id. Therefore
a symlink /var/lib/dbus/machine-id pointing to /etc/machine-id
is created right after systemd-machine-id-setup. Fixes#219
If the target disk size is beyond 2TB it can't be expanded to
the full size if the msdos partition table layout is in use.
Because of this the disk expansion will be limited to the
allowed maximum for the msdos partition table type which is
at 2TB. This fixes bnc#1010966
Complete the list of kernel names for the lookup. Normally
the kernel package provides a symlink to the actual kernel
image file. However if the link does not exist we extend the
search to a collection of names for possible kernel images.
The new list now also covers kernel names as used for arm
Along with the change this patch also provides an option to
raise an exception if the kernel lookup did not find any
kernel, which is used for the get_kernel() request in the
dracut initrd system setup where it is mandatory to find
a kernel image.
This fixes bnc#1010874
Apply the cidr fix from setupNic and introduce a new method
called deleteNic which replaces the wrong ip call from the
releaseNetwork method. Fixes bnc#1003091
The default lease time with 300s used by wicked is relatively
short and different from the default lease time of the former
dhcpcd. This change causes wicked to use a lease time of 3600s
This is related to bnc#1003091
If no tool was found to communicate with the dhcp server
in order to free the lease the method did nothing. However
it should at least bring down the network. This is
related to bnc#1003091
Loading the iso image into a read-only ramdisk caused some issues
due to the activatImage method cp commands. With this commit the
symlinks are consistent during the preinit phase and also before
running the cp command it is tested we are not in a read-only
filesystem.
This commit is a port form openSUSE/kiwi#613 PR
If kiwiserver and/or kiwiservertype is specified on the
kernel commandline they should take over precedence for
up- and download of image files compared to the host
setup in the IMAGE variable.
when udev discovers an mdraid array it partially starts the array.
That is interfering with the mdadm --assemble call by kiwi which
leads to a busy state and an array in inactive state. Therefore
the method should wait until the raid array really exists no
matter if the assembling is started by udev or kiwi's mdadm call.
In addition if the array got assembled but is incomplete because
devices are missing or the timout is fired, an additional call to
start any array that has been partially assembled is required.
pxeRaidAssemble will throw an exception if after this call no
md device with a size > 0 will show up after a timeout. This
Fixes bnc#1000742
The function will return success if the size of the storage
device can be obtained and is greater than zero. The pure
success on reading from the block layer is not enough. In
order to actually work with the device it must provide a
size > 0. Related to bnc#1000742
The systemd machine id is considered to be a unique information
Thus it is required to initialize it on first boot of the image.
If the image uses the kiwi boot code (initrd) this action is
performed and and Fixes#169
bc truncates number of cylinders to zero decimal places, which results
in a partition that is slightly smaller than the requested size. Add one
cylinder to compensate.
Change BootImageDracut class to call dracut in the specified
system root directory and not in a self prepared new root environment.
dracut reads scripts and dracut module configurations from the
installed system components, e.g kdump. Therefore calling it
from an isolated runtime environment creates an initrd which is
not matching the system components. Fixes bnc#1005246