When running the "swupd verify" command to install the base OS and the
selected bundles, the progress of the command execution was just being
shown as a progress bar that was looping until the swupd command
finished. This approach was not ideal since this process can take
several minutes to complete, and since the progress bar was just
spinning it didn't provide a real feedback for the user to know in what
part the process was. This can trigger some anxiety in users.
This commit solves this problem by using the machine readable output
from swupd to determine the exact part of the process where the install is
and report this to the user using a series of steps along with a progress
bar (or percentage value in not TUI installer) that shows how far the
step has gotten.
Signed-off-by: Castulo Martinez <castulo.martinez@intel.com>
Directly after TUI init, run the system check and report if there are
any failures, and force application exit.
Signed-off-by: Brian J Lovin <brian.j.lovin@intel.com>
When executing interactively, text-base or graphical, we want
to always copy any local /etc network configuration files to
the target system.
If the user has made customer network settings, usually with
nmcli/nmtui for console, or NetworkManager on the desktop, these
will want to be propagated to the target.
Add command line option to avoid network copy.
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
For documentation purposes (screen shots), we do not want to
include the version string. Having a version string in the image
requires updating all image each release.
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
The Partial() function is used to report a partial progress in a
progress bar. When using this function the value set on the progress bar
was always zero since it was doing a division of two integers that were
always resulting in a number < 1 which was being truncated because both
numbers were integers so go was using an integer to store the result
too.
This commit fixes the bug by converting the values to the right types.
Signed-off-by: Castulo Martinez <castulo.martinez@intel.com>
Remove any bundles the installer will always install from
the list of optional bundles selectable by the user.
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
If we change wording in the GUI we should backport
to the TUI if the same phrase is used.
This will reduce confusion when we enable localization
in the TUI.
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
- Modifies the screen flow to first launch the Welcome (Language) page
- Adds localization package "gotext"
- Enables localization for "en_US", "zh_CN" and "es_MX"
- Modifies the strings to use localized version
Signed-off-by: Reagan Lopez <reagan.lopez@intel.com>
Some user confusion from a Dismiss button when getting a warning
message about data loss on disks.
Change all Dismiss buttons to OK
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
Remove the details disk manager in favor of a simpler interface
to avoid accidental data loss during install.
Create a bash script to run a disk util and relaunch the installer.
- Try using cfdisk instead of cgdisk, but easy to switch if necessary
- Save the current state as YAML for restore user selections
- Run partprobe to ensure partition changes are visible
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
The names are shared in the tui package and were not specific enough
as discovered when removing columnCount from the disk manager.
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
Fixes Issue: #261
Pull Request #236 introduced a bug where local network interfaces
are always copied to the target media.
This PR correct this by only copying when copyNetwork is set to
true; this is enabled in the UI when the users changes a network
interface (for static).
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
New functionality to download Pre and Post Installer messages
TODO: Display the messages as pop-ups
- Need to use system curl command to handle proxies for now
Refactoring for enabling:
- Moved FetchRemoteConfigFile from conf to network
- Move code for Clear Linux Version parsing until a utility function
which is called early in the flow for reuse
Now that use external curl FILE protocol passes.
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
Fixes Issue: #242
Only show user selected bundles on the summary menu item for
bundle selection; not core, required bundles.
Make the latest user bundle changes more evident by prepending
them to the list of bundles to install.
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
We also need to set either proxies or the
DNS search domain to enable pacdiscovery
if network testing does not pass.
Need to add:
systemctl enable pacdiscovery on target
Ensure we copy the /etc/systemd/network settings
- Fixed bug in showing dns server per interface
- Add new DNS Domain field per interface
- Mask out (skip) Wireless and Bridge interfaces
- Update Network Interface TUI
- Added DNS Domain
- Widen screen for error messages
- Moved Error labels before field
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
We were missing the arrow keys which meant only tab was
working to switch fields for the network interface.
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
New Advanced option which will save the current state of the
installation configuration to a YAML file. This allow using
the TUI to generate a template or usage configuration file to
be used from the command line.
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
Fixes: #179
When a new partition is added with the TUI, it was defaulting to an
incorrect type of disk instead of partition.
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
Add the '*' after the file system type on the summary screen
for encrypted file systems to provide the same visual clue as
the disk summary page.
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
Fixes#10
Enable encrypted partitions for all but /boot.
A single passphrase is used for all partitions which enable encryption
expect swap, which currently uses a random password each boot.
NOTE: If we need to support a large swap for laptop suspend/restore, we
should change from a random passphrase to the same known passphrase.
/etc/crypttab will attempt to use either the disk label or the
UUID to identify the disk instead of the physical disk name.
Swap partition would normally loose its UUID or Label each boot
due to dm-crypt and mkswap overwriting the connect. To maintain
identification of the partition, we use a trick from here:
https://wiki.archlinux.org/index.php/Dm-crypt/Swap_encryption
of creating a small (1M) ext2 partition with label at the beginning
of the swap partition, then use an offset in the /etc/crypttab to
prevent overwriting this information.
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
Increase the list of bundles available for install. Also set the
TUI frame as scrollable.
Signed-off-by: Leandro Dorileo <leandro.maciel.dorileo@intel.com>
Also change to using 'locale -a' to generate possible languages
installed as 'localectl' is currently broken due to the relocation
of the locales from /usr/lib to /usr/share.
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
Show the os-core defaults in case none found.
These are also the defaults of /etc is cleared; i.e. reset stateless.
Change the default timezone to the system default of UTC.
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>