Commit Graph

2746 Commits

Author SHA1 Message Date
Jean-Noël Rouvignac 647af7e365
Simplify S3 code that uses java-xml-builder (#93)
* animal sniffer should be on java18, just like `<jdk.version>`

* Only use XMLBuilder's elem() and text() methods to have similar looking code

* Remove unnecessary call to XMLBuilder's up() because the returned value is never used

* Simplify code

* Deduplicate code

* Make the code more explicit by returning the rootBuilder
2021-01-21 21:54:44 +09:00
gurkerl83 9215bfcb70 In the final state of this feature, a rebase on Master was executed. In resolving a merge problem with the Maven project file "JClouds Project," an important instruction got overwritten, to generate test jars for each module. This modification re-adds this ability for all modules. Counter versa, defining this build step repeatedly, e.g., in the api/oauth module, is no longer required. Also, correct a typo, add groupId.
Note: Previously, the maven jar plugin contained a configuration embedded in each module's generated manifest files. The configuration got relocated to the project/bnd.bnd file in a previous commit, and gets handled through the bnd plugin.
2020-10-26 19:58:41 +09:00
gurkerl83 32f6c4d50f Remove the OSGi configuration from each module. The approach of defining OSGi configuration through common properties and serving them to the bundle plugin gets no longer used; instead, OSGi configuration gets defined in each module's dedicated bnd file. 2020-10-26 19:58:41 +09:00
gurkerl83 7a9cd345a6 Onboard bnd-configuration files, one per module 2020-10-26 19:58:41 +09:00
gurkerl83 d82868cc47 Replace embedded and repackaged GSON library
Replace substituted GSON package names with those provided from the vendor.
Reduce OSGi-metadata declaration of core-module because the artificial package org.jclouds.json.gson.internal was removed.
Remove the Gson module its children Gson bundle, and Gson shaded.
Remove duplication conflict and check-style rules due to the removal of the internal Gson module.
Add maven repository where a custom version of the Gson library gets hosted, which exports all packages.

Remove particular repository

Remove the declaration of the repository that serves a custom build GSON version. The build uses GSON in its original form of the vendor, which gets distributed through the standard distribution channel. The identifiers for group, artifact, and version correspond to the latest stable release of GSON.

Integrate GSON library in Clouds Core Bundle

The change contained in the commit puts the GSON library into the classpath of the JClouds core module.
After several tests with Karaf and Karaf JClouds, especially if the Maven identifier matches the original GSON library, there are only a limited number of ways to keep the deployment effort low.

Specifically, Karaf has a set of predefined Maven repositories that can be easily customized. The order in which a particular repository is resolved into the customized GSON library is more difficult. In normal OSGi applications, which do not have such a management function, I imagine this configuration to be more complicated.  Sure, a unique identifier would help, but then we are back to step 1.

Although I honestly don't like to see this kind of approach in a codebase I'm working with, there are not many alternatives to the main aspect of deployment mentioned above.

Maybe the approach can still ease the problem in the short term. In a further mid-term step, however, this problem must be addressed in general.
2020-10-26 19:58:41 +09:00
Andrew Gaul 1cd28c93c4 Remove unintended executable permissions
Fixed via:

find -executable -not -type d -name \*.java -exec chmod -x {} \;
2020-10-19 13:13:34 +09:00
Tamas Cservenak d65047c87b
JCLOUDS-1552: Do not attempt to parse empty payload (#82) 2020-09-21 15:46:25 +02:00
Sam Ottenhoff 8762fbaf8e JCLOUDS-1473 add INTELLIGENT_TIERING enum 2020-06-25 09:11:33 +09:00
Andrew Gaul 62767a1461 JCLOUDS-1333: JCLOUDS-1334: JCLOUDS-1470: Require Java 8 and Guava 22
This allows compatibility with Guava 29.  Also unwind some older
workarounds.
2020-06-25 08:11:30 +09:00
ikky888 69ca45720d
JCLOUDS-1541: Add Middle East (Bahrain) region to the AWS EC2 and S3 providers list 2020-04-04 10:48:01 +09:00
Colm O hEigeartaigh 99ef891e76 JCLOUDS-1540 - Update Snakeyaml 2020-03-03 17:41:33 +09:00
Ignasi Barrera f5b29c7028 Next development version 2.3.0-SNAPSHOT 2019-10-21 10:32:43 +02:00
Ignasi Barrera 7221844fac Apache jclouds 2.2.0-rc1 release 2019-10-21 10:32:43 +02:00
Ignasi Barrera a2cbdd3385 Etag is not supported in OSX 2019-10-13 10:32:50 +02:00
Roded Bahat a248697c06 JCLOUDS-1509: read AWS response data with the UTF-8 charset explicitly
AWS response data is encoded in UTF-8. Creating a String from said data
using the JVM's default charset results in incorrect encoding on
environments in which the JVM's default charset is not UTF-8.

https://issues.apache.org/jira/browse/JCLOUDS-1509
2019-08-08 15:32:25 +03:00
Ignasi Barrera b8606a10dd
JCLOUDS-1166: Relocate the gson internal packge to be able to keep using it (#35)
* JCLOUDS-1166: Relocate the gson internal packge to be able to keep using it

* Fixes

* Fix import order and shaded jar

* More fixes

* Proper dependency configuration

* Fix typos

* Bring back duplicate exclusions
2019-06-17 17:43:29 +02:00
Andrew Gaul a70ca2d25c Convert a handful of HTTP URLs to HTTPS 2019-05-21 20:52:22 +09:00
Sergi Castro 3e855c26be
Add ARM architecture to ec2 image and the related instance types 2019-05-14 09:00:31 +02:00
Olaf Flebbe 92a3c68838 JCLOUDS-1497: Fix checkstyle-suppressions for jcloud-labs (#27)
* Fix NoWhitespaceBefore Checkstyle Violation

* checkstyle updates: remove suppressionsfilter from checkstyle.xml

* suppressions now done in maven-checkstyle-plugin
2019-05-07 11:49:54 +02:00
Olaf Flebbe d51d6e44bc JCLOUDS-1496: Update maven-compiler-plugin for increased JDK compatibility (#25)
* JCLOUDS-1496: Update maven-compiler-plugin for increased JDK compatibility

* increase maven-compiler-plugin version

* A space change to trigger jenkins again

* Another space change to trigger jenkins again
2019-04-24 16:12:45 +02:00
Olaf Flebbe 2fbf10c9c9 JCLOUDS-1495: maven plugins are not correctly referred to (#24) 2019-04-10 19:54:09 -07:00
Andrew Gaul a1c9ce8217 JCLOUDS-1494: Add S3 Deep Archive tier
Also test Glacier tier now that Amazon allows creating objects with
this storage class.
2019-04-06 18:46:14 +09:00
Dani Estevez 6fda1736ad Adds EU North 1 region (Stockholm) 2019-03-15 12:00:20 -04:00
Dani Estevez 1c9322e41c Adds China North West Region (Ningxia) 2019-03-15 12:00:20 -04:00
Andrew Gaul 8eae27c98d Make interfaces with only statics into classes
This prevents instantiation.  Found via error-prone 2.3.3.
2019-02-23 16:34:11 +09:00
Andrew Gaul 53c47aa0bd Correct uses of checkNotNull
These should provide a descriptive second argument, not the same as
the first argument which is null in the failure case.  This also found
a logic error in CreateVolumeResponseHandler.
2019-02-23 16:33:40 +09:00
Andrew Gaul a4855eb9fd JCLOUDS-1489: expect S3 put archive to succeed 2019-02-07 20:03:14 -08:00
Andrew Gaul 13f32b28c9 Lazily open InputStream during complete MPU
Previously the filesystem provider could exhaust file descriptors by
eagerly opening up to 10,000 parts.  This partially undoes
JCLOUDS-1367.
2019-01-29 21:54:47 -08:00
Andrew Gaul 29eec441e9 JCLOUDS-1371: JCLOUDS-1488: list optimize prefix
Previously getBlobKeysInsideContainer returned all keys and filtered
in LocalBlobStore.  Now getBlobKeysInsideContainer filters via prefix
which can dramatically decrease the number of keys returned,
especially for the filesystem provider.  Further optimizations are
possible for delimiter.
2019-01-29 17:39:51 -08:00
Joe Meiring a36c9dcef0 Fix for FileSystem blob store clearContainer with options 2019-01-04 14:17:00 -08:00
Andrew Gaul f9cebd59f8 Add error handling for missing xattr
Previously this prevented listing inside a directory when using file
systems like HFS and NFS.  References gaul/s3proxy#279.
2019-01-04 11:41:32 -08:00
duc 70f0635ac2 JCLOUDS-1479: populate container cache on create 2019-01-02 19:29:31 -08:00
John McDonnell 25f2bcd8c9 [JCLOUDS-1468] Adding missing options for the ListUsageRecords API call. 2018-12-05 19:46:24 +01:00
kraza 5916059be9 JCLOUDS-1467
Added support for c5d & m5d AWS nodes.

JCLOUDS-1467
Updated the SSD drive information.
2018-12-03 17:22:46 -05:00
Andrew Gaul b7d59e3fe9 Correct precondition
Follow on to 1ae735bb7d.
2018-11-14 14:53:05 -08:00
Andrew Gaul 1ae735bb7d Do not allow options in filesystem clearContainer
This requires some additional logic to clean up empty directories.
Test regression from 22ce5484a4.
2018-11-14 14:42:30 -08:00
Timur Alperovich 896e99df09 Filesystem: Fix the MPU ETags to match S3.
Prior commit introduced a bug in the computation of the MPU ETag value,
where it was concatenating strings, rather than operating on the bytes
of the integer value.
2018-11-02 12:25:17 -07:00
Timur Alperovich 539a9854c1 JCLOUDS-1450: Use S3-style ETags for MPUs.
S3 uses a different ETag for multipart uploads (MPUs) than regular
objects. The ETag consists of the md5 hash of the concatenated ETags of
individual parts followed by the number of parts (separated by "-").

The patch changes the LocalBlobStore's implementation of
CompleteMultipartUpload to set the S3-style ETag before calling
putBlob() and return that ETag to the caller.

To simplify testing, a new protected method with a default NOOP
implementation is added to the BaseBlobIntegrationTest. It allows
providers to further verify MPUs (i.e. ensuring the correct ETag has
been stored alongside the object).
2018-10-24 13:25:00 -07:00
Trent Schmidt 219e2958d7 JCLOUDS-1460: Adding instances to AWS 2018-10-24 14:42:46 -04:00
Oliver Gondža 8b17dfea87 Make NovaErrorHandler logging of sensitive information configurable 2018-10-18 11:32:04 +02:00
Andrew Gaul cc65957997 Error-prone 2.3.2 fixes 2018-10-12 23:28:00 -07:00
David Currie 7ebf12bf38 JCLOUDS-1447: URL encode x-amz-copy-source
The x-amz-copy-source header on S3 CopyObject should be URL encoded (as
a path). This is not universally true of all headers though (for example
the = in x-amz-copy-source-range) therefore introducing a new parameter
on @Headers to indicate whether URL encoding should take place.
2018-09-12 08:01:43 -07:00
Markus Alexander Kuppe 88f44a6d8e JCLOUDS-1339: Support launching an x1 EC2 instance
https://issues.apache.org/jira/browse/JCLOUDS-1339
2018-08-23 20:25:05 +02:00
Vikas Rangarajan cf67233765 JCLOUDS-1436: Add support for aws ec2 m5 instance types
fix: remove duplicate imports
2018-08-01 17:28:09 -04:00
Vikas Rangarajan 982c6bea02 JCLOUDS-1387: Add support for c5 instance types in AWS ec2 2018-08-01 16:53:06 -04:00
Ignasi Barrera 3839432757
Configure Java 7 language level 2018-07-11 09:42:18 -07:00
Jesse Glick 019ccb7431
Pinning down JCLOUDS-1401 fix behavior with a unit test which is able to distinguish URI.query from URI.rawQuery. 2018-07-11 09:35:34 -07:00
Jesse Glick 9a65be789e
Live test demonstrating effectiveness of JCLOUDS-1401 fix. 2018-07-11 09:35:34 -07:00
Jesse Glick 34d272ac80
Allow S3ClientLiveTest (and AWSS3ClientLiveTest) to use a session token. 2018-07-11 09:35:34 -07:00
Jesse Glick f770455ff9
[JCLOUDS-1401] Properly URL-encode the CanonicalQueryString when it contains funny characters. 2018-07-11 09:35:34 -07:00