Merge pull request #41 from ClusterLabs/install-target-uefi

* The work on PXE / UEFI support is broken, and will be set aside for…
main
Digimer 4 years ago committed by GitHub
commit 2a1fa6891e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      cgi-bin/get_anvil_status
  2. 17
      cgi-bin/get_anvils
  3. 114
      html/skins/alteeve/pxe.txt
  4. 41
      notes
  5. 18
      scripts/plan_partitions
  6. 14
      share/anvil.sql
  7. 12
      share/words.xml
  8. 5
      tools/striker-manage-install-target

@ -39,6 +39,7 @@ $anvil->Database->get_anvils();
print $anvil->Template->get({file => "shared.html", name => "json_headers", show_name => 0})."\n"; print $anvil->Template->get({file => "shared.html", name => "json_headers", show_name => 0})."\n";
my $hash = {};
my $anvil_uuid = $anvil->data->{cgi}{anvil_uuid}{value}; my $anvil_uuid = $anvil->data->{cgi}{anvil_uuid}{value};
if ((not $anvil_uuid) or (not exists $anvil->data->{anvils}{anvil_uuid}{$anvil_uuid})) if ((not $anvil_uuid) or (not exists $anvil->data->{anvils}{anvil_uuid}{$anvil_uuid}))
{ {
@ -60,6 +61,11 @@ else
$anvil->data->{anvil_status}{nodes}{node2}{host_name} = $anvil->data->{hosts}{host_uuid}{$node2_uuid}{host_name}; $anvil->data->{anvil_status}{nodes}{node2}{host_name} = $anvil->data->{hosts}{host_uuid}{$node2_uuid}{host_name};
$anvil->data->{anvil_status}{nodes}{node2}{host_uuid} = $node2_uuid; $anvil->data->{anvil_status}{nodes}{node2}{host_uuid} = $node2_uuid;
$anvil->data->{anvil_status}{nodes}{node2}{host_status} = $anvil->data->{hosts}{host_uuid}{$node2_uuid}{host_status} eq "online" ? 1 : 0; $anvil->data->{anvil_status}{nodes}{node2}{host_status} = $anvil->data->{hosts}{host_uuid}{$node2_uuid}{host_status} eq "online" ? 1 : 0;
$hash->{timestamp} = time;
$hash->{nodes} = [];
push @{$hash->{nodes}}, { on => $anvil->data->{anvil_status}{nodes}{node1}{host_status} };
push @{$hash->{nodes}}, { on => $anvil->data->{anvil_status}{nodes}{node2}{host_status} };
} }
print JSON->new->utf8->encode($anvil->data->{anvil_status})."\n"; print JSON->new->utf8->encode($hash)."\n";

@ -35,6 +35,19 @@ if (not $anvil->data->{sys}{database}{connections})
$anvil->Get->cgi(); $anvil->Get->cgi();
$anvil->Database->get_anvils(); $anvil->Database->get_anvils();
print $anvil->Template->get({file => "shared.html", name => "json_headers", show_name => 0})."\n"; my $json_hash = {};
print JSON->new->utf8->encode($anvil->data->{anvils}{anvil_name})."\n"; $json_hash->{anvils} = [];
foreach my $anvil_uuid (keys %{$anvil->data->{anvils}{anvil_uuid}})
{
push @{$json_hash->{anvils}}, { uuid => $anvil_uuid };
my $anvil_description = $anvil->data->{anvils}{anvil_uuid}{$anvil_uuid}{anvil_description};
my $anvil_password = $anvil->data->{anvils}{anvil_uuid}{$anvil_uuid}{anvil_password};
my $anvil_node1_host_uuid = $anvil->data->{anvils}{anvil_uuid}{$anvil_uuid}{anvil_node1_host_uuid};
my $anvil_node2_host_uuid = $anvil->data->{anvils}{anvil_uuid}{$anvil_uuid}{anvil_node2_host_uuid};
my $anvil_dr1_host_uuid = $anvil->data->{anvils}{anvil_uuid}{$anvil_uuid}{anvil_dr1_host_uuid};
}
print $anvil->Template->get({file => "shared.html", name => "json_headers", show_name => 0})."\n";
print JSON->new->utf8->encode($json_hash)."\n";

@ -82,7 +82,7 @@ selinux --permissive
%packages %packages
@^minimal-environment @^minimal-environment
alteeve-el8-repo #alteeve-el8-repo
#createrepo #createrepo
#dhcp-server #dhcp-server
#firefox #firefox
@ -276,7 +276,7 @@ use strict;
use warnings; use warnings;
# Set to '1' for verbose output # Set to '1' for verbose output
my $debug = #!variable!debug!#; my $debug = 0;
### NOTE: This must be set to 'striker', 'node' or 'dr'! Wither set '$type' or use the appropriate argument. ### NOTE: This must be set to 'striker', 'node' or 'dr'! Wither set '$type' or use the appropriate argument.
my $type = "#!variable!type!#"; my $type = "#!variable!type!#";
@ -533,7 +533,6 @@ else
### NOTE: kickstart sizes are in MiB ### NOTE: kickstart sizes are in MiB
# Prepare some variables # Prepare some variables
my $swap_size = 8192; my $swap_size = 8192;
my $boot_size = 1024;
my $root_size = 0; my $root_size = 0;
my $vg_name = $type."_".$id; my $vg_name = $type."_".$id;
@ -571,7 +570,7 @@ if ($available_space < 40960)
} }
# The left over space is for '/' (we'll shorten this up to 40GiB for nodes and DR hosts next) # The left over space is for '/' (we'll shorten this up to 40GiB for nodes and DR hosts next)
$root_size = $available_space - $swap_size - $boot_size; $root_size = $available_space - $swap_size;
print __LINE__."; [ Debug ] - root_size: [".$root_size."]\n" if $debug; print __LINE__."; [ Debug ] - root_size: [".$root_size."]\n" if $debug;
print __LINE__."; [ Debug ] - type: [".$type."], root_size: [".$root_size."]\n" if $debug; print __LINE__."; [ Debug ] - type: [".$type."], root_size: [".$root_size."]\n" if $debug;
@ -583,23 +582,22 @@ if (($type ne "striker") && ($root_size > 40960))
# Round down to an event integer. # Round down to an event integer.
$root_size =~ s/\.\d+$//; $root_size =~ s/\.\d+$//;
print __LINE__."; Assigning: [".hr_size($swap_size * (2**20))." (".$swap_size." MiB)], root_size: [".hr_size($root_size * (2**20))." (".$root_size.") MiB], boot_size: [".hr_size($boot_size * (2**20))." (".$boot_size.") MiB]\n" if $debug; print __LINE__."; Assigning: [".hr_size($swap_size * (2**20))." (".$swap_size." MiB)], root_size: [".hr_size($root_size * (2**20))." (".$root_size.") MiB]\n" if $debug;
# Build the partition file. # Build the partition file.
my $partition_file = "/tmp/plan_partitions.out"; my $partition_file = "/tmp/plan_partitions.out";
my $partition_body = "zerombr my $partition_body = "ignoredisk --only-use=".$say_use_drive."
clearpart --all --drives=".$say_use_drive." clearpart --none --initlabel";
ignoredisk --only-use=".$say_use_drive."
bootloader --location=mbr --driveorder=".$say_use_drive." --boot-drive=".$use_drive;
if (not $raid_level) if (not $raid_level)
{ {
# Finally, we've got our output. # Finally, we've got our output.
$partition_body .= " $partition_body .= "
# Partitions # Disk partitioning information
part biosboot --fstype=biosboot --size=2 part biosboot --fstype=\"biosboot\" --ondisk=".$use_drive." --size=2
part /boot --fstype=ext4 --size=1024 --ondisk=".$use_drive." part /boot --fstype=\"xfs\" --ondisk=".$use_drive." --size=1024
part pv.01 --fstype=lvmpv --size=100 --ondisk=".$use_drive." --grow part /boot/efi --fstype=\"efi\" --ondisk=".$use_drive." --size=600 --fsoptions=\"umask=0077,shortname=winnt\"
part pv.01 --fstype=lvmpv --ondisk=".$use_drive." --size=100 --grow
# LVM Volume groups # LVM Volume groups
volgroup ".$vg_name." --pesize=4096 pv.01 volgroup ".$vg_name." --pesize=4096 pv.01
@ -617,26 +615,22 @@ else
for (my $i = 0; $i < $count; $i++) for (my $i = 0; $i < $count; $i++)
{ {
$partition_body .= "part biosboot --fstype=biosboot --size=2 --ondisk=".$drives->{by_hr_size}{$hr_size}->[$i]."\n"; $partition_body .= "part biosboot --fstype=\"biosboot\" --ondisk=".$drives->{by_hr_size}{$hr_size}->[$i]." --size=2 \n";
$partition_body .= "part /boot/efi --fstype=\"efi\" --ondisk=".$drives->{by_hr_size}{$hr_size}->[$i]." --size=600 --fsoptions=\"umask=0077,shortname=winnt\" \n";
$partition_body .= "part /boot --fstype=\"xfs\" --ondisk=".$drives->{by_hr_size}{$hr_size}->[$i]." --size=1024 \n";
} }
$partition_body .= " $partition_body .= "
# LVM PV # LVM PV
"; ";
### TODO: Test the /boot part. my $say_raid = "";
my $say_raid_boot = "";
my $say_raid = "";
for (my $i = 0; $i < $count; $i++) for (my $i = 0; $i < $count; $i++)
{ {
my $disk_number = $i + 1; my $disk_number = $i + 1;
$partition_body .= "part raid.0".$disk_number." --size 1025 --ondisk=".$drives->{by_hr_size}{$hr_size}->[$i]."\n"; $partition_body .= "part raid.1".$disk_number." --size 100 --grow --ondisk=".$drives->{by_hr_size}{$hr_size}->[$i]."\n";
$partition_body .= "part raid.1".$disk_number." --size 100 --grow --ondisk=".$drives->{by_hr_size}{$hr_size}->[$i]."\n"; $say_raid .= "raid.1".$disk_number." ";
$say_raid_boot .= "raid.0".$disk_number." ";
$say_raid .= "raid.1".$disk_number." ";
} }
$partition_body .= " $partition_body .= "raid pv.01 --fstype=xfs --device=pv.01 --level=RAID".$raid_level." ".$say_raid."
raid /boot --fstype=ext4 --device=boot --level=RAID1 ".$say_raid_boot."
raid pv.01 --fstype=xfs --device=pv.01 --level=RAID".$raid_level." ".$say_raid."
# LVM Volume groups # LVM Volume groups
volgroup ".$vg_name." pv.01 volgroup ".$vg_name." pv.01
@ -647,7 +641,7 @@ logvol / --fstype=xfs --size=100 --grow --maxsize=".$root_size." --name=lv_r
"; ";
} }
### NOTE: This shouldn't be needed... See: https://bugzilla.redhat.com/show_bug.cgi?id=1654902
# Wipe out the start of each disk so that the install doesn't puke if it sees, for example, an mdadm # Wipe out the start of each disk so that the install doesn't puke if it sees, for example, an mdadm
# signature on the sole disk being used as an install target. # signature on the sole disk being used as an install target.
foreach my $path (split/,/, $say_use_drive) foreach my $path (split/,/, $say_use_drive)
@ -819,7 +813,7 @@ MENU COLOR help 0 #c0f2f2f2 #c0000000 std # Help text, if set via '
### NOTE: inst.repo is the image of the install media, looks for .treeinfo ### NOTE: inst.repo is the image of the install media, looks for .treeinfo
label striker label striker
menu label #!string!message_0084!# menu label ^1. #!string!message_0084!#
TEXT HELP TEXT HELP
#!string!message_0085!# #!string!message_0085!#
ENDTEXT ENDTEXT
@ -828,7 +822,7 @@ kernel #!data!host_os::os_type!#/vmlinuz
append initrd=#!data!host_os::os_type!#/initrd.img root=live:#!variable!base_url!#/os/images/install.img inst.stage2=#!variable!base_url!#/os/ ip=dhcp inst.ks=#!variable!base_url!#/kickstart/striker.ks inst.gpt inst.sshd append initrd=#!data!host_os::os_type!#/initrd.img root=live:#!variable!base_url!#/os/images/install.img inst.stage2=#!variable!base_url!#/os/ ip=dhcp inst.ks=#!variable!base_url!#/kickstart/striker.ks inst.gpt inst.sshd
label node label node
menu label #!string!message_0086!# menu label ^2. #!string!message_0086!#
TEXT HELP TEXT HELP
#!string!message_0087!# #!string!message_0087!#
ENDTEXT ENDTEXT
@ -836,7 +830,7 @@ kernel #!data!host_os::os_type!#/vmlinuz
append initrd=#!data!host_os::os_type!#/initrd.img root=live:#!variable!base_url!#/os/images/install.img inst.stage2=#!variable!base_url!#/os/ ip=dhcp inst.ks=#!variable!base_url!#/kickstart/node.ks inst.gpt inst.sshd append initrd=#!data!host_os::os_type!#/initrd.img root=live:#!variable!base_url!#/os/images/install.img inst.stage2=#!variable!base_url!#/os/ ip=dhcp inst.ks=#!variable!base_url!#/kickstart/node.ks inst.gpt inst.sshd
label node label node
menu label #!string!message_0088!# menu label ^3. #!string!message_0088!#
TEXT HELP TEXT HELP
#!string!message_0089!# #!string!message_0089!#
ENDTEXT ENDTEXT
@ -844,7 +838,7 @@ kernel #!data!host_os::os_type!#/vmlinuz
append initrd=#!data!host_os::os_type!#/initrd.img root=live:#!variable!base_url!#/os/images/install.img inst.stage2=#!variable!base_url!#/os/ ip=dhcp inst.ks=#!variable!base_url!#/kickstart/dr.ks inst.gpt inst.sshd append initrd=#!data!host_os::os_type!#/initrd.img root=live:#!variable!base_url!#/os/images/install.img inst.stage2=#!variable!base_url!#/os/ ip=dhcp inst.ks=#!variable!base_url!#/kickstart/dr.ks inst.gpt inst.sshd
label rescue label rescue
menu label #!string!message_0090!# menu label ^4. #!string!message_0090!#
TEXT HELP TEXT HELP
#!string!message_0091!# #!string!message_0091!#
ENDTEXT ENDTEXT
@ -852,7 +846,7 @@ kernel #!data!host_os::os_type!#/vmlinuz
append initrd=#!data!host_os::os_type!#/initrd.img ip=dhcp root=live:#!variable!base_url!#/LiveOS/squashfs.img rescue inst.repo=#!variable!base_url!#/os/ ip=dhcp inst.sshd append initrd=#!data!host_os::os_type!#/initrd.img ip=dhcp root=live:#!variable!base_url!#/LiveOS/squashfs.img rescue inst.repo=#!variable!base_url!#/os/ ip=dhcp inst.sshd
label #!data!host_os::os_type!# label #!data!host_os::os_type!#
menu label #!string!message_0092!# menu label ^5. #!string!message_0092!#
TEXT HELP TEXT HELP
#!string!message_0093!# #!string!message_0093!#
ENDTEXT ENDTEXT
@ -861,7 +855,7 @@ append initrd=#!data!host_os::os_type!#/initrd.img root=live:#!variable!base_url
label next label next
menu default menu default
menu label #!string!message_0094!# menu label ^6. #!string!message_0094!#
localboot 0xffff localboot 0xffff
<!-- end tftp_bios --> <!-- end tftp_bios -->
@ -890,13 +884,21 @@ search --no-floppy --set=root -l 'RHEL-8-3-0-BaseOS-x86_64'
### BEGIN /etc/grub.d/10_linux ### ### BEGIN /etc/grub.d/10_linux ###
menuentry 'Install #!variable!say_os!# 8' --class fedora --class gnu-linux --class gnu --class os { menuentry 'Install #!variable!say_os!# 8' --class fedora --class gnu-linux --class gnu --class os {
linuxefi /images/#!data!host_os::os_type!#/vmlinuz ip=dhcp inst.repo=#!variable!base_url!#/os/ linuxefi #!data!host_os::os_type!#/vmlinuz ip=dhcp inst.repo=#!variable!base_url!#/os/
initrdefi /images/#!data!host_os::os_type!#/initrd.img initrdefi #!data!host_os::os_type!#/initrd.img
}
menuentry '#!string!message_0084!#' --class #!data!host_os::os_type!# --class gnu-linux --class gnu --class os {
linuxefi #!data!host_os::os_type!#/vmlinuz ip=dhcp inst.repo=#!variable!base_url!#/os/ inst.ks=#!variable!base_url!#/kickstart/striker.ks inst.gpt inst.sshd
initrdefi #!data!host_os::os_type!#/initrd.img
} }
<!-- end tftp_grub --> <!-- end tftp_grub -->
<!-- start tftp_uefi --> <!-- start tftp_uefi -->
set timeout="-1"
set default="1"
function load_video { function load_video {
insmod efi_gop insmod efi_gop
insmod efi_uga insmod efi_uga
@ -909,13 +911,53 @@ load_video
set gfxpayload=keep set gfxpayload=keep
insmod gzio insmod gzio
menuentry 'Install RHEL 8' --class rhel --class gnu-linux --class gnu --class os { menuentry 'Install RHEL 8' --class rhel --class gnu-linux --class gnu --class os {
linuxefi #!data!host_os::os_type!#/vmlinuz ip=dhcp inst.repo=#!variable!base_url!#/#!data!host_os::os_type!#/#!data!host_os::os_arch!#/iso/ linuxefi #!data!host_os::os_type!#/vmlinuz ip=dhcp inst.repo=#!variable!base_url!#/#!data!host_os::os_type!#/#!data!host_os::os_arch!#/iso/
initrdefi #!data!host_os::os_type!#/initrd.img initrdefi #!data!host_os::os_type!#/initrd.img
} }
menuentry 'Install Striker' --class rhel --class gnu-linux --class gnu --class os { menuentry '#!string!message_0084!#' --class #!data!host_os::os_type!# --class gnu-linux --class gnu --class os { inst.ks=#!variable!base_url!#/kickstart/striker.ks inst.gpt inst.sshd
linuxefi #!data!host_os::os_type!#/vmlinuz ip=dhcp inst.repo=#!variable!base_url!#/#!data!host_os::os_type!#/#!data!host_os::os_arch!#/iso/ root=live:#!variable!base_url!#/#!data!host_os::os_type!#/#!data!host_os::os_arch!#/os/images/install.img inst.ks=#!variable!base_url!#/#!data!host_os::os_type!#/#!data!host_os::os_arch!#/kickstart/striker.ks inst.sshd rd.debug linuxefi #!data!host_os::os_type!#/vmlinuz ip=dhcp inst.repo=#!variable!base_url!#/#!data!host_os::os_type!#/#!data!host_os::os_arch!#/iso/
initrdefi #!data!host_os::os_type!#/initrd.img initrdefi #!data!host_os::os_type!#/initrd.img
} }
<!-- end tftp_uefi --> <!-- end tftp_uefi -->
<!-- start temp -->
label node
menu label ^2. #!string!message_0086!#
TEXT HELP
#!string!message_0087!#
ENDTEXT
kernel #!data!host_os::os_type!#/vmlinuz
append initrd=#!data!host_os::os_type!#/initrd.img root=live:#!variable!base_url!#/os/images/install.img inst.stage2=#!variable!base_url!#/os/ ip=dhcp inst.ks=#!variable!base_url!#/kickstart/node.ks inst.gpt inst.sshd
label node
menu label ^3. #!string!message_0088!#
TEXT HELP
#!string!message_0089!#
ENDTEXT
kernel #!data!host_os::os_type!#/vmlinuz
append initrd=#!data!host_os::os_type!#/initrd.img root=live:#!variable!base_url!#/os/images/install.img inst.stage2=#!variable!base_url!#/os/ ip=dhcp inst.ks=#!variable!base_url!#/kickstart/dr.ks inst.gpt inst.sshd
label rescue
menu label ^4. #!string!message_0090!#
TEXT HELP
#!string!message_0091!#
ENDTEXT
kernel #!data!host_os::os_type!#/vmlinuz
append initrd=#!data!host_os::os_type!#/initrd.img ip=dhcp root=live:#!variable!base_url!#/LiveOS/squashfs.img rescue inst.repo=#!variable!base_url!#/os/ ip=dhcp inst.sshd
label #!data!host_os::os_type!#
menu label ^5. #!string!message_0092!#
TEXT HELP
#!string!message_0093!#
ENDTEXT
kernel #!data!host_os::os_type!#/vmlinuz
append initrd=#!data!host_os::os_type!#/initrd.img root=live:#!variable!base_url!#/images/install.img inst.repo=#!variable!base_url!#/os/ ip=dhcp inst.gpt inst.sshd
label next
menu default
menu label ^6. #!string!message_0094!#
localboot 0xffff
<!-- end temp -->

41
notes

@ -1,12 +1,3 @@
============
From: test-alert@alert.alteeve.com
To: Madison Kelly <debug@alteeve.com>
Subject: [ ScanCore ] - Test email
Reply-To:
This is a test alert.
============ ============
DISABLE KSM! DISABLE KSM!
@ -137,38 +128,6 @@ mkinitrd /var/lib/tftpboot/${OS}/initrd.img $(uname -r)
# Configs from anvil source # Configs from anvil source
rsync -av pxe/tftpboot/pxelinux.cfg/default root@f28-striker01:/var/lib/tftpboot/pxelinux.cfg/ rsync -av pxe/tftpboot/pxelinux.cfg/default root@f28-striker01:/var/lib/tftpboot/pxelinux.cfg/
rsync -av pxe/tftpboot/pxelinux/uefi root@f28-striker01:/var/lib/tftpboot/pxelinux/ rsync -av pxe/tftpboot/pxelinux/uefi root@f28-striker01:/var/lib/tftpboot/pxelinux/
==== UEFI boot crash
>>Start PXE over IPv4.
Station IP address is 10.1.14.186
Server IP address is 10.1.4.1
NBP filename is uefi/shim.efi
NBP filesize is 1210776 Bytes
Downloading NBP file...
NBP file downloaded successfully.
Fetching Netboot Image
!!!! X64 Exception Type - 0D(#GP - General Protection) CPU Apic ID - 00000000 !!!!
ExceptionData - 0000000000000000
RIP - 000000007FF8E976, CS - 0000000000000038, RFLAGS - 0000000000210202
RAX - 0000000000000001, RCX - 0000000000000010, RDX - AFAFAFAFAFAFAFA7
RBX - 0000000000000020, RSP - 000000007FF7E6B0, RBP - 000000007ED11F18
RSI - AFAFAFAFAFAFAFAF, RDI - 000000007FFA1720
R8 - 0000000000000000, R9 - 0000000000000028, R10 - 0000000000000020
R11 - 0000000000000002, R12 - 000000007ECE3798, R13 - 000000007ECE3C18
R14 - 000000007FF7E788, R15 - 000000007ECE37D8
DS - 0000000000000030, ES - 0000000000000030, FS - 0000000000000030
GS - 0000000000000030, SS - 0000000000000030
CR0 - 0000000080010033, CR2 - 0000000000000000, CR3 - 000000007FC01000
CR4 - 0000000000000668, CR8 - 0000000000000000
DR0 - 0000000000000000, DR1 - 0000000000000000, DR2 - 0000000000000000
DR3 - 0000000000000000, DR6 - 00000000FFFF0FF0, DR7 - 0000000000000400
GDTR - 000000007FBEE698 0000000000000047, LDTR - 0000000000000000
IDTR - 000000007F5B5018 0000000000000FFF, TR - 0000000000000000
FXSAVE_STATE - 000000007FF7E310
!!!! Find image based on IP(0x7FF8E976) /builddir/build/BUILD/tianocore-edk2-cb5f4f45ce/Build/OvmfX64/DEBUG_GCC5/X64/MdeModulePkg/Core/Dxe/DxeMain/DEBUG/DxeCore.dll (ImageBase=000000007FF80000, EntryPoint=000000007FF98DB1) !!!!
==== ====
DB stuff; DB stuff;

@ -328,18 +328,18 @@ print __LINE__."; Assigning: [".hr_size($swap_size * (2**20))." (".$swap_size."
# Build the partition file. # Build the partition file.
my $partition_file = "/tmp/plan_partitions.out"; my $partition_file = "/tmp/plan_partitions.out";
my $partition_body = "zerombr my $partition_body = "ignoredisk --only-use=".$say_use_drive."
clearpart --all --drives=".$say_use_drive." clearpart --none --initlabel";
ignoredisk --only-use=".$say_use_drive."
bootloader --location=mbr --driveorder=".$say_use_drive." --boot-drive=".$use_drive;
if (not $raid_level) if (not $raid_level)
{ {
# Finally, we've got our output. # Finally, we've got our output.
$partition_body .= " $partition_body .= "
# Partitions # Disk partitioning information
part biosboot --fstype=biosboot --size=2 part biosboot --fstype=\"biosboot\" --ondisk=".$use_drive." --size=2
part pv.01 --fstype=lvmpv --size=100 --ondisk=".$use_drive." --grow part /boot --fstype=\"xfs\" --ondisk=".$use_drive." --size=1024
part /boot/efi --fstype=\"efi\" --ondisk=".$use_drive." --size=600 --fsoptions=\"umask=0077,shortname=winnt\"
part pv.01 --fstype=lvmpv --ondisk=".$use_drive." --size=100 --grow
# LVM Volume groups # LVM Volume groups
volgroup ".$vg_name." --pesize=4096 pv.01 volgroup ".$vg_name." --pesize=4096 pv.01
@ -357,7 +357,9 @@ else
for (my $i = 0; $i < $count; $i++) for (my $i = 0; $i < $count; $i++)
{ {
$partition_body .= "part biosboot --fstype=biosboot --size=2 --ondisk=".$drives->{by_hr_size}{$hr_size}->[$i]."\n"; $partition_body .= "part biosboot --fstype=\"biosboot\" --ondisk=".$drives->{by_hr_size}{$hr_size}->[$i]." --size=2 \n";
$partition_body .= "part /boot/efi --fstype=\"efi\" --ondisk=".$drives->{by_hr_size}{$hr_size}->[$i]." --size=600 --fsoptions=\"umask=0077,shortname=winnt\" \n";
$partition_body .= "part /boot --fstype=\"xfs\" --ondisk=".$drives->{by_hr_size}{$hr_size}->[$i]." --size=1024 \n";
} }
$partition_body .= " $partition_body .= "

@ -50,13 +50,13 @@ $$;
-- This stores information about the host machine. This is the master table that everything will be linked -- This stores information about the host machine. This is the master table that everything will be linked
-- to. -- to.
CREATE TABLE hosts ( CREATE TABLE hosts (
host_uuid uuid not null primary key, -- This is the single most important record in Anvil!. Everything links back to here. host_uuid uuid not null primary key, -- This is the single most important record in Anvil!. Everything links back to here.
host_name text not null, -- This is the 'hostname' of the machine host_name text not null, -- This is the 'hostname' of the machine
host_type text not null, -- Either 'node' or 'dashboard' or 'dr'. It is left empty until the host is configured. host_type text not null, -- Either 'node' or 'dashboard' or 'dr'. It is left empty until the host is configured.
host_key text not null, -- This is the host's key used to authenticate it when other machines try to ssh to it. host_key text not null, -- This is the host's key used to authenticate it when other machines try to ssh to it.
host_ipmi text not null default '', -- This is an optional string, in 'fence_ipmilan' format, that tells how to access/fence this host. host_ipmi text not null default '', -- This is an optional string, in 'fence_ipmilan' format, that tells how to access/fence this host.
host_health numeric not null default 0, -- This is a numerical representation of the health of the node. 0 is healthy, and the higher the value, the more "sick" the node is. This guides ScanCore is determining when to proactive live migrate servers. host_health numeric not null default 0, -- This is a numerical representation of the health of the node. 0 is healthy, and the higher the value, the more "sick" the node is. This guides ScanCore is determining when to proactive live migrate servers.
host_status text not null default 'unknown' -- This is the power state of the host. Default is 'unknown', and can be "powered off", "online", "stopping" and "booting. host_status text not null default 'unknown', -- This is the power state of the host. Default is 'unknown', and can be "powered off", "online", "stopping" and "booting.
modified_date timestamp with time zone not null modified_date timestamp with time zone not null
); );
ALTER TABLE hosts OWNER TO admin; ALTER TABLE hosts OWNER TO admin;

@ -1459,7 +1459,7 @@ NOTE: Please be patient!
<key name="message_0081">Will boot the next device as configured in your BIOS in # second{,s}.</key> <key name="message_0081">Will boot the next device as configured in your BIOS in # second{,s}.</key>
<key name="message_0082"><![CDATA[Press the <tab> key to edit the boot parameters of the highlighted option.]]></key> <key name="message_0082"><![CDATA[Press the <tab> key to edit the boot parameters of the highlighted option.]]></key>
<key name="message_0083">Editing of this option is disabled.</key> <key name="message_0083">Editing of this option is disabled.</key>
<key name="message_0084">^1. Install a Striker dashboard (#!data!host_os::os_name!# #!data!host_os::os_arch!#)</key> <key name="message_0084">Install a Striker dashboard (#!data!host_os::os_name!# #!data!host_os::os_arch!#)</key>
<!-- Keep help text wrapped within the area shown directly below for the 'help' section of PXE 'default' meny entry. --> <!-- Keep help text wrapped within the area shown directly below for the 'help' section of PXE 'default' meny entry. -->
<!-- /===========================================================================================================\ --> <!-- /===========================================================================================================\ -->
<key name="message_0085"> <key name="message_0085">
@ -1471,7 +1471,7 @@ NOTE: Please be patient!
*** THERE WILL BE NO FURTHER PROMPT! PROCEED CAREFULLY! *** *** THERE WILL BE NO FURTHER PROMPT! PROCEED CAREFULLY! ***
</key> </key>
<!-- \===========================================================================================================/ --> <!-- \===========================================================================================================/ -->
<key name="message_0086">^2. Install an #!string!brand_0002!# Node (#!data!host_os::os_name!# #!data!host_os::os_arch!#)</key> <key name="message_0086">Install an #!string!brand_0002!# Node (#!data!host_os::os_name!# #!data!host_os::os_arch!#)</key>
<!-- Keep help text wrapped within the area shown directly below for the 'help' section of PXE 'default' meny entry. --> <!-- Keep help text wrapped within the area shown directly below for the 'help' section of PXE 'default' meny entry. -->
<!-- /===========================================================================================================\ --> <!-- /===========================================================================================================\ -->
<key name="message_0087"> <key name="message_0087">
@ -1484,7 +1484,7 @@ NOTE: Please be patient!
*** THERE WILL BE NO FURTHER PROMPT! PROCEED CAREFULLY! *** *** THERE WILL BE NO FURTHER PROMPT! PROCEED CAREFULLY! ***
</key> </key>
<!-- \===========================================================================================================/ --> <!-- \===========================================================================================================/ -->
<key name="message_0088">^3. Install an #!string!brand_0002!# Disaster Recover Host (#!data!host_os::os_name!# #!data!host_os::os_arch!#)</key> <key name="message_0088">Install an #!string!brand_0002!# Disaster Recover Host (#!data!host_os::os_name!# #!data!host_os::os_arch!#)</key>
<key name="message_0089"> <key name="message_0089">
<!-- Keep help text wrapped within the area shown directly below for the 'help' section of PXE 'default' meny entry. --> <!-- Keep help text wrapped within the area shown directly below for the 'help' section of PXE 'default' meny entry. -->
<!-- /===========================================================================================================\ --> <!-- /===========================================================================================================\ -->
@ -1497,7 +1497,7 @@ NOTE: Please be patient!
*** THERE WILL BE NO FURTHER PROMPT! PROCEED CAREFULLY! *** *** THERE WILL BE NO FURTHER PROMPT! PROCEED CAREFULLY! ***
<!-- \===========================================================================================================/ --> <!-- \===========================================================================================================/ -->
</key> </key>
<key name="message_0090">Boot into a ^Rescue session</key> <key name="message_0090">Boot into a rescue session</key>
<key name="message_0091"> <key name="message_0091">
<!-- Keep help text wrapped within the area shown directly below for the 'help' section of PXE 'default' meny entry. --> <!-- Keep help text wrapped within the area shown directly below for the 'help' section of PXE 'default' meny entry. -->
<!-- /===========================================================================================================\ --> <!-- /===========================================================================================================\ -->
@ -1507,7 +1507,7 @@ NOTE: Please be patient!
No data on the target machine will be changed by this option. No data on the target machine will be changed by this option.
</key> </key>
<!-- \===========================================================================================================/ --> <!-- \===========================================================================================================/ -->
<key name="message_0092">Install ^Standard #!data!host_os::os_name!# #!data!host_os::os_arch!# Install</key> <key name="message_0092">Install standard #!data!host_os::os_name!# #!data!host_os::os_arch!# Install</key>
<!-- Keep help text wrapped within the area shown directly below for the 'help' section of PXE 'default' meny entry. --> <!-- Keep help text wrapped within the area shown directly below for the 'help' section of PXE 'default' meny entry. -->
<!-- /===========================================================================================================\ --> <!-- /===========================================================================================================\ -->
<key name="message_0093"> <key name="message_0093">
@ -1516,7 +1516,7 @@ NOTE: Please be patient!
This option will not change anything on disk until and unless you choose to do so. This option will not change anything on disk until and unless you choose to do so.
</key> </key>
<!-- \===========================================================================================================/ --> <!-- \===========================================================================================================/ -->
<key name="message_0094">Boot from Next ^Boot Device</key> <key name="message_0094">Boot from the next boot device</key>
<key name="message_0095">Restarting: [#!variable!daemon!#] after updating the file: [#!variable!file!#].</key> <key name="message_0095">Restarting: [#!variable!daemon!#] after updating the file: [#!variable!file!#].</key>
<key name="message_0096">The file: [#!variable!file!#] did not need to be updated.</key> <key name="message_0096">The file: [#!variable!file!#] did not need to be updated.</key>
<key name="message_0097">The file: [#!variable!file!#] was updated.</key> <key name="message_0097">The file: [#!variable!file!#] was updated.</key>

@ -1593,6 +1593,7 @@ sub load_packages
"dbus-tools.x86_64", "dbus-tools.x86_64",
"dbus-x11.x86_64", "dbus-x11.x86_64",
"dbus.x86_64", "dbus.x86_64",
"dbxtool.x86_64",
"dconf.x86_64", "dconf.x86_64",
"dejavu-fonts-common.noarch", "dejavu-fonts-common.noarch",
"dejavu-sans-fonts.noarch", "dejavu-sans-fonts.noarch",
@ -1632,6 +1633,8 @@ sub load_packages
"edk2-ovmf.noarch", "edk2-ovmf.noarch",
"efi-filesystem.noarch", "efi-filesystem.noarch",
"efi-srpm-macros.noarch", "efi-srpm-macros.noarch",
"efivar-libs.x86_64",
"efibootmgr.x86_64",
"elfutils.x86_64", "elfutils.x86_64",
"elfutils-default-yama-scope.noarch", "elfutils-default-yama-scope.noarch",
"elfutils-libelf.x86_64", "elfutils-libelf.x86_64",
@ -2168,6 +2171,7 @@ sub load_packages
"microcode_ctl.x86_64", "microcode_ctl.x86_64",
"mlocate.x86_64", "mlocate.x86_64",
"mobile-broadband-provider-info.noarch", "mobile-broadband-provider-info.noarch",
"mokutil.x86_64",
"mod_http2.x86_64", "mod_http2.x86_64",
"ModemManager-glib.x86_64", "ModemManager-glib.x86_64",
"mozilla-filesystem.x86_64", "mozilla-filesystem.x86_64",
@ -2593,6 +2597,7 @@ sub load_packages
"sgabios-bin.noarch", "sgabios-bin.noarch",
"shadow-utils.x86_64", "shadow-utils.x86_64",
"shared-mime-info.x86_64", "shared-mime-info.x86_64",
"shim-x64.x86_64",
"slang.x86_64", "slang.x86_64",
"smartmontools.x86_64", "smartmontools.x86_64",
"snappy.x86_64", "snappy.x86_64",

Loading…
Cancel
Save