Merge "make cobbler support reserve disk space" into dev/experimental
This commit is contained in:
commit
67d09e782f
@ -57,7 +57,7 @@ install
|
|||||||
reboot
|
reboot
|
||||||
|
|
||||||
%pre
|
%pre
|
||||||
$SNIPPET('kickstar_pre_log')
|
$SNIPPET('kickstart_pre_log')
|
||||||
$SNIPPET('kickstart_start')
|
$SNIPPET('kickstart_start')
|
||||||
$SNIPPET('kickstart_pre_install_network_config')
|
$SNIPPET('kickstart_pre_install_network_config')
|
||||||
$SNIPPET('kickstart_pre_partition_disks')
|
$SNIPPET('kickstart_pre_partition_disks')
|
||||||
@ -80,12 +80,14 @@ libestr
|
|||||||
libgt
|
libgt
|
||||||
liblogging
|
liblogging
|
||||||
rsyslog
|
rsyslog
|
||||||
|
parted
|
||||||
%end
|
%end
|
||||||
|
|
||||||
%post --log=/var/log/post_install.log
|
%post --log=/var/log/post_install.log
|
||||||
$SNIPPET('kickstart_post_log')
|
$SNIPPET('kickstart_post_log')
|
||||||
$SNIPPET('kickstart_post_install_kernel_options')
|
$SNIPPET('kickstart_post_install_kernel_options')
|
||||||
$SNIPPET('kickstart_post_install_network_config')
|
$SNIPPET('kickstart_post_install_network_config')
|
||||||
|
$SNIPPET('kickstart_post_partition_disks')
|
||||||
|
|
||||||
chkconfig iptables off
|
chkconfig iptables off
|
||||||
chkconfig ip6tables off
|
chkconfig ip6tables off
|
||||||
|
@ -66,6 +66,7 @@ d-i live-installer/net-image string http://$http_server/cobbler/ks_mirror/$distr
|
|||||||
# root account and password
|
# root account and password
|
||||||
d-i passwd/root-login boolean true
|
d-i passwd/root-login boolean true
|
||||||
d-i passwd/make-user boolean false
|
d-i passwd/make-user boolean false
|
||||||
|
d-i user-setup/allow-password-weak boolean true
|
||||||
#if $getVar('password', '') != ""
|
#if $getVar('password', '') != ""
|
||||||
d-i passwd/root-password-crypted password $password
|
d-i passwd/root-password-crypted password $password
|
||||||
#else
|
#else
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
# This script runs in the chroot /target by default
|
# This script runs in the chroot /target by default
|
||||||
$SNIPPET('preseed_post_install_kernel_options')
|
$SNIPPET('preseed_post_install_kernel_options')
|
||||||
$SNIPPET('preseed_post_install_network_config')
|
$SNIPPET('preseed_post_install_network_config')
|
||||||
|
$SNIPPET('preseed_post_partition_disks')
|
||||||
$SNIPPET('preseed_ssh')
|
$SNIPPET('preseed_ssh')
|
||||||
$SNIPPET('preseed_ntp')
|
$SNIPPET('preseed_ntp')
|
||||||
$SNIPPET('preseed_post_apt_repo_config')
|
$SNIPPET('preseed_post_apt_repo_config')
|
||||||
|
33
cobbler/snippets/kickstart_post_partition_disks
Normal file
33
cobbler/snippets/kickstart_post_partition_disks
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
partitions=\$(pvs --noheadings --separator :| cut -d: -f1,2)
|
||||||
|
vg_remove=0
|
||||||
|
remove_partitions=''
|
||||||
|
echo "partitions \$partitions" >> /tmp/post_partition.log
|
||||||
|
|
||||||
|
for partition in \$partitions; do
|
||||||
|
partition_vg=(\${partition//:/ })
|
||||||
|
partition=\${partition_vg[0]}
|
||||||
|
vg=\${partition_vg[1]}
|
||||||
|
if [[ "\$vg" == "reserved" ]]; then
|
||||||
|
echo "prepare remove partition \$partition" >> /tmp/post_partition.log
|
||||||
|
remove_partitions="\${remove_partitions} \$partition"
|
||||||
|
vg_remove=1
|
||||||
|
else
|
||||||
|
echo "ignore \$vg since it is not reserved" >> /tmp/post_partition.log
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [[ "\${vg_remove}" != "0" ]]; then
|
||||||
|
vgremove -f reserved
|
||||||
|
fi
|
||||||
|
|
||||||
|
for remove_partition in \${remove_partitions}; do
|
||||||
|
echo "remove partition \${remove_partition}" >> /tmp/post_partition.log
|
||||||
|
pvremove -ff -y \${remove_partition}
|
||||||
|
set \$(echo \${remove_partition} | sed -e 's/^\(.*\)\([0-9]\+\)\$/\1 \2/g')
|
||||||
|
partition_disk=\$1
|
||||||
|
partition_number=\$2
|
||||||
|
if [ -z "\${partition_disk}" -o -z "\${partition_number}" ]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
parted \${partition_disk} rm \${partition_number}
|
||||||
|
done
|
@ -24,7 +24,7 @@ get_ifname() {
|
|||||||
IFNAME=$(esxcfg-nics -l | grep -i "$1" | cut -d " " -f 1)
|
IFNAME=$(esxcfg-nics -l | grep -i "$1" | cut -d " " -f 1)
|
||||||
else
|
else
|
||||||
IFNAME=$(ifconfig -a | grep -i "$1" | cut -d " " -f 1)
|
IFNAME=$(ifconfig -a | grep -i "$1" | cut -d " " -f 1)
|
||||||
if [ -z $IFNAME ]; then
|
if [ -z "$IFNAME" ]; then
|
||||||
IFNAME=$(ifconfig -a | grep -i -B 2 "$1" | sed -n '/flags/s/:.*$//p')
|
IFNAME=$(ifconfig -a | grep -i -B 2 "$1" | sed -n '/flags/s/:.*$//p')
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -3,6 +3,9 @@
|
|||||||
#set partition_size = $getVar('partition_size', None)
|
#set partition_size = $getVar('partition_size', None)
|
||||||
#set partition_maxsize = $getVar('partition_maxsize', None)
|
#set partition_maxsize = $getVar('partition_maxsize', None)
|
||||||
#set disk_reserve_size = $getVar('disk_reserve_size', None)
|
#set disk_reserve_size = $getVar('disk_reserve_size', None)
|
||||||
|
#set disk_max_size = $getVar('disk_max_size', None)
|
||||||
|
#set default_disk_reserve_size = $getVar('default_disk_reserve_size', '0')
|
||||||
|
#set default_disk_max_size = $getVar('default_disk_max_size', '0')
|
||||||
|
|
||||||
#if $hostname == None
|
#if $hostname == None
|
||||||
#set $vgname = "VolGroup00"
|
#set $vgname = "VolGroup00"
|
||||||
@ -121,6 +124,8 @@ declare -A reserve_disks_size
|
|||||||
#set disk_name, size = $disk_and_size.split(' ', 1)
|
#set disk_name, size = $disk_and_size.split(' ', 1)
|
||||||
#set disk_name = $disk_name.strip()
|
#set disk_name = $disk_name.strip()
|
||||||
#if $size.endswith('K')
|
#if $size.endswith('K')
|
||||||
|
#set disk_size = $int($size[:-1]) / 1000
|
||||||
|
#elif size.endswith('M')
|
||||||
#set disk_size = $int($size[:-1])
|
#set disk_size = $int($size[:-1])
|
||||||
#elif $size.endswith('G')
|
#elif $size.endswith('G')
|
||||||
#set disk_size = $int($size[:-1]) * 1000
|
#set disk_size = $int($size[:-1]) * 1000
|
||||||
@ -137,6 +142,57 @@ disk=/dev/${disk_name}
|
|||||||
reserve_disks_size[\$disk]=${disk_size}
|
reserve_disks_size[\$disk]=${disk_size}
|
||||||
#end for
|
#end for
|
||||||
#end if
|
#end if
|
||||||
|
#if $default_disk_reserve_size.endswith('K')
|
||||||
|
#set disk_size = $int($default_disk_reserve_size[:-1]) / 1000
|
||||||
|
#elif $default_disk_reserve_size.endswith('M')
|
||||||
|
#set disk_size = $int($default_disk_reserve_size[:-1])
|
||||||
|
#elif $default_disk_reserve_size.endswith('G')
|
||||||
|
#set disk_size = $int($default_disk_reserve_size[:-1]) * 1000
|
||||||
|
#elif $default_disk_reserve_size.endswith('T')
|
||||||
|
#set disk_size = $int($default_disk_reserve_size[:-1]) * 1000000
|
||||||
|
#else
|
||||||
|
#set disk_size = $int($default_disk_reserve_size)
|
||||||
|
#end if
|
||||||
|
default_reserve_disk_size=${disk_size}
|
||||||
|
|
||||||
|
declare -A max_disks_size
|
||||||
|
#if $disk_max_size != None
|
||||||
|
#set disk_sizes = [disk_size.strip() for disk_size in $disk_max_size.split(';') if disk_size.strip()]
|
||||||
|
#for disk_and_size in $disk_sizes
|
||||||
|
#set disk_name, size = $disk_and_size.split(' ', 1)
|
||||||
|
#set disk_name = $disk_name.strip()
|
||||||
|
#if $size.endswith('K')
|
||||||
|
#set disk_size = $int($size[:-1]) / 1000
|
||||||
|
#elif $size.endswith('M')
|
||||||
|
#set disk_size = $int($size[:-1])
|
||||||
|
#elif $size.endswith('G')
|
||||||
|
#set disk_size = $int($size[:-1]) * 1000
|
||||||
|
#elif $size.endswith('T')
|
||||||
|
#set disk_size = $int($size[:-1]) * 1000000
|
||||||
|
#else
|
||||||
|
#set disk_size = $int($size)
|
||||||
|
#end if
|
||||||
|
#if $getVar('partition_by_path', '0') != "0"
|
||||||
|
disk=/dev/disk/by-path/\${disk_mapping[\${disk_name}]}
|
||||||
|
#else
|
||||||
|
disk=/dev/${disk_name}
|
||||||
|
#end if
|
||||||
|
max_disks_size[\$disk]=${disk_size}
|
||||||
|
#end for
|
||||||
|
#end if
|
||||||
|
|
||||||
|
#if $default_disk_max_size.endswith('K')
|
||||||
|
#set disk_size = $int($default_disk_max_size[:-1]) / 1000
|
||||||
|
#elif $default_disk_max_size.endswith('M')
|
||||||
|
#set disk_size = $int($default_disk_max_size[:-1])
|
||||||
|
#elif $default_disk_max_size.endswith('G')
|
||||||
|
#set disk_size = $int($default_disk_max_size[:-1]) * 1000
|
||||||
|
#elif $default_disk_max_size.endswith('T')
|
||||||
|
#set disk_size = $int($default_disk_max_size[:-1]) * 1000000
|
||||||
|
#else
|
||||||
|
#set disk_size = $int($default_disk_max_size)
|
||||||
|
#end if
|
||||||
|
default_max_disk_size=${disk_size}
|
||||||
|
|
||||||
declare -A partitions_percentage
|
declare -A partitions_percentage
|
||||||
declare -A partitions_name
|
declare -A partitions_name
|
||||||
@ -261,24 +317,49 @@ if [[ x"\${partitions_name[/]}" == x"" ]]; then
|
|||||||
partitions_name[/]="root"
|
partitions_name[/]="root"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo "partition disks" >> /tmp/log
|
||||||
|
|
||||||
vggroup=''
|
vggroup=''
|
||||||
|
reserve_vggroup=''
|
||||||
|
let disk_nums=\${#sorted_disks[@]}
|
||||||
let disk_offset=0
|
let disk_offset=0
|
||||||
while [ \$disk_offset -lt \$disk_nums ];
|
while [ \${disk_offset} -lt \${disk_nums} ]; do
|
||||||
do
|
let pv_id=\${disk_offset}+1
|
||||||
let pv_id=\$disk_offset+1
|
disk=\${sorted_disks[\${disk_offset}]}
|
||||||
disk=\${sorted_disks[\$disk_offset]}
|
if [ ! -z "\${reserve_disks_size[\$disk]}" ]; then
|
||||||
if [ ! -z \${reserve_disks_size[\${disk}]} ]; then
|
reserve_disk_size=\${reserve_disks_size[\$disk]}
|
||||||
reserve_partname="reverse.0\$pv_id"
|
else
|
||||||
reserve_disk_size=\${reserve_disks_size[\${disk}]}
|
reserve_disk_size=\${default_reserve_disk_size}
|
||||||
echo "part \${reserve_partname} --size=\${reserve_disk_size} --ondisk=\${disk}" >> /tmp/part-include
|
fi
|
||||||
fi
|
echo "reserve \${reserve_disk_size} on \${disk}" >> /tmp/log
|
||||||
partname="pv.0\$pv_id"
|
if [ \${reserve_disk_size} -gt 0 ]; then
|
||||||
echo "part \$partname --size=1 --grow --ondisk=\${disk}" >> /tmp/part-include
|
reserve_partname="pv.1\${pv_id}"
|
||||||
vggroup="\$vggroup \$partname"
|
echo "part \${reserve_partname} --size=\${reserve_disk_size} --ondisk=\${disk}" >> /tmp/part-include
|
||||||
let disk_offset=\$disk_offset+1;
|
reserve_vggroup="\${reserve_vggroup} \${reserve_partname}"
|
||||||
|
fi
|
||||||
|
partname="pv.0\${pv_id}"
|
||||||
|
if [ ! -z "\${max_disks_size[\${disk}]}" ]; then
|
||||||
|
max_disk_size=\${max_disks_size[\${disk}]}
|
||||||
|
else
|
||||||
|
max_disk_size=\${default_max_disk_size}
|
||||||
|
fi
|
||||||
|
echo "partition \${disk} max size \${max_disk_size}" >> /tmp/log
|
||||||
|
if [ \${max_disk_size} -gt 0 ]; then
|
||||||
|
maxsize_param="--maxsize=\${max_disks_size[\${disk}]}"
|
||||||
|
else
|
||||||
|
maxsize_param=""
|
||||||
|
fi
|
||||||
|
echo "part \$partname --size=1 --grow \${maxsize_param} --ondisk=\${disk}" >> /tmp/part-include
|
||||||
|
vggroup="\$vggroup \$partname"
|
||||||
|
let disk_offset=\$disk_offset+1;
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "volgroup $vgname \$vggroup" >> /tmp/part-include
|
if [ ! -z "\${reserve_vggroup}" ]; then
|
||||||
|
echo "volgroup reserved \${reserve_vggroup}" >> /tmp/part-include
|
||||||
|
fi
|
||||||
|
if [ ! -z "\$vggroup" ]; then
|
||||||
|
echo "volgroup $vgname \$vggroup" >> /tmp/part-include
|
||||||
|
fi
|
||||||
|
|
||||||
declare -A sorted_partitions
|
declare -A sorted_partitions
|
||||||
sorted_partitions[0]=\${default_partition}
|
sorted_partitions[0]=\${default_partition}
|
||||||
|
@ -35,7 +35,7 @@ echo '' > /tmp/network_log
|
|||||||
physical_interfaces=""
|
physical_interfaces=""
|
||||||
for physical_interface in \$(ip -o link | cut -d: -f2 | grep -v lo); do
|
for physical_interface in \$(ip -o link | cut -d: -f2 | grep -v lo); do
|
||||||
echo "processing physical interface \${physical_interface}" >> /tmp/network_log
|
echo "processing physical interface \${physical_interface}" >> /tmp/network_log
|
||||||
if [ -z \${physical_interfaces} ]; then
|
if [ -z "\${physical_interfaces}" ]; then
|
||||||
physical_interfaces="\${physical_interface}"
|
physical_interfaces="\${physical_interface}"
|
||||||
else
|
else
|
||||||
physical_interfaces="\${physical_interfaces} \${physical_interface}"
|
physical_interfaces="\${physical_interfaces} \${physical_interface}"
|
||||||
@ -69,7 +69,7 @@ logical_interfaces=""
|
|||||||
#if $interface_type in ("master","bond","bonded_bridge_slave")
|
#if $interface_type in ("master","bond","bonded_bridge_slave")
|
||||||
#set $numbondingdevs += 1
|
#set $numbondingdevs += 1
|
||||||
#end if
|
#end if
|
||||||
if [ -z \${logical_interfaces} ]; then
|
if [ -z "\${logical_interfaces}" ]; then
|
||||||
logical_interfaces="$iname"
|
logical_interfaces="$iname"
|
||||||
else
|
else
|
||||||
logical_interfaces="\${logical_interfaces} $iname"
|
logical_interfaces="\${logical_interfaces} $iname"
|
||||||
@ -77,7 +77,7 @@ fi
|
|||||||
#if $mac != ""
|
#if $mac != ""
|
||||||
#set mac = $mac.replace(':', '_')
|
#set mac = $mac.replace(':', '_')
|
||||||
physical_interface=\${physical_mac_interface_$mac}
|
physical_interface=\${physical_mac_interface_$mac}
|
||||||
if [ ! -z \${physical_interface} ]; then
|
if [ ! -z "\${physical_interface}" ]; then
|
||||||
logical_interface_mapping_$iname=\${physical_interface}
|
logical_interface_mapping_$iname=\${physical_interface}
|
||||||
eval "physical_interface_mapping_\${physical_interface}=$iname"
|
eval "physical_interface_mapping_\${physical_interface}=$iname"
|
||||||
echo "set logical interface $iname map to physical interface \${physical_interface}" >> /tmp/network_log
|
echo "set logical interface $iname map to physical interface \${physical_interface}" >> /tmp/network_log
|
||||||
@ -93,11 +93,11 @@ echo "logical interfaces \${logical_interfaces}" >> /tmp/network_log
|
|||||||
|
|
||||||
for logical_interface in \${logical_interfaces}; do
|
for logical_interface in \${logical_interfaces}; do
|
||||||
eval "physical_interface=\\${logical_interface_mapping_\${logical_interface}}"
|
eval "physical_interface=\\${logical_interface_mapping_\${logical_interface}}"
|
||||||
if [ ! -z \${physical_interface} ]; then
|
if [ ! -z "\${physical_interface}" ]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
eval "physical_interface_mac=\\${physical_interface_mac_\${logical_interface}}"
|
eval "physical_interface_mac=\\${physical_interface_mac_\${logical_interface}}"
|
||||||
if [ -z \${physical_interface_mac} ]; then
|
if [ -z "\${physical_interface_mac}" ]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
eval "logical_interface_mapping_\${logical_interface}=\${logical_interface}"
|
eval "logical_interface_mapping_\${logical_interface}=\${logical_interface}"
|
||||||
@ -108,10 +108,10 @@ done
|
|||||||
unset_physical_interfaces=""
|
unset_physical_interfaces=""
|
||||||
for physical_interface in \${physical_interfaces}; do
|
for physical_interface in \${physical_interfaces}; do
|
||||||
eval "logical_interface=\\${physical_interface_mapping_\${physical_interface}}"
|
eval "logical_interface=\\${physical_interface_mapping_\${physical_interface}}"
|
||||||
if [ ! -z \${logical_interface} ]; then
|
if [ ! -z "\${logical_interface}" ]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
if [ -z \${unset_physical_interfaces} ]; then
|
if [ -z "\${unset_physical_interfaces}" ]; then
|
||||||
unset_physical_interfaces="\${physical_interface}"
|
unset_physical_interfaces="\${physical_interface}"
|
||||||
else
|
else
|
||||||
unset_physical_interfaces="\${unset_physical_interfaces} \${physical_interface}"
|
unset_physical_interfaces="\${unset_physical_interfaces} \${physical_interface}"
|
||||||
@ -122,10 +122,10 @@ echo "unset phsycial interfaces \${unset_physiccal_interfaces}" >> /tmp/network_
|
|||||||
unset_logical_interfaces=""
|
unset_logical_interfaces=""
|
||||||
for logical_interface in \${logical_interfaces}; do
|
for logical_interface in \${logical_interfaces}; do
|
||||||
eval "physical_interface=\\${logical_interface_mapping_\${logical_interface}}"
|
eval "physical_interface=\\${logical_interface_mapping_\${logical_interface}}"
|
||||||
if [ ! -z \${physical_interface} ]; then
|
if [ ! -z "\${physical_interface}" ]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
if [ -z \${unset_logical_interfaces} ]; then
|
if [ -z "\${unset_logical_interfaces}" ]; then
|
||||||
unset_logical_interfaces="\${logical_interface}"
|
unset_logical_interfaces="\${logical_interface}"
|
||||||
else
|
else
|
||||||
unset_logical_interfaces="\${unset_logical_interfaces} \${logical_interface}"
|
unset_logical_interfaces="\${unset_logical_interfaces} \${logical_interface}"
|
||||||
@ -247,14 +247,14 @@ echo "iface $iname inet dhcp" >> /etc/network/interfaces
|
|||||||
#pass
|
#pass
|
||||||
#else
|
#else
|
||||||
physical_interface=\${logical_interface_mapping_$iname}
|
physical_interface=\${logical_interface_mapping_$iname}
|
||||||
if [ ! -z \${physical_interface} ]; then
|
if [ ! -z "\${physical_interface}" ]; then
|
||||||
eval "physical_mac=\\${physical_interface_mac_\${physical_interface}}"
|
eval "physical_mac=\\${physical_interface_mac_\${physical_interface}}"
|
||||||
fi
|
fi
|
||||||
if [ ! -z \$physical_mac ]; then
|
if [ ! -z "\${physical_mac}" ]; then
|
||||||
physical_mac=\$(echo \${physical_mac} | tr '_' ':')
|
physical_mac=\$(echo \${physical_mac} | tr '_' ':')
|
||||||
echo " hwaddress ether \${physical_mac}" >> /etc/network/interfaces
|
echo " hwaddress ether \${physical_mac}" >> /etc/network/interfaces
|
||||||
fi
|
fi
|
||||||
if [ -f "/etc/modprobe.conf" ] && [ ! -z \$physical_interface ]; then
|
if [ -f "/etc/modprobe.conf" ] && [ ! -z "\${physical_interface}" ]; then
|
||||||
grep \${physical_interface} /etc/modprobe.conf | sed "s/\$physical_interface/$iname/" >> /etc/modprobe.conf.cobbler
|
grep \${physical_interface} /etc/modprobe.conf | sed "s/\$physical_interface/$iname/" >> /etc/modprobe.conf.cobbler
|
||||||
grep -v \${physical_interface} /etc/modprobe.conf >> /etc/modprobe.conf.new
|
grep -v \${physical_interface} /etc/modprobe.conf >> /etc/modprobe.conf.new
|
||||||
rm -f /etc/modprobe.conf
|
rm -f /etc/modprobe.conf
|
||||||
@ -346,7 +346,7 @@ for physical_interface in \${sorted_physical_interfaces}; do
|
|||||||
echo "auto \${physical_interface}" >> /etc/network/interfaces
|
echo "auto \${physical_interface}" >> /etc/network/interfaces
|
||||||
echo "iface \${physical_interface} inet static" >> /etc/network/interfaces
|
echo "iface \${physical_interface} inet static" >> /etc/network/interfaces
|
||||||
eval "physical_mac=\\${physical_interface_mac_\${physical_interface}}"
|
eval "physical_mac=\\${physical_interface_mac_\${physical_interface}}"
|
||||||
if [ ! -z \${physical_mac} ]; then
|
if [ ! -z "\${physical_mac}" ]; then
|
||||||
physical_mac=\$(echo \${physical_mac} | tr '_' ':')
|
physical_mac=\$(echo \${physical_mac} | tr '_' ':')
|
||||||
echo " hwaddress ether \${physical_mac}" >> /etc/network/interfaces
|
echo " hwaddress ether \${physical_mac}" >> /etc/network/interfaces
|
||||||
fi
|
fi
|
||||||
|
34
cobbler/snippets/preseed_post_partition_disks
Normal file
34
cobbler/snippets/preseed_post_partition_disks
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
set \$(ls -l /dev/disk/by-label | tr -s '\t' ' ' | cut -d' ' -f9,11)
|
||||||
|
label_mapping_nums=\$((\$#/2))
|
||||||
|
label_mapping_offset=0
|
||||||
|
echo "label_mapping_nums: \$label_mapping_nums" >> /tmp/preseed.log
|
||||||
|
remove_partitions=""
|
||||||
|
while [ \$label_mapping_offset -lt \$label_mapping_nums ]; do
|
||||||
|
partition_label=\$1
|
||||||
|
partition_name=\$(basename \$2)
|
||||||
|
shift 2
|
||||||
|
label_mapping_offset=\$((\${label_mapping_offset}+1))
|
||||||
|
if [ -z "\${partition_label}" -o -z "\${partition_name}" ]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
partition=/dev/\${partition_name}
|
||||||
|
if expr match "\${partition_label}" "reserved_.*"; then
|
||||||
|
remove_partitions="\${remove_partitions} \${partition}"
|
||||||
|
echo "add \${partition} into remove list" >> /tmp/preseed.log
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo "remove partitions \${remove_partitions}" >> /tmp/preseed.log
|
||||||
|
|
||||||
|
for partition in \${remove_partitions}; do
|
||||||
|
if [ -z "\$partition" ]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
set \$(echo \${partition} | sed -e 's/^\(.*\)\([0-9]\+\)\$/\1 \2/g')
|
||||||
|
partition_disk=\$1
|
||||||
|
partition_number=\$2
|
||||||
|
echo "remove disk \${partition_disk} partition \${partition_number}" >> /tmp/preseed.log
|
||||||
|
if [ -z "\${partition_disk}" -o -z "\${partition_number}" ]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
parted \${partition_disk} rm \${partition_number}
|
||||||
|
done
|
@ -25,7 +25,7 @@ get_ifname() {
|
|||||||
IFNAME=$(esxcfg-nics -l | grep -i "$1" | cut -d " " -f 1)
|
IFNAME=$(esxcfg-nics -l | grep -i "$1" | cut -d " " -f 1)
|
||||||
else
|
else
|
||||||
IFNAME=$(ifconfig -a | grep -i "$1" | cut -d " " -f 1)
|
IFNAME=$(ifconfig -a | grep -i "$1" | cut -d " " -f 1)
|
||||||
if [ -z $IFNAME ]; then
|
if [ -z "$IFNAME" ]; then
|
||||||
IFNAME=$(ifconfig -a | grep -i -B 2 "$1" | sed -n '/flags/s/:.*$//p')
|
IFNAME=$(ifconfig -a | grep -i -B 2 "$1" | sed -n '/flags/s/:.*$//p')
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -3,6 +3,9 @@
|
|||||||
#set partition_size = $getVar('partition_size', None)
|
#set partition_size = $getVar('partition_size', None)
|
||||||
#set partition_maxsize = $getVar('partition_maxsize', None)
|
#set partition_maxsize = $getVar('partition_maxsize', None)
|
||||||
#set disk_reserve_size = $getVar('disk_reserve_size', None)
|
#set disk_reserve_size = $getVar('disk_reserve_size', None)
|
||||||
|
#set disk_max_size = $getVar('disk_max_size', None)
|
||||||
|
#set default_disk_reserve_size = $getVar('default_disk_reserve_size', '0')
|
||||||
|
#set default_disk_max_size = $getVar('default_disk_max_size', '0')
|
||||||
|
|
||||||
#if $hostname == None
|
#if $hostname == None
|
||||||
#set $vgname = "VolGroup00"
|
#set $vgname = "VolGroup00"
|
||||||
@ -24,21 +27,22 @@ while [ \$disk_mapping_offset -lt \$disk_mapping_nums ]; do
|
|||||||
#else
|
#else
|
||||||
found_disk_type=1
|
found_disk_type=1
|
||||||
#end if
|
#end if
|
||||||
|
disk_path=\$(echo \$1 | tr '-' '_' | tr ':' '_' | tr '.' '_')
|
||||||
|
disk_name=\$(basename \$2)
|
||||||
|
disk_mapping_offset=\$((\${disk_mapping_offset}+1))
|
||||||
|
shift 2
|
||||||
|
|
||||||
if [ \$found_disk_type -gt 0 ]; then
|
if [ \$found_disk_type -gt 0 ]; then
|
||||||
disk_name=\$(basename \$2)
|
|
||||||
if [ -z "\${disk_mapping}" ]; then
|
if [ -z "\${disk_mapping}" ]; then
|
||||||
disk_mapping="\${disk_name}"
|
disk_mapping="\${disk_name}"
|
||||||
else
|
else
|
||||||
disk_mapping="\${disk_mapping} \${disk_name}"
|
disk_mapping="\${disk_mapping} \${disk_name}"
|
||||||
fi
|
fi
|
||||||
disk_path=\$(echo \$1 | tr '-' '_' | tr ':' '_' | tr '.' '_')
|
|
||||||
eval "disk_\${disk_name}=\${disk_path}"
|
eval "disk_\${disk_name}=\${disk_path}"
|
||||||
eval "disk_\${disk_path}=\${disk_path}"
|
eval "disk_\${disk_path}=\${disk_path}"
|
||||||
eval "disk_path_\${disk_path}=/dev/\${disk_name}"
|
eval "disk_path_\${disk_path}=/dev/\${disk_name}"
|
||||||
eval "disk_path_\${disk_name}=/dev/\${disk_name}"
|
eval "disk_path_\${disk_name}=/dev/\${disk_name}"
|
||||||
fi
|
fi
|
||||||
disk_mapping_offset=\$((\${disk_mapping_offset}+1))
|
|
||||||
shift 2
|
|
||||||
done
|
done
|
||||||
|
|
||||||
for key in \${disk_mapping}; do
|
for key in \${disk_mapping}; do
|
||||||
@ -49,7 +53,7 @@ done
|
|||||||
partition_disks=""
|
partition_disks=""
|
||||||
disks=""
|
disks=""
|
||||||
for disk in \$(list-devices disk); do
|
for disk in \$(list-devices disk); do
|
||||||
if [ -z \$disk ]; then
|
if [ -z "\$disk" ]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
disk_name=\$(basename \$disk)
|
disk_name=\$(basename \$disk)
|
||||||
@ -57,7 +61,7 @@ for disk in \$(list-devices disk); do
|
|||||||
dd if=/dev/zero of=\$disk bs=512 count=1
|
dd if=/dev/zero of=\$disk bs=512 count=1
|
||||||
#end if
|
#end if
|
||||||
eval "disk_path=\\${disk_\${disk_name}}"
|
eval "disk_path=\\${disk_\${disk_name}}"
|
||||||
if [ -z \${disk_path} ]; then
|
if [ -z "\${disk_path}" ]; then
|
||||||
echo "ignore disk \${disk_name} since it is not in disk_mapping" >> /tmp/preseed.log
|
echo "ignore disk \${disk_name} since it is not in disk_mapping" >> /tmp/preseed.log
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
@ -81,13 +85,13 @@ for disk in \$(list-devices disk); do
|
|||||||
#end if
|
#end if
|
||||||
if [ \$found_disk -gt 0 ]; then
|
if [ \$found_disk -gt 0 ]; then
|
||||||
echo "add disk \${disk_name} in partitioning list" >> /tmp/preseed.log
|
echo "add disk \${disk_name} in partitioning list" >> /tmp/preseed.log
|
||||||
if [ -z \$partition_disks ]; then
|
if [ -z "\${partition_disks}" ]; then
|
||||||
partition_disks="\${disk_name}"
|
partition_disks="\${disk_name}"
|
||||||
else
|
else
|
||||||
partition_disks="\${partition_disks} \${disk_name}"
|
partition_disks="\${partition_disks} \${disk_name}"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
if [ -z \$disks ]; then
|
if [ -z "\$disks" ]; then
|
||||||
disks="\${disk_name}"
|
disks="\${disk_name}"
|
||||||
else
|
else
|
||||||
disks="\${disks} \${disk_name}"
|
disks="\${disks} \${disk_name}"
|
||||||
@ -123,10 +127,10 @@ echo "sorted disks for $disk_num disks: \${sorted_disks}" >> /tmp/preseed.log
|
|||||||
|
|
||||||
first_disk_name=""
|
first_disk_name=""
|
||||||
for disk_name in \${sorted_disks}; do
|
for disk_name in \${sorted_disks}; do
|
||||||
if [ -z \${disk_name} ]; then
|
if [ -z "\${disk_name}" ]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
if [ -z \${first_disk_name} ]; then
|
if [ -z "\${first_disk_name}" ]; then
|
||||||
first_disk_name=\${disk_name}
|
first_disk_name=\${disk_name}
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
@ -135,11 +139,11 @@ echo "first disk \${first_disk_name}" >> /tmp/preseed.log
|
|||||||
|
|
||||||
#if $getVar('keep_old_partitions', '0') != "0"
|
#if $getVar('keep_old_partitions', '0') != "0"
|
||||||
for disk_name in \${sorted_disks}; do
|
for disk_name in \${sorted_disks}; do
|
||||||
if [ -z \${disk_name} ]; then
|
if [ -z "\${disk_name}" ]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
eval "disk=\\${disk_path_\${disk_name}}"
|
eval "disk=\\${disk_path_\${disk_name}}"
|
||||||
if [ -z \${disk} ]; then
|
if [ -z "\${disk}" ]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
dd if=/dev/zero of=\${disk} bs=512 count=1
|
dd if=/dev/zero of=\${disk} bs=512 count=1
|
||||||
@ -155,7 +159,7 @@ disk_partitions=\$(pvs --noheadings --separator :| cut -d: -f1)
|
|||||||
remove_partitions=""
|
remove_partitions=""
|
||||||
remove_vgs=""
|
remove_vgs=""
|
||||||
for disk_partition in \${disk_partitions}; do
|
for disk_partition in \${disk_partitions}; do
|
||||||
if [ -z \$disk_partition ]; then
|
if [ -z "\${disk_partition}" ]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
disk_partition_name=\$(basename \${disk_partition})
|
disk_partition_name=\$(basename \${disk_partition})
|
||||||
@ -163,11 +167,11 @@ for disk_partition in \${disk_partitions}; do
|
|||||||
remove_vg=""
|
remove_vg=""
|
||||||
remove_partition=""
|
remove_partition=""
|
||||||
for remove_disk_name in \${remove_disks}; do
|
for remove_disk_name in \${remove_disks}; do
|
||||||
if [ -z \${remove_disk_name} ]; then
|
if [ -z "\${remove_disk_name}" ]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
eval "remove_disk=\\${disk_path_\${remove_disk_name}}"
|
eval "remove_disk=\\${disk_path_\${remove_disk_name}}"
|
||||||
if [ -z \${remove_disk} ]; then
|
if [ -z "\${remove_disk}" ]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
if expr match "\${disk_partition}" "\${remove_disk}.*"; then
|
if expr match "\${disk_partition}" "\${remove_disk}.*"; then
|
||||||
@ -177,8 +181,8 @@ for disk_partition in \${disk_partitions}; do
|
|||||||
echo "partition \${disk_partition} does not match \${remove_disk}.*" >> /tmp/preseed.log
|
echo "partition \${disk_partition} does not match \${remove_disk}.*" >> /tmp/preseed.log
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
if [ ! -z \$remove_vg ]; then
|
if [ ! -z "\${remove_vg}" ]; then
|
||||||
if [ -z \$remove_vgs ]; then
|
if [ -z "\${remove_vgs}" ]; then
|
||||||
remove_vgs="\${remove_vg}"
|
remove_vgs="\${remove_vg}"
|
||||||
else
|
else
|
||||||
vg_removed=0
|
vg_removed=0
|
||||||
@ -192,8 +196,8 @@ for disk_partition in \${disk_partitions}; do
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
if [ ! -z \$remove_partition ]; then
|
if [ ! -z "\${remove_partition}" ]; then
|
||||||
if [ -z \$remove_partitions ]; then
|
if [ -z "\${remove_partitions}" ]; then
|
||||||
remove_partitions="\${remove_partition}"
|
remove_partitions="\${remove_partition}"
|
||||||
else
|
else
|
||||||
remove_partitions="\${remove_partitions} \${remove_partition}"
|
remove_partitions="\${remove_partitions} \${remove_partition}"
|
||||||
@ -213,14 +217,14 @@ done
|
|||||||
select_disks=""
|
select_disks=""
|
||||||
echo "remove disks \${remove_disks}" >> /tmp/preseed.log
|
echo "remove disks \${remove_disks}" >> /tmp/preseed.log
|
||||||
for remove_disk_name in \${remove_disks}; do
|
for remove_disk_name in \${remove_disks}; do
|
||||||
if [ -z \${remove_disk_name} ]; then
|
if [ -z "\${remove_disk_name}" ]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
eval "remove_disk=\\${disk_path_\${remove_disk_name}}"
|
eval "remove_disk=\\${disk_path_\${remove_disk_name}}"
|
||||||
if [ -z \$remove_disk ]; then
|
if [ -z "\${remove_disk}" ]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
if [ -z \${select_disks} ]; then
|
if [ -z "\${select_disks}" ]; then
|
||||||
select_disks="\${remove_disk}"
|
select_disks="\${remove_disk}"
|
||||||
else
|
else
|
||||||
select_disks="\${select_disks},\${remove_disk}"
|
select_disks="\${select_disks},\${remove_disk}"
|
||||||
@ -231,14 +235,14 @@ echo "select disks \${select_disks}" >> /tmp/preseed.log
|
|||||||
|
|
||||||
partition_disks=""
|
partition_disks=""
|
||||||
for disk_name in \${sorted_disks}; do
|
for disk_name in \${sorted_disks}; do
|
||||||
if [ -z \${disk_name} ]; then
|
if [ -z "\${disk_name}" ]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
eval "disk=\\${disk_path_\${disk_name}}"
|
eval "disk=\\${disk_path_\${disk_name}}"
|
||||||
if [ -z \$disk ]; then
|
if [ -z "\$disk" ]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
if [ -z \${partition_disks} ]; then
|
if [ -z "\${partition_disks}" ]; then
|
||||||
partition_disks="\${disk}"
|
partition_disks="\${disk}"
|
||||||
else
|
else
|
||||||
partition_disks="\${partition_disks} \${disk}"
|
partition_disks="\${partition_disks} \${disk}"
|
||||||
@ -259,6 +263,8 @@ echo "partition fstype \${partition_fstype}" >> /tmp/preseed.log
|
|||||||
#set disk_name, size = $disk_and_size.split(' ', 1)
|
#set disk_name, size = $disk_and_size.split(' ', 1)
|
||||||
#set disk_name = $disk_name.strip()
|
#set disk_name = $disk_name.strip()
|
||||||
#if $size.endswith('K')
|
#if $size.endswith('K')
|
||||||
|
#set disk_size = $int($size[:-1]) / 1000
|
||||||
|
#elif $size.endswith('M')
|
||||||
#set disk_size = $int($size[:-1])
|
#set disk_size = $int($size[:-1])
|
||||||
#elif $size.endswith('G')
|
#elif $size.endswith('G')
|
||||||
#set disk_size = $int($size[:-1]) * 1000
|
#set disk_size = $int($size[:-1]) * 1000
|
||||||
@ -270,6 +276,51 @@ echo "partition fstype \${partition_fstype}" >> /tmp/preseed.log
|
|||||||
reserve_disk_size_${disk_name}=${disk_size}
|
reserve_disk_size_${disk_name}=${disk_size}
|
||||||
#end for
|
#end for
|
||||||
#end if
|
#end if
|
||||||
|
#if $default_disk_reserve_size.endswith('K')
|
||||||
|
#set disk_size = $int($default_disk_reserve_size[:-1]) / 1000
|
||||||
|
#elif $default_disk_reserve_size.endswith('M')
|
||||||
|
#set disk_size = $int($default_disk_reserve_size[:-1])
|
||||||
|
#elif $default_disk_reserve_size.endswith('G')
|
||||||
|
#set disk_size = $int($default_disk_reserve_size[:-1]) * 1000
|
||||||
|
#elif $default_disk_reserve_size.endswith('T')
|
||||||
|
#set disk_size = $int($default_disk_reserve_size[:-1]) * 1000000
|
||||||
|
#else
|
||||||
|
#set disk_size = $int($default_disk_reserve_size)
|
||||||
|
#end if
|
||||||
|
default_reserve_disk_size=${disk_size}
|
||||||
|
|
||||||
|
#if $disk_max_size != None
|
||||||
|
#set disk_sizes = [disk_size.strip() for disk_size in $disk_max_size.split(';') if disk_size.strip()]
|
||||||
|
#for disk_and_size in $disk_sizes
|
||||||
|
#set disk_name, size = $disk_and_size.split(' ', 1)
|
||||||
|
#set disk_name = $disk_name.strip()
|
||||||
|
#if $size.endswith('K')
|
||||||
|
#set disk_size = $int($size[:-1]) / 1000
|
||||||
|
#elif $size.endswith('M')
|
||||||
|
#set disk_size = $int($size[:-1])
|
||||||
|
#elif $size.endswith('G')
|
||||||
|
#set disk_size = $int($size[:-1]) * 1000
|
||||||
|
#elif $size.endswith('T')
|
||||||
|
#set disk_size = $int($size[:-1]) * 1000000
|
||||||
|
#else
|
||||||
|
#set disk_size = $int($size)
|
||||||
|
#end if
|
||||||
|
max_disk_size_${disk_name}=${disk_size}
|
||||||
|
#end for
|
||||||
|
#end if
|
||||||
|
|
||||||
|
#if $default_disk_max_size.endswith('K')
|
||||||
|
#set disk_size = $int($default_disk_max_size[:-1]) / 1000
|
||||||
|
#elif $default_disk_max_size.endswith('M')
|
||||||
|
#set disk_size = $int($default_disk_max_size[:-1])
|
||||||
|
#elif $default_disk_max_size.endswith('G')
|
||||||
|
#set disk_size = $int($default_disk_max_size[:-1]) * 1000
|
||||||
|
#elif $default_disk_max_size.endswith('T')
|
||||||
|
#set disk_size = $int($default_disk_max_size[:-1]) * 1000000
|
||||||
|
#else
|
||||||
|
#set disk_size = $int($default_disk_max_size)
|
||||||
|
#end if
|
||||||
|
default_max_disk_size=${disk_size}
|
||||||
|
|
||||||
partition_names=""
|
partition_names=""
|
||||||
default_partition_name=""
|
default_partition_name=""
|
||||||
@ -288,7 +339,7 @@ default_partition_name=""
|
|||||||
#set volname = ''
|
#set volname = ''
|
||||||
# $vol is not starts with /
|
# $vol is not starts with /
|
||||||
#end if
|
#end if
|
||||||
if [ -z \$partition_names ]; then
|
if [ -z "\${partition_names}" ]; then
|
||||||
partition_names="$volname"
|
partition_names="$volname"
|
||||||
else
|
else
|
||||||
partition_names="\$partition_names $volname"
|
partition_names="\$partition_names $volname"
|
||||||
@ -378,13 +429,13 @@ partition_maxsize_$volname=${vol_max_size}
|
|||||||
#end for
|
#end for
|
||||||
#end if
|
#end if
|
||||||
|
|
||||||
if [ -z \${default_partition_name} ]; then
|
if [ -z "\${default_partition_name}" ]; then
|
||||||
default_partition_name=root
|
default_partition_name=root
|
||||||
fi
|
fi
|
||||||
|
|
||||||
default_partition_percentage=100
|
default_partition_percentage=100
|
||||||
for key in \${partition_names}; do
|
for key in \${partition_names}; do
|
||||||
if [ -z \$key ]; then
|
if [ -z "\$key" ]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
if [[ "\$key" == "\${default_partition_name}" ]]; then
|
if [[ "\$key" == "\${default_partition_name}" ]]; then
|
||||||
@ -394,7 +445,7 @@ for key in \${partition_names}; do
|
|||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
eval "partition_percentage=\\${partition_percentage_\$key}"
|
eval "partition_percentage=\\${partition_percentage_\$key}"
|
||||||
if [ ! -z \${partition_percentage} ]; then
|
if [ ! -z "\${partition_percentage}" ]; then
|
||||||
if [ \${default_partition_percentage} -gt \${partition_percentage} ]; then
|
if [ \${default_partition_percentage} -gt \${partition_percentage} ]; then
|
||||||
default_partition_percentage=\$((\${default_partition_percentage}-\${partition_percentage}))
|
default_partition_percentage=\$((\${default_partition_percentage}-\${partition_percentage}))
|
||||||
else
|
else
|
||||||
@ -404,25 +455,25 @@ for key in \${partition_names}; do
|
|||||||
done
|
done
|
||||||
eval "partition_percentage_\${default_partition_name}=\${default_partition_percentage}"
|
eval "partition_percentage_\${default_partition_name}=\${default_partition_percentage}"
|
||||||
|
|
||||||
if [ -z \$partition_point_boot ]; then
|
if [ -z "\${partition_point_boot}" ]; then
|
||||||
partition_point_boot="/boot"
|
partition_point_boot="/boot"
|
||||||
if [ -z \$partition_names ]; then
|
if [ -z "\${partition_names}" ]; then
|
||||||
partition_names="boot"
|
partition_names="boot"
|
||||||
else
|
else
|
||||||
partition_names="\${partition_names} boot"
|
partition_names="\${partition_names} boot"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z \$partition_size_boot ]; then
|
if [ -z "\${partition_size_boot}" ]; then
|
||||||
partition_size_boot=500
|
partition_size_boot=500
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z \$partition_maxsize_boot ]; then
|
if [ -z "\${partition_maxsize_boot}" ]; then
|
||||||
partition_maxsize_boot=\$partition_size_boot
|
partition_maxsize_boot=\$partition_size_boot
|
||||||
fi
|
fi
|
||||||
|
|
||||||
eval "first_disk=\\${disk_path_\${first_disk_name}}"
|
eval "first_disk=\\${disk_path_\${first_disk_name}}"
|
||||||
if [ -z \${first_disk} ]; then
|
if [ -z "\${first_disk}" ]; then
|
||||||
first_disk=/dev/sda
|
first_disk=/dev/sda
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -432,24 +483,24 @@ format{ } use_filesystem{ } filesystem{ \${partition_fstype} } \
|
|||||||
mountpoint{ /boot } device{ \${first_disk} } \
|
mountpoint{ /boot } device{ \${first_disk} } \
|
||||||
"
|
"
|
||||||
|
|
||||||
if [ -z \$partition_point_swap ]; then
|
if [ -z "\${partition_point_swap}" ]; then
|
||||||
partition_point_swap="swap"
|
partition_point_swap="swap"
|
||||||
if [ -z \$partition_names ]; then
|
if [ -z "\${partition_names}" ]; then
|
||||||
partition_names="swap"
|
partition_names="swap"
|
||||||
else
|
else
|
||||||
partition_names="\${partition_names} swap"
|
partition_names="\${partition_names} swap"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z \$partition_size_swap ]; then
|
if [ -z "\${partition_size_swap}" ]; then
|
||||||
partition_size_swap=256
|
partition_size_swap=256
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z \$partition_percentage_swap ]; then
|
if [ -z "\${partition_percentage_swap}" ]; then
|
||||||
partition_percentage_swap=200
|
partition_percentage_swap=200
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z \$partition_maxsize_swap ]; then
|
if [ -z "\${partition_maxsize_swap}" ]; then
|
||||||
partition_maxsize_swap=10%
|
partition_maxsize_swap=10%
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -458,9 +509,9 @@ partition_param_swap="linux-swap \
|
|||||||
device{ \${first_disk} } \
|
device{ \${first_disk} } \
|
||||||
"
|
"
|
||||||
|
|
||||||
if [ -z \$partition_point_root ]; then
|
if [ -z "\${partition_point_root}" ]; then
|
||||||
partition_point_root="/"
|
partition_point_root="/"
|
||||||
if [ -z \$partition_names ]; then
|
if [ -z "\${partition_names}" ]; then
|
||||||
partition_names="root"
|
partition_names="root"
|
||||||
else
|
else
|
||||||
partition_names="\$partition_names root"
|
partition_names="\$partition_names root"
|
||||||
@ -470,18 +521,18 @@ fi
|
|||||||
recipe="boot-root ::"
|
recipe="boot-root ::"
|
||||||
recipe="\$recipe 1 1 1 free method{ biosgrub } ."
|
recipe="\$recipe 1 1 1 free method{ biosgrub } ."
|
||||||
for key in \${partition_names}; do
|
for key in \${partition_names}; do
|
||||||
if [ -z \$key ]; then
|
if [ -z "\$key" ]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
eval "partition=\\${partition_point_\$key}"
|
eval "partition=\\${partition_point_\$key}"
|
||||||
echo "partition \$partition => \$key" >> /tmp/preseed.log
|
echo "partition \$partition => \$key" >> /tmp/preseed.log
|
||||||
eval "partition_percentage=\\${partition_percentage_\$key}"
|
eval "partition_percentage=\\${partition_percentage_\$key}"
|
||||||
if [ -z \$partition_percentage ]; then
|
if [ -z "\${partition_percentage}" ]; then
|
||||||
partition_percentage=0
|
partition_percentage=0
|
||||||
fi
|
fi
|
||||||
echo "partition percentage \$partition => \${partition_percentage}" >> /tmp/preseed.log
|
echo "partition percentage \$partition => \${partition_percentage}" >> /tmp/preseed.log
|
||||||
eval "partition_size=\\${partition_size_\$key}"
|
eval "partition_size=\\${partition_size_\$key}"
|
||||||
if [ -z \$partition_size ]; then
|
if [ -z "\${partition_size}" ]; then
|
||||||
partition_size=1
|
partition_size=1
|
||||||
fi
|
fi
|
||||||
echo "partition size \$partition => \${partition_size}" >> /tmp/preseed.log
|
echo "partition size \$partition => \${partition_size}" >> /tmp/preseed.log
|
||||||
@ -497,7 +548,7 @@ for key in \${partition_names}; do
|
|||||||
fi
|
fi
|
||||||
echo "partition maxsize \$partition => \${partition_maxsize}" >> /tmp/preseed.log
|
echo "partition maxsize \$partition => \${partition_maxsize}" >> /tmp/preseed.log
|
||||||
eval "partition_param=\\${partition_param_\$key}"
|
eval "partition_param=\\${partition_param_\$key}"
|
||||||
if [ -z \${partition_param} ]; then
|
if [ -z "\${partition_param}" ]; then
|
||||||
partition_param="\${partition_fstype} \
|
partition_param="\${partition_fstype} \
|
||||||
\\$lvmok{ } method{ format } format{ } \
|
\\$lvmok{ } method{ format } format{ } \
|
||||||
use_filesystem{ } filesystem{ \${partition_fstype} } \
|
use_filesystem{ } filesystem{ \${partition_fstype} } \
|
||||||
@ -509,25 +560,41 @@ mountpoint{ \$partition }"
|
|||||||
done
|
done
|
||||||
|
|
||||||
for disk_name in \${sorted_disks}; do
|
for disk_name in \${sorted_disks}; do
|
||||||
if [ -z \${disk_name} ]; then
|
if [ -z "\${disk_name}" ]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
eval "disk=\\${disk_path_\${disk_name}}"
|
eval "disk=\\${disk_path_\${disk_name}}"
|
||||||
if [ -z \$disk ]; then
|
if [ -z "\$disk" ]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
disk_name=\$(basename \$disk)
|
disk_name=\$(basename \$disk)
|
||||||
eval "reserve_disk_size=\\${reserve_disk_size_\${disk_name}}"
|
eval "reserve_disk_size=\\${reserve_disk_size_\${disk_name}}"
|
||||||
if [ ! -z \${reserve_disk_size} ]; then
|
if [ -z "\${reserve_disk_size}" ]; then
|
||||||
|
reserve_disk_size=\${default_reserve_disk_size}
|
||||||
|
fi
|
||||||
|
echo "disk \${disk} reserve disk size \${reserve_disk_size}" >> /tmp/preseed.log
|
||||||
|
if [ \${reserve_disk_size} -gt 0 ]; then
|
||||||
reserve_disk_param="\${partition_fstype} \
|
reserve_disk_param="\${partition_fstype} \
|
||||||
method{ format } format{ } use_filesystem{ } filesystem{ \${partition_fstype} } device{ \${disk} }"
|
\\$primary{ } device{ \${disk} } \
|
||||||
|
method{ format } format{ } label{ reserved_\${disk_name} } \
|
||||||
|
use_filesystem{ } filesystem{ \${partition_fstype} }"
|
||||||
recipe="\$recipe \${reserve_disk_size} \${reserve_disk_size} \${reserve_disk_size} \${reserve_disk_param} ."
|
recipe="\$recipe \${reserve_disk_size} \${reserve_disk_size} \${reserve_disk_size} \${reserve_disk_param} ."
|
||||||
echo "reserve partition param \${disk_name} => \${reserve_disk_param}" >> /tmp/preseed.log
|
echo "reserve partition param \${disk_name} => \${reserve_disk_param}" >> /tmp/preseed.log
|
||||||
fi
|
fi
|
||||||
|
eval "max_disk_size=\\${max_disk_size_\${disk_name}}"
|
||||||
|
if [ -z "\${max_disk_size}" ]; then
|
||||||
|
max_disk_size=\${default_max_disk_size}
|
||||||
|
fi
|
||||||
|
echo "disk \${disk} max disk size \${max_disk_size}" >> /tmp/preseed.log
|
||||||
|
if [ \${max_disk_size} -gt 0 ]; then
|
||||||
|
maxsize_param=\${max_disk_size}
|
||||||
|
else
|
||||||
|
maxsize_param=-1
|
||||||
|
fi
|
||||||
disk_param="\${partition_fstype} \
|
disk_param="\${partition_fstype} \
|
||||||
\\$defaultignore{ } \\$primary{ } device{ \${disk} } \
|
\\$defaultignore{ } \\$primary{ } device{ \${disk} } \
|
||||||
method{ lvm } vg_name{ $vgname }"
|
method{ lvm } vg_name{ $vgname }"
|
||||||
recipe="\$recipe 512 512+100% -1 \${disk_param} ."
|
recipe="\$recipe 512 512+100% \${maxsize_param} \${disk_param} ."
|
||||||
echo "partition param \${disk_name} => \${disk_param}" >> /tmp/preseed.log
|
echo "partition param \${disk_name} => \${disk_param}" >> /tmp/preseed.log
|
||||||
done
|
done
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user