Problem because of the race condition between chvt logind service and tty6 during installation of Red Hat Enterprise Linux 7.2 using kickstart?
Issue
- Why does
python %prescript execution fail and halt installation of Red Hat Enterprise Linux 7.2 ? - This works as expected with Red Hat Enterprise Linux 7.1 and 6.x whereas with Red Hat Enterprise Linux 7.2, it fails.
- The following example
%prescript halts installation.
%pre --interpreter /bin/python
import os
import sys
import re
import os.path
import time
import socket
import commands
import urllib2, base64, sys, json, base64
from pprint import pprint
os.system('exec < /dev/tty6 > /dev/tty6')
os.system('chvt 6')
os.system('clear')
fd = os.open("/dev/tty6", os.O_RDWR)
os.dup2(fd, 0)
os.dup2(fd, 1)
os.dup2(fd, 2)
sys.stdin = os.fdopen(0, "r")
sys.stdout = os.fdopen(1, "w")
sys.stderr = os.fdopen(2, "w")
os.system('clear')
print ""
print " Testing Dracut"
print " ----------------------------------------"
print ""
print " Enter anything when prompted"
print ""
print " You should never see the command prompt"
print ""
print " ----------------------------------------"
print ""
print ""
fd = open("/tmp/rhel-dracut-test-out","w")
userinput = raw_input(" Enter something: ")
fd.write(userinput + '\n')
userinput = raw_input(" Enter more: ")
fd.write(userinput + '\n')
userinput = raw_input(" Enter last one: ")
fd.write(userinput + '\n')
fd.close
userinput = raw_input(" \nPress enter to display the file:")
fd = open("/tmp/rhel-dracut-test-out","r")
lines = fd.read()
print lines
fd.close()
userinput = raw_input(" \nPress enter to return to tty1")
os.system('chvt 1')
os.system('exec < /dev/tty1 > /dev/tty1')
%end
Environment
- Red Hat Enterprise Linux 7.2
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
