|
Lines 81-87
class NSUpdateError(UpdateError):
Link Here
|
| 81 |
def kinit(principal, keytab=None, password_file=None): |
81 |
def kinit(principal, keytab=None, password_file=None): |
| 82 |
auth = '--keytab={tab}' if keytab else '--password-file={file}' |
82 |
auth = '--keytab={tab}' if keytab else '--password-file={file}' |
| 83 |
cmd = ('kinit', auth.format(tab=keytab, file=password_file), principal) |
83 |
cmd = ('kinit', auth.format(tab=keytab, file=password_file), principal) |
| 84 |
MODULE.process('Running: %s' %(''.join(cmd))) |
84 |
MODULE.process('Running: %s' %(' '.join(cmd))) |
| 85 |
|
85 |
|
| 86 |
try: |
86 |
try: |
| 87 |
subprocess.check_call(cmd) |
87 |
subprocess.check_call(cmd) |
|
Lines 95-104
def kinit(principal, keytab=None, password_file=None):
Link Here
|
| 95 |
def nsupdate(server, domainname): |
95 |
def nsupdate(server, domainname): |
| 96 |
process = subprocess.Popen(('nsupdate', '-g', '-t', '15'), stdin=subprocess.PIPE, |
96 |
process = subprocess.Popen(('nsupdate', '-g', '-t', '15'), stdin=subprocess.PIPE, |
| 97 |
stdout=subprocess.PIPE, stderr=subprocess.STDOUT) |
97 |
stdout=subprocess.PIPE, stderr=subprocess.STDOUT) |
| 98 |
cmd = 'server {server}\nprereq yxdomain {domain}\nsend\nquit\n' |
98 |
cmd_template = 'server {server}\nprereq yxdomain {domain}\nsend\nquit\n' |
|
|
99 |
cmd = cmd_template.format(server=server, domain=domainname) |
| 99 |
MODULE.process("Running: 'echo %s | nsupdate -g -t 15" %(cmd,)) |
100 |
MODULE.process("Running: 'echo %s | nsupdate -g -t 15" %(cmd,)) |
| 100 |
|
101 |
|
| 101 |
_ = process.communicate(cmd.format(server=server, domain=domainname)) |
102 |
_ = process.communicate(cmd) |
| 102 |
if process.poll() != 0: |
103 |
if process.poll() != 0: |
| 103 |
raise NSUpdateError(server, domainname) |
104 |
raise NSUpdateError(server, domainname) |
| 104 |
|
105 |
|