35 Commits
Author SHA1 Message Date
Mark D Horn 6e576e12ea model: Change ister Version to new type UintString
As of go 1.14 JSON decoder no longer accepts invalid numbers.
https://golang.org/doc/go1.14#encoding/json

Switch Version to a new type and add Unmarshaler to handle the
type which allows unsigned integer or 'latest' as valid values.

Dropped required coverage by 1% for model.

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2020-05-21 16:43:35 -07:00
Mark D Horn 13b15fab04 model: Centralize model initialization
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2020-05-21 11:08:32 -07:00
Mark D Horn 4f2caf0e33 boolset: switch AutoUpdate from bool to boolset
Change the AutoUpdate model type from bool to boolset to account
for default of true and state if the value was explicitly set.

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2020-05-07 17:04:00 -07:00
Mark D Horn 59302346d6 linter: enable whitespace
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2020-04-24 14:53:17 -07:00
Mark D Horn 4244fbaf43 storage/ui: swapfile instead of swap partition
New default is the creation of a /var/swapfile if not
swap partition is explicitly defined in the YAML file
or via Advanced Configuration.

Now use and report media sizes in XiB

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2020-04-15 17:23:59 -07:00
Mark D Horn 636e4804fc model: refactor method name IsDesktopInstall
Renaming method to be more clear.

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2020-03-27 15:07:10 -07:00
Mark D Horn be9d9bc64e Update partitioning support in legacy mode
Fixes: #517

Enable the possibility of no /boot partition in legacy mode.
- add warning if no /boot and legacy
  Warn the user that installing in legacy mode without a /boot
  partition means the install will never boot in UEFI mode.
- Force off 64bit mode
  When an ext file system is used for the /boot content
  (no /boot partition, and booting legacy mode) we need to
  disable 64bit flag or the image file system not boot.
  https://wiki.syslinux.org/wiki/index.php?title=Filesystem#ext
- Blocked use of XFS due to partition table requirement to use MBR.
- Do not allow encryption of / w/o /boot

Refactor validation code for reuse by both standard and advanced
disk partitioning. Add new standard Desktop and Server wrapper
functions.

Move validation to common function, remove from Find Targets, and
remove redundant validation function.

Enable the skip size for advanced partitions.

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2020-03-27 15:07:10 -07:00
Mark D Horn ef45a32849 args: model: New options for partition checks
Add command line arguments and YAML file configurations for settings
skipping partition size checks during validation.

Skip Validation All implies Skip Size.

Never write skip validation options to YAML

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2020-03-27 15:07:10 -07:00
Karthik Prabhu Vinod 31797ecb54 model,log: Small extraneous files fixes
Signed-off-by: Karthik Prabhu Vinod <karthik.prabhu.vinod@intel.com>
2020-02-13 15:54:28 -08:00
Mark D Horn 7478c9e280 model: clean up generated YAML files
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2020-02-12 18:37:08 -08:00
Mark D Horn f65cd665ba ISO: Add metadata to ISO images
Add the publisher and the application/image type to the ISO.
- ApplicationId set to 'server' by default, 'desktop' if any
  bundles are included which contain the name 'desktop.
  - ApplicationId can be overridden via the YAML file
- Publisher only set if included in YAML file

Add new test coverage.

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2020-02-05 16:51:06 -08:00
Mark D Horn b9970047f9 Allow skipping swupd configuration file copy
Fixes: #600

Only copy the swupd configuration files from the host to the target
by default when running the interactive installer (gui or tui).
Otherwise, observe the setting from the configuration YAML or the
command line (highest) argument.

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2019-12-11 10:47:05 -08:00
Mark D Horn a4f83fd0fe model: controller: Keep Image default
--keep-image defaults to true, we only try to remove an
image file if it is set to false.

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2019-11-26 14:50:47 -08:00
Mark D Horn a9befd5b40 gui: tui: Check for invalid interactive options
Ensure we do not allow the user to set options, either
via command line or in the default configuration file,
which would not be valid during an interactive installation.

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2019-11-25 17:23:40 -08:00
Mark D Horn a46992d460 model: Refactor to enable command line overrides
Enable conversion from JSON to YAML to have values overridden by
the command line arguments.

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2019-11-19 18:18:05 -08:00
Mark D Horn 2afeff5721 model: Warning on extra kernels for json to yaml
When converting an ister JSON configuration file to a
clr-installer YAML configuration file, we want to ensure
a single kernel is set. Additional kernel result in a
warning as ISO mainly due to ISO generation limitation
in the code.

Add new coverage test for multiple kernels.

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2019-11-19 18:18:05 -08:00
Mark D Horn a2216162f0 test: Add model test for new code
No easy way to test all of the error conditions of
Marshaling and Unmarshaling, so dropping the coverage by 1%

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2019-09-12 19:20:47 -07:00
Brian J Lovin 18661f08ed model: Add tests for Karg clearing
Add a couple tests to ensure we can clear both Add and Remove kernel
arguments.

Signed-off-by: Brian J Lovin <brian.j.lovin@intel.com>
2019-07-02 14:54:57 -07:00
Reagan Lopez 9ee68d0a3e Initialize localization in test files
Signed-off-by: Reagan Lopez <reagan.lopez@intel.com>
2019-04-23 18:52:18 -07:00
Mark D Horn f424bdb143 Track user selected bundle separately
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>
2019-03-06 13:20:26 -08:00
Reagan Lopez f61d7092ab Add support for ister json config
- The new -j flag detects ister json config format and converts it to yaml
- The existing -c flag also detects ister json config format, converts it to yaml
  and continues as usual
- Handles the ister "rest" option for physical targets
- Handles multiple targets

Signed-off-by: Reagan Lopez <reagan.lopez@intel.com>
2019-03-05 13:55:44 -08:00
Mark D Horn 037d4991ef Improve Test Coverage for new features
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2018-11-29 12:35:26 -08:00
Leandro Dorileo 82beb2e89b user: add ssh-keys configuration
Add the user's ssh-keys configuration support as well as the required
bits to creathe the authorized_keys file.

Signed-off-by: Leandro Dorileo <leandro.maciel.dorileo@intel.com>
2018-10-17 12:36:56 -07:00
Leandro Dorileo 0742f0f521 args: add --block-device argument
With the --block-device command line argument the user can remap
or add an entry to configuration file's block-devices definition.

Signed-off-by: Leandro Dorileo <leandro.maciel.dorileo@intel.com>
2018-10-09 16:46:40 -07:00
Leandro Dorileo d9d8e10566 model: add test for mixed block devices config
A alias can be used for a single partition only, this test makes
sure we test the case.

Signed-off-by: Leandro Dorileo <leandro.maciel.dorileo@intel.com>
2018-10-09 16:46:40 -07:00
Leandro Dorileo 0a52b8e030 model: add test for kernel validation
Kernel configuration is mandatory. This test makes sure we cover that.

Signed-off-by: Leandro Dorileo <leandro.maciel.dorileo@intel.com>
2018-10-09 16:46:40 -07:00
Mark D Horn eb0c9a22f6 More temp file clean up
- Hid the makefile comment
- Catch additional test case that need to clean up the
  temp downloaded file

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2018-10-03 12:22:51 -07:00
Leandro Dorileo 76d871ee11 tests: make valid minimal a minimal test again
I started increasing the minimal test but it's minimal for a reason -
to be minimal.

This patch moves the pre and post hook tests to their own test file.

Signed-off-by: Leandro Dorileo <leandro.maciel.dorileo@intel.com>
2018-10-02 10:04:10 -07:00
Leandro Dorileo 63b6dba299 Add required bits to make image and install a target system into it.
Signed-off-by: Leandro Dorileo <leandro.maciel.dorileo@intel.com>
2018-10-02 10:04:10 -07:00
Leandro Dorileo b1334c2648 storage: add block-devices alias support
With this the user can add alias block devices and use these alias
to expand target media's Name values, i.e:

block-devices: [
   {name: "target", file: "/dev/sda"}
]

targetMedia:
- name: ${target}
  type: disk
  ...

Signed-off-by: Leandro Dorileo <leandro.maciel.dorileo@intel.com>
2018-10-02 10:04:10 -07:00
Leandro Dorileo a26b5415a1 model: add Version field
The mass-installer use case for image generation requires to specify
the target system version. This patch allows the configuration of
an arbitrary version.

Signed-off-by: Leandro Dorileo <leandro.maciel.dorileo@intel.com>
2018-09-27 14:50:33 -07:00
Leandro Dorileo 4b5eacba1f model: add a minimal valid test
Introduce a minimal valid test, it shows the use of only the required
fields - specially for storage/media configurations.

Signed-off-by: Leandro Dorileo <leandro.maciel.dorileo@intel.com>
2018-09-26 14:33:07 -07:00
Leandro Dorileo 3ed4c7ddfa kernel arguments: add "remove kernel arguments" support
We are relying on clr-boot-manager's cmdline-removal feature which
prevents a kernel argument to be added to the boot manager kernel
entry.

Signed-off-by: Leandro Dorileo <leandro.maciel.dorileo@intel.com>
2018-09-20 16:39:35 -07:00
Leandro Dorileo 5c1b69c8d4 testsuite: prepare to enable check-coverage.sh on CI
This patch fixes the tests coverage regressions and add a small fix
to the script where it doesn't remove the temporary coverage report
file if it fails. Now it can be enabled on the CI and avoid adding
new testsuite regressions.

Signed-off-by: Leandro Dorileo <leandro.maciel.dorileo@intel.com>
2018-09-19 15:56:54 -07:00
Mark D Horn e84bb0e403 First Open Source push of code base
This is code is still alpha. The Text-based User Interface is
undergoing a resign of the layout before beta.

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2018-08-13 14:14:30 -07:00