@@ -77,8 +77,7 @@ def s3_conn(creds, conn=None):
77
77
cacert = conn .config .config .get ("cacert" )
78
78
# TODO: Handle self-signed certs (from ca_cert in openstack config)
79
79
if cacert :
80
- print ("WARNING: Trust all Certificates in S3, "
81
- f"OpenStack uses { cacert } " , file = sys .stderr )
80
+ logger .warning (f"Trust all Certificates in S3, OpenStack uses { cacert } " )
82
81
vrfy = False
83
82
return boto3 .resource ('s3' , aws_access_key_id = creds ["AK" ],
84
83
aws_secret_access_key = creds ["SK" ],
@@ -111,7 +110,7 @@ def s3_from_env(creds, fieldnm, env, prefix=""):
111
110
if env in os .environ :
112
111
creds [fieldnm ] = prefix + os .environ [env ]
113
112
if fieldnm not in creds :
114
- print (f"WARNING: s3_creds[{ fieldnm } ] not set" , file = sys . stderr )
113
+ logger . warning (f"s3_creds[{ fieldnm } ] not set" )
115
114
116
115
117
116
def s3_from_ostack (creds , conn , endpoint ):
@@ -144,7 +143,7 @@ def s3_from_ostack(creds, conn, endpoint):
144
143
creds ["SK" ] = sk
145
144
return crd .id
146
145
except BaseException as excn :
147
- print (f"WARNING: ec2 creds creation failed: { excn !s} " , file = sys . stderr )
146
+ logger . warning (f"ec2 creds creation failed: { excn !s} " )
148
147
# pass
149
148
return None
150
149
@@ -154,14 +153,13 @@ def check_for_s3_and_swift(conn: openstack.connection.Connection, s3_credentials
154
153
if s3_credentials :
155
154
try :
156
155
s3 = s3_conn (s3_credentials )
157
- except Exception as e :
158
- print ( str ( e ) )
159
- logger .error ("FAIL: Connection to s3 failed." )
156
+ except Exception :
157
+ logger . debug ( "details" , exc_info = True )
158
+ logger .error ("Connection to S3 failed." )
160
159
return 1
161
- s3_buckets = list_s3_buckets (s3 )
160
+ s3_buckets = list_s3_buckets (s3 ) or create_bucket ( s3 , TESTCONTNAME )
162
161
if not s3_buckets :
163
- s3_buckets = create_bucket (s3 , TESTCONTNAME )
164
- assert s3_buckets
162
+ raise RuntimeError ("failed to create S3 bucket" )
165
163
if s3_buckets == [TESTCONTNAME ]:
166
164
del_bucket (s3 , TESTCONTNAME )
167
165
# everything worked, and we don't need to test for Swift:
@@ -184,11 +182,13 @@ def check_for_s3_and_swift(conn: openstack.connection.Connection, s3_credentials
184
182
s3_from_env (s3_creds , "AK" , "S3_ACCESS_KEY_ID" )
185
183
s3_from_env (s3_creds , "SK" , "S3_SECRET_ACCESS_KEY" )
186
184
185
+ # This is to be used for local debugging purposes ONLY
186
+ # logger.info(f"using credentials {s3_creds}")
187
+
187
188
s3 = s3_conn (s3_creds , conn )
188
- s3_buckets = list_s3_buckets (s3 )
189
+ s3_buckets = list_s3_buckets (s3 ) or create_bucket ( s3 , TESTCONTNAME )
189
190
if not s3_buckets :
190
- s3_buckets = create_bucket (s3 , TESTCONTNAME )
191
- assert s3_buckets
191
+ raise RuntimeError ("failed to create S3 bucket" )
192
192
193
193
# If we got till here, s3 is working, now swift
194
194
swift_containers = list_containers (conn )
@@ -198,8 +198,8 @@ def check_for_s3_and_swift(conn: openstack.connection.Connection, s3_credentials
198
198
# Compare number of buckets/containers
199
199
# FIXME: Could compare list of sorted names
200
200
if Counter (s3_buckets ) != Counter (swift_containers ):
201
- logger .warning ("S3 buckets and Swift Containers differ:\n "
202
- f"S3: { sorted (s3_buckets )} \n SW: { sorted (swift_containers )} " )
201
+ logger .error ("S3 buckets and Swift Containers differ:\n "
202
+ f"S3: { sorted (s3_buckets )} \n SW: { sorted (swift_containers )} " )
203
203
result = 1
204
204
else :
205
205
logger .info ("SUCCESS: S3 and Swift exist and agree" )
@@ -245,7 +245,7 @@ def main():
245
245
format = "%(levelname)s: %(message)s" ,
246
246
level = logging .DEBUG if args .debug else logging .INFO ,
247
247
)
248
- openstack .enable_logging (debug = args . debug )
248
+ openstack .enable_logging (debug = False )
249
249
250
250
# parse cloud name for lookup in clouds.yaml
251
251
cloud = args .os_cloud or os .environ .get ("OS_CLOUD" , None )
0 commit comments