Meant to send this out to the entire list, so others could hear what Edison has to say, as well.
---------- Forwarded message ---------- From: Mike Tutkowski <mike.tutkow...@solidfire.com> Date: Wed, Apr 17, 2013 at 12:42 PM Subject: Re: createAsync Question To: Edison Su <edison...@citrix.com> Ah, I remember our discussion about that more now. Here is what my createAsync currently looks like (after I read your e-mail): @Override public void createAsync(DataObject data, AsyncCompletionCallback<CreateCmdResult> callback) { String iqn = null; String errMsg = null; if (data.getType() == DataObjectType.VOLUME) { try { // just create a SolidFire volume and return IQN iqn = createSolidFireVolume((VolumeInfo)data); } catch (StorageUnavailableException e) { s_logger.debug("Failed to create volume (StorageUnavailableException)", e); errMsg = e.toString(); } catch (Exception e) { s_logger.debug("Failed to create volume (Exception)", e); errMsg = e.toString(); } } else { errMsg = "Invalid DataObjectType (" + data.getType() + ") passed to createAsync"; } // path = iqn // size is pulled from DataObject instance, if errMsg is null CreateCmdResult result = new CreateCmdResult(iqn, errMsg != null ? null : data.getSize()); if (errMsg != null) { result.setResult(errMsg); } callback.complete(result); } Do I have to update any DB table at this point now that my volume has been created on the SAN? Thanks!! On Wed, Apr 17, 2013 at 12:09 AM, Edison Su <edison...@citrix.com> wrote: > Creatasync doesn't need to create a storage pool on the hypervisor host, > as you don't know which hypervisor host want to access the volume yet. > The volume will be accessed by hypervisor host in attachvolumecmd, you can > add your code in citrixresource: execute(attachvolumecmd), to create a sr > from an iscsi lun, and also create a vdi from the sr, then vbd, the attach > it to vm. > > Sent from my Windows Phone > ------------------------------ > From: Mike Tutkowski <mike.tutkow...@solidfire.com> > Sent: 4/16/2013 1:59 PM > > To: Edison Su <edison...@citrix.com>; cloudstack-...@incubator.apache.org > Subject: createAsync Question > > Hi Edison, > > I have another question regarding our discussion yesterday. > > I'm trying to implement the createAsync method. > > This is my impression for how I should start doing so: > > Create a volume on our SAN. I believe I can get the specs for this > volume from the Disk Offering like this: > > DiskOfferingVO offering = diskOfferingDao > .findById(volume.getDiskOfferingId()); > > The next part is a bit hazy. As we discussed yesterday, let's just deal > with XenServer for the moment. :) > > I'm thinking after I create my volume on the SAN, I should create an > instance of CreateStoragePoolCommand and send it to the hypervisor this way: > > Answer answer = storageMgr.sendToPool(pool, null, cmd); > > The type of the storage pool I would place in the > CreateStoragePoolCommand instance is StoragePoolType.IscsiLUN. > > This would create a storage repository for me on the hypervisor. > > I would then need to create an instance of CreateCommand and send it to > the hypervisor the same way to create a volume on the storage repository I > just created: > > Answer answer = storageMgr.sendToPool(pool, null, cmd); > > This volume on the storage repository would consume the entire SR. > > Am I making decent sense here? > > Thanks! > > -- > *Mike Tutkowski* > *Senior CloudStack Developer, SolidFire Inc.* > e: mike.tutkow...@solidfire.com > o: 303.746.7302 > Advancing the way the world uses the > cloud<http://solidfire.com/solution/overview/?video=play> > *™* > -- *Mike Tutkowski* *Senior CloudStack Developer, SolidFire Inc.* e: mike.tutkow...@solidfire.com o: 303.746.7302 Advancing the way the world uses the cloud<http://solidfire.com/solution/overview/?video=play> *™* -- *Mike Tutkowski* *Senior CloudStack Developer, SolidFire Inc.* e: mike.tutkow...@solidfire.com o: 303.746.7302 Advancing the way the world uses the cloud<http://solidfire.com/solution/overview/?video=play> *™*