2019-06-04
Desktop environments<br>
	for Linux Mint 19 and 19.1
Desktop environments
for Linux Mint 19.x

With Linux Mint 19 and 19.1, two new items were added to the list of distributions that m23 can install. For each distro, there are three preconfigured desktop environments available. In addition to these obvious changes, a lot of time was spent working on the m23-autoTest framework for automated testing of the m23 software. Other work areas include the refactoring of the MDK (m23 development kit) and lots of minor improvements. The amount of updates made to the code would easily be enough for two or three new versions of m23.

LinuxMint 19 and 19.1

From this version on, m23 supports the Linux Mint versions 19 Tara and 19.1 Tessa for installation on the clients, with the full range of functionality that users already know from other distributions included in m23. There are three preconfigured desktop environments included for Tara and Tessa: Mate, Cinnamon and Xfce. m23 can install both the 32- and 64-bit variants, leaving you the free choice among the available desktop environments, regardless of the system architecture.

m23 autoTest

This version of m23 is probably by far the most thoroughly tested version in history. This was made possible by the new m23 autoTest framework for running automated test. In countless test cycles, the framework allowed to test the combinations of m23 servers running on different platforms (Debian 9 and 8 (32 and 64bit), UCS 4.3, UCS 4.4, local m23 development system, Raspberry Pi, m23 installation ISO) with m23 clients of all supported client distributions systematically for the first time. This way, even errors were found that only occur very sporadically.

m23-autoTest

The most time-consuming development work done for creating the new version was the creation of the m23-autoTest framework for fully automated testing, end-to-end, from the m23 interface to the installation of new m23 clients in virtual machines (VMs).

m23 autoTest simulates a human administrator's behavior by making use of remote control (Selenium) for the m23 web interface. Forms in dialogs are filled in automatically to e.g. create new m23 clients, to partition and format their hard disk or to install distributions with a graphical user interface.

One test cycle includes the installation of an m23 server and of (currently) 18 m23 clients that this new server will set up. For each distribution, two clients will be installed as 32 and 64 bit variants, with randomly assigned desktop environments and alternating between German, English and French language settings.

All tests are performed on virtual machines, to ensure fast execution and good reproducibility. At various check points (e.g. notifications in the VM screen that are identified via OCR, messages in the m23 interface, or return values of commands executed in the VM), the installation status is continually monitored and evaluated. This information enables m23 autoTest to react to events with e.g. simulated key strokes or actions in the web interface of m23. In case of critical errors (e.g. server services not running), m23 autoTest can abort the current test cycle. For the ensuing analysis, the VM's screen is recorded to video, and an installation log file is being written, which contains lots of additional information when created in debug mode.

Even if the range of functionality is clearly aimed at use for m23, autoTest could still be useful for other projects. More information (about installation and configuration of the autoTest environment, how to write own XML files that describe the tests, a video recording of an automated test installation of Linux Mint etc.) is available at goos-habermann.de.

MDK (m23 Development Kit)

The MDK has been considerably improved in many sections, especially those that are used for the creation of boot media and their components:
  • Compiling the Linux kernel and BusyBox for 64 bit now works again on a 32 bit m23 server and vice versa.
  • The built-in documentation has been updated and extended.
  • During the creation of boot media for m23 clients or servers, all required libraries will now reliably be found and included.
  • The software for the boot media will now be assembled from Debian 8 and 9. Package sources and packages that are available in older Debian versions only, have been removed.
  • Additional notifications make it easier to spot errors.

Bug fixes

  • The current time is now synced between the m23 client and the m23 server before an SSL connection is initiated. The validity period of new SSL certificates now starts on 2019-01-01. This will help avoid issues with SSL certificates that can, for example, occur in differing time zones.
  • When transferring the minimal-sized distribution archive file from the m23 server to the m23 client during the tests, the m23 server in some rare cases delivered the corresponding signature file instead of the selected archive. A new routine now checks the archive client-side and retries the download if needed, until a valid archive has been transmitted.
  • For the creation of a connection via HTTPs, more random values were required than were available right at the beginning. This meant that sometimes it took several minutes until the connection could be made. Using haveged allows to more quickly build a stock of random values, which vastly reduces the delay before the beginning of an installation.
  • The percentage for the status bar that indicates the progress of a client installation is now calculated and displayed correctly.
  • The "Change client" dialog now also works when using it multiple times in a row with different clients.

Small changes

  • The "Real time client status" is now able to also display very large protocol files.
  • To work around issues that occurred when fetching new tasks from the m23 server, that were caused by systemd starting the network services with a delay, the m23 server is now pinged repeatedly until it replies, and only then the task list is requested.
  • The Linux kernel for the boot media was updated to version 4.9.170.
  • Scripts that you make available for other users are now transferred using HTTPS.
  • The hardware database is now created with an updated version of convert_hd.
  • Code that was used multiple times for requesting information about the server (e.g. IP, network mask, Apache user etc.) was moved into bash scripts, that are now called from the places where they are needed.
  • A new automatic partitioning scheme, which establishes partitions for system, swap and data in the first 500 Gb of a hard disk, has been added to the list of available choices.
  • The backup script m23Backup now saves the IP address of the m23 server that it backs up.
  • On UCS, the restoration script m23Restore will exchange all occurrances of the saved m23 server IP address by the current IP during restoration of the database.
  • If the m23 client does not get assigned a valid task by the m23 server after booting from a boot medium, the client will now request information about the network settings.
  • The Kerberos configuration for the clients has been adjusted, in order to also work with UCS 4.3/4.
  • Many improvements on the source code were made to reduce the number of warnings in the log files.
  • Error messages and warnings that occur during the installation of m23 packages (e.g. when starting server services or when recreating tables), are now logged to the file /m23/log/m23PostinstNonCriticalErrorMessages.log. These messages are not critical for m23, or are a sign of a successful previous configuration, but were sometimes causing confusion.
  • The m23 web interface and the messages displayed on the clients' screens have undergone minor improvements, like now showing the correct status for packages that are marked for installation, or colorized messages during m23 client booting.
  • The delay on m23 server shutdown caused by the squid proxy now lasts for maximally 5 seconds.
  • Dialogs for configuring Ubuntu 18.04 packages that have debconf dialogs have been added to the m23 interface.
  • m23 can no longer be used to install the expired distributions Linux Mint 17.1 Rebecca, Linux Mint 17.2 Rafaela, Linux Mint 17.3 Rosa, devuanjessie, trusty, HS-Fedora14, HS-opensuse11.4, HS-centos62, Ubuntu 12.04 Precise and Debian 7 Wheezy. When removing these distributions from m23, the corresponding debconf configuration dialogs have also been removed.
  • The plugin system for extending the m23 interface from the early days of m23, which — as far as is known — is not currently being used anymore, has been removed. A replacement is available with m23customPatch since the release of m23 16.3.
  • The automatical recognition of suitable graphics settings should be considerably more precise for all distributions.
  • The m23 remote administration service has been removed from the menu of the m23 interface.
  • A new questionnaire for sharing your m23 references has been created. A link to it is shown in the header of the German m23 web interface.
  • When installing the m23 server from the m23 server installation ISO file, it is no longer attempted to install the virtualization environment. When needed, the corresponding package m23-vbox can be installed manually.

m23 clients and imaging

The options for the creation of images and for installing m23 clients from them have undergone massive changes. Features that couldn't reliably ensure a usable client have been removed during this rework.
  • Instead of a source MBR file now grub will always be used.
  • Only partitions (and no longer complete hard drives) are available as a source and target for the image, because installing complete hard drive images frequently caused issues.
  • When recovering a partition image, the file system will automatically be enlarged (if the target partition is larger than the original partition). Ext file systems will now be resized when mounted.
  • partcloneWrapper is now able to recognize file systems again and will automatically choose the most suitable and most space-saving image file format.
  • For compressing image files, a variant of gzip is available now that uses a less efficient compression, but works faster.
  • m23 clients that are being installed from image files will only slightly be modified by m23 instead of going through a full Debian or Ubuntu configuration routine. The distribution base is automatically recognized (also works on Linux Mint) and the correct functions are called. The selection of the distribution in the m23 interface is no longer necessary (nor possible).
  • The package sources lists (including /etc/apt/sources.list.d/*.list) of the m23 client are now transferred to the m23 server and will be compared to previous versions of the list. This makes it possible to install packages on imaging clients from the m23 interface.
  • A new warning will be shown when the "Imaging" pseudo-distribution has been selected, as using images is the technically most challenging variant of installing an m23 client. It is not guaranteed that every image will result in a functional m23 client.

Downloads / Update

The latest version is available as an update via the m23 interface, via APT (Note: the package source server for packages specific to m23 is now "deb http://m23inst.goos-habermann.de ./". Setup as described in the installation guide), as ISO file for creating an m23 server boot medium, as a preinstalled virtual machine or as an image file for RaspberryPi (the latter three are available from the download section).