Based on the code inspection there is a wrong assumption about the user_id in validate objects. The ID need to be checked against user_id and not access_key.
IMHO, the right way to fix would be to query keystone, get the true user_id, and in the case of tempauth then an autogenerated UUID is assigned, and then validated against it.
Kottur,
Based on the code inspection there is a wrong assumption about the user_id in validate objects. The ID need to be checked against user_id and not access_key.
https:/ /github. com/openstack/ swift/blob/ master/ test/functional /s3api/ s3_test_ client. py#L68
user_id is set to access key only if user_id is None.
But precursor to this,
https:/ /github. com/openstack/ swift/blob/ master/ test/functional /s3api/ __init_ _.py#L56, user_id is set before Connection() is called in the case of keystone.
user_id = '%s:%s' % (tf.config[ 'account' ], tf.config[ 'username' ])
In https:/ /github. com/openstack/ swift/blob/ master/ test/functional /s3api/ test_bucket. py#L38, test needs to be done against user_id (base class member).
IMHO, the right way to fix would be to query keystone, get the true user_id, and in the case of tempauth then an autogenerated UUID is assigned, and then validated against it.
Tim Burke input would be valuable for you here.