On Jun 23, 2014, at 7:14 AM, Koushik Das <koushik....@citrix.com> wrote:
> This is the request > > http://localhost:8096/api?command=updateCloudToUseObjectStore&url=http://localhost:1234/test&name=test&provider=S3&details[0].key=accesskey&details[0].value=dummy&details[1].key=secretkey&details[1].value=dummy Any chance you can try with a signed api request ? It looks like it's not finding a zoneId …hence dcId is null…. > > > -----Original Message----- > From: sebgoa [mailto:run...@gmail.com] > Sent: Monday, 23 June 2014 4:40 PM > To: dev@cloudstack.apache.org > Subject: Re: S3 use with simulator > > > 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-4da >> 8-b4a0-b209a3e3d825</id><name>test</name><url>http://localhost:1234/te >> st</url><protocol>http</protocol><providername>S3</providername><scope >>> REGION</scope><details><name>secretkey</name><value>dummy</value></de >> tails><details><name>accesskey</name><value>dummy</value></details></i >> magestore></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/da >>>> tastore/lifecycle/SimulatorImageStoreLifeCycleImpl.java >>>> b/plugins/hypervisors/simulator/src/org/apache/cloudstack/storage/da >>>> tastore/lifecycle/SimulatorImageStoreLifeCycleImpl.java >>>> index edf1e28..537c7bd 100644 >>>> --- >>>> a/plugins/hypervisors/simulator/src/org/apache/cloudstack/storage/da >>>> tastore/lifecycle/SimulatorImageStoreLifeCycleImpl.java >>>> +++ b/plugins/hypervisors/simulator/src/org/apache/cloudstack/storag >>>> +++ e/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=8OuY3mHDXihu0Tdb2aVJ4vuYZLBAl5 >>>>>>>>> Z7Ni >>>>>>>>> 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 >>>>>> >>>> >>> >> >