Yes, Agree wit Udara, In case #1 and #3, we might need to mandate the size.
Thanks. On Wed, Mar 25, 2015 at 11:45 AM, Udara Liyanage <ud...@wso2.com> wrote: > Hi Imesh, > > There are three scenarios. I will explain them > > 1) You have a volume snapshot and you want to created volumes from that > snapshot. In this case you have to specify the snapshotId > > { > > "snapshotId":"5659ad7b-2eab-4b1a-8738-40df2b32bfcb", > "device": "/dev/vdc", > "mappingPath": "/home/ubuntu/sdc", > "size": "5", > "removeOnTermination": "true" > } > > Here Statos will create a volume from the given snaphost with the given > size. Here user has to be carefull to give a size equal or larger than the > snapshot size, otherwise volume creation is falied since you can not create > volumes smaller than the snaphost. > > 2) You have a precreated volume which you want to attach for the instance. > > { > > "volumeId":"5659ad7b-2eab-4b1a-8738-40df2b32bfcb", > "device": "/dev/vdc", > "mappingPath": "/home/ubuntu/sdc", > "removeOnTermination": "true" > } > > Here Stratos will not create any volume, rather it attach the given > volume. Here you don't need to provide the size. > > 3) User want to create a raw volume > > { > > "device": "/dev/vdc", > "mappingPath": "/home/ubuntu/sdc", > "size": "5", > "removeOnTermination": "true" > } > > In this scenario a raw volume will be created with the given size. > > > @Imesh this was the same implementation which was coming from 400. > > On Wed, Mar 25, 2015 at 11:36 AM, Imesh Gunaratne <im...@apache.org> > wrote: > >> Hi Shaheed, >> >> I think the "size" parameter was there in 4.0.0 release, please see [1]. >> However I agree that it should not raise a NPE if it was not given rather a >> validation should be done. >> >> Udara: Can you please confirm whether we have done any changes to the >> persistence definition in 4.1.0? >> >> [1] >> https://cwiki.apache.org/confluence/display/STRATOS/4.0.0+Persistence+Volume+Mapping >> >> Thanks >> >> On Wed, Mar 25, 2015 at 12:10 AM, Shaheedur Haque (shahhaqu) < >> shahh...@cisco.com> wrote: >> >>> Hi, >>> >>> >>> >>> I finally progressed our other infrastructure to the point where I can >>> usefully test the persistence support. At first, I was confused as to why >>> the volume was not being attached, then I realized I had put the >>> “persistence” JSON in the wrong place. However, when I fixed **that**, >>> I start getting 500/Server Internal Error on Application setup. >>> >>> >>> >>> The JSON structure I have looks like this: >>> >>> >>> >>> "application": { >>> >>> "applicationId": "di-000-001", >>> >>> "application_template_id": "cisco-qvpc-cf-01-0", >>> >>> "multiTenant": false, >>> >>> "components": { >>> >>> "cartridges": [ >>> >>> { >>> >>> "cartridgeMin": 1, >>> >>> "cartridgeMax": 10000000, >>> >>> "type": "cisco-qvpc-cf-01-0", >>> >>> "subscribableInfo": { >>> >>> "deploymentPolicy": "static-1", >>> >>> "artifactRepository": { >>> >>> "repoUrl": " >>> http://octl.qmog.cisco.com:10080/git/default.git", >>> >>> "repoUsername": "user", >>> >>> "privateRepo": true, >>> >>> "repoPassword": "password" >>> >>> }, >>> >>> "autoscalingPolicy": "economyPolicy", >>> >>> "alias": "cisco-qvpc-cf-01-0", >>> >>> "property": [ >>> >>> { >>> >>> "name": >>> "payload_parameter.VOLUME_INFO", >>> >>> "value": >>> "di-000-001:fcd8bc58-844b-4370-816e-7dd6b78ed22a" >>> >>> } >>> >>> ], >>> >>> "persistence": [ >>> >>> { >>> >>> "volume": [ >>> >>> { >>> >>> "device": "/dev/vdb", >>> >>> "removeOnTermination": >>> "false", >>> >>> "volumeId": >>> "fcd8bc58-844b-4370-816e-7dd6b78ed22a" >>> >>> } >>> >>> ], >>> >>> "isRequired": "true" >>> >>> } >>> >>> ] >>> >>> } >>> >>> } >>> >>> ] >>> >>> }, >>> >>> "alias": "di-000-001" >>> >>> }, >>> >>> >>> >>> Where the “property” list and “persistence” list in red are the new >>> additions. The actual exception is this: >>> >>> >>> >>> TID: [0] [STRATOS] [2015-03-24 18:30:02,497] ERROR >>> {org.apache.stratos.rest.endpoint.handlers.CustomThrowableExceptionMapper} >>> - Internal server error >>> >>> java.lang.NumberFormatException: null >>> >>> at java.lang.Integer.parseInt(Integer.java:454) >>> >>> at java.lang.Integer.parseInt(Integer.java:527) >>> >>> at >>> org.apache.stratos.rest.endpoint.util.converter.ObjectConverter.convertVolumeToStubVolume(ObjectConverter.java:1480) >>> >>> at >>> org.apache.stratos.rest.endpoint.util.converter.ObjectConverter.convertSubscribableInfo(ObjectConverter.java:1458) >>> >>> at >>> org.apache.stratos.rest.endpoint.util.converter.ObjectConverter.convertCartridgeReferenceBeansToStubCartridgeContexts(ObjectConverter.java:1420) >>> >>> at >>> org.apache.stratos.rest.endpoint.util.converter.ObjectConverter.convertApplicationDefinitionToStubApplicationContext(ObjectConverter.java:1226) >>> >>> at >>> org.apache.stratos.rest.endpoint.api.StratosApiV41Utils.addApplication(StratosApiV41Utils.java:1074) >>> >>> at >>> org.apache.stratos.rest.endpoint.api.StratosApiV41.addApplication(StratosApiV41.java:600) >>> >>> >>> >>> And that turns out to be this line: >>> >>> >>> >>> >>> volumeContext.setSize(Integer.parseInt(volumeBean.getSize())); >>> >>> >>> >>> which is maybe not surprising since I have not specified a size. But >>> then again, I never used to specify a size. So why has this now become >>> seemingly a required value? Please can you fix this, and otherwise revert >>> any changes to the programming model that are not strictly required. >>> >>> >>> >>> If any changes **are** required, please explain them as reverse >>> engineering this stuff is just painful. >>> >>> >>> >>> While we are on this subject, please can somebody confirm that the >>> “property” list as well as the “persistence” list is supported? I’d prefer >>> to get this stuff sorted in one pass if at all possible J. >>> >>> >>> >>> Thanks, Shaheed >>> >>> >>> >>> >>> >>> *From:* Udara Liyanage [mailto:ud...@wso2.com] >>> *Sent:* Tuesday, March 24, 2015 3:35 PM >>> *To:* dev >>> *Subject:* Re: Persistence Volume Mapping support >>> >>> >>> >>> Hi, >>> >>> >>> >>> I tested below scenarios and they are working >>> >>> >>> >>> Create a volume with a given snapshot >>> >>> Create a raw volume >>> >>> Attach an existing volume without creating a new volume >>> >>> Multiple volumes with above three combinations >>> >>> >>> >>> Then I will test the mounting extension script >>> >>> >>> >>> On Tue, Mar 24, 2015 at 11:47 AM, Lahiru Sandaruwan <lahi...@wso2.com> >>> wrote: >>> >>> Great. >>> >>> >>> >>> Thanks. >>> >>> >>> >>> On Tue, Mar 24, 2015 at 10:16 AM, Udara Liyanage <ud...@wso2.com> wrote: >>> >>> Hi, >>> >>> >>> >>> I think I found the cause for the error. Region value is appended for >>> the instance ID at the time of attaching >>> >>> RegionOne/1a264759-a7b4-4ab8-b6f6-a6b0624cea79 >>> >>> >>> >>> When I remove the region from the instance ID at debugging. It worked >>> for me. >>> >>> I will fix it. >>> >>> >>> >>> On Tue, Mar 24, 2015 at 10:00 AM, Udara Liyanage <ud...@wso2.com> wrote: >>> >>> Hi, >>> >>> >>> >>> I just added a main class inside cc component and start locally. It >>> should pick the current jclouds version ? >>> >>> However I faced the same issue when I tried with stratos at volume >>> attachment. I will have a look. >>> >>> >>> >>> On Tue, Mar 24, 2015 at 9:00 AM, Lahiru Sandaruwan <lahi...@wso2.com> >>> wrote: >>> >>> Your client is using the same Jclouds version, that we do? >>> >>> >>> >>> >>> >>> On Tue, Mar 24, 2015 at 8:27 AM, Udara Liyanage <ud...@wso2.com> wrote: >>> >>> Hi Lahiru, >>> >>> I didn't try with Stratos. I wrote a client to create and attach volumes. >>> >>> On 24 Mar 2015 07:31, "Lahiru Sandaruwan" <lahi...@wso2.com> wrote: >>> >>> >>> >>> >>> >>> On Tue, Mar 24, 2015 at 7:01 AM, Udara Liyanage <ud...@wso2.com> wrote: >>> >>> Hi Lahiru, >>> >>> I could create a new volume and create a new volume from a snapshot and >>> attach the volume. >>> >>> >>> >>> Great. So the attaching the volume was successful? Can you share the >>> json you used? >>> >>> >>> >>> Thanks. >>> >>> I will do further testing today and keep the thread updated. >>> >>> >>> >>> >>> >>> -- >>> >>> -- >>> Lahiru Sandaruwan >>> >>> Committer and PMC member, Apache Stratos, >>> Senior Software Engineer, >>> WSO2 Inc., http://wso2.com >>> >>> lean.enterprise.middleware >>> >>> phone: +94773325954 >>> email: lahi...@wso2.com blog: http://lahiruwrites.blogspot.com/ >>> linked-in: http://lk.linkedin.com/pub/lahiru-sandaruwan/16/153/146 >>> >>> >>> >>> >>> >>> >>> >>> -- >>> >>> -- >>> Lahiru Sandaruwan >>> >>> Committer and PMC member, Apache Stratos, >>> Senior Software Engineer, >>> WSO2 Inc., http://wso2.com >>> >>> lean.enterprise.middleware >>> >>> phone: +94773325954 >>> email: lahi...@wso2.com blog: http://lahiruwrites.blogspot.com/ >>> linked-in: http://lk.linkedin.com/pub/lahiru-sandaruwan/16/153/146 >>> >>> >>> >>> >>> >>> >>> >>> -- >>> >>> >>> Udara Liyanage >>> >>> Software Engineer >>> >>> WSO2, Inc.: http://wso2.com >>> >>> lean. enterprise. middleware >>> >>> web: http://udaraliyanage.wordpress.com >>> >>> phone: +94 71 443 6897 >>> >>> >>> >>> >>> >>> -- >>> >>> >>> Udara Liyanage >>> >>> Software Engineer >>> >>> WSO2, Inc.: http://wso2.com >>> >>> lean. enterprise. middleware >>> >>> web: http://udaraliyanage.wordpress.com >>> >>> phone: +94 71 443 6897 >>> >>> >>> >>> >>> >>> -- >>> >>> -- >>> Lahiru Sandaruwan >>> >>> Committer and PMC member, Apache Stratos, >>> Senior Software Engineer, >>> WSO2 Inc., http://wso2.com >>> >>> lean.enterprise.middleware >>> >>> phone: +94773325954 >>> email: lahi...@wso2.com blog: http://lahiruwrites.blogspot.com/ >>> linked-in: http://lk.linkedin.com/pub/lahiru-sandaruwan/16/153/146 >>> >>> >>> >>> >>> >>> >>> >>> -- >>> >>> >>> Udara Liyanage >>> >>> Software Engineer >>> >>> WSO2, Inc.: http://wso2.com >>> >>> lean. enterprise. middleware >>> >>> web: http://udaraliyanage.wordpress.com >>> >>> phone: +94 71 443 6897 >>> >> >> >> >> -- >> Imesh Gunaratne >> >> Technical Lead, WSO2 >> Committer & PMC Member, Apache Stratos >> > > > > -- > > Udara Liyanage > Software Engineer > WSO2, Inc.: http://wso2.com > lean. enterprise. middleware > > web: http://udaraliyanage.wordpress.com > phone: +94 71 443 6897 > -- -- Lahiru Sandaruwan Committer and PMC member, Apache Stratos, Senior Software Engineer, WSO2 Inc., http://wso2.com lean.enterprise.middleware phone: +94773325954 email: lahi...@wso2.com blog: http://lahiruwrites.blogspot.com/ linked-in: http://lk.linkedin.com/pub/lahiru-sandaruwan/16/153/146