That is probably true, but there is no xencenter or vsphere equivalent for KVM, no central authority. Its cloudstack. On Oct 24, 2013 6:22 PM, "Mike Tutkowski" <mike.tutkow...@solidfire.com> wrote:
> OK, thanks for that info, Marcus...I was not aware that CloudStack treated > VMs ephemerally with KVM. > > I guess I should try to stop a VM on XenServer and ESX and see what > happens. I was under the impression they remained accessible using > XenCenter or VI Client, but perhaps I am wrong about that. > > Since my KVM VM's root disk was on local storage, I expected it to remain > accessible in VMM after I had stopped it via CS. > > > On Thu, Oct 24, 2013 at 6:16 PM, Marcus Sorensen <shadow...@gmail.com>wrote: > >> Are you talking cloudstack VMS or your own? If a vm is 'created' it is >> ephemeral, the definition will disappear when stopped. This is what >> cloudstack does so that a KVM host that crashes or loses power won't >> remember and try to start VMS that were previously on it (they are likely >> running elsewhere now). However, for your desktop and your own VMS you >> usually 'define' VMS, which saves the XML to a file and leaves them >> persistent. I use vmm occasionally, but usually virsh, the CLI version. >> Both just talk to libvirt. >> On Oct 24, 2013 6:08 PM, "Mike Tutkowski" <mike.tutkow...@solidfire.com> >> wrote: >> >>> Hey Marcus, >>> >>> I assume you use Virtual Machine Manager with KVM? >>> >>> I was wondering, is there a way when you stop a VM to have it not >>> disappear from the GUI? >>> >>> In XenCenter and VI Client, stopped VMs just show up with a different >>> icon, but are still easy to interact with. >>> >>> Thanks! >>> >>> >>> On Thu, Oct 24, 2013 at 5:46 PM, Mike Tutkowski < >>> mike.tutkow...@solidfire.com> wrote: >>> >>>> Also, the way I determined if the attach/detach worked was to use fdisk >>>> -l and see if the device was present or not in the hypervisor and VM >>>> instance. >>>> >>>> >>>> On Thu, Oct 24, 2013 at 5:42 PM, Mike Tutkowski < >>>> mike.tutkow...@solidfire.com> wrote: >>>> >>>>> Here are some of the tests I ran on this code: >>>>> >>>>> attach/detach/attach volume while VM is running: works >>>>> volume attached while VM is running, then reboot: works >>>>> volume attached while VM is running, then reset: works >>>>> volume detached while VM is stopped, then start: works >>>>> volume attached while VM is stopped, then start: works >>>>> deleted VM with attached volume: works (volume goes into the >>>>> attachable state after VM is expunged) >>>>> >>>>> >>>>> On Thu, Oct 24, 2013 at 5:40 PM, Mike Tutkowski < >>>>> mike.tutkow...@solidfire.com> wrote: >>>>> >>>>>> By the way, in case you're looking at the diff and wondering why I >>>>>> took out a StopCommand check and call to execute in >>>>>> LibvirtComputingResource, there were two of them. >>>>>> >>>>>> - } else if (cmd instanceof StopCommand) { >>>>>> >>>>>> - return execute((StopCommand) cmd); >>>>>> >>>>>> >>>>>> On Thu, Oct 24, 2013 at 5:26 PM, Mike Tutkowski < >>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>> >>>>>>> This is a newer link, Marcus: >>>>>>> >>>>>>> >>>>>>> https://github.com/mike-tutkowski/incubator-cloudstack/commit/e84de7577ad38fea88d1492d4949672d1989889b >>>>>>> >>>>>>> I just rebased on top of master today. >>>>>>> >>>>>>> >>>>>>> On Thu, Oct 24, 2013 at 3:46 PM, Mike Tutkowski < >>>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>>> >>>>>>>> Hey Marcus, >>>>>>>> >>>>>>>> If you're interested in running the simulator against your code + >>>>>>>> my code, I have it on GitHub here: >>>>>>>> >>>>>>>> >>>>>>>> https://github.com/mike-tutkowski/incubator-cloudstack/commit/776f3eb9dda45745f43e6765b026d34fbc6be072 >>>>>>>> >>>>>>>> Thanks! >>>>>>>> >>>>>>>> >>>>>>>> On Wed, Oct 23, 2013 at 11:06 PM, Mike Tutkowski < >>>>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>>>> >>>>>>>>> I'm trying to attach my diff to >>>>>>>>> https://reviews.apache.org/r/13865/, but I don't see the >>>>>>>>> necessary buttons. >>>>>>>>> >>>>>>>>> I wonder if I need to get edit access back again? We had trouble >>>>>>>>> with the Wiki. Was this also impacted? >>>>>>>>> >>>>>>>>> >>>>>>>>> On Wed, Oct 23, 2013 at 10:47 PM, Mike Tutkowski < >>>>>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>>>>> >>>>>>>>>> Sure, I can create a diff file and attach it to Review Board. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Wed, Oct 23, 2013 at 10:40 PM, Marcus Sorensen < >>>>>>>>>> shadow...@gmail.com> wrote: >>>>>>>>>> >>>>>>>>>>> Sure. The majority of it only affects people who are on your >>>>>>>>>>> storage >>>>>>>>>>> anyway. Perhaps you can post a patch and I can run it through the >>>>>>>>>>> simulator to verify that the minor change to the existing code >>>>>>>>>>> hasn't >>>>>>>>>>> broken the standard storages. I don't think it is since I've >>>>>>>>>>> thoroughly tested the code I posted, but I know there were some >>>>>>>>>>> additional changes. >>>>>>>>>>> >>>>>>>>>>> On Wed, Oct 23, 2013 at 10:35 PM, Mike Tutkowski >>>>>>>>>>> <mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>> > OK, Marcus, I made the change to detect my volumes and it >>>>>>>>>>> seems to work just >>>>>>>>>>> > fine. >>>>>>>>>>> > >>>>>>>>>>> > Perhaps another day of testing and we can check this code in. >>>>>>>>>>> What do you >>>>>>>>>>> > think? >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> > On Wed, Oct 23, 2013 at 9:14 PM, Mike Tutkowski >>>>>>>>>>> > <mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>> >> >>>>>>>>>>> >> Thanks, Marcus...I hadn't read that note, but that makes >>>>>>>>>>> sense. >>>>>>>>>>> >> >>>>>>>>>>> >> Yes, that must be the root disk for the VM. I can put in >>>>>>>>>>> code, as you >>>>>>>>>>> >> recommend, to handle only my volumes. >>>>>>>>>>> >> >>>>>>>>>>> >> >>>>>>>>>>> >> On Wed, Oct 23, 2013 at 5:37 PM, Marcus Sorensen < >>>>>>>>>>> shadow...@gmail.com> >>>>>>>>>>> >> wrote: >>>>>>>>>>> >>> >>>>>>>>>>> >>> It should be sending the path info for each disk per the XML >>>>>>>>>>> of the >>>>>>>>>>> >>> VM... so it will send all disks regardless of whether or not >>>>>>>>>>> your >>>>>>>>>>> >>> adaptor manages that disk, and it's up to your adaptor to >>>>>>>>>>> ignore any >>>>>>>>>>> >>> that aren't managed by it. There should be notes to that >>>>>>>>>>> effect in the >>>>>>>>>>> >>> code near the disconnectPhysicalDisk interface in >>>>>>>>>>> StorageAdaptor: >>>>>>>>>>> >>> >>>>>>>>>>> >>> // given local path to file/device (per Libvirt XML), 1) >>>>>>>>>>> check >>>>>>>>>>> >>> that device is >>>>>>>>>>> >>> // handled by your adaptor, return false if not. 2) >>>>>>>>>>> clean up >>>>>>>>>>> >>> device, return true >>>>>>>>>>> >>> public boolean disconnectPhysicalDiskByPath(String >>>>>>>>>>> localPath); >>>>>>>>>>> >>> >>>>>>>>>>> >>> Since we only have XML disk definitions when we stop or >>>>>>>>>>> migrate a VM, >>>>>>>>>>> >>> we have to try all adaptors against all defined disks. So in >>>>>>>>>>> your >>>>>>>>>>> >>> disconnectPhysicalDisk you might do something like check >>>>>>>>>>> that the path >>>>>>>>>>> >>> starts with '/dev/disk/by-path' and contains 'iscs-iqn' >>>>>>>>>>> (maybe there's >>>>>>>>>>> >>> some way that's more robust like checking the full path >>>>>>>>>>> against a lun >>>>>>>>>>> >>> listing or something). If it doesn't match, then your >>>>>>>>>>> >>> disconnectPhysicalDisk just does nothing. >>>>>>>>>>> >>> >>>>>>>>>>> >>> I assume this is a root disk or some other local storage >>>>>>>>>>> disk. If it's >>>>>>>>>>> >>> not, then your VM XML is messed up somehow. >>>>>>>>>>> >>> >>>>>>>>>>> >>> On Wed, Oct 23, 2013 at 5:01 PM, Mike Tutkowski >>>>>>>>>>> >>> <mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>> >>> > I found the problem. >>>>>>>>>>> >>> > >>>>>>>>>>> >>> > disconnectPhysicalDiskByPath is being passed in (in my >>>>>>>>>>> situation) the >>>>>>>>>>> >>> > following: >>>>>>>>>>> >>> > >>>>>>>>>>> >>> > >>>>>>>>>>> /var/lib/libvirt/images/9887d511-8dc7-4cb4-96f9-01230fe4bbb6 >>>>>>>>>>> >>> > >>>>>>>>>>> >>> > Due to the name of the method, my code was expecting data >>>>>>>>>>> such as the >>>>>>>>>>> >>> > following: >>>>>>>>>>> >>> > >>>>>>>>>>> >>> > >>>>>>>>>>> >>> > >>>>>>>>>>> /dev/disk/by-path/ip-192.168.233.10:3260-iscsi-iqn.2012-03.com.solidfire:volume1-lun-0 >>>>>>>>>>> >>> > >>>>>>>>>>> >>> > Was it intentional to send the data into this method in >>>>>>>>>>> the current >>>>>>>>>>> >>> > way? >>>>>>>>>>> >>> > >>>>>>>>>>> >>> > >>>>>>>>>>> >>> > On Wed, Oct 23, 2013 at 1:57 PM, Mike Tutkowski >>>>>>>>>>> >>> > <mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>> >>> >> >>>>>>>>>>> >>> >> You know, I forgot we supposed to be doing that! :) >>>>>>>>>>> Multi-tasking too >>>>>>>>>>> >>> >> much >>>>>>>>>>> >>> >> today, I guess. >>>>>>>>>>> >>> >> >>>>>>>>>>> >>> >> Anyways, it must not be working because I still had a >>>>>>>>>>> hypervisor >>>>>>>>>>> >>> >> connection after I shut down the VM. >>>>>>>>>>> >>> >> >>>>>>>>>>> >>> >> Let me investigate. >>>>>>>>>>> >>> >> >>>>>>>>>>> >>> >> >>>>>>>>>>> >>> >> On Wed, Oct 23, 2013 at 1:48 PM, Marcus Sorensen < >>>>>>>>>>> shadow...@gmail.com> >>>>>>>>>>> >>> >> wrote: >>>>>>>>>>> >>> >>> >>>>>>>>>>> >>> >>> Are we not disconnecting when we stop the vm? There's a >>>>>>>>>>> method for >>>>>>>>>>> >>> >>> it, we >>>>>>>>>>> >>> >>> should be. disconnectPhysicalDiskViaVmSpec >>>>>>>>>>> >>> >>> >>>>>>>>>>> >>> >>> On Oct 23, 2013 1:28 PM, "Mike Tutkowski" >>>>>>>>>>> >>> >>> <mike.tutkow...@solidfire.com> >>>>>>>>>>> >>> >>> wrote: >>>>>>>>>>> >>> >>>> >>>>>>>>>>> >>> >>>> I see one problem for us now, Marcus. >>>>>>>>>>> >>> >>>> >>>>>>>>>>> >>> >>>> * You have a running VM that you attach a volume to. >>>>>>>>>>> >>> >>>> * You stop the VM. >>>>>>>>>>> >>> >>>> * You detach the volume. >>>>>>>>>>> >>> >>>> * You start up the VM. >>>>>>>>>>> >>> >>>> >>>>>>>>>>> >>> >>>> The VM will not be connected to the volume (which is >>>>>>>>>>> good), but the >>>>>>>>>>> >>> >>>> hypervisor will still be connected to the volume. >>>>>>>>>>> >>> >>>> >>>>>>>>>>> >>> >>>> It would be great if we actually sent a command to the >>>>>>>>>>> last host ID >>>>>>>>>>> >>> >>>> of >>>>>>>>>>> >>> >>>> the stopped VM when detaching a volume (to have the >>>>>>>>>>> hypervisor >>>>>>>>>>> >>> >>>> disconnect >>>>>>>>>>> >>> >>>> from the volume). >>>>>>>>>>> >>> >>>> >>>>>>>>>>> >>> >>>> What do you think about that? >>>>>>>>>>> >>> >>>> >>>>>>>>>>> >>> >>>> >>>>>>>>>>> >>> >>>> On Wed, Oct 23, 2013 at 1:15 PM, Mike Tutkowski >>>>>>>>>>> >>> >>>> <mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>> >>> >>>>> >>>>>>>>>>> >>> >>>>> OK, whatever way you prefer then, Marcus (createVdb >>>>>>>>>>> first or >>>>>>>>>>> >>> >>>>> second). >>>>>>>>>>> >>> >>>>> >>>>>>>>>>> >>> >>>>> If I leave createVdb first and return 0, it does seem >>>>>>>>>>> to work. >>>>>>>>>>> >>> >>>>> >>>>>>>>>>> >>> >>>>> >>>>>>>>>>> >>> >>>>> On Wed, Oct 23, 2013 at 11:13 AM, Marcus Sorensen >>>>>>>>>>> >>> >>>>> <shadow...@gmail.com> >>>>>>>>>>> >>> >>>>> wrote: >>>>>>>>>>> >>> >>>>>> >>>>>>>>>>> >>> >>>>>> I think we could flip-flop these two lines if >>>>>>>>>>> necessary: >>>>>>>>>>> >>> >>>>>> >>>>>>>>>>> >>> >>>>>> createVbd(conn, vmSpec, vmName, vm); >>>>>>>>>>> >>> >>>>>> >>>>>>>>>>> >>> >>>>>> >>>>>>>>>>> _storagePoolMgr.connectPhysicalDisksViaVmSpec(vmSpec); >>>>>>>>>>> >>> >>>>>> >>>>>>>>>>> >>> >>>>>> I haven't actually tried it though. But in general I >>>>>>>>>>> don't see the >>>>>>>>>>> >>> >>>>>> Libvirt DiskDef using size at all, which is what >>>>>>>>>>> createVbd does >>>>>>>>>>> >>> >>>>>> (creates XML definitions for disks to attach to the VM >>>>>>>>>>> >>> >>>>>> definition). It >>>>>>>>>>> >>> >>>>>> just takes the device at it's native advertised size >>>>>>>>>>> when it >>>>>>>>>>> >>> >>>>>> actually >>>>>>>>>>> >>> >>>>>> goes to use it. >>>>>>>>>>> >>> >>>>>> >>>>>>>>>>> >>> >>>>>> On Wed, Oct 23, 2013 at 10:52 AM, Mike Tutkowski >>>>>>>>>>> >>> >>>>>> <mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>> >>> >>>>>> > Little problem that I wanted to get your take on, >>>>>>>>>>> Marcus. >>>>>>>>>>> >>> >>>>>> > >>>>>>>>>>> >>> >>>>>> > When a VM is being started, we call createVdb >>>>>>>>>>> before calling >>>>>>>>>>> >>> >>>>>> > connectPhysicalDisksViaVmSpec. >>>>>>>>>>> >>> >>>>>> > >>>>>>>>>>> >>> >>>>>> > The problem is that createVdb calls getPhysicalDisk >>>>>>>>>>> and my >>>>>>>>>>> >>> >>>>>> > volume >>>>>>>>>>> >>> >>>>>> > has not >>>>>>>>>>> >>> >>>>>> > yet been connected because >>>>>>>>>>> connectPhysicalDisksViaVmSpec has not >>>>>>>>>>> >>> >>>>>> > yet >>>>>>>>>>> >>> >>>>>> > been >>>>>>>>>>> >>> >>>>>> > called. >>>>>>>>>>> >>> >>>>>> > >>>>>>>>>>> >>> >>>>>> > When I try to read up the size of the disk to >>>>>>>>>>> populate a >>>>>>>>>>> >>> >>>>>> > PhysicalDisk, I get >>>>>>>>>>> >>> >>>>>> > an error, of course, because the path does not yet >>>>>>>>>>> exist. >>>>>>>>>>> >>> >>>>>> > >>>>>>>>>>> >>> >>>>>> > I could populate a 0 for the size of the physical >>>>>>>>>>> disk and then >>>>>>>>>>> >>> >>>>>> > the >>>>>>>>>>> >>> >>>>>> > next >>>>>>>>>>> >>> >>>>>> > time getPhysicalDisk is called, it should be filled >>>>>>>>>>> in with a >>>>>>>>>>> >>> >>>>>> > proper >>>>>>>>>>> >>> >>>>>> > size. >>>>>>>>>>> >>> >>>>>> > >>>>>>>>>>> >>> >>>>>> > Do you see a problem with that approach? >>>>>>>>>>> >>> >>>>>> > >>>>>>>>>>> >>> >>>>>> > >>>>>>>>>>> >>> >>>>>> > On Tue, Oct 22, 2013 at 6:40 PM, Marcus Sorensen >>>>>>>>>>> >>> >>>>>> > <shadow...@gmail.com> >>>>>>>>>>> >>> >>>>>> > wrote: >>>>>>>>>>> >>> >>>>>> >> >>>>>>>>>>> >>> >>>>>> >> That's right. All should be well. >>>>>>>>>>> >>> >>>>>> >> >>>>>>>>>>> >>> >>>>>> >> On Oct 22, 2013 6:03 PM, "Mike Tutkowski" >>>>>>>>>>> >>> >>>>>> >> <mike.tutkow...@solidfire.com> >>>>>>>>>>> >>> >>>>>> >> wrote: >>>>>>>>>>> >>> >>>>>> >>> >>>>>>>>>>> >>> >>>>>> >>> Looks like we disconnect physical disks when the >>>>>>>>>>> VM is >>>>>>>>>>> >>> >>>>>> >>> stopped. >>>>>>>>>>> >>> >>>>>> >>> >>>>>>>>>>> >>> >>>>>> >>> I didn't see that before. >>>>>>>>>>> >>> >>>>>> >>> >>>>>>>>>>> >>> >>>>>> >>> I suppose that means the disks are physically >>>>>>>>>>> disconnected >>>>>>>>>>> >>> >>>>>> >>> when >>>>>>>>>>> >>> >>>>>> >>> the VM is >>>>>>>>>>> >>> >>>>>> >>> stopped, but the CloudStack DB still has the VM >>>>>>>>>>> associated >>>>>>>>>>> >>> >>>>>> >>> with >>>>>>>>>>> >>> >>>>>> >>> the disks >>>>>>>>>>> >>> >>>>>> >>> for the next time the VM may be started up >>>>>>>>>>> (unless someone >>>>>>>>>>> >>> >>>>>> >>> does a >>>>>>>>>>> >>> >>>>>> >>> disconnect >>>>>>>>>>> >>> >>>>>> >>> while the VM is in the Stopped State). >>>>>>>>>>> >>> >>>>>> >>> >>>>>>>>>>> >>> >>>>>> >>> >>>>>>>>>>> >>> >>>>>> >>> On Tue, Oct 22, 2013 at 4:19 PM, Mike Tutkowski >>>>>>>>>>> >>> >>>>>> >>> <mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>> >>> >>>>>> >>>> >>>>>>>>>>> >>> >>>>>> >>>> Hey Marcus, >>>>>>>>>>> >>> >>>>>> >>>> >>>>>>>>>>> >>> >>>>>> >>>> Quick question for you related to >>>>>>>>>>> attaching/detaching volumes >>>>>>>>>>> >>> >>>>>> >>>> when the >>>>>>>>>>> >>> >>>>>> >>>> VM is in the Stopped State. >>>>>>>>>>> >>> >>>>>> >>>> >>>>>>>>>>> >>> >>>>>> >>>> If I detach a volume from a VM that is in the >>>>>>>>>>> Stopped State, >>>>>>>>>>> >>> >>>>>> >>>> the >>>>>>>>>>> >>> >>>>>> >>>> DB >>>>>>>>>>> >>> >>>>>> >>>> seems to get updated, but I don't see a command >>>>>>>>>>> going to the >>>>>>>>>>> >>> >>>>>> >>>> KVM >>>>>>>>>>> >>> >>>>>> >>>> hypervisor >>>>>>>>>>> >>> >>>>>> >>>> that leads to the removal of the iSCSI target. >>>>>>>>>>> >>> >>>>>> >>>> >>>>>>>>>>> >>> >>>>>> >>>> It seems the iSCSI target is only removed the >>>>>>>>>>> next time the >>>>>>>>>>> >>> >>>>>> >>>> VM is >>>>>>>>>>> >>> >>>>>> >>>> started. >>>>>>>>>>> >>> >>>>>> >>>> >>>>>>>>>>> >>> >>>>>> >>>> Do you know if this is true? >>>>>>>>>>> >>> >>>>>> >>>> >>>>>>>>>>> >>> >>>>>> >>>> If it is, I'm concerned that the volume could be >>>>>>>>>>> attached to >>>>>>>>>>> >>> >>>>>> >>>> another VM >>>>>>>>>>> >>> >>>>>> >>>> before the Stopped VM is re-started and when the >>>>>>>>>>> Stopped VM >>>>>>>>>>> >>> >>>>>> >>>> gets >>>>>>>>>>> >>> >>>>>> >>>> restarted >>>>>>>>>>> >>> >>>>>> >>>> that it would disconnect the iSCSI volume from >>>>>>>>>>> underneath the >>>>>>>>>>> >>> >>>>>> >>>> VM >>>>>>>>>>> >>> >>>>>> >>>> that now >>>>>>>>>>> >>> >>>>>> >>>> has the volume attached. >>>>>>>>>>> >>> >>>>>> >>>> >>>>>>>>>>> >>> >>>>>> >>>> I still want to perform some tests on this, but >>>>>>>>>>> am first >>>>>>>>>>> >>> >>>>>> >>>> trying >>>>>>>>>>> >>> >>>>>> >>>> to get a >>>>>>>>>>> >>> >>>>>> >>>> VM to start after I've attached a volume to it >>>>>>>>>>> when it was in >>>>>>>>>>> >>> >>>>>> >>>> the >>>>>>>>>>> >>> >>>>>> >>>> Stopped >>>>>>>>>>> >>> >>>>>> >>>> State. >>>>>>>>>>> >>> >>>>>> >>>> >>>>>>>>>>> >>> >>>>>> >>>> Thanks, >>>>>>>>>>> >>> >>>>>> >>>> Mike >>>>>>>>>>> >>> >>>>>> >>>> >>>>>>>>>>> >>> >>>>>> >>>> >>>>>>>>>>> >>> >>>>>> >>>> On Mon, Oct 21, 2013 at 10:57 PM, Mike Tutkowski >>>>>>>>>>> >>> >>>>>> >>>> <mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>> >>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>> Thanks for that info, Marcus. >>>>>>>>>>> >>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>> By the way, I wanted to see if I could attach >>>>>>>>>>> my volume to a >>>>>>>>>>> >>> >>>>>> >>>>> VM >>>>>>>>>>> >>> >>>>>> >>>>> in the >>>>>>>>>>> >>> >>>>>> >>>>> Stopped State. >>>>>>>>>>> >>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>> The attach logic didn't trigger any exceptions; >>>>>>>>>>> however, >>>>>>>>>>> >>> >>>>>> >>>>> when I >>>>>>>>>>> >>> >>>>>> >>>>> started >>>>>>>>>>> >>> >>>>>> >>>>> the VM, I received an Insufficient Capacity >>>>>>>>>>> exception. >>>>>>>>>>> >>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>> If I detach the volume and then start the VM, >>>>>>>>>>> the VM starts >>>>>>>>>>> >>> >>>>>> >>>>> just >>>>>>>>>>> >>> >>>>>> >>>>> fine. >>>>>>>>>>> >>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>> I noticed a problem here (in >>>>>>>>>>> StoragePoolHostDaoImpl): >>>>>>>>>>> >>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>> @Override >>>>>>>>>>> >>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>> public StoragePoolHostVO >>>>>>>>>>> findByPoolHost(long poolId, >>>>>>>>>>> >>> >>>>>> >>>>> long >>>>>>>>>>> >>> >>>>>> >>>>> hostId) { >>>>>>>>>>> >>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>> SearchCriteria<StoragePoolHostVO> sc = >>>>>>>>>>> >>> >>>>>> >>>>> PoolHostSearch.create(); >>>>>>>>>>> >>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>> sc.setParameters("pool_id", poolId); >>>>>>>>>>> >>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>> sc.setParameters("host_id", hostId); >>>>>>>>>>> >>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>> return findOneIncludingRemovedBy(sc); >>>>>>>>>>> >>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>> } >>>>>>>>>>> >>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>> The findOneIncludingRemovedBy method returns >>>>>>>>>>> null (the >>>>>>>>>>> >>> >>>>>> >>>>> poolId is >>>>>>>>>>> >>> >>>>>> >>>>> my >>>>>>>>>>> >>> >>>>>> >>>>> storage pool's ID and the hostId is the >>>>>>>>>>> expected host ID). >>>>>>>>>>> >>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>> I'm not sure what this method is trying to do. >>>>>>>>>>> >>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>> I looked in the storage_pool_host_ref table (is >>>>>>>>>>> that the >>>>>>>>>>> >>> >>>>>> >>>>> correct >>>>>>>>>>> >>> >>>>>> >>>>> table?) and it only has one row, which maps the >>>>>>>>>>> local >>>>>>>>>>> >>> >>>>>> >>>>> storage >>>>>>>>>>> >>> >>>>>> >>>>> pool of the >>>>>>>>>>> >>> >>>>>> >>>>> KVM host to the KVM host (which explains why no >>>>>>>>>>> match is >>>>>>>>>>> >>> >>>>>> >>>>> found >>>>>>>>>>> >>> >>>>>> >>>>> for my >>>>>>>>>>> >>> >>>>>> >>>>> situation). >>>>>>>>>>> >>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>> Do you understand what this logic is trying to >>>>>>>>>>> do? >>>>>>>>>>> >>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>> Thanks! >>>>>>>>>>> >>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>> On Mon, Oct 21, 2013 at 8:08 PM, Marcus Sorensen >>>>>>>>>>> >>> >>>>>> >>>>> <shadow...@gmail.com> >>>>>>>>>>> >>> >>>>>> >>>>> wrote: >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> Do you have the capability to clone the root >>>>>>>>>>> disk? Normally >>>>>>>>>>> >>> >>>>>> >>>>>> the >>>>>>>>>>> >>> >>>>>> >>>>>> template is installed to primary, and then >>>>>>>>>>> cloned for each >>>>>>>>>>> >>> >>>>>> >>>>>> root >>>>>>>>>>> >>> >>>>>> >>>>>> disk. >>>>>>>>>>> >>> >>>>>> >>>>>> In some cases (such as CLVM), this isn't >>>>>>>>>>> efficient and so >>>>>>>>>>> >>> >>>>>> >>>>>> the >>>>>>>>>>> >>> >>>>>> >>>>>> template >>>>>>>>>>> >>> >>>>>> >>>>>> is copied fresh to populate each root disk. >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> I'm actually not 100% sure how this works in >>>>>>>>>>> the new code. >>>>>>>>>>> >>> >>>>>> >>>>>> It >>>>>>>>>>> >>> >>>>>> >>>>>> used to >>>>>>>>>>> >>> >>>>>> >>>>>> be handled by copyPhysicalDisk in the storage >>>>>>>>>>> adaptor, >>>>>>>>>>> >>> >>>>>> >>>>>> called >>>>>>>>>>> >>> >>>>>> >>>>>> by >>>>>>>>>>> >>> >>>>>> >>>>>> copyTemplateToPrimaryStorage, which runs on >>>>>>>>>>> the agent. It >>>>>>>>>>> >>> >>>>>> >>>>>> would >>>>>>>>>>> >>> >>>>>> >>>>>> pass >>>>>>>>>>> >>> >>>>>> >>>>>> template/secondary storage info, and the >>>>>>>>>>> destination >>>>>>>>>>> >>> >>>>>> >>>>>> volume/primary >>>>>>>>>>> >>> >>>>>> >>>>>> storage info, and copyPhysicalDisk would do >>>>>>>>>>> the work of >>>>>>>>>>> >>> >>>>>> >>>>>> installing the >>>>>>>>>>> >>> >>>>>> >>>>>> image to the destination. Then subsequent >>>>>>>>>>> root disks would >>>>>>>>>>> >>> >>>>>> >>>>>> be >>>>>>>>>>> >>> >>>>>> >>>>>> cloned >>>>>>>>>>> >>> >>>>>> >>>>>> in CreateCommand by calling >>>>>>>>>>> createDiskFromTemplate. >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> In master it looks like this was moved to >>>>>>>>>>> >>> >>>>>> >>>>>> KVMStorageProcessor >>>>>>>>>>> >>> >>>>>> >>>>>> 'cloneVolumeFromBaseTemplate', although I >>>>>>>>>>> think this just >>>>>>>>>>> >>> >>>>>> >>>>>> takes >>>>>>>>>>> >>> >>>>>> >>>>>> over >>>>>>>>>>> >>> >>>>>> >>>>>> as default, and there's something in your >>>>>>>>>>> storage driver >>>>>>>>>>> >>> >>>>>> >>>>>> that >>>>>>>>>>> >>> >>>>>> >>>>>> should >>>>>>>>>>> >>> >>>>>> >>>>>> be capable of cloning templates on the mgmt >>>>>>>>>>> server side. >>>>>>>>>>> >>> >>>>>> >>>>>> I'm >>>>>>>>>>> >>> >>>>>> >>>>>> less sure >>>>>>>>>>> >>> >>>>>> >>>>>> about how the template gets to primary storage >>>>>>>>>>> in the first >>>>>>>>>>> >>> >>>>>> >>>>>> place, I >>>>>>>>>>> >>> >>>>>> >>>>>> assume copyTemplateToPrimaryStorage in >>>>>>>>>>> KVMStorageProcessor >>>>>>>>>>> >>> >>>>>> >>>>>> calling >>>>>>>>>>> >>> >>>>>> >>>>>> copyPhysicalDisk in your adaptor. It's a bit >>>>>>>>>>> tough for me >>>>>>>>>>> >>> >>>>>> >>>>>> to >>>>>>>>>>> >>> >>>>>> >>>>>> tell >>>>>>>>>>> >>> >>>>>> >>>>>> since our earlier storage adaptor did >>>>>>>>>>> everything on the >>>>>>>>>>> >>> >>>>>> >>>>>> host it >>>>>>>>>>> >>> >>>>>> >>>>>> mostly >>>>>>>>>>> >>> >>>>>> >>>>>> just worked with the default stuff. >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> On Mon, Oct 21, 2013 at 4:49 PM, Mike Tutkowski >>>>>>>>>>> >>> >>>>>> >>>>>> <mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>> >>> >>>>>> >>>>>> > Hey Marcus, >>>>>>>>>>> >>> >>>>>> >>>>>> > >>>>>>>>>>> >>> >>>>>> >>>>>> > So...now that this works well for data >>>>>>>>>>> disks, I was >>>>>>>>>>> >>> >>>>>> >>>>>> > wondering >>>>>>>>>>> >>> >>>>>> >>>>>> > what >>>>>>>>>>> >>> >>>>>> >>>>>> > might be >>>>>>>>>>> >>> >>>>>> >>>>>> > involved in getting this process to work for >>>>>>>>>>> root disks. >>>>>>>>>>> >>> >>>>>> >>>>>> > >>>>>>>>>>> >>> >>>>>> >>>>>> > Can you point me in the right direction as >>>>>>>>>>> far as what >>>>>>>>>>> >>> >>>>>> >>>>>> > gets >>>>>>>>>>> >>> >>>>>> >>>>>> > invoked >>>>>>>>>>> >>> >>>>>> >>>>>> > when a >>>>>>>>>>> >>> >>>>>> >>>>>> > VM is being created on KVM (so that its root >>>>>>>>>>> disk can be >>>>>>>>>>> >>> >>>>>> >>>>>> > created and >>>>>>>>>>> >>> >>>>>> >>>>>> > the >>>>>>>>>>> >>> >>>>>> >>>>>> > necessary template laid down or ISO >>>>>>>>>>> installed)? >>>>>>>>>>> >>> >>>>>> >>>>>> > >>>>>>>>>>> >>> >>>>>> >>>>>> > Thanks! >>>>>>>>>>> >>> >>>>>> >>>>>> > >>>>>>>>>>> >>> >>>>>> >>>>>> > >>>>>>>>>>> >>> >>>>>> >>>>>> > On Mon, Oct 21, 2013 at 1:14 PM, Mike >>>>>>>>>>> Tutkowski >>>>>>>>>>> >>> >>>>>> >>>>>> > <mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>> >>> >>>>>> >>>>>> >> >>>>>>>>>>> >>> >>>>>> >>>>>> >> Hey Marcus, >>>>>>>>>>> >>> >>>>>> >>>>>> >> >>>>>>>>>>> >>> >>>>>> >>>>>> >> Just wanted to let you know the branch of >>>>>>>>>>> mine that has >>>>>>>>>>> >>> >>>>>> >>>>>> >> your >>>>>>>>>>> >>> >>>>>> >>>>>> >> code >>>>>>>>>>> >>> >>>>>> >>>>>> >> and mine >>>>>>>>>>> >>> >>>>>> >>>>>> >> appears to work well with regards to >>>>>>>>>>> attaching a data >>>>>>>>>>> >>> >>>>>> >>>>>> >> disk >>>>>>>>>>> >>> >>>>>> >>>>>> >> to a >>>>>>>>>>> >>> >>>>>> >>>>>> >> running VM: >>>>>>>>>>> >>> >>>>>> >>>>>> >> >>>>>>>>>>> >>> >>>>>> >>>>>> >> fdisk -l from hypervisor: >>>>>>>>>>> >>> >>>>>> >>>>>> >> >>>>>>>>>>> >>> >>>>>> >>>>>> >> http://i.imgur.com/NkP5fo0.png >>>>>>>>>>> >>> >>>>>> >>>>>> >> >>>>>>>>>>> >>> >>>>>> >>>>>> >> fdisk -l from within VM: >>>>>>>>>>> >>> >>>>>> >>>>>> >> >>>>>>>>>>> >>> >>>>>> >>>>>> >> http://i.imgur.com/8YwiiC7.png >>>>>>>>>>> >>> >>>>>> >>>>>> >> >>>>>>>>>>> >>> >>>>>> >>>>>> >> I plan to do more testing on this over the >>>>>>>>>>> coming days. >>>>>>>>>>> >>> >>>>>> >>>>>> >> >>>>>>>>>>> >>> >>>>>> >>>>>> >> If all goes well, perhaps we can check this >>>>>>>>>>> code in by >>>>>>>>>>> >>> >>>>>> >>>>>> >> the >>>>>>>>>>> >>> >>>>>> >>>>>> >> end of >>>>>>>>>>> >>> >>>>>> >>>>>> >> the >>>>>>>>>>> >>> >>>>>> >>>>>> >> week? >>>>>>>>>>> >>> >>>>>> >>>>>> >> >>>>>>>>>>> >>> >>>>>> >>>>>> >> Talk to you later, >>>>>>>>>>> >>> >>>>>> >>>>>> >> Mike >>>>>>>>>>> >>> >>>>>> >>>>>> >> >>>>>>>>>>> >>> >>>>>> >>>>>> >> >>>>>>>>>>> >>> >>>>>> >>>>>> >> On Sun, Oct 20, 2013 at 10:23 PM, Mike >>>>>>>>>>> Tutkowski >>>>>>>>>>> >>> >>>>>> >>>>>> >> <mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>> >>> >>>>>> >>>>>> >>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>> Don't ask me, but it works now (I've been >>>>>>>>>>> having this >>>>>>>>>>> >>> >>>>>> >>>>>> >>> trouble >>>>>>>>>>> >>> >>>>>> >>>>>> >>> quite a >>>>>>>>>>> >>> >>>>>> >>>>>> >>> while today). >>>>>>>>>>> >>> >>>>>> >>>>>> >>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>> I guess the trick is to send you an >>>>>>>>>>> e-mail. :) >>>>>>>>>>> >>> >>>>>> >>>>>> >>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>> On Sun, Oct 20, 2013 at 10:05 PM, Marcus >>>>>>>>>>> Sorensen >>>>>>>>>>> >>> >>>>>> >>>>>> >>> <shadow...@gmail.com> >>>>>>>>>>> >>> >>>>>> >>>>>> >>> wrote: >>>>>>>>>>> >>> >>>>>> >>>>>> >>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>> Did you create a service offering that >>>>>>>>>>> uses local >>>>>>>>>>> >>> >>>>>> >>>>>> >>>> storage, >>>>>>>>>>> >>> >>>>>> >>>>>> >>>> or add >>>>>>>>>>> >>> >>>>>> >>>>>> >>>> a >>>>>>>>>>> >>> >>>>>> >>>>>> >>>> shared primary storage? By default there >>>>>>>>>>> is no storage >>>>>>>>>>> >>> >>>>>> >>>>>> >>>> that >>>>>>>>>>> >>> >>>>>> >>>>>> >>>> matches the >>>>>>>>>>> >>> >>>>>> >>>>>> >>>> built in offerings. >>>>>>>>>>> >>> >>>>>> >>>>>> >>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>> On Oct 20, 2013 9:39 PM, "Mike Tutkowski" >>>>>>>>>>> >>> >>>>>> >>>>>> >>>> <mike.tutkow...@solidfire.com> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>> wrote: >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> Hey Marcus, >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> So, I went back to the branch of mine >>>>>>>>>>> that has your >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> code >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> and >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> mine and >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> was able to create a new CloudStack >>>>>>>>>>> install from >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> scratch >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> with it >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> (once >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> again, after manually deleting what was >>>>>>>>>>> in >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> /var/lib/libvirt/images to the >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> get system VMs to start). >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> Anyways, my system VMs are running now >>>>>>>>>>> and I tried to >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> kick off a >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> VM >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> using the CentOS 6.3 image you provided >>>>>>>>>>> me a while >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> back. >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> The virtual router has a Status of >>>>>>>>>>> Running; however, >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> my >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> VM fails >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> to >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> start (with the generic message of >>>>>>>>>>> Insufficient >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> Capacity). >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> I've not seen this exception before >>>>>>>>>>> (related to the >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> VR). >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> Do you >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> have >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> any insight into this?: >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> com.cloud.exception.ResourceUnavailableException: >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> Resource >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> [Pod:1] is >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> unreachable: Unable to apply userdata >>>>>>>>>>> and password >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> entry >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> on >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> router >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> com.cloud.network.router.VirtualNetworkApplianceManagerImpl.applyRules(VirtualNetworkApplianceManagerImpl.java:3793) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> com.cloud.network.router.VirtualNetworkApplianceManagerImpl.applyUserData(VirtualNetworkApplianceManagerImpl.java:3017) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> com.cloud.network.element.VirtualRouterElement.addPasswordAndUserdata(VirtualRouterElement.java:933) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> org.apache.cloudstack.engine.orchestration.NetworkOrchestrator.prepareElement(NetworkOrchestrator.java:1172) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> org.apache.cloudstack.engine.orchestration.NetworkOrchestrator.prepareNic(NetworkOrchestrator.java:1288) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> org.apache.cloudstack.engine.orchestration.NetworkOrchestrator.prepare(NetworkOrchestrator.java:1224) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> com.cloud.vm.VirtualMachineManagerImpl.advanceStart(VirtualMachineManagerImpl.java:826) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> com.cloud.vm.VirtualMachineManagerImpl.start(VirtualMachineManagerImpl.java:508) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> org.apache.cloudstack.engine.cloud.entity.api.VMEntityManagerImpl.deployVirtualMachine(VMEntityManagerImpl.java:227) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> org.apache.cloudstack.engine.cloud.entity.api.VirtualMachineEntityImpl.deploy(VirtualMachineEntityImpl.java:209) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> com.cloud.vm.UserVmManagerImpl.startVirtualMachine(UserVmManagerImpl.java:3338) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> com.cloud.vm.UserVmManagerImpl.startVirtualMachine(UserVmManagerImpl.java:2919) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> com.cloud.vm.UserVmManagerImpl.startVirtualMachine(UserVmManagerImpl.java:2905) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> org.apache.cloudstack.api.command.user.vm.DeployVMCmd.execute(DeployVMCmd.java:421) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:161) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> com.cloud.api.ApiAsyncJobDispatcher.runJobInContext(ApiAsyncJobDispatcher.java:109) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> com.cloud.api.ApiAsyncJobDispatcher$1.run(ApiAsyncJobDispatcher.java:66) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:56) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:103) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:53) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> com.cloud.api.ApiAsyncJobDispatcher.runJob(ApiAsyncJobDispatcher.java:63) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$1.runInContext(AsyncJobManagerImpl.java:532) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> org.apache.cloudstack.managed.context.ManagedContextRunnable$1.run(ManagedContextRunnable.java:49) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:56) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:103) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:53) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> org.apache.cloudstack.managed.context.ManagedContextRunnable.run(ManagedContextRunnable.java:46) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> java.util.concurrent.FutureTask.run(FutureTask.java:262) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> at java.lang.Thread.run(Thread.java:724) >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>>> >>>>> 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™ >>>>>>>>>>> >>> >>>>>> >>>>>> >> >>>>>>>>>>> >>> >>>>>> >>>>>> >> >>>>>>>>>>> >>> >>>>>> >>>>>> >> >>>>>>>>>>> >>> >>>>>> >>>>>> >> >>>>>>>>>>> >>> >>>>>> >>>>>> >> -- >>>>>>>>>>> >>> >>>>>> >>>>>> >> Mike Tutkowski >>>>>>>>>>> >>> >>>>>> >>>>>> >> Senior CloudStack Developer, SolidFire Inc. >>>>>>>>>>> >>> >>>>>> >>>>>> >> e: mike.tutkow...@solidfire.com >>>>>>>>>>> >>> >>>>>> >>>>>> >> o: 303.746.7302 >>>>>>>>>>> >>> >>>>>> >>>>>> >> Advancing the way the world uses the cloud™ >>>>>>>>>>> >>> >>>>>> >>>>>> > >>>>>>>>>>> >>> >>>>>> >>>>>> > >>>>>>>>>>> >>> >>>>>> >>>>>> > >>>>>>>>>>> >>> >>>>>> >>>>>> > >>>>>>>>>>> >>> >>>>>> >>>>>> > -- >>>>>>>>>>> >>> >>>>>> >>>>>> > Mike Tutkowski >>>>>>>>>>> >>> >>>>>> >>>>>> > Senior CloudStack Developer, SolidFire Inc. >>>>>>>>>>> >>> >>>>>> >>>>>> > e: mike.tutkow...@solidfire.com >>>>>>>>>>> >>> >>>>>> >>>>>> > o: 303.746.7302 >>>>>>>>>>> >>> >>>>>> >>>>>> > Advancing the way the world uses the cloud™ >>>>>>>>>>> >>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>> >>>>>>>>>>> >>> >>>>>> >>>>> -- >>>>>>>>>>> >>> >>>>>> >>>>> Mike Tutkowski >>>>>>>>>>> >>> >>>>>> >>>>> Senior CloudStack Developer, SolidFire Inc. >>>>>>>>>>> >>> >>>>>> >>>>> e: mike.tutkow...@solidfire.com >>>>>>>>>>> >>> >>>>>> >>>>> o: 303.746.7302 >>>>>>>>>>> >>> >>>>>> >>>>> Advancing the way the world uses the cloud™ >>>>>>>>>>> >>> >>>>>> >>>> >>>>>>>>>>> >>> >>>>>> >>>> >>>>>>>>>>> >>> >>>>>> >>>> >>>>>>>>>>> >>> >>>>>> >>>> >>>>>>>>>>> >>> >>>>>> >>>> -- >>>>>>>>>>> >>> >>>>>> >>>> Mike Tutkowski >>>>>>>>>>> >>> >>>>>> >>>> Senior CloudStack Developer, SolidFire Inc. >>>>>>>>>>> >>> >>>>>> >>>> e: mike.tutkow...@solidfire.com >>>>>>>>>>> >>> >>>>>> >>>> o: 303.746.7302 >>>>>>>>>>> >>> >>>>>> >>>> Advancing the way the world uses the cloud™ >>>>>>>>>>> >>> >>>>>> >>> >>>>>>>>>>> >>> >>>>>> >>> >>>>>>>>>>> >>> >>>>>> >>> >>>>>>>>>>> >>> >>>>>> >>> >>>>>>>>>>> >>> >>>>>> >>> -- >>>>>>>>>>> >>> >>>>>> >>> Mike Tutkowski >>>>>>>>>>> >>> >>>>>> >>> Senior CloudStack Developer, SolidFire Inc. >>>>>>>>>>> >>> >>>>>> >>> e: mike.tutkow...@solidfire.com >>>>>>>>>>> >>> >>>>>> >>> o: 303.746.7302 >>>>>>>>>>> >>> >>>>>> >>> Advancing the way the world uses the cloud™ >>>>>>>>>>> >>> >>>>>> > >>>>>>>>>>> >>> >>>>>> > >>>>>>>>>>> >>> >>>>>> > >>>>>>>>>>> >>> >>>>>> > >>>>>>>>>>> >>> >>>>>> > -- >>>>>>>>>>> >>> >>>>>> > Mike Tutkowski >>>>>>>>>>> >>> >>>>>> > Senior CloudStack Developer, SolidFire Inc. >>>>>>>>>>> >>> >>>>>> > e: mike.tutkow...@solidfire.com >>>>>>>>>>> >>> >>>>>> > o: 303.746.7302 >>>>>>>>>>> >>> >>>>>> > Advancing the way the world uses the cloud™ >>>>>>>>>>> >>> >>>>> >>>>>>>>>>> >>> >>>>> >>>>>>>>>>> >>> >>>>> >>>>>>>>>>> >>> >>>>> >>>>>>>>>>> >>> >>>>> -- >>>>>>>>>>> >>> >>>>> Mike Tutkowski >>>>>>>>>>> >>> >>>>> Senior CloudStack Developer, SolidFire Inc. >>>>>>>>>>> >>> >>>>> e: mike.tutkow...@solidfire.com >>>>>>>>>>> >>> >>>>> o: 303.746.7302 >>>>>>>>>>> >>> >>>>> Advancing the way the world uses the cloud™ >>>>>>>>>>> >>> >>>> >>>>>>>>>>> >>> >>>> >>>>>>>>>>> >>> >>>> >>>>>>>>>>> >>> >>>> >>>>>>>>>>> >>> >>>> -- >>>>>>>>>>> >>> >>>> Mike Tutkowski >>>>>>>>>>> >>> >>>> Senior CloudStack Developer, SolidFire Inc. >>>>>>>>>>> >>> >>>> e: mike.tutkow...@solidfire.com >>>>>>>>>>> >>> >>>> o: 303.746.7302 >>>>>>>>>>> >>> >>>> Advancing the way the world uses the cloud™ >>>>>>>>>>> >>> >> >>>>>>>>>>> >>> >> >>>>>>>>>>> >>> >> >>>>>>>>>>> >>> >> >>>>>>>>>>> >>> >> -- >>>>>>>>>>> >>> >> Mike Tutkowski >>>>>>>>>>> >>> >> Senior CloudStack Developer, SolidFire Inc. >>>>>>>>>>> >>> >> e: mike.tutkow...@solidfire.com >>>>>>>>>>> >>> >> o: 303.746.7302 >>>>>>>>>>> >>> >> Advancing the way the world uses the cloud™ >>>>>>>>>>> >>> > >>>>>>>>>>> >>> > >>>>>>>>>>> >>> > >>>>>>>>>>> >>> > >>>>>>>>>>> >>> > -- >>>>>>>>>>> >>> > Mike Tutkowski >>>>>>>>>>> >>> > Senior CloudStack Developer, SolidFire Inc. >>>>>>>>>>> >>> > e: mike.tutkow...@solidfire.com >>>>>>>>>>> >>> > o: 303.746.7302 >>>>>>>>>>> >>> > Advancing the way the world uses the cloud™ >>>>>>>>>>> >> >>>>>>>>>>> >> >>>>>>>>>>> >> >>>>>>>>>>> >> >>>>>>>>>>> >> -- >>>>>>>>>>> >> Mike Tutkowski >>>>>>>>>>> >> Senior CloudStack Developer, SolidFire Inc. >>>>>>>>>>> >> e: mike.tutkow...@solidfire.com >>>>>>>>>>> >> o: 303.746.7302 >>>>>>>>>>> >> Advancing the way the world uses the cloud™ >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> > -- >>>>>>>>>>> > Mike Tutkowski >>>>>>>>>>> > Senior CloudStack Developer, SolidFire Inc. >>>>>>>>>>> > e: mike.tutkow...@solidfire.com >>>>>>>>>>> > o: 303.746.7302 >>>>>>>>>>> > Advancing the way the world uses the cloud™ >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> *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> >>>>>>>> *™* >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> *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> >>>>> *™* >>>>> >>>> >>>> >>>> >>>> -- >>>> *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> > *™* >