mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-10-31 03:12:30 +00:00 
			
		
		
		
	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 &
 |