5bda5a1df6
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@8965 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
91 lines
1.5 KiB
Bash
91 lines
1.5 KiB
Bash
#!/bin/sh
|
|
|
|
AWK=`find / -name awk | tail -1`
|
|
#old awk /mounts/instsys/bin/awk -f
|
|
|
|
cat >/tmp/bar.awk <<EOF
|
|
#!$AWK -f
|
|
|
|
BEGIN {
|
|
xcatdport = "#TABLE:site:key=xcatiport:value#"
|
|
xcatdhost = "#XCATVAR:XCATMASTER#"
|
|
|
|
ns = "/inet/tcp/0/" xcatdhost "/" xcatiport
|
|
|
|
print "xCAT_xcatd" |& ns
|
|
|
|
while(1) {
|
|
ns |& getline
|
|
|
|
if(\$0 == "ready")
|
|
print "installmonitor" |& ns
|
|
if(\$0 == "done")
|
|
break
|
|
}
|
|
|
|
close(ns)
|
|
|
|
exit 0
|
|
}
|
|
EOF
|
|
|
|
if [ ! -c /dev/vcs ]; then
|
|
mknod /dev/vcs c 7 0
|
|
fi
|
|
cat >/tmp/foo.awk <<EOF
|
|
#!$AWK -f
|
|
|
|
BEGIN {
|
|
ns = "/inet/tcp/3001/0/0"
|
|
|
|
while(1) {
|
|
ns |& getline
|
|
|
|
# if(\$1 == "sh") { #TODO: ENABLE IF DEBUG
|
|
# sub(/^sh +/,"",\$0)
|
|
# output = \$0
|
|
# while((output | getline) > 0)
|
|
# print \$0 |& ns
|
|
# print "EOO" |& ns
|
|
# close(output)
|
|
# }
|
|
|
|
if(\$1 == "screendump") {
|
|
output = "chvt " \$2 ";cat /dev/vcs"
|
|
while((output | getline) > 0)
|
|
print \$0 |& ns
|
|
close(output)
|
|
}
|
|
|
|
if(\$1 == "stat") {
|
|
while((getline < "/target/var/log/installer/syslog") > 0) {
|
|
line = \$0
|
|
}
|
|
close("/target/var/log/installer/syslog")
|
|
|
|
if(line ~ /Unpacking/) {
|
|
sub(/\.[^\.]+\.deb .*$/,"",line)
|
|
sub(/^.* /,"",line)
|
|
}
|
|
if( (line ~ /Installing/) (line ~ /Selecting/) or (line ~ /Setting\ up/)) {
|
|
sub(/\.[^\.]+\.deb .*$/,"",line)
|
|
sub(/^.* /,"",line)
|
|
}
|
|
else {
|
|
line = "prep"
|
|
}
|
|
|
|
print ("installing " line) |& ns
|
|
}
|
|
|
|
close(ns)
|
|
}
|
|
}
|
|
EOF
|
|
|
|
chmod 755 /tmp/foo.awk
|
|
chmod 755 /tmp/bar.awk
|
|
|
|
/tmp/bar.awk &
|
|
/tmp/foo.awk >/tmp/foo.log 2>&1 &
|