Skip to content

Commit eaf6468

Browse files
committed
Bug 9542 - install on CentOS 5.6 does not work
get rid of augtool from setup script nstall on CentOS 5.6 does not work# .wscript_build.swp
1 parent 160b2e1 commit eaf6468

1 file changed

Lines changed: 22 additions & 55 deletions

File tree

client/bindir/cloud-setup-management.in

Lines changed: 22 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,6 @@ updatercd = Command("update-rc.d")
135135
ufw = Command("ufw")
136136
iptables = Command("/sbin/iptables")
137137
iptables_save = Command("/sbin/iptables-save")
138-
augtool = Command("augtool")
139138
kvmok = Command("kvm-ok")
140139
ifconfig = Command("/sbin/ifconfig")
141140
uuidgen = Command("uuidgen")
@@ -166,60 +165,28 @@ try:
166165
except CalledProcessError,e:
167166
pass
168167

169-
requiretty = augtool._print("/files/etc/sudoers/Defaults/requiretty").stdout.strip()
170-
sudoeruser = augtool.match("/files/etc/sudoers/spec/user","@MSUSER@").stdout.strip()
171-
172-
if requiretty:
173-
sudoerstext = file("/etc/sudoers").read()
174-
def restore():
175-
try: file("/etc/sudoers","w").write(sudoerstext)
176-
except OSError,e: raise
177-
178-
script = """rm %s
179-
save"""%"/".join(requiretty.split("/")[:-1])
180-
181-
stderr("Executing the following reconfiguration script:\n%s",script)
182-
183-
try:
184-
returned = augtool < script
185-
if "Saved 1 file" not in returned.stdout:
186-
print returned.stdout + returned.stderr
187-
restore()
188-
bail(E_SUDORECONFIGFAILED,"sudoers reconfiguration failed.")
189-
else:
190-
stderr("sudoers reconfiguration complete")
191-
except CalledProcessError,e:
192-
restore()
193-
print e.stdout + e.stderr
194-
bail(E_SUDORECONFIGFAILED,"sudoers reconfiguration failed")
195-
196-
if "@MSUSER@" not in sudoeruser:
197-
sudoerstext = file("/etc/sudoers").read()
198-
def restore():
199-
try: file("/etc/sudoers","w").write(sudoerstext)
200-
except OSError,e: raise
201-
202-
script = """ins spec after /files/etc/sudoers/spec[last()]
203-
set /files/etc/sudoers/spec[last()]/user @MSUSER@
204-
set /files/etc/sudoers/spec[last()]/host_group/host ALL
205-
set /files/etc/sudoers/spec[last()]/host_group/command ALL
206-
set /files/etc/sudoers/spec[last()]/host_group/command/tag NOPASSWD
207-
save"""
208-
209-
stderr("Executing the following reconfiguration script:\n%s",script)
210-
211-
try:
212-
returned = augtool < script
213-
if "Saved 1 file" not in returned.stdout:
214-
print returned.stdout + returned.stderr
215-
restore()
216-
bail(E_SUDORECONFIGFAILED,"sudoers reconfiguration failed.")
217-
else:
218-
stderr("sudoers reconfiguration complete")
219-
except CalledProcessError,e:
220-
restore()
221-
print e.stdout + e.stderr
222-
bail(E_SUDORECONFIGFAILED,"sudoers reconfiguration failed")
168+
sudoerstext = file("/etc/sudoers").readlines()
169+
def restore():
170+
try: file("/etc/sudoers","w").write(''.join(sudoerstext))
171+
except OSError,e: raise
172+
173+
try:
174+
stderr("Configure /etc/sudoers")
175+
newtext = []
176+
clouder = "cloud ALL = NOPASSWD : ALL"
177+
hasClouder = False
178+
for line in sudoerstext:
179+
if "Defaults" in line and "requiretty" in line:
180+
continue
181+
if clouder in line:
182+
hasClouder = True
183+
newtext.append(line)
184+
if not hasClouder:
185+
newtext.append(clouder+'\n')
186+
file("/etc/sudoers", "w").write(''.join(newtext))
187+
except:
188+
restore()
189+
bail(E_SUDORECONFIGFAILED,"sudoers reconfiguration failed")
223190

224191
ports = "80 8080 8096 8250 9090".split()
225192
if Fedora or CentOS:

0 commit comments

Comments
 (0)