All,
I need a bit of help in attaching a new s3 provider. We are running local s3 objectstores within our facility, and want to attach those to iRODS. We already have one running, and are now attaching a second one. The url is a tad different and I am wondering if that is causing some issues here. Relevant configuration of the working s3 resource is as follows:
location:
local.irodsmachine.comvault: /bucket1
context: S3_DEFAULT_HOSTNAME=
s3.local.objectstore.com;
Now I have a new objectstore, where the url is
new.local.store.com/s3. Using python and boto3 I was able to send files and access the object store. However, with iRODS I am not succeeding yet. I tried two different setups for the resource, both did not work, with different errors when trying an iput. Do you have an advice on how to continue? Can the s3 resource plugin handle the `s3` prefix before the bucketname, or am I doing something else wrong?
location:
local.irodsmachine.comvault: /bucket2
context: S3_DEFAULT_HOSTNAME=
new.local.store.com/s3;...;...;
Error:
log_message: /irods_plugin_source/s3_transport/src/s3_transport.cpp:247 [store_and_log_status] [[138014195967680]] libs3_types::status: [XmlParseFailure] - 31
log_message: /irods_plugin_source/s3_transport/src/s3_transport.cpp:250 [store_and_log_status] [[138014195967680]] S3Host:
new.local.store.com/s3log_message: /irods_plugin_source/s3_transport/src/s3_transport.cpp:254 [store_and_log_status] [[138014195967680]] Function: s3_upload::callback_for_write_to_s3_base::on_response_completion
log_message: [-] /irods_source/server/api/src/rsFileClose.cpp:120:int _rsFileClose(rsComm_t *, fileCloseInp_t *) : status [S3_PUT_ERROR] errno [] -- message [fileClose failed for [3]]
[-] /irods_source/server/drivers/src/fileDriver.cpp:167:irods::error fileClose(rsComm_t *, irods::first_class_object_ptr) : status [S3_PUT_ERROR] errno [] -- message [failed to call 'close']
[-] /irods_plugin_source/s3_transport/include/irods/private/s3_transport/s3_transport.hpp:2306:irods::experimental::io::s3_transport::error_codes irods::experimental::io::s3_transport::s3_transport<char>::s3_upload_file(bool) [CharT = char] : status [S3_PUT_ERROR] errno [] -- message [failed in S3_put_object]
log_message: Failed to close file object [error_code=-702000].
log_message: [close_replica_without_catalog_update:288] - error closing replica; ec:[-702000]
log_message: [single_buffer_put:337] - error closing replica; ec:[-702000]
location:
local.irodsmachine.comvault: /s3/bucket2
context: S3_DEFAULT_HOSTNAME=
new.local.store.com;...;...;
Error:
log_message: /irods_plugin_source/s3_transport/src/s3_transport.cpp:247 [store_and_log_status] [[138014195967680]] libs3_types::status: [InvalidBucketNameTooShort] - 8
log_message: /irods_plugin_source/s3_transport/src/s3_transport.cpp:250 [store_and_log_status] [[138014195967680]] S3Host:
new.local.store.comlog_message: /irods_plugin_source/s3_transport/src/s3_transport.cpp:254 [store_and_log_status] [[138014195967680]] Function: s3_upload::callback_for_write_to_s3_base::on_response_completion
log_message: [-] /irods_source/server/api/src/rsFileClose.cpp:120:int _rsFileClose(rsComm_t *, fileCloseInp_t *) : status [S3_PUT_ERROR] errno [] -- message [fileClose failed for [3]]
[-] /irods_source/server/drivers/src/fileDriver.cpp:167:irods::error fileClose(rsComm_t *, irods::first_class_object_ptr) : status [S3_PUT_ERROR] errno [] -- message [failed to call 'close']
[-] /irods_plugin_source/s3_transport/include/irods/private/s3_transport/s3_transport.hpp:2306:irods::experimental::io::s3_transport::error_codes irods::experimental::io::s3_transport::s3_transport<char>::s3_upload_file(bool) [CharT = char] : status [S3_PUT_ERROR] errno [] -- message [failed in S3_put_object]
log_message: Failed to close file object [error_code=-702000].
log_message: [close_replica_without_catalog_update:288] - error closing replica; ec:[-702000]
log_message: [single_buffer_put:337] - error closing replica; ec:[-702000]
Kind regards,
Joris