[ 
https://issues.apache.org/jira/browse/JCLOUDS-1464?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Bailey updated JCLOUDS-1464:
----------------------------------
    Description: 
Initially I was seeing the issue reported here 
[https://jira.apache.org/jira/browse/JCLOUDS-1419]

I updated to the 2.1.2 snapshot, which resolved that issue, but exposed 
another.  Now it seems that the regions are not in sync with what is actually 
available from GCS.  Here is what I get:
{quote}java.lang.IllegalArgumentException: No enum constant 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Location.US-WEST2
 at java.lang.Enum.valueOf(Enum.java:238)
 at 
org.jclouds.json.internal.EnumTypeAdapterThatReturnsFromValue.deserialize(EnumTypeAdapterThatReturnsFromValue.java:41)
 at 
org.jclouds.json.internal.EnumTypeAdapterThatReturnsFromValue.deserialize(EnumTypeAdapterThatReturnsFromValue.java:32)
 at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:58)
 at 
org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$ParameterReader.read(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:273)
 at 
org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$DeserializeIntoParameterizedConstructor.read(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:185)
 at 
org.jclouds.googlecloud.config.ListPageAdapterFactory$ListPageAdapter.readItems(ListPageAdapterFactory.java:73)
 at 
org.jclouds.googlecloud.config.ListPageAdapterFactory$ListPageAdapter.read(ListPageAdapterFactory.java:56)
 at 
org.jclouds.googlecloud.config.ListPageAdapterFactory$ListPageAdapter.read(ListPageAdapterFactory.java:36)
 at com.google.gson.Gson.fromJson(Gson.java:861)
 at com.google.gson.Gson.fromJson(Gson.java:826)
 at org.jclouds.json.internal.GsonWrapper.fromJson(GsonWrapper.java:55)
 at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:82)
 at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:76)
 at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:61)
 at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:41)
 at org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:91)
 at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:74)
 at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:45)
 at 
org.jclouds.reflect.FunctionalReflection$FunctionalInvocationHandler.handleInvocation(FunctionalReflection.java:117)
 at 
com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87)
 at com.sun.proxy.$Proxy54.listBucket(Unknown Source)
 at 
org.jclouds.googlecloudstorage.blobstore.GoogleCloudStorageBlobStore.list(GoogleCloudStorageBlobStore.java:119)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:498)
 at 
com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:37)
 at com.sun.proxy.$Proxy51.list(Unknown Source)
{quote}
 

So it seems that the default region that GCS assigned to my regional bucket 
(US-WEST2) is not supported.  Can confirm that if I select US-WEST1 as mu 
region when defining the bucket all works as expected.  

Here is a list of supported regions 
[https://cloud.google.com/storage/docs/bucket-locations]

While the Location enum does not include all of them:

[https://github.com/jclouds/jclouds/blob/master/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/DomainResourceReferences.java]

These are the ones think are missing:

US_WEST2, EU_NORTH, ASIA_EAST2

 

 

 

 

  was:
Initially I was seeing the issue reported here 
[https://jira.apache.org/jira/browse/JCLOUDS-1419]

I updated to the 2.1.2 snapshot, which resolved that issue, but exposed 
another.  Now it seems that the regions are not in sync with what is actually 
available from GCS.  Here is what I get:
{quote}

{{java.lang.IllegalArgumentException: No enum constant 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Location.US-WEST2}}
 \{{ at java.lang.Enum.valueOf(Enum.java:238)}}
 \{{ at 
org.jclouds.json.internal.EnumTypeAdapterThatReturnsFromValue.deserialize(EnumTypeAdapterThatReturnsFromValue.java:41)}}
 \{{ at 
org.jclouds.json.internal.EnumTypeAdapterThatReturnsFromValue.deserialize(EnumTypeAdapterThatReturnsFromValue.java:32)}}
 \{{ at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:58)}}
 \{{ at 
org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$ParameterReader.read(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:273)}}
 \{{ at 
org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$DeserializeIntoParameterizedConstructor.read(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:185)}}
 \{{ at 
org.jclouds.googlecloud.config.ListPageAdapterFactory$ListPageAdapter.readItems(ListPageAdapterFactory.java:73)}}
 \{{ at 
org.jclouds.googlecloud.config.ListPageAdapterFactory$ListPageAdapter.read(ListPageAdapterFactory.java:56)}}
 \{{ at 
org.jclouds.googlecloud.config.ListPageAdapterFactory$ListPageAdapter.read(ListPageAdapterFactory.java:36)}}
 \{{ at com.google.gson.Gson.fromJson(Gson.java:861)}}
 \{{ at com.google.gson.Gson.fromJson(Gson.java:826)}}
 \{{ at org.jclouds.json.internal.GsonWrapper.fromJson(GsonWrapper.java:55)}}
 \{{ at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:82)}}
 \{{ at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:76)}}
 \{{ at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:61)}}
 \{{ at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:41)}}
 \{{ at 
org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:91)}}
 \{{ at 
org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:74)}}
 \{{ at 
org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:45)}}
 \{{ at 
org.jclouds.reflect.FunctionalReflection$FunctionalInvocationHandler.handleInvocation(FunctionalReflection.java:117)}}
 \{{ at 
com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87)}}
 \{{ at com.sun.proxy.$Proxy54.listBucket(Unknown Source)}}
 \{{ at 
org.jclouds.googlecloudstorage.blobstore.GoogleCloudStorageBlobStore.list(GoogleCloudStorageBlobStore.java:119)}}
 \{{ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)}}
 \{{ at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)}}
 \{{ at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)}}
 \{{ at java.lang.reflect.Method.invoke(Method.java:498)}}
 \{{ at 
com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:37)}}
 \{{ at com.sun.proxy.$Proxy51.list(Unknown Source)}}
{quote}
So it seems that the default region that GCS assigned to my regional bucket 
(US-WEST2) is not supported.  Can confirm that if I select US-WEST1 as mu 
region when defining the bucket all works as expected.  

Here is a list of supported regions 
[https://cloud.google.com/storage/docs/bucket-locations]

While the Location enum does not include all of them:

[https://github.com/jclouds/jclouds/blob/master/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/DomainResourceReferences.java]

These are the ones think are missing:

US_WEST2, EU_NORTH, ASIA_EAST2

 

 

 

 


> Google Cloud Storage regions need updating
> ------------------------------------------
>
>                 Key: JCLOUDS-1464
>                 URL: https://issues.apache.org/jira/browse/JCLOUDS-1464
>             Project: jclouds
>          Issue Type: Improvement
>          Components: jclouds-blobstore
>    Affects Versions: 2.2.0, 2.1.1, 2.1.2
>            Reporter: Chris Bailey
>            Priority: Major
>
> Initially I was seeing the issue reported here 
> [https://jira.apache.org/jira/browse/JCLOUDS-1419]
> I updated to the 2.1.2 snapshot, which resolved that issue, but exposed 
> another.  Now it seems that the regions are not in sync with what is actually 
> available from GCS.  Here is what I get:
> {quote}java.lang.IllegalArgumentException: No enum constant 
> org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Location.US-WEST2
>  at java.lang.Enum.valueOf(Enum.java:238)
>  at 
> org.jclouds.json.internal.EnumTypeAdapterThatReturnsFromValue.deserialize(EnumTypeAdapterThatReturnsFromValue.java:41)
>  at 
> org.jclouds.json.internal.EnumTypeAdapterThatReturnsFromValue.deserialize(EnumTypeAdapterThatReturnsFromValue.java:32)
>  at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:58)
>  at 
> org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$ParameterReader.read(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:273)
>  at 
> org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$DeserializeIntoParameterizedConstructor.read(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:185)
>  at 
> org.jclouds.googlecloud.config.ListPageAdapterFactory$ListPageAdapter.readItems(ListPageAdapterFactory.java:73)
>  at 
> org.jclouds.googlecloud.config.ListPageAdapterFactory$ListPageAdapter.read(ListPageAdapterFactory.java:56)
>  at 
> org.jclouds.googlecloud.config.ListPageAdapterFactory$ListPageAdapter.read(ListPageAdapterFactory.java:36)
>  at com.google.gson.Gson.fromJson(Gson.java:861)
>  at com.google.gson.Gson.fromJson(Gson.java:826)
>  at org.jclouds.json.internal.GsonWrapper.fromJson(GsonWrapper.java:55)
>  at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:82)
>  at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:76)
>  at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:61)
>  at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:41)
>  at 
> org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:91)
>  at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:74)
>  at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:45)
>  at 
> org.jclouds.reflect.FunctionalReflection$FunctionalInvocationHandler.handleInvocation(FunctionalReflection.java:117)
>  at 
> com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87)
>  at com.sun.proxy.$Proxy54.listBucket(Unknown Source)
>  at 
> org.jclouds.googlecloudstorage.blobstore.GoogleCloudStorageBlobStore.list(GoogleCloudStorageBlobStore.java:119)
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>  at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>  at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  at java.lang.reflect.Method.invoke(Method.java:498)
>  at 
> com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:37)
>  at com.sun.proxy.$Proxy51.list(Unknown Source)
> {quote}
>  
> So it seems that the default region that GCS assigned to my regional bucket 
> (US-WEST2) is not supported.  Can confirm that if I select US-WEST1 as mu 
> region when defining the bucket all works as expected.  
> Here is a list of supported regions 
> [https://cloud.google.com/storage/docs/bucket-locations]
> While the Location enum does not include all of them:
> [https://github.com/jclouds/jclouds/blob/master/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/DomainResourceReferences.java]
> These are the ones think are missing:
> US_WEST2, EU_NORTH, ASIA_EAST2
>  
>  
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to