@@ -430,6 +430,8 @@ def relist_service_broker(kwargs):
430
430
base64 .b64encode ("{0}:{1}" .format (kwargs ['basic_auth_username' ],
431
431
kwargs ['basic_auth_password' ]))
432
432
}
433
+ elif kwargs ['auth_token' ] is not None :
434
+ headers = {'Authorization' : kwargs ['auth_token' ]}
433
435
else :
434
436
headers = {'Authorization' : token }
435
437
@@ -755,6 +757,8 @@ def broker_request(broker, service_route, method, **kwargs):
755
757
base64 .b64encode ("{0}:{1}" .format (kwargs ['basic_auth_username' ],
756
758
kwargs ['basic_auth_password' ]))
757
759
}
760
+ elif kwargs ['auth_token' ] is not None :
761
+ headers = {'Authorization' : kwargs ['auth_token' ]}
758
762
else :
759
763
token = openshift_client .Configuration ().get_api_key_with_prefix ('authorization' )
760
764
headers = {'Authorization' : token }
@@ -771,7 +775,8 @@ def cmdrun_list(**kwargs):
771
775
response = broker_request (kwargs ['broker' ], "/v2/catalog" , "get" ,
772
776
verify = kwargs ["verify" ],
773
777
basic_auth_username = kwargs .get ("basic_auth_username" ),
774
- basic_auth_password = kwargs .get ("basic_auth_password" ))
778
+ basic_auth_password = kwargs .get ("basic_auth_password" ),
779
+ auth_token = kwargs .get ("auth_token" ))
775
780
776
781
if response .status_code != 200 :
777
782
print ("Error: Attempt to list APBs in the broker returned status: %d" % response .status_code )
@@ -947,15 +952,21 @@ def delete_old_images(image_name):
947
952
return
948
953
949
954
950
- def push_apb (registry , tag ):
955
+ def push_apb (registry , tag , ** kwargs ):
951
956
try :
952
957
client = create_docker_client ()
953
958
openshift_config .load_kube_config ()
954
- api_key = openshift_client .Configuration ().get_api_key_with_prefix ('authorization' )
955
- if api_key is None :
956
- raise Exception ("No api key found in kubeconfig. NOTE: system:admin " +
957
- "*cannot* be used with apb, since it does not have a token." )
958
- token = api_key .split (" " )[1 ]
959
+ if kwargs ['auth_token' ] is not None :
960
+ token = kwargs ['auth_token' ]
961
+ else :
962
+ api_key = openshift_client .Configuration ().get_api_key_with_prefix ('authorization' )
963
+ if api_key is None :
964
+ raise Exception (
965
+ "No api key found in kubeconfig. NOTE: " +
966
+ "system:admin *cannot* be used with apb, since it " +
967
+ "does not have a token."
968
+ )
969
+ token = api_key .split (" " )[1 ]
959
970
username = "developer" if is_minishift () else "unused"
960
971
client .login (username = username , password = token , registry = registry , reauth = True )
961
972
delete_old_images (tag )
@@ -1133,7 +1144,8 @@ def cmdrun_push(**kwargs):
1133
1144
response = broker_request (broker , "/v2/apb" , "post" , data = data_spec ,
1134
1145
verify = kwargs ["verify" ],
1135
1146
basic_auth_username = kwargs .get ("basic_auth_username" ),
1136
- basic_auth_password = kwargs .get ("basic_auth_password" ))
1147
+ basic_auth_password = kwargs .get ("basic_auth_password" ),
1148
+ auth_token = kwargs .get ("auth_token" ))
1137
1149
1138
1150
if response .status_code != 200 :
1139
1151
print ("Error: Attempt to add APB to the Broker returned status: %d" % response .status_code )
@@ -1147,11 +1159,12 @@ def cmdrun_push(**kwargs):
1147
1159
tag = registry + "/" + kwargs ['namespace' ] + "/" + dict_spec ['name' ]
1148
1160
1149
1161
build_apb (project , kwargs ['dockerfile' ], tag )
1150
- push_apb (registry , tag )
1162
+ push_apb (registry , tag , ** kwargs )
1151
1163
bootstrap (
1152
1164
broker ,
1153
1165
kwargs .get ("basic_auth_username" ),
1154
1166
kwargs .get ("basic_auth_password" ),
1167
+ kwargs .get ("auth_token" ),
1155
1168
kwargs ["verify" ]
1156
1169
)
1157
1170
@@ -1195,6 +1208,7 @@ def cmdrun_remove(**kwargs):
1195
1208
kwargs ["broker" ],
1196
1209
kwargs .get ("basic_auth_username" ),
1197
1210
kwargs .get ("basic_auth_password" ),
1211
+ kwargs .get ("auth_token" ),
1198
1212
kwargs ["verify" ]
1199
1213
)
1200
1214
exit ()
@@ -1204,15 +1218,17 @@ def cmdrun_remove(**kwargs):
1204
1218
response = broker_request (kwargs ["broker" ], route , "delete" ,
1205
1219
verify = kwargs ["verify" ],
1206
1220
basic_auth_username = kwargs .get ("basic_auth_username" ),
1207
- basic_auth_password = kwargs .get ("basic_auth_password" ))
1221
+ basic_auth_password = kwargs .get ("basic_auth_password" ),
1222
+ auth_token = kwargs .get ("auth_token" ))
1208
1223
1209
1224
if response .status_code == 404 :
1210
1225
print ("Received a 404 trying to remove APB with id: %s" % kwargs ["id" ])
1211
1226
print ("Attempting to contact 3.7 endpoint before erroring out." )
1212
1227
response = broker_request (kwargs ["broker" ], old_route , "delete" ,
1213
1228
verify = kwargs ["verify" ],
1214
1229
basic_auth_username = kwargs .get ("basic_auth_username" ),
1215
- basic_auth_password = kwargs .get ("basic_auth_password" ))
1230
+ basic_auth_password = kwargs .get ("basic_auth_password" ),
1231
+ auth_token = kwargs .get ("auth_token" ))
1216
1232
1217
1233
if response .status_code != 204 :
1218
1234
print ("Error: Attempt to remove an APB from Broker returned status: %d" % response .status_code )
@@ -1225,11 +1241,12 @@ def cmdrun_remove(**kwargs):
1225
1241
print ("Successfully deleted APB" )
1226
1242
1227
1243
1228
- def bootstrap (broker , username , password , verify ):
1244
+ def bootstrap (broker , username , password , token , verify ):
1229
1245
response = broker_request (broker , "/v2/bootstrap" , "post" , data = {},
1230
1246
verify = verify ,
1231
1247
basic_auth_username = username ,
1232
- basic_auth_password = password )
1248
+ basic_auth_password = password ,
1249
+ auth_token = token )
1233
1250
1234
1251
if response .status_code != 200 :
1235
1252
print ("Error: Attempt to bootstrap Broker returned status: %d" % response .status_code )
@@ -1240,7 +1257,9 @@ def bootstrap(broker, username, password, verify):
1240
1257
1241
1258
1242
1259
def cmdrun_bootstrap (** kwargs ):
1243
- bootstrap (kwargs ["broker" ], kwargs .get ("basic_auth_username" ), kwargs .get ("basic_auth_password" ), kwargs ["verify" ])
1260
+ bootstrap (kwargs ["broker" ], kwargs .get ("basic_auth_username" ),
1261
+ kwargs .get ("basic_auth_password" ), kwargs .get ("auth_token" ),
1262
+ kwargs ["verify" ])
1244
1263
1245
1264
if not kwargs ['no_relist' ]:
1246
1265
relist_service_broker (kwargs )
@@ -1331,7 +1350,7 @@ def cmdrun_test(**kwargs):
1331
1350
tag = registry + "/" + kwargs ['namespace' ] + "/" + spec ['name' ]
1332
1351
1333
1352
build_apb (project , kwargs ['dockerfile' ], tag )
1334
- push_apb (registry , tag )
1353
+ push_apb (registry , tag , ** kwargs )
1335
1354
1336
1355
spec = get_spec (project )
1337
1356
test_name = 'apb-test-{}-{}' .format (spec ['name' ], rand_str ())
@@ -1375,7 +1394,7 @@ def cmdrun_run(**kwargs):
1375
1394
kwargs ['dockerfile' ],
1376
1395
tag
1377
1396
)
1378
- push_apb (registry , tag )
1397
+ push_apb (registry , tag , ** kwargs )
1379
1398
1380
1399
plans = [plan ['name' ] for plan in spec ['plans' ]]
1381
1400
if len (plans ) > 1 :
0 commit comments