On Jun 23, 2014, at 12:51 PM, Koushik Das <koushik....@citrix.com> wrote:

> inline
> 
> On 23-Jun-2014, at 4:05 PM, Sebastien Goasguen <run...@gmail.com> wrote:
> 
>> Hi Koushik, thanks for the hint, I checked out 4.4-forward and made that 
>> small change.
>> 
>> I still add the same error:
>> 
>>> update cloudtouseobjectstore url=http://localhost:9081/riak-cs name=riakcs 
>>> provider=s3 details[0].key=accesskey details[0].value=ZMJD6-90S2MST4NZMK1Z 
>>> details[1].key=secretkey 
>>> details[1].value=ecJlaZebrYKj_qYaIfzlRR_1izojGVWjBRFx0Q==
>> 530: Failed to add data store: DataCenter id is null, and simulator image 
>> store has to be associated with a data center
>> 
>> However this actually *removed* the NFS store (from the simulated basic 
>> zone).
>> 
> 
> I verified using advanced zone, not sure if there are any issues with basic 
> zone. The API response I get is the following:
> <updatecloudtouseobjectstoreresponse 
> cloud-stack-version="4.4.0-SNAPSHOT"><imagestore><id>55b7e6f7-ec27-4da8-b4a0-b209a3e3d825</id><name>test</name><url>http://localhost:1234/test</url><protocol>http</protocol><providername>S3</providername><scope>REGION</scope><details><name>secretkey</name><value>dummy</value></details><details><name>accesskey</name><value>dummy</value></details></imagestore></updatecloudtouseobjectstoreresponse>
> 

Hum, strange. I just checked with an advanced zone from setup/dev/advanced.cfg 
and I get the same error 'datacenter id is null'.

Can you send the exact request that you sent ?

> Also in the image_store table the entries look like below, note that the 
> 'role' of NFS store changed to 'ImageCache'.
> 
> '1', 'nfs://10.147.28.6:/export/home/sandbox/secondary', 'NFS', 'nfs', 
> 'nfs://10.147.28.6:/export/home/sandbox/secondary', '1', 'ZONE', 
> 'ImageCache', '8eb3e701-7e2b-4925-87f8-f8ea5f97b863', 
> '/mnt/05b33ef7-da6a-33eb-9981-b4efb90ed99b/', '2014-06-23 06:27:58', NULL, 
> NULL, NULL
> '2', 'test', 'S3', 'http', 'http://localhost:1234/test', NULL, 'REGION', 
> 'Image', '55b7e6f7-ec27-4da8-b4a0-b209a3e3d825', NULL, '2014-06-23 07:37:55', 
> NULL, NULL, NULL
> 

Yes I can confirm this. It gets listed in the UI under 'secondary staging 
store', and it's in the db.

> 
>> I was then able to add:
>> 
>>> add imagestore name=riakcs provider=S3 url=http://localhost:9081/riak-cs 
>>> details[0].key=accesskey details[0].value=ZMJD6-90S2MST4NZMK1Z 
>>> details[1].key=secretkey 
>>> details[1].value=ecJlaZebrYKj_qYaIfzlRR_1izojGVWjBRFx0Q==
>> imagestore:
>> name = riakcs
>> id = 1a60d62a-c1e9-4d1c-8b35-d5cd687f6de4
>> details:
>> +-----------+------------------------------------------+
>> |    name   |                  value                   |
>> +-----------+------------------------------------------+
>> | secretkey | ecJlaZebrYKj_qYaIfzlRR_1izojGVWjBRFx0Q== |
>> | accesskey |           ZMJD6-90S2MST4NZMK1Z           |
>> +-----------+------------------------------------------+
>> protocol = http
>> providername = S3
>> scope = REGION
>> url = http://localhost:9081/riak-cs
>> 
>> Apparently successfully, even though the removal of the NFS store entirely 
>> is a bit worrisome.
>> 
>> On Jun 23, 2014, at 4:32 AM, Koushik Das <koushik....@citrix.com> wrote:
>> 
>>> The error message is from the simulator storage plugin, not sure why you 
>>> are getting it even after setting provider types as S3.
>>> I tried the same on a 4.4-forward setup and got a different error (as 
>>> below).
>>> "You can only add new image stores from the same provider NFS already added"
>>> 
>>> This error is there as the simulator storage provider doesn't support 
>>> migration to object store. Once I fixed it, the image store got added 
>>> successfully and the NFS store was converted to a cache store.
>>> This is the change I made
>>> 
>>> diff --git 
>>> a/plugins/hypervisors/simulator/src/org/apache/cloudstack/storage/datastore/lifecycle/SimulatorImageStoreLifeCycleImpl.java
>>>  
>>> b/plugins/hypervisors/simulator/src/org/apache/cloudstack/storage/datastore/lifecycle/SimulatorImageStoreLifeCycleImpl.java
>>> index edf1e28..537c7bd 100644
>>> --- 
>>> a/plugins/hypervisors/simulator/src/org/apache/cloudstack/storage/datastore/lifecycle/SimulatorImageStoreLifeCycleImpl.java
>>> +++ 
>>> b/plugins/hypervisors/simulator/src/org/apache/cloudstack/storage/datastore/lifecycle/SimulatorImageStoreLifeCycleImpl.java
>>> @@ -133,7 +133,7 @@ public class SimulatorImageStoreLifeCycleImpl 
>>> implements ImageStoreLifeCycle {
>>>    */
>>>   @Override
>>>   public boolean migrateToObjectStore(DataStore store) {
>>> -        return false;
>>> +        return imageStoreHelper.convertToStagingStore(store);
>>>   }
>>> 
>>> }
>>> 
>>> -----Original Message-----
>>> From: Min Chen [mailto:min.c...@citrix.com] 
>>> Sent: Saturday, 21 June 2014 3:44 AM
>>> To: dev@cloudstack.apache.org
>>> Subject: Re: S3 use with simulator
>>> 
>>> Got it. The error seems from simulator, maybe Koushik has better idea on 
>>> that. I didn't use that on simulator env though.
>>> 
>>> Thanks
>>> -min
>>> 
>>> On 6/20/14 11:05 AM, "Sebastien Goasguen" <run...@gmail.com> wrote:
>>> 
>>>> I already have an Nsf secondary storage. I understood that i could not 
>>>> add a second secondary storage that is s3 based, and that the only way 
>>>> was to use the updatecloud.... Api
>>>> 
>>>> -Sebastien
>>>> 
>>>>> On 20 Jun 2014, at 18:49, Min Chen <min.c...@citrix.com> wrote:
>>>>> 
>>>>> Hi Sebastien,
>>>>> 
>>>>> I am curious why you are using updateCloudToUseObjectStore api to 
>>>>> add S3  as a secondary store in your data center? To set up a data 
>>>>> center using  S3, you need to use addImageStore api.
>>>>> 
>>>>> Thanks
>>>>> -min
>>>>> 
>>>>>> On 6/20/14 7:47 AM, "Sebastien Goasguen" <run...@gmail.com> wrote:
>>>>>> 
>>>>>> I switch to provider=S3 but I get:
>>>>>> 
>>>>>>> 530: Failed to add data store: DataCenter id is null, and simulator 
>>>>>>> image store has to be associated with a data center
>>>>>> 
>>>>>> 
>>>>>>> On Jun 20, 2014, at 7:07 AM, Koushik Das <koushik....@citrix.com>
>>>>>>> wrote:
>>>>>>> 
>>>>>>> As per the code the following are the supported image store 
>>>>>>> provider types
>>>>>>> 
>>>>>>> // constants for provider names
>>>>>>> static final String NFS_IMAGE = "NFS";
>>>>>>> static final String S3_IMAGE = "S3";
>>>>>>> static final String SWIFT_IMAGE = "Swift";
>>>>>>> static final String SAMPLE_IMAGE = "Sample";
>>>>>>> static final String SMB = "NFS";
>>>>>>> static final String DEFAULT_PRIMARY = "DefaultPrimary";
>>>>>>> 
>>>>>>> Try passing S3 in the provider.
>>>>>>> BTW when you setup simulator the image provider is NFS.
>>>>>>> 
>>>>>>> -----Original Message-----
>>>>>>> From: Sebastien Goasguen [mailto:run...@gmail.com]
>>>>>>> Sent: Thursday, 19 June 2014 5:08 PM
>>>>>>> To: dev@cloudstack.apache.org
>>>>>>> Subject: S3 use with simulator
>>>>>>> 
>>>>>>> Hi,
>>>>>>> 
>>>>>>> I am using the simulator and started a basic zone.
>>>>>>> I have an S3 object store locally (riakCS), and I am trying to add 
>>>>>>> it to the infra using the 'cloudtouseobjectstore' api with cloudmonkey.
>>>>>>> 
>>>>>>> I tried with:
>>>>>>> 
>>>>>>>> update cloudtouseobjectstore url=http://localhost:9081/riak-cs 
>>>>>>>> name=riak provider=riakcs
>>>>>>>> 
>>>>>>>> details[0].key=accesskey&details[0].value=STU6Z-ZMK1TPMDAXL9I1&deta
>>>>>>>> ils
>>>>>>>> [1
>>>>>>>> 
>>>>>>>> ].key=secretkey&details[1].value=8OuY3mHDXihu0Tdb2aVJ4vuYZLBAl5Z7Ni
>>>>>>>> WKs
>>>>>>>> g=
>>>>>>>> =
>>>>>>> 530: Failed to add data store: DataCenter id is null, and simulator 
>>>>>>> image store has to be associated with a data center
>>>>>>> 
>>>>>>> I am not sure if the arguments are right, has anyone done this 
>>>>>>> before ?
>>>>>>> 
>>>>>>> thanks,
>>>>>>> 
>>>>>>> -sebastien
>>>>> 
>>> 
>> 
> 

Reply via email to