| |
@@ -15,6 +15,14 @@
|
| |
import tempfile
|
| |
import shutil
|
| |
|
| |
+ import argparse
|
| |
+
|
| |
+ # get architecture and tags from command line
|
| |
+ parser = argparse.ArgumentParser()
|
| |
+ parser.add_argument("--keytab", help="specify a Kerberos keytab to use")
|
| |
+ parser.add_argument("--principal", help="specify a Kerberos principal to use")
|
| |
+ args = parser.parse_args()
|
| |
+
|
| |
# Set some variables
|
| |
# Some of these could arguably be passed in as args.
|
| |
tags = ['f26', 'f25', 'f24', 'f23'] # tag to check in koji
|
| |
@@ -26,6 +34,10 @@
|
| |
CLIENTCA = os.path.expanduser('~/.fedora-upload-ca.cert')
|
| |
CLIENTCERT = os.path.expanduser('~/.fedora.cert')
|
| |
|
| |
+ session_opts = {}
|
| |
+ session_opts['krbservice'] = 'host'
|
| |
+ session_opts['krb_rdns'] = False
|
| |
+
|
| |
kojisession = koji.ClientSession('https://koji.fedoraproject.org/kojihub')
|
| |
|
| |
def getBlocked(kojisession, tag):
|
| |
@@ -51,8 +63,14 @@
|
| |
for arch in arches:
|
| |
print "== Working on Arch: %s" % arch
|
| |
# Create a koji session
|
| |
- seckojisession = koji.ClientSession('https://%s.koji.fedoraproject.org/kojihub' % arch )
|
| |
- seckojisession.ssl_login(CLIENTCERT, CLIENTCA, SERVERCA)
|
| |
+ seckojisession = koji.ClientSession('https://%s.koji.fedoraproject.org/kojihub' % arch, session_opts)
|
| |
+ if os.path.isfile(CLIENTCERT):
|
| |
+ seckojisession.ssl_login(CLIENTCERT, CLIENTCA, SERVERCA)
|
| |
+ else:
|
| |
+ if args.keytab and args.principal:
|
| |
+ seckojisession.krb_login(principal=args.principal, keytab=args.keytab)
|
| |
+ else:
|
| |
+ seckojisession.krb_login()
|
| |
|
| |
for tag in tags:
|
| |
print "=== Working on tag: %s" % tag
|
| |