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 |
|