Commit Graph

2606 Commits

Author SHA1 Message Date
Andrew Gaul 52c92a9eb5 Propagate access denied when creating container
Previously this method only reported whether it created a container or
not and callers could not determine whether there was an error or if
the container already existed.  References gaul/s3proxy#122.
2018-01-09 12:44:24 -08:00
Ignasi Barrera 624367dfbf OAuth filter customization per request 2017-11-30 09:07:20 +01:00
andreaturli ec03b710a7 [JCLOUDS-1360] add support for block device mappings to Nova 2017-11-22 11:29:49 +01:00
Andrew Gaul 9b59d099d1 JCLOUDS-1358: Handle 0-byte input with v4 signature
Previously this failed due to use of mark and reset on the
InputStream.
2017-11-21 11:36:11 -08:00
Andrew Gaul 73c3b6024c Add exception cause 2017-11-20 10:49:55 -08:00
Andrew Gaul a62494a117 JCLOUDS-1110: Inject timeStamp into Atmos provider
This addresses a unit test failure.
2017-11-14 10:51:58 -08:00
Andrew Gaul fda87d7dc7 JCLOUDS-1110: Atmos time-limited signed URLs 2017-11-13 14:44:02 -08:00
Andrew Gaul 3923fb0d71 JCLOUDS-598: Populate additional MD5 field
Follow-on to a6337fdcc4.
2017-11-13 09:21:19 -08:00
Andrew Gaul 2df35de45c Remove nonsense check for non-existent URL
This URL does not resolve and slows integration tests.
2017-11-12 17:51:49 -08:00
Andrew Gaul a6337fdcc4 JCLOUDS-598: Populate Atmos MD5 from wschecksum 2017-11-12 17:51:49 -08:00
Andrew Gaul 50026c8f2d Return Atmos objectID as ETag
Previously Atmos returned null.  Also rework the fix for JCLOUDS-339
which does not reproduce with AT&T Synaptic.  Fixes gaul/s3proxy#247.
2017-11-11 14:20:49 -08:00
Andrew Gaul 8b94febfeb Throw consistent exception on invalid range read
Previously S3, Swift, and local blobstores threw a generic
IllegalArgumentException for this uncommon error.  Instead
consistently throw HttpResponseException.
2017-11-10 21:39:47 -08:00
Andrew Gaul 855ac7776c JCLOUDS-1080: remove spurious parameter from test
Follow on to 52044d23d9.
2017-11-07 11:49:00 -08:00
Andrew Gaul 52044d23d9 JCLOUDS-1080: request JSON only for list objects 2017-11-07 10:58:09 -08:00
Andrew Gaul 9dc85ecaab JCLOUDS-1281: Improve Swift DLO tests
Add DynamicLargeObjectApiLiveTest to Rackspace Cloud Files suite and
use correct regionId so that tests pass.  Also remove duplicative
test.
2017-11-07 10:50:10 -08:00
Archana Chinnaiah eaf3c779dc JCLOUDS-1281: Swift dynamic large objects 2017-11-07 10:50:10 -08:00
Andrew Gaul b2ced53e16 JCLOUDS-1111: Overwrite objects via remove and put
This partially reverts commit
e446b5b8b4.  AT&T Synaptic returns a
bogus error on with x-emc-force-overwrite:

HTTP 400, code=1012, message=There was a mismatch between the object
size and the specified extent size.
2017-11-06 18:05:47 -08:00
Andrew Gaul 46759f8bda Fix a few Coverity defects 2017-11-05 20:12:47 -08:00
Richard Downer 98c289721c Recognise CentOS images on AWS Marketplace
CentOS’ officially-supported AMIs are hosted on the AWS Marketplace.
This adds support for those images, recognising the AMI naming
convention and ensuring the OS metadata is parsed correctly and the
correct SSH login name is used.

There is no change to the default jclouds configuration and the
official CentOS images will not be detected by default. To use these
images, you must alter the ami-query properties to include searching
the “AWS Marketplace”, which has an owner ID of 679593333241. You must
also manually log on to the AWS Marketplace, select your chosen CentOS
image, and “subscribe” to it (you can do this by proceeding as if to
launch an image, but stopping after you have agreed to the subscription
and before launching).
2017-11-03 10:23:37 +01:00
Andrew Gaul c0a7938b69 Address Checkstyle violation 2017-10-30 18:31:40 -07:00
Andrew Gaul af05e24ae9 Implement partial prefix support for Atmos
Atmos only supports listing by directories while other blobstores
allow listing via arbitrary prefixes.  Allow requests which list
directories via both prefix and delimiter = "/" to succeed instead of
failing all requests.  Also change a test which specified recursive to
instead be delimiter = "/".  Fixes gaul/s3proxy#244.
2017-10-30 17:51:35 -07:00
Andrew Gaul 0960ea4969 Add mtime support to Atmos directory listing 2017-10-29 17:40:25 -07:00
Andrew Gaul 4b10bcc054 Enable passing Atmos tests
Also clarify why we skip certain tests with SkipException.
2017-10-29 13:43:10 -07:00
Andrew Gaul 29397b516b Add parent to system metadata
Previously this caused spurious test failures.
2017-10-28 11:06:38 -07:00
Andrew Gaul cf2c077836 Handle empty prefix on Atmos 2017-10-28 11:06:25 -07:00
Ignasi Barrera f7b74d95c9 Exclude tier tests on OSX 2017-10-25 08:30:49 +02:00
Andrew Gaul c901bf3a0f JCLOUDS-1337: Swift putBlob portable storage tiers 2017-10-23 21:31:49 -07:00
Andrew Gaul f513bf7c40 JCLOUDS-1337: Atmos putBlob portable storage tiers 2017-10-23 21:31:48 -07:00
Andrew Gaul b93270aef2 JCLOUDS-1337: only set fs tier when non-null
Fixes regression from 61d4be8746.
2017-10-20 20:51:50 -07:00
Andrew Gaul 5448b92ee8 JCLOUDS-1337: only set fs tier when non-null
Fixes regression from 61d4be8746.
2017-10-17 23:14:09 -07:00
Andrew Gaul 89053d9a8b JCLOUDS-1337: S3 putBlob portable storage tiers
Also promote hacky and limited storage class support from aws-s3
provider to s3 api.
2017-10-12 11:16:48 -07:00
Andrew Gaul 61d4be8746 JCLOUDS-1337: filesystem putBlob portable storage tiers 2017-10-12 11:15:14 -07:00
Andrew Gaul 6cf0a63186 Remove stray Javadoc /** 2017-09-27 09:45:35 -07:00
Andrew Gaul 9628a9064e Upgrade to EasyMock 3.4
Also switch from unmaintained easymockclassextension to easymock.
Release notes:

https://github.com/easymock/easymock/releases
2017-09-17 15:45:46 -07:00
Andrew Gaul 6046fc925c Avoid hard-coding rackspace region in swift test 2017-09-09 13:42:59 -07:00
Andrew Gaul 7704893650 Remove Inject on constructors for abstract classes
This is not meaningful since these classes cannot be instantiated.
Found via error-prone.
2017-09-07 23:37:24 -07:00
Ignasi Barrera 1c1f81c373 JCLOUDS-1258: Allow China endpoints in FormSignerV4 2017-09-08 08:12:50 +02:00
Timur Alperovich 6feacb1ee5 Fixes for jclouds openstack swift tests.
The ContainerApiLiveTest class has tests that mostly assume that a
single test container always exists. They collide on changes to the
state of the container. Some of the tests, though, assume the
container does _not_ exist and attempt to create it and subsequently
delete it. The change in this patch makes their behavior uniform with
respect to that test container: assume it exists and if the test tries
to delete it or mutate it, delete the container and create it at the
end of the test.

The fix in ObjectApi is for the Object GET requests. Currently,
jclouds passes "format=json", which is not a supported query parameter
for object GET.

Lastly, ObjectApiLiveTest that test server-side copy should ignore the
X-Openstack-Request-ID header, as its value will change between the
two requests.
2017-09-07 13:25:50 -07:00
Andrew Gaul 97c77541ec Allow empty delimiters with openstack-swift 2017-09-07 12:28:41 -07:00
Andrew Gaul 3a1710d15c Default Swift signer timeout to 15 minutes
This matches other providers.
2017-09-07 11:53:54 -07:00
Andrew Gaul b424a6c164 Alphabetize modules 2017-09-07 07:27:56 -07:00
Andrew Gaul fb584d844d Address BindingToUnqualifiedCommonType warnings
Found via error-prone.
2017-09-07 07:08:28 -07:00
Andrew Gaul d7d28fe7d7 JCLOUDS-1333: Correct JDK 1.8 method overloading
Newer JDK have a different resolution process, likely due to enhanced
target type inference.  Found via:

mvn test -Dmaven.compile.source=1.8 -Dmaven.compile.target=1.8
2017-09-07 01:41:52 -07:00
Andrew Gaul bfd54049b7 Make auto service optional
This makes dependencies consistent and eliminates warnings of the
form:

$M2_HOME/repository/org/apache/jclouds/driver/jclouds-slf4j/2.1.0-SNAPSHOT/jclouds-slf4j-2.1.0-SNAPSHOT.jar(org/jclouds/logging/slf4j/config/SLF4JLoggingModule.class): warning: Cannot find annotation method 'value()' in type 'AutoService': class file for com.google.auto.service.AutoService not found

Reference:

https://github.com/google/auto/tree/master/service#download
2017-08-30 12:23:49 -07:00
Andrew Gaul a4e38f7c84 Prefer Guava BaseEncoding over JAXB 2017-08-30 11:26:15 -07:00
Andrew Gaul 6bb9c927bb JCLOUDS-1101: Use correct HttpException
Importing javax.xml.ws.http.HTTPException causes Java 9 issues.
2017-08-30 09:50:58 -07:00
Andrew Gaul df43b36487 Avoid injecting on final fields
This can cause thread visibility issues.  Found via error-prone.
2017-08-28 21:08:59 -07:00
Andrew Gaul 517323fbd5 JCLOUDS-1225: Address Guava 18 MoreExecutors changes
Fixed with:

find -name \*.java | xargs sed -i 's/sameThreadExecutor/newDirectExecutorService/g'
2017-08-22 17:14:22 -07:00
Andrew Gaul a493e2ca2f JCLOUDS-1225: Address Guava 18 Objects changes
Fixed with:

find -name \*.java | xargs sed -i 's/Objects.[Tt]oStringHelper/More&/g'
find -name \*.java | xargs sed -i 's/Objects.firstNonNull/More&/g'
find -name \*.java | xargs sed -i 's/^\(import com.google.common.base.\)\(Objects.*\)/\1More\2\n\1\2/g'
find -name \*.java | xargs java -jar google-java-format-1.3-all-deps.jar -i --fix-imports-only --skip-sorting-imports
2017-08-22 17:12:53 -07:00
Chaithanya Ganta e331a000d1 JCLOUDS-1322: Remove Expect header for requests with empty body
Signed-off-by: Chaithanya Ganta <ganta@adobe.com>
2017-08-21 21:05:02 -07:00