Commit Graph

44 Commits

Author SHA1 Message Date
Salman Rana d24e48e490 Fix kickstarts patching
Ostree doesn't manage the /var filesystem. Anything
installed there during initial filesystem setup becomes
unpatchable [1]. As a result, the kickstart install dir
/var/www/pages/feed/rel-${platform_release}/kickstart
is not updated according to patch changes. /var/www/pages/feed/rel-${platform_release}/kickstart
is currently only used for PXE boot installs.
Subcloud remote installations are using the miniboot.cfg
kickstart from the load-imported ISO
(we may want to change this in some future commit).

This commit adds kickstart update support to
pxeboot-feed.service (pxeboot_feed.sh) so that
/var/www/pages/feed/rel-${platform_release}/kickstarts
is refreshed based on the kickstart dir from
/ostree (i.e., the patched changes).

[1] https://review.opendev.org/c/starlingx/ha/+/890918

Test Plan:
1. PASS: Verify Debian build and DC system install
         (virtual lab - disk and pxe installs)
2. PASS: Verify pxe install (DC remote install) with
         patched kickstart
3. PASS: Create a patch with changes to kickstart feed:
          - modify an existing kickstart
          - create a new kickstart file
          - delete an existing file
          - create a new kickstart sub-directory
          - modify centos subdir
	 verify patch apply, ensure that changes are
         correctly applied to:
         /var/www/pages/feed/rel-${platform_release}/kickstarts
4. PASS: Revert the patch from test #3 and ensure changes
         are correctly undone in the feed dir

Closes-Bug: 2034753

Change-Id: I74804bff23a74512db6a95fa514c84a1a6ea54a8
Signed-off-by: Salman Rana <salman.rana@windriver.com>
2023-10-11 14:40:38 +00:00
Bin Qian 2412a68815 Add multi-drivers-switch param to pxeboot cfg
Accept and apply intel driver ver parameter to pxeboot conf file
for nodes to be installed (include reinstall and upgrade).

TCs:
    Observed the pxeboot cfg file for a new host is configured
    with param multi-drivers-switch=<ver from service parameter>

Story: 2010651
Task: 48276

Signed-off-by: Bin Qian <bin.qian@windriver.com>
Change-Id: I6aebff98a5bb831de82f6da07ac53978b17f8caf
2023-07-11 13:47:51 +00:00
junfeng-li d9d7111cd8 Refactor from-load pxe setup in to-load kickstart
Details: Since this is the first Debian to Debian upgrade,
we need to refactor some existing code that is used for
centOS upgrade.

This commit is

	1. clean up CentOS related code
	2. copy to-load pxeboot-update.sh to /etc/ during the import
	   instead of /usr/sbin/
	3. install to-load pxeboot-update.sh in /etc/ instead of
	   /usr/sbin/ during iso installation
	4. update kickstart Upgrade Support accordingly to set up
    	   from-load feed

Test Plan:

PASS: built the iso for upgrade
PASS: upgraded from 22.12 to 23.09 in DX
PASS: downgrade from 23.09 to 22.12 in DX

Depends-on: https://review.opendev.org/c/starlingx/tools/+/881882

Task: 47805
Story: 2010651
Signed-off-by: Junfeng (Shawn) Li <junfeng.li@windriver.com>
Change-Id: Ia67f5f3e66f5b33c3d7fb8d93a15547d59eaa71e
2023-05-16 15:42:33 +00:00
Al Bailey cd5f8df470 Update pxe-network-installer debian package ver based on git
Update debian package versions to use git commits for:
 - pxe-network-installer

Old version was: 8
New version is: 23

The Debian packaging has been changed to reflect all the
git commits under the directory, and not just the commits
to the metadata folder.

This ensures that any new code submissions under those
directories will increment the versions.

Test Plan:
  PASS: build-pkgs -p pxe-network-installer

Story: 2010550
Task: 47399

Signed-off-by: Al Bailey <al.bailey@windriver.com>
Change-Id: I80f65e991872697c048d5833943f9e63d3572a05
2023-02-22 19:58:57 +00:00
Robert Church 3eef0bd7ee Add hwsettle support to pxeboot-update.sh and kickstarts
Add support for adding the hwsettle boot line parameter based on the
value provided to the installer. This will institute an init delay to
allow multipath constituent devices to become available prior to the the
start of coalescing.

Test Plan:
PASS - AIO-SX: HPE multipath install/bootstrap/unlock
PASS - AIO-SX: Qemu virtual multipath install/bootstrap/unlock
PASS - AIO-DX: Qemu virtual multipath install/bootstrap/unlock
PASS - AIO-DX+: Qemu virtual multipath install/bootstrap/unlock
PASS - 2+2 (controller storage): Qemu virtual multipath install/
bootstrap/unlock
PASS - 2+2+2 (dedicated storage): Qemu virtual multipath install/
bootstrap/unlock
PASS - Add OSD ceph storage configuration (AIO-SX)
PASS - Expand CGTS volume group using extra disk (Partition) (AIO-SX)
PASS - Expand CGTS volume group using extra disk (disk) (AIO-SX)
PASS - Add nova local volume group using extra disk (AIO-SX)
PASS - App pod that alocates and writes into a PVC (AIO-SX)
PASS - Local disk Commands (Disk API) - AIO-SX/DX
- host-disk-list
- host-disk-show
- host-disk-partition-list
- host-disk-partition-show
- host-pv-list
- host-pv-show
- host-stor-list
- host-stor-show
- host-lvg-list
- host-lvg-show
- host-pv-add
PASS - Create nova-local volume group
PASS - Local disk Commands on AIO-DX after swact

Regression:
PASS - AIO-SX: Non-multipath install/bootstrap/unlock (NVME)
PASS - AIO-DX: Non-multipath install/bootstrap/unlock (SSD)
PASS - 2+2: Non-multipath install/bootstrap/unlock (SSD)
PASS - 2+2+2 : Non-multipath install/bootstrap/unlock (SSD and HD)
PASS - Distributed cloud: Non-multipath install/bootstrap/unlock

Change-Id: I38586cd98d0635a16490e7b987617b8d7ec5e20e
Depends-On: https://review.opendev.org/c/starlingx/tools/+/860590
Story: 2010046
Task: 47268
Signed-off-by: Robert Church <robert.church@windriver.com>
2023-02-15 15:56:31 +00:00
Eric MacDonald 3fee973f9e Remove console=ttyS0,115200 from system node install menus
This update removes the 'console=ttyS0,115200' grub command
line arguement from the debian system node install menus.

Then allow system inventory to add a customer specified
console setting at node provisioning time by way of
xxxAPPEND_OPTIONSxxx variable replacement.

Test Plan:

PASS: Verify all system node install grub menus get 'ttySx*'
      value from system inventory. (dm config)
PASS: Verify all system node install grub menus default
      to "ttyS0,115200" if missing for a node's provisioning
      in system inventory. (vbox config)

Partial Bug: 2000093
Depends-On: https://review.opendev.org/c/starlingx/config/+/868353

Signed-off-by: Eric MacDonald <eric.macdonald@windriver.com>
Change-Id: I866f29233d2f2e637725a98b445ac6d24333ea30
2022-12-21 11:07:45 -05:00
Zuul f80c698031 Merge "Make var and root filesystems LVM based" 2022-11-22 19:05:10 +00:00
Robert Church c5c6f5353a Make var and root filesystems LVM based
Move the /var and /root partition based filesystems into the cgts-vg so
that they can be resized as required at runtime in the future.

This change includes:
- Update pxeboot network personality files to add installer command line
  parameters inst_ostree_root andinst_ostree_var to allow specifying the
  root and var devices to be created and populated by the installer.
- Update the StarlingX grub.cfg file to add a new single option booting
  that drops the rollback boot option (not working) and adds grub
  options ostree_root, rd.lvm.lv, and ostree_var to enable mounting the
  root and var filesystems at boot time.
- Update the kickstart/miniboot config files to:
  - Remove support for lat/lat-disk partition size variables and
    refactor the hooks to use specific PART_SZ_* and LV_SZ_* variables.
  - Increase /boot partition size to 2GB from 500M to provide some
    additional space for future patching scenarios that may require
    staging multiple ostree deployments prior to reboot and cleanup.
  - Create logical volumes for root and var set to the current 20GB
    values.
  - Adjust the minimum physical volume size used on AIO and worker
    personalities to include the new root and var logical volumes.
  - Adjust normal install disk thresholds to 219GB for AIOs and 120GB
    for workers.
  - Fix mkfs hook to ensure that the aio vs. std sizes are correctly
    reflected on hook execution.

Test Plan:
- PASS: BIOS AIO-SX
- PASS: UEFI AIO-SX
- PASS: BIOS 2+2+2
- SKIP: secure boot, not ready for Stx8.0
- PASS: AIO-SX upgrade
- PASS: AIO-DX upgrade
- PASS: DC subcloud install (virtual test)

Change-Id: I5f77266336b53d178eaae0e6fbb556bbea6400e8
Depends-On: https://review.opendev.org/c/starlingx/integ/+/865076
Story: 2010444
Task: 46881
Signed-off-by: Robert Church <robert.church@windriver.com>
2022-11-22 13:05:13 +02:00
Eric MacDonald 04e9723dbb Remove normal/rollback toggle code from stx grub menu
Modify the stx grub template file to remove the
normal / rollback image switching/toggle algorithm.
Also remove the temporary sed based method in the
kickstart code.

Effectively, this moved the previous change introduced by

  https://review.opendev.org/c/starlingx/metal/+/861461

... to a grub.cfg 'code block remove' rather
than 'on the fly sed modification' by the kickstart.

Test Plan:

PASS: Verify build and install
PASS: Verify on target code removed from /boot/efi/EFI/BOOT/grub.cfg
PASS: Verify normal image is selected after 10 back to back reboots

Story: 2009968
Task: 46886
Signed-off-by: Eric MacDonald <eric.macdonald@windriver.com>
Change-Id: Id8799dff6eef7ef8aa6f66180d6ed971c005618d
2022-11-20 23:19:53 +00:00
Eric MacDonald b5d22ef3e7 Create new pxeboot feed refresh script and service
This update introduces a new script that can be called
by patching to refresh the kernel, initrd and other
system node install feed staged files in support of
kernel patching.

This update also introduces and enables new service file
that triggers the creation of the pxeboot feeds or refreshes
the pxeboot feeds if what they contain does not match the
content in /boot.

Both new script and service files are added to the
pxe-network-installer package so they get installed
into the filesystem properly.

Lastly, there are 2 kickstart changes implemented.
 1. The kickstart code that copied the kickstart files from
      /var/www/pages/feed/rel-xx.xx/
      to
      /var/www/pages/feed/rel-xx.xx/kickstart
    is removed in favor of the pxe-network-installer package
    doing that automatically.
 2. The kickstart is modified to remove the previous pxeboot
    feed fetch and creation function.
    One exception to this is the efi.img file, its fetch remains.
    Note the efi image is currenly not included in the /boot dir.

Test Plan:

PASS: Verify Debian build and AIO DX install (cd and pxe installs)
PASS: Verify Debian Standard 2+1 DX system install
PASS: In above cases verify end-to-end handling of the following
      test case staging.
PASS: Verify pxeboot feed staging on subcloud controller-0 install
PASS: Verify pxeboot feed file positioning in
      - /var/pxeboot/rel-xx.xx (kernel and initrd images)
      - /var/www/pages/feed/rel-xx.xx/pxeboot (kernel/initrd images)
      - /var/www/pages/feed/rel-xx.xx/pxeboot/EFI/BOOT (other files)
      - /var/pxeboot and /var/www/pages/feed/rel-xx.xx (efi.img)
PASS: Verify rsync bypass for the above cases when the files match
      - complete and partial cases
PASS: Verify staging when the stage dirs are missing
      - complete and partial cases
PASS: Verify staging when stage files mismatch
      - complete and partial cases
PASS: Verify service enable on controllers for AIO and STD configs
PASS: Verify kickstart file position change
PASS: Verify shellcheck static analysis
PASS: Verify pxeboot_feed.sh script error handling
PASS: Verify pxeboot_feed.sh script logging

Story: 2009968
Task: 46789
Signed-off-by: Eric MacDonald <eric.macdonald@windriver.com>
Change-Id: Ic98b2686c417103749cb777adb28ac73ac1d397c
2022-11-20 15:36:23 +00:00
Eric MacDonald 0e7024f9a7 Grub file modifications for Debian signed UEFI installs
Initial delivery of UEFI system node installs did not
use the signed boot loader. As a result Secure Boot
of system nodes was not supported. This update changes
that by swapping in the signed bootx64.efi boot loader
in a puppet update ; see depends on.

This update modifies to the pxe-network-installer
and kickstart to support a robust UEFI system node
install that supports Secure Boot.

The first change creates and uses an stx template
file from LAT grub file. This is done to avoid ongoing
and difficult to implement LAT grub file hack changes
from the kickstart.

This new grub.cg.stx file is packaged in the
pxe-network-installer.

The kickstarts are modified to replace the LAT grub.cfg
file with the new stx template file grub.cfg.stx. As far
as this update goes, this template file is a null change
from the LAT grub file and represents what the LAT grub
file looked like at the time the template was created.

Moving forward, further changes to the system node
install grub file will be made to this new grub.cfg.stx
template file.

The second change is to modify existing stx unprovisioned
default pxe-grub.cfg files to look for the new mac based
config file with the '.cfg' extention.

The system node install mac-based grub files are dynamically
created with no signature file. To work around that, this
update exports the LAT environment variable 'skip_check_cfg'
which instructs LAT to 'skip' the grub menu signature 'check'
for these dynamically created grub files.

An additional change is made to handle timer reload on menu
refresh if the new node remains unprovisioned after timeout.

Test Plan:

PASS: Verify the default LAT file is renamed and the new
      template file positioned in its place.
PASS: Verify Debian pxe-network-installer package update
PASS: Verify Debian AIO DX UEFI Install
PASS: Verify CentOS kickstarts do not require the kickstart change

PASS: Verify build and UEFI install
      - Debian
      - CentOS
PASS: Verify unprovisioned grub menu reload handling with
      re-occuring timeout until node is provisioned.

Regression:

PASS: Verify host-delete and host-update install and unlock
PASS: Verify host-reinstall and host-unlock
PASS: Verify lock/unlock controller-1 and controller-0
PASS: Verify lock/delete/reinstall/unlock controller-1
PASS: Verify swact to controller-1
PASS: Verify lock/delete/reinstall/unlock controller-0

Depends-On: https://review.opendev.org/c/starlingx/stx-puppet/+/863776

Story: 2009968
Task: 46701
Signed-off-by: Eric MacDonald <eric.macdonald@windriver.com>
Change-Id: Id073842ac1b29acf54c999022a9e37d4c2366031
2022-11-10 23:12:53 +00:00
Eric MacDonald 492dfeec48 Debian: Package instead of fetch pxeboot utilities
This update packages the pxeboot utilities into the
pxe-network-installer and modifies the kickstart to
no longer fetch them.

Once packaged they no longer need to be staged in feed.
Once packaged then they can be patched.

Test Plan:

PASS: Build and install AIO DX
PASS: Compare /var/pxeboot dir before and after update
PASS: Verify system host-reinstall controller-0 from controller-1
PASS: Verify unlock of reinstalled controller-0
PASS: Verify kickstart logs now exclude pxeboot utility staging

Story: 2009968
Task: 46619
Signed-off-by: Eric MacDonald <eric.macdonald@windriver.com>
Change-Id: I75bcfe06724cbfc7203b187cb7c131694de69920
2022-10-23 11:07:47 +00:00
Robert Church 0b614831c8 Debian: UEFI RT pxeboot installs need efi=runtime option
Add the efi=runtime kernel command line option for all lowlatency UEFI
installs so that the efibootmgr has access to EFI non-volatile
variables. LAT will run the efibootmgr as one of that last steps of the
ISO/pxeboot install to change the device boot order of the host.

When the PREEMPT_RT kernel is enable this is required otherwise we will
rely on the existing boot order of the system, often resulting in a
pxeboot loop.

As reference here is the difference in the std and rt kernel requiring
this change:

    $ diff linux-yocto-{std,rt}/drivers/firmware/efi/efi.c
    69c69
    < static bool disable_runtime;
    ---
    > static bool disable_runtime = IS_ENABLED(CONFIG_PREEMPT_RT);
    98a99,101
    >
    >       if (parse_option_str(str, "runtime"))
    >               disable_runtime = false;

Test Plan:
PASS - Added parameter on a UEFI RT worker install in a H/W lab and
       observe that the previously failing post install reboot now
       boots successfully.

Signed-off-by: Robert Church <robert.church@windriver.com>
Closes-Bug: #1990895
Change-Id: Iff41e1125bb5a6e27f7de92862da1ef4899de794
2022-09-26 17:15:24 -05:00
Bin Qian d6e0e22496 Include upgrades meta files to Debian ISO
Add upgrades meta files to /upgrades directory in Debian ISO.
Files include:
    version
        Version file to indicate the ISO release version
    metadata.xml
        Supportted upgrade path, and required patch
    import.sh
        Shell script to import the ISO load into StarlingX system
    pxeboot-update-<rel-ver>.sh
        Shell script to update pxeboot config file for new release

Test cases:
    Build Debian ISO and visually inspect the existance of files
    list above in /upgrades directory of Debian ISO.
    Build Centos ISO with no changes.

Story: 2009303
Task: 45830

Change-Id: I1f0b42c6c37943b19bdf5dd7baaf81da5d1eef7a
Signed-off-by: Bin Qian <bin.qian@windriver.com>
2022-08-02 21:01:58 +00:00
Eric MacDonald 4d6255510b Debian: Update System node install grub menus
This update only affects system node installation.
This update makes the following changes to the system node
install grub menus in support of AIO DX:

- add std and rt kernel specification for the specified install type
- add the defaultkernel=<vmlinux> option for the specified install type
- add console=tty1 to include graphical output during install process
- remove obsolete persistent iface naming net.ifnames=0 kernel option
- remove unnecessary 'installer-' kernel and initrd prefix
- drive option order consistenty throughout the debian menus
- add kickstart directory to line up with the ISO layout

Test Plan:

PASS: Verify Debian build
PASS: Verify graphical and serial output during install
PASS: Verify AIO Controller-1 Install (standard and lowlatency)

Depends-On: https://review.opendev.org/c/starlingx/metal/+/840997

Story: 2009968
Task: 45684
Signed-off-by: Eric MacDonald <eric.macdonald@windriver.com>
Change-Id: Ic3697f4762c2985e599a0955c9785df6c9973db7
2022-07-06 14:55:58 +00:00
Eric MacDonald 16636d9c8c Debian: add controller-0 pxeboot grub menu setup utility
This update adds a new pxeboot_setup.sh script that can be used
to tailor the controller-0 BIOS and UEFI install grub menus for
for a specific lab's controller-0 target server installation.

Some controller-0 installation UEFI and BIOS grub menus' variable
replacement labels have been added to and others slightly modified
to better serve the new setup utility.

Features:

 - Updating both BIOS and EFI grub files
 - Preserves the command used to create tailored grub files
 - Preserves replaced grub files as .<name>
 - Supported variable replacements are

   xxxFEEDxxx - path between http server base and mounted iso
   xxxSYSTEMxxx - menu entry selection index ; default 2 (AIO)
   xxxINSTDEVxxx - install device name ; default /dev/sda
   xxxPXEBOOTxxx - /pxeboot offset path to bzImage/initrd
   xxxBASE_URLxxx - pxeboot server URL

Tool Usage:

The caller specifies an --input <path> argument to the debian
controller-0 installer grub file templates which contain the
above variable replacement labels.

The --output <path> argument is used to specify where to create
the variable replaced system specific grub files.

A --system <index> argument specififying the default menu entry
index to use.

The remaining arguments are used to specify various paths and
optionally the install device. Refer to the pxeboot_setup.sh
script header, code comment or full --help for more details.

Utility Arguments:

  --input   <path>
  --output  <path>
  --feed    <path>
  --pxeboot <path>
  --url     <url>
  --device  </dev/sdx>
  --system  <0..3>

Example Usage:

pxeboot_setup.sh --input /path/to/grub/template/dir
                 --output /path/to/target/iso/mount
                 --pxeboot pxeboot/offset/to/bzImage_initrd
                 --feed pxeboot/offset/to/target_feed
                 --url http://###.###.###.###
                 --instdev /dev/sde
                 --system 3

Test Plan: for both BIOS and UEFI servers

PASS: Verify End-To-End user experience using the script and menus
      from a mounted iso or feed to setup the grub install menus.

Script:

PASS: Verify grub menu selection by number and by string (default)
PASS: Verify system type install selection of all menu paths
PASS: Verify argument and option success path handling
PASS: Verify argument and option failure path handling
PASS: Verify shellcheck script static analysis
PASS: Verify saving of replaced menus as '.' files
PASS: Verify creation of command file in menus target dir
PASS: Verify default device and override handling
PASS: Verify exit 0 on success and exit 1 on failure.
PASS: Verify script usage help screen
PASS: Verify ttyS0 override to ttySx where x=0..3

Install:

PASS: Verify system install of all menu entries
PASS: Verify menu selection handling without numbered prefixes
PASS: Verify graphical and console submenu of each main menu
PASS: Verify graphical logging vs console logging

Story: 2009301
Task: 45547
Signed-off-by: Eric MacDonald <eric.macdonald@windriver.com>
Change-Id: I1faf3ea305557d990ed7b03418c45804b71878b7
2022-06-17 15:02:55 +00:00
Zuul d92914b9f2 Merge "Debian: add kickstart dir to controller-0 install grub menus" 2022-06-06 12:24:08 +00:00
Eric MacDonald 485ac95789 Debian: add kickstart dir to controller-0 install grub menus
Test Plan:

PASS: PXEBoot controller-0 from debian mounted iso

Story: 2009301
Task: 45546
Signed-off-by: Eric MacDonald <eric.macdonald@windriver.com>
Change-Id: Id5ff19b0e9f28036420e5051745e0238670de2f8
2022-06-05 19:22:59 +00:00
Zuul ce3d14e409 Merge "Debian: Add controller-0 install grub menus to pxe-network-installer" 2022-06-03 17:35:18 +00:00
Eric MacDonald 353d3577c0 Debian: Add controller-0 install grub menus to pxe-network-installer
This update adds UEFI and BIOS firmware controller-0 install grub
menus to the pxe-network-installer module.

These files require the following variable replacements that need
to be set for the specific server and install environment.

xxxLAB_PXExxx  : replace with pxeboot path to server's kernel/initrd
xxxLAB_FEEDxxx : replace with pxeboot path to server's install feed
xxxBASE_URLxxx : replace with url path to server's install feed

Default install device is /dev/sda but can be modified to meet
the needs of the disk profile for the server being installed.

These files are not packaged.
They are only added here for version control purposes.

Test Plan:

PEND: Verify controller-0 install for all menu options (UEFI)
PEND: Verify controller-0 install for all menu options (BIOS)

Story: 2009301
Task: 45480
Signed-off-by: Eric MacDonald <eric.macdonald@windriver.com>
Change-Id: I412b5814c8694cc1d783c58fbb496f37ee6af803
2022-06-03 15:29:50 +00:00
Felipe Sanches Zanoni 52d23f53d1 Bump version for pxe-network-installer package
Bump version for package pxe-network-installer to include
the HPE Synergy firmware into initrd.

Test Plan:
   PASS: Build pxe-network-installer and verify if it got
         version bumped.

Story: 2010046
Task: 45525

Signed-off-by: Felipe Sanches Zanoni <Felipe.SanchesZanoni@windriver.com>
Change-Id: Iff8573aa16db0520747369dd9d23b4544eb30d4c
2022-06-02 07:32:41 -04:00
Eric MacDonald 3ac0bcfd99 debian: Fix debian system node grub menu syntax error
The debian grub menus were missing a close bracket.

Test Plan:

PASS: Verify package build and iso create

Story: 2009101
Task: 44677
Signed-off-by: Eric MacDonald <eric.macdonald@windriver.com>
Change-Id: I1f9a7e3bd0b3a29cf9bfd3aad1d3b7ffe4e38284
2022-04-04 13:05:02 +00:00
Eric MacDonald 4659f740b9 debian: Remove installing /var/pxeboot/pxelinux.cfg directory
Ansible bootstrap will fail if this directory exists

Test Plan:
  PASS: Build package and ISO
  PASS: Install ISO for AIO-SX
  PASS: ansible bootstrap works and creates the symlink 
  
Story: 2009301
Task: 44854
Signed-off-by: Eric MacDonald <eric.macdonald@windriver.com>
Change-Id: If449648b08c3a4b6afec56db7984f16094ba0b7e
2022-03-24 18:51:28 +00:00
Eric MacDonald cddb4fc6dd debian: Add debian packaging for installer/pxe-network-installer
This update adds debian packaging to the pxe-network-installer package.
This includes a set of release based bios and uefi grub menus and a
modification to the pxeboot-update.sh script to support creating
debian grub files based on host mac address.

Test Plan:

PASS: Verify package build, image build and pxeboot install
PASS: Verify package install directory structure layout
PASS: Verify packaging of new debian /var/pxeboot/pxelinux.cfg.files
PASS: Verify platform release variable substitution in new grub files
PASS: Verify pxeboot-update.sh script changes produce both bios & efi
      variable substituted mac based grub file for a provisioned host

Regression:

PASS: Verify CentOS build and system install

Story: 2009101
Task: 44677
Signed-off-by: Eric MacDonald <eric.macdonald@windriver.com>
Change-Id: I69f735ef45bf0e0ecd612f5d7a8f1fcf6e51ca88
2022-03-23 18:40:22 +00:00
Bin Qian ed93dd4039 relocate /pxeboot to /var/pxeboot
Relocate writable /pxeboot dir to /var/pxeboot
TCs:
  - Provisioned AIO-DX
  - Provisioned Standard (2 controllers + 3 computes)
  - Sanity tests
  - Controller reinstall
  - Upgrade from previous release

Change-Id: I8f0c32d65b0e9fa95b484d389b34b71c922bfb16
Story: 2009101
Task: 44201
Signed-off-by: Bin Qian <bin.qian@windriver.com>
2021-12-20 09:54:59 -05:00
Bin Qian 62b4c3aa1c relocate /www to /var/www
Relocate writable /www to /var/www

Passed TCs:
1. provisioned DC system, std system controller + SX subcloud
2. Provision AIO-DX, standard load w/ compute and storage nodes
3. DC Upgrade, AIO-SX subclouds
4. reinstall controller
5. backup restore

Story: 2009101
Task: 43474
Change-Id: I0fd5cd4b57655325139f7c06bd44e42d06390ab7
Signed-off-by: Bin Qian <bin.qian@windriver.com>
2021-12-10 16:41:42 -05:00
Don Penney c7c341b198 Add /pxeboot/grubx64.efi symlink for UEFI pxeboot
UEFI pxeboot with shim.efi looks for the grubx64.efi in the tftpboot
root directory. This update creates a symlink to the
/pxeboot/EFI/grubx64.efi file in /pxeboot.

Change-Id: Iabf8ec89d0af6e6b1a62e20159ecdfa16729444e
Partial-Bug: 1927730
Signed-off-by: Don Penney <don.penney@windriver.com>
2021-05-07 08:56:06 -04:00
Don Penney 821f2840cc Add auto-version for remaining stx/metal packages
Update remaining StarlingX packages with hardcoded TIS_PATCH_VER to
use PKG_GITREVCOUNT where possible, with offsets as needed to ensure
the version is incremented above the hardcoded version.

Change-Id: I9fa1ceea76fa13ead2fed325e96a0be3028aa01e
Story: 2008455
Task: 41448
Signed-off-by: Don Penney <don.penney@windriver.com>
2020-12-17 13:26:24 -05:00
Scott Little 608b26d8d2 Remove reference to cgcs-centos-repo
Build readiness for renaming cgcs-centos-repo to centos-repo

Story: 2006387
Task: 36912
Depends-On: https://review.opendev.org/#/c/750041
Change-Id: I82e4796af51b4c6c0bef1cfbe27358136c9fbbd3
Signed-off-by: Scott Little <scott.little@windriver.com>
2020-09-18 16:04:44 -04:00
Sharath Kumar K efbaf2cd0d De-branding in starlingx/metal: TIS -> StarlingX
1. Rename TIS to StarlingX for .spec file

Test:
After the de-brand change, bootimage.iso has been built in the flock
Layer and installed on the dev machine to validate the changes.

Please note, doing de-brand changes in batches, this is batch11 changes.

Story: 2006387
Task: 36207

Change-Id: I52673924a8186afb7482d7ba7b601f4733268afb
Signed-off-by: Sharath Kumar K <sharath.kumar@intel.com>
2020-05-19 14:18:52 +00:00
Sharath Kumar K b725a0974b De-branding in starlingx/metal: Titanium Cloud -> StarlingX
1. Rename Titanium Cloud to StarlingX for .spec files
2. Rename Titanium Cloud to StarlingX for .service file

Test:
After the de-brand change, bootimage.iso has built in the flock layer
and installed on the dev machine to validate the changes.

Please note, doing de-brand changes in batches, this is batch1 changes.

Story: 2006387
Task: 36207

Change-Id: Ifa4dc5c7aa3189815e00b796fc833852e88c8fe3
Signed-off-by: Sharath Kumar K <sharath.kumar@intel.com>
2020-04-03 07:58:25 +02:00
Angie Wang eff0d66377 Remove unused post_clone_iso_ks.cfg
Change-Id: I3be9384b94473cc6e0f6efbc1e404c5878856ffc
Partial-Bug: 1834218
Depends-On: https://review.opendev.org/#/c/703516/
Signed-off-by: Angie Wang <angie.wang@windriver.com>
2020-01-20 18:00:03 -05:00
Tao Liu 5a44b5be49 Configurable Host HTTP/HTTPS Port Binding
Update pxeboot-update script to accept parameter for
installer base URL

Add a common function to parse the port number from
inst.repo

Update pxeboot and kickstart URLs to support a configurable
HTTP port

Story: 2004642
Task: 28593
Depends-On: https://review.openstack.org/#/c/634237/

Change-Id: Ibd66e89e49794ca57b938eb43d227860eda6674a
Signed-off-by: Tao Liu <tao.liu@windriver.com>
2019-02-06 16:04:07 -06:00
Zuul 351cc87c9c Merge "Remove version from installer" 2018-12-21 15:32:32 +00:00
Tao Liu 9661e49411 Change compute node to worker node personality
This update replaces compute references to worker in mtce,
kickstarts, installer and bsp files.

Tests Performed:
Non-containerized deployment
AIO-SX: Sanity and Nightly automated test suite
AIO-DX: Sanity and Nightly automated test suite
2+2 System: Sanity and Nightly automated test suite
2+2 System: Horizon Patch Orchestration

Kubernetes deployment:
AIO-SX: Create, delete, reboot and rebuild instances
2+2+2 System: worker nodes are unlock enable and no alarms

Story: 2004022
Task: 27013

Depends-On: https://review.openstack.org/#/c/624452/

Change-Id: I225f7d7143d841f80459603b27b95ac3f846c46f
Signed-off-by: Tao Liu <tao.liu@windriver.com>
2018-12-13 13:08:48 -05:00
Erich Cordoba 9490a2b1fb Remove version from installer
The stx-2.0 version was removed from the required filenames.
Also, now the files should be placed on the stx-installer folder.

Story: 2004126
Task: 28336

Change-Id: I1d8667472c7dfa6d48ce120626fe202a16f41c28
Signed-off-by: Erich Cordoba <erich.cordoba.malibran@intel.com>
2018-12-07 11:06:47 -06:00
Sun Austin fedb95ba79 Fix linters issues and enable tox/zuul linters job as gate
Fix below linters issues
 E001 Trailing Whitespace
 E003 Indent not multiple of 4
 E006 Line too long
 E011 Then keyword is not on same line as if or elif keyword
 E020 Function declaration not in format ^function name {$
 E040 Syntax error: syntax error near unexpected token `;'

ignore cases are added in tox setup
 E006 Line too long
 E010: do not on the same line as for

Story: 2003368
Task: 24427

Change-Id: I6acf64271a4e608be8bc8fa965cac4fa31e0c05b
Signed-off-by: Sun Austin <austin.sun@intel.com>
2018-09-05 09:02:25 +08:00
jmckenna bb036defd6 Update boot configs to match CentOS 7.5 kernel
To improve kubernetes support, update kernel to CentOS 7.5 version
and enable user namespaces in kernel bootargs.

Depends-On:  https://review.openstack.org/580689

Change-Id: I4d8620ea17a19a764c6627cd79eb548c79c56bfd
Signed-off-by: Jason McKenna <jason.mckenna@windriver.com>
Story: 2002761
Task: 22841
2018-07-06 11:26:06 -04:00
Scott Little 51d572ceed Shorten "addons/wr-cgcs/layers/cgcs" to just "stx"
Part of the project to remove cgcs references.
Replace and shorten the path the needlessly long and
complex "addons/wr-cgcs/layers/cgcs" path with just "stx".

This update just fixes up paths found in scripts, comments
and config files.

Depends-On: https://review.openstack.org/579954
Depends-On: https://review.openstack.org/579957
Depends-On: https://review.openstack.org/580170
Depends-On: https://review.openstack.org/579975
Change-Id: I2110a0de13487492f62cdaf5d5513f4faf20d50d
Signed-off-by: Scott Little <scott.little@windriver.com>
2018-07-04 11:03:59 -04:00
Scott Little 89dd36625e Rename mwa-* subdirectories to match the git repo name
mwa-delphia -> stx-clients
mwa-pitta   -> stx-config
mwa-cleo    -> stx-fault
mwa-gplv2   -> stx-gplv2
mwa-gplv3   -> stx-gplv3
mwa-solon   -> stx-ha
mwa-sparta  -> stx-integ
mwa-beas    -> stx-metal
mwa-thales  -> stx-nfv
mwa-chilon  -> stx-update
mwa-perian  -> stx-upstream

Depends-On: https://review.openstack.org/579954
Depends-On: https://review.openstack.org/579957
Change-Id: I269a4e79425a41709381f8894456d21233463e9f
Signed-off-by: Scott Little <scott.little@windriver.com>
2018-07-03 16:29:24 -04:00
jmckenna fba0ef3f7c Spectre/meltdown kernel options controllable by customer
Implements customer configuration of kernel options to control
spectre/meltdown related kernel options.  Default (with "nopti
nospectre_v2" options) can be changed to "" using

system modify -S spectre_meltdown_all

Change-Id: I183a22fa681e6524415558c0009aa8786418cc07
Signed-off-by: Jack Ding <jack.ding@windriver.com>
2018-07-03 11:04:58 -04:00
Don Penney 8267e3ce99 Add ntpd to installer, sync time from active controller during install
To avoid potential issues due to large time jumps when NTP first syncs
the system time at runtime, this update adds ntpd to the installer
rootfs and adds a pre-script to the kickstarts to sync the time from
the active controller before starting to install the software. This
also ensures that any filesystem timestamps will be accurate right
from the node installation.

Change-Id: I166c52430cec6ba64e5a33ebde64ee65639d623c
Signed-off-by: Don Penney <don.penney@windriver.com>
2018-06-27 15:48:41 -04:00
jmckenna d58a4ca481 pxe-network-installer to use updeated grub
pxe-network-installer package modifed to use update version
of grub2 (0.64)

Change-Id: I94f3c010b8d32474d82c27df68621788e44511de
Depends-On: https://review.openstack.org/#/c/578440
2018-06-27 11:42:46 -04:00
Dean Troyer 18922761a6 StarlingX open source release updates
Signed-off-by: Dean Troyer <dtroyer@gmail.com>
2018-05-31 07:36:43 -07:00