2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2026-08-28 17:46:40 +00:00
Commit Graph

31 Commits

Author SHA1 Message Date
Vinícius Ferrão 27aaa960fa fix(getinstdisk): choose the driver group before the identifier
The scan wrote each disk into a file named after the identifier it
reported, wwn, path or neither, and read back the groups of one such
file only. Two disks that reported different identifiers therefore
never competed on their driver group: a disk without a WWN was dropped
as soon as another disk reported one, and when the last disk scanned
reported a WWN the readback opened the WWN files alone. A direct
attached boot disk that reports no WWN thus lost to a RAID volume that
reports one, which is the case the driver groups exist to decide.

Write every disk into the file of its driver group and keep the
identifier as the sort key inside that group, ranked so that a WWN
sorts ahead of a path and a path ahead of no identifier. The driver
group now decides first for every disk, the identifier still decides
between disks of one group, and no disk is dropped from the scan.
2026-08-21 01:13:15 -03:00
Vinícius Ferrão 5329381354 fix(getinstdisk): let Xen virtual disks reach the disk scan
The device filter accepted sd, hd, vd and nvme names, so the xvd names
that a Xen guest presents never entered the scan. On such a guest the
whole detection ran on an empty list and the script fell through to the
xvda fallback, which takes the first Xen disk without looking at any of
them.

Accept the xvd names in the filter. A Xen disk now goes through the
same classification, kernel search and driver sort as any other disk,
so a guest with more than one disk gets a chosen disk rather than the
first one. The fallback stays for the case where the scan still finds
nothing.

The nvme branch of the filter is anchored at the same time, so a name
only matches when it starts with nvme.
2026-08-21 01:13:15 -03:00
Vinícius Ferrão 3ca2a9f8aa fix(getinstdisk): serve every installer from one script
The RHEL 10 support added a second copy of the script. The copy carries
the Xen fallback and a failure log that the common script does not, and
the common script carries the Intel RSTe/VROC fallback that the copy
does not. A RHEL 10 node whose OS disk is a VROC volume therefore fell
back to /dev/sda, and every later fix to disk selection had to be
written twice to reach both.

Fold the Xen fallback and the failure log into the common script and
delete the copy. The RHEL 10 installer includes the common script, as
the other installers already do. The failure log runs only when the
including script defines msgutil_r, because the subiquity path does
not.
2026-08-21 01:13:15 -03:00
Vinícius Ferrão 1d8fe040c7 fix(getinstdisk): prefer direct attached disks over RAID volumes
The driver sort put the ahci and ata_piix controllers in the same
choice group as the PMC MaxRAID and megaraid_sas RAID controllers. On a
server with both, the sort could select a RAID data volume as the OS
install disk.

Move the RAID controllers to the second choice group. The direct
attached controllers hold the likely boot volume, and a server with
only RAID volumes still selects them from the second group. The SAS
host adapters move to the third group and every other driver to a new
fourth group, so the relative order of the remaining drivers does not
change. The RHEL 10 installer includes its own copy of the script, so
both carry the change.

Recovered from the lenovobuild branch.
2026-08-20 22:58:25 -03:00
Vinícius Ferrão 009dac9834 fix(getinstdisk): use an Intel RSTe/VROC software RAID when no other disk is found
On a node whose OS disk is an Intel RSTe/VROC software RAID (/dev/md/Volume0_0
or /dev/md/Volume0), disk auto-detection finds nothing and getinstdisk falls
back to the hard-coded /dev/sda. Prefer the VROC volume over that default.

Only fires when no install disk was otherwise selected and the VROC device
actually exists, so it cannot mis-select over a real disk and has no effect on
non-VROC systems. The original commit hooked into a lenovobuild-specific M.2
detection block absent from master; adapted to master's fallback point.

Not lab-validated (no VROC hardware available).

Recovered from the unmerged lenovobuild branch (c6c70e5).
2026-07-23 19:17:49 -03:00
Simon Fowler 55c521a405 Add initial support for deploying Ubuntu 20.04 nodes.
This configures automated installation using the subiquity installer, as
documented at
https://ubuntu.com/server/docs/install/autoinstall-quickstart and other
locations on the Internet.

Installation uses the NFS export of /install, and configures the
installer to use the nocloud-net datasource, creating a per-node
directory containing the processed template file as the user-data file,
and an empty meta-data file.

Kernel and initrd files are pulled from the casper/ directory under the
package dir.

Unnecessary elements of the kernel command line have been removed in the
subiquity installer path.

Support has been added for selecting a subiquity specific default
template, as well as an updated pre-install script and some minor POSIX
shell compliance fixes for the getinstdisk script.
2021-12-13 11:54:49 +11:00
Mark Gurevich 5ead6c1bda Use 'find' to reliably find vmlinu* file on the partition 2021-03-23 15:34:39 -04:00
Mark Gurevich ef814440be Extract correct size of the nvme disk partition 2021-03-03 13:51:27 -05:00
Mark Gurevich 01780a010e Improve debug messages and comments 2021-02-26 13:00:33 -05:00
Mark Gurevich d0f486ce10 Use case instead of if which does not work on Ubuntu 2020-09-02 17:00:50 -04:00
Mark Gurevich de705f06db Support OS install on nvme disk 2020-08-28 11:13:15 -04:00
GONG Jie 6e0a4d126c Remove trailing spaces in file xCAT-server/share/xcat/install/scripts/getinstdisk 2017-12-31 23:59:59 +00:00
Jarrod Johnson 2ca56404d9 Add boot nvme support and filter small devices (#4778)
nvme devices were not autosensed as install candidates.

Also, devices smaller than 128 MB are filtered out, as they are likely
to be some media or similar.
2018-02-23 10:32:34 +08:00
Yuan Bai 6720675b21 revert to old udevadm code (#3294) 2017-06-20 04:08:51 -05:00
Yuan Bai 09361d8499 update udevadmin work around (#3038) 2017-05-12 00:01:44 -05:00
Yuan Bai 6617d7dfbd work around installer hang for udevadm command in p9 pegas. (#2953) 2017-04-27 21:26:55 -05:00
Victor Hu d55964407f Merge pull request #1058 from xuweibj/I1048
Fix issue #1048, Resolve or clean up minor issues on getinstdisk
2016-06-08 19:46:00 -04:00
xuweibj 014de562f9 Merge pull request #1111 from whowutwut/install_disk
Modify the getinstdisk to create files called /tmp/xcat.install_disk to indicate xCAT related files  (DO NOT MERGE until after branch 2.12)
2016-06-07 14:28:00 +08:00
ertaozh 1eb69676b6 fix issue 1103:xcat2.12 can not get the right disk name for RHEL on PowerKVM 2016-05-16 22:40:41 -04:00
Victor Hu 23e124ac2d Modify the getinstdisk to create a temporary file called /tmp/xcat.install_disk
so that it's easier for the admin who is debugging the install to know which files
are created by xCAT
2016-05-12 13:33:28 -04:00
XuWei 3d0fdc94c1 Fix issue #1048, Resolve or clean up minor issues on getinstdisk from code review 2016-05-08 22:03:42 -04:00
XuWei c610e40a18 Get correct WWN and PATH values in getinstdisk 2016-05-04 21:23:43 -04:00
ertaozh d2475a918d fix issue [DEV] RHEL 7.2 can't install on ppc64le Non-Virtualized 2016-04-25 04:09:43 -04:00
XuWei 84689f9dc4 To fix issue 822, run getinstdisk script when install rh6.7 2016-03-23 01:53:38 -04:00
XuWei d450c4a447 To fix issue 815, get the disk name with the smallest data 2016-03-21 01:17:09 -04:00
XuWei 3f301ed01a To fix issue #805, add flag to getinstdisk log 2016-03-15 22:45:50 -04:00
XuWei 4e465004ae Improve fresh install disk log information, fix issue #747 2016-03-09 19:55:05 -05:00
XuWei 2c9c0b4a76 Story 85827, Hand the case that the disk does not have WWN 2016-02-16 01:49:15 -05:00
XuWei d5ade56780 to fix issue 564
modified to fix issue 579
2016-01-12 02:10:23 -05:00
XuWei 5b94ccbfe5 to fix issue 563&564 2016-01-04 04:48:09 -05:00
XuWei c08fc960b2 Get_install_disk,Task 75933 2015-12-28 03:05:58 -05:00