Looks like I asked that question too soon. :) This seems to work:
sudo apt-get install --force-reinstall true cloudstack-agent On Mon, Oct 14, 2013 at 1:59 PM, Mike Tutkowski < mike.tutkow...@solidfire.com> wrote: > Hey Marcus, > > When I rebuild my DEBs and try to re-deploy them to my KVM host, I receive > the following message: > > cloudstack-agent is already the newest version. > > How do you recommend I get around this? > > I assume if I do the following that I will un-install necessary config > files? > > sudo apt-get remove --purge cloudstack-agent > > Thanks! > > > On Fri, Oct 11, 2013 at 1:07 PM, Mike Tutkowski < > mike.tutkow...@solidfire.com> wrote: > >> We will also require iscsiadm to be present, which I believe is part of >> the open-iscsi package on Ubuntu, so I guess what's another couple >> dependencies. :) >> >> >> On Fri, Oct 11, 2013 at 1:03 PM, Marcus Sorensen <shadow...@gmail.com>wrote: >> >>> Oops, that patch got cut off: >>> >>> >>> diff --git a/debian/control b/debian/control >>> index 46dd505..72a0fb1 100644 >>> --- a/debian/control >>> +++ b/debian/control >>> @@ -22,7 +22,7 @@ Description: CloudStack server library >>> >>> Package: cloudstack-agent >>> Architecture: all >>> -Depends: openjdk-6-jre | openjdk-7-jre, cloudstack-common (= >>> ${source:Version}), lsb-base (>= 3.2), libcommons-daemon-java, libjna-java, >>> openssh-client, libvirt0, sysvinit-utils, qemu-kvm, libvirt-bin, >>> uuid-runtime, rsync, grep, iproute, perl-base, perl-modules, ebtables, >>> vlan, wget, jsvc, ipset >>> +Depends: openjdk-6-jre | openjdk-7-jre, cloudstack-common (= >>> ${source:Version}), lsb-base (>= 3.2), libcommons-daemon-java, libjna-java, >>> openssh-client, libvirt0, sysvinit-utils, qemu-kvm, libvirt-bin, >>> uuid-runtime, rsync, grep, iproute, perl-base, perl-modules, ebtables, >>> vlan, wget, jsvc, ipset, util-linux >>> Conflicts: cloud-agent, cloud-agent-libs, cloud-agent-deps, >>> cloud-agent-scripts >>> Description: CloudStack agent >>> The CloudStack agent is in charge of managing shared computing >>> resources in >>> diff --git a/packaging/centos63/cloud.spec >>> b/packaging/centos63/cloud.spec >>> index 5f8a2a5..07127a4 100644 >>> --- a/packaging/centos63/cloud.spec >>> +++ b/packaging/centos63/cloud.spec >>> @@ -81,6 +81,7 @@ Requires: mkisofs >>> Requires: MySQL-python >>> Requires: python-paramiko >>> Requires: ipmitool >>> +Requires: util-linux-ng >>> Requires: %{name}-common = %{_ver} >>> Requires: %{name}-awsapi = %{_ver} >>> Obsoletes: cloud-client < 4.1.0 >>> >>> >>> On Fri, Oct 11, 2013 at 1:02 PM, Marcus Sorensen <shadow...@gmail.com>wrote: >>> >>>> Yes, blockdev is a part of the util-linux package, and all but a >>>> minimal install should have it. To be safe, we could add 'util-linux' to >>>> the deb requires and 'util-linux-ng' to the rpm requires for the agents. >>>> Something like: >>>> >>>> diff --git a/debian/control b/debian/control >>>> index 46dd505..72a0fb1 100644 >>>> --- a/debian/control >>>> +++ b/debian/control >>>> @@ -22,7 +22,7 @@ Description: CloudStack server library >>>> >>>> Package: cloudstack-agent >>>> Architecture: all >>>> -Depends: openjdk-6-jre | openjdk-7-jre, cloudstack-common (= >>>> ${source:Version}), lsb-base (>= 3.2), libcommons-daemon-java, libjna-java, >>>> openssh-client, libvirt0, sysvinit-utils, qemu-kvm, libvirt-bin >>>> +Depends: openjdk-6-jre | openjdk-7-jre, cloudstack-common (= >>>> ${source:Version}), lsb-base (>= 3.2), libcommons-daemon-java, libjna-java, >>>> openssh-client, libvirt0, sysvinit-utils, qemu-kvm, libvirt-bin >>>> Conflicts: cloud-agent, cloud-agent-libs, cloud-agent-deps, >>>> cloud-agent-scripts >>>> Description: CloudStack agent >>>> The CloudStack agent is in charge of managing shared computing >>>> resources in >>>> diff --git a/packaging/centos63/cloud.spec >>>> b/packaging/centos63/cloud.spec >>>> index 5f8a2a5..07127a4 100644 >>>> --- a/packaging/centos63/cloud.spec >>>> +++ b/packaging/centos63/cloud.spec >>>> @@ -81,6 +81,7 @@ Requires: mkisofs >>>> Requires: MySQL-python >>>> Requires: python-paramiko >>>> Requires: ipmitool >>>> +Requires: util-linux-ng >>>> Requires: %{name}-common = %{_ver} >>>> Requires: %{name}-awsapi = %{_ver} >>>> Obsoletes: cloud-client < 4.1.0 >>>> >>>> If you wanted to be indepedent of that, you could use sysfs in a >>>> roundabout way: >>>> >>>> marcus@marcus-bsdesk:~/code$ ls -l >>>> /dev/disk/by-path/pci-0000\:00\:1f.2-scsi-0\:0\:0\:0 >>>> lrwxrwxrwx 1 root root 9 Oct 7 09:25 >>>> /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0 -> ../../sdc >>>> >>>> we are pointing to /dev/sdc >>>> >>>> marcus@marcus-bsdesk:~/code$ cat /sys/block/sdc/size >>>> 5860533168 >>>> *size in sectors* >>>> >>>> marcus@marcus-bsdesk:~/code$ cat /sys/block/sdc/queue/hw_sector_size >>>> 512 >>>> >>>> 5860533168 * 512 = 3000592982016 >>>> >>>> compared to: >>>> marcus@marcus-bsdesk:~/code$ sudo blockdev --getsize64 /dev/sdc >>>> 3000592982016 >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> On Fri, Oct 11, 2013 at 12:36 PM, Mike Tutkowski < >>>> mike.tutkow...@solidfire.com> wrote: >>>> >>>>> Hey Marcus, >>>>> >>>>> What do you think about me running the following to get the device >>>>> size for my PhysicalDisk instances? >>>>> >>>>> "blockdev --getsize64 /dev/disk/by-path/ip-" + host + "-iscsi-" + iqn >>>>> + "-lun-0 >>>>> >>>>> That should work on whatever platforms the KVM agent runs (mainly >>>>> Ubuntu and CentOS), right? >>>>> >>>>> Thanks >>>>> >>>>> >>>>> On Thu, Oct 10, 2013 at 7:56 PM, Mike Tutkowski < >>>>> mike.tutkow...@solidfire.com> wrote: >>>>> >>>>>> I made a bunch of updates, Marcus: >>>>>> >>>>>> >>>>>> https://github.com/mike-tutkowski/incubator-cloudstack/commit/c13442eaa228a5ae37d3b13f6c98636de158a908 >>>>>> >>>>>> >>>>>> On Thu, Oct 10, 2013 at 4:40 PM, Mike Tutkowski < >>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>> >>>>>>> Hey Marcus, >>>>>>> >>>>>>> I haven't had a chance to test this yet, but I thought you might be >>>>>>> interested in the merge of your work with mine. >>>>>>> >>>>>>> I've also replaced the direct CHAP parameters with a Map<String, >>>>>>> String> (which currently only stores the CHAP credentials, but could be >>>>>>> used for more in the future). >>>>>>> >>>>>>> I still have a bit of work to do around the getPhysicalDisk method, >>>>>>> but this should give you a good idea of where we're at: >>>>>>> >>>>>>> >>>>>>> https://github.com/mike-tutkowski/incubator-cloudstack/commit/30433a20d1707ea1870024e80732bcfdbd64f69a >>>>>>> >>>>>>> Talk to you later >>>>>>> >>>>>>> >>>>>>> On Wed, Oct 9, 2013 at 3:52 PM, Mike Tutkowski < >>>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>>> >>>>>>>> I've got the code all merged, by the way. >>>>>>>> >>>>>>>> I should be able to start in on testing soon (tonight or tomorrow). >>>>>>>> >>>>>>>> >>>>>>>> On Wed, Oct 9, 2013 at 3:51 PM, Mike Tutkowski < >>>>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>>>> >>>>>>>>> Will do...I'll remove it (there is similar code in two methods). >>>>>>>>> >>>>>>>>> >>>>>>>>> On Wed, Oct 9, 2013 at 3:49 PM, Marcus Sorensen < >>>>>>>>> shadow...@gmail.com> wrote: >>>>>>>>> >>>>>>>>>> Yeah, that looks like leftovers from refactoring our 4.1 code >>>>>>>>>> into 4.2 and making it something more generic. It looks like it >>>>>>>>>> could be >>>>>>>>>> removed. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Wed, Oct 9, 2013 at 3:40 PM, Mike Tutkowski < >>>>>>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>>>>>> >>>>>>>>>>> Hey Marcus, >>>>>>>>>>> >>>>>>>>>>> I'm merging your changes into mine. >>>>>>>>>>> >>>>>>>>>>> It looks like I can remove your call to getPhysicalDisk (below) >>>>>>>>>>> (and the associated KVMPhysicalDisk variable, as well). >>>>>>>>>>> >>>>>>>>>>> I assume you would never want to produce any side effects in >>>>>>>>>>> your getPhysicalDisk implementation, right? Seems like that would be >>>>>>>>>>> unintuitive. >>>>>>>>>>> >>>>>>>>>>> public booleanconnectPhysicalDisksViaVmSpec(VirtualMachineTO >>>>>>>>>>> vmSpec) { >>>>>>>>>>> >>>>>>>>>>> boolean result = false; >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> final String vmName = vmSpec.getName(); >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> List<DiskTO> disks = Arrays.asList(vmSpec.getDisks()); >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> for (DiskTO disk : disks) { >>>>>>>>>>> >>>>>>>>>>> KVMPhysicalDisk physicalDisk = null; >>>>>>>>>>> >>>>>>>>>>> KVMStoragePool pool = null; >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> if (disk.getType() != Volume.Type.ISO) { >>>>>>>>>>> >>>>>>>>>>> VolumeObjectTO vol = (VolumeObjectTO) >>>>>>>>>>> disk.getData(); >>>>>>>>>>> >>>>>>>>>>> PrimaryDataStoreTO store = (PrimaryDataStoreTO) >>>>>>>>>>> vol.getDataStore(); >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> pool = getStoragePool(store.getPoolType(), >>>>>>>>>>> store.getUuid()); >>>>>>>>>>> >>>>>>>>>>> physicalDisk = >>>>>>>>>>> pool.getPhysicalDisk(vol.getPath()); >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> StorageAdaptor adaptor = >>>>>>>>>>> getStorageAdaptor(pool.getType()); >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> result = >>>>>>>>>>> adaptor.connectPhysicalDisk(vol.getPath(), pool); >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> if (! result) { >>>>>>>>>>> >>>>>>>>>>> s_logger.error("Failed to connect disks via >>>>>>>>>>> vm spec for vm:" + vmName + " volume:" + vol.toString()); >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> return result; >>>>>>>>>>> >>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> return result; >>>>>>>>>>> >>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Wed, Oct 9, 2013 at 12:01 AM, Mike Tutkowski < >>>>>>>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>> >>>>>>>>>>>> Excellent...that template worked like a charm. >>>>>>>>>>>> >>>>>>>>>>>> Thanks! >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Tue, Oct 8, 2013 at 11:50 PM, Mike Tutkowski < >>>>>>>>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Perfect >>>>>>>>>>>>> >>>>>>>>>>>>> Almost done downloading...I'll give it a try in a moment. >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> On Tue, Oct 8, 2013 at 11:47 PM, Marcus Sorensen < >>>>>>>>>>>>> shadow...@gmail.com> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> Not password enabled, root password is just 'password'. I >>>>>>>>>>>>>> mainly just use it for devcloud-kvm testing. >>>>>>>>>>>>>> On Oct 8, 2013 11:45 PM, "Mike Tutkowski" < >>>>>>>>>>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Great - thanks! >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Tue, Oct 8, 2013 at 11:38 PM, Marcus Sorensen < >>>>>>>>>>>>>>> shadow...@gmail.com> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Use my tiny centos image. I'm not sure what's up with that >>>>>>>>>>>>>>>> crufty old default centos template. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Register this qcow2 template: >>>>>>>>>>>>>>>> http://marcus.mlsorensen.com/cloudstack-extras/tiny-centos-63.qcow2 >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Needs a service offering with at least 192MB to run. >>>>>>>>>>>>>>>> On Oct 8, 2013 11:36 PM, "Mike Tutkowski" < >>>>>>>>>>>>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Perhaps you might know something about this, Marcus. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> My instance suffers a Kernel panic while booting up. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I'm just using the built-in KVM template (CentOS >>>>>>>>>>>>>>>>> 5.5(64-bit) no GUI (KVM)) with 1 CPU and 512 MB memory. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> http://i.imgur.com/QuPH2Ub.png >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I tried to just use an ISO instead, but apparently that >>>>>>>>>>>>>>>>> functionality is broken, as well (related to Disk Offerings). >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On Tue, Oct 8, 2013 at 10:39 PM, Mike Tutkowski < >>>>>>>>>>>>>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> OK, all is good now. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> I have both system VMs up and running and the Agent >>>>>>>>>>>>>>>>>> States read as "Up," as well. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> On Tue, Oct 8, 2013 at 9:50 PM, Mike Tutkowski < >>>>>>>>>>>>>>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> I believe we've been down this road before: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> 2013-10-09 03:47:41,281 ERROR [cloud.agent.AgentShell] >>>>>>>>>>>>>>>>>>> (main:null) Unable to start agent: Resource class not found: >>>>>>>>>>>>>>>>>>> com.cloud.storage.resource.PremiumSecondaryStorageResource >>>>>>>>>>>>>>>>>>> due to: >>>>>>>>>>>>>>>>>>> java.lang.ClassNotFoundException: >>>>>>>>>>>>>>>>>>> com.cloud.storage.resource.PremiumSecondaryStorageResource >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> The solution was to compile without -Dnoredist. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> I will try that now. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> On Tue, Oct 8, 2013 at 9:36 PM, Marcus Sorensen < >>>>>>>>>>>>>>>>>>> shadow...@gmail.com> wrote: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> You may be able to find a stack trace for the java >>>>>>>>>>>>>>>>>>>> process in /var/log/cloud or the messages file, on the >>>>>>>>>>>>>>>>>>>> system vm. >>>>>>>>>>>>>>>>>>>> On Oct 8, 2013 9:21 PM, "Mike Tutkowski" < >>>>>>>>>>>>>>>>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> Interesting...I ran the following: >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> /usr/local/cloud/systemvm/ssvm-check.sh >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> It says the Java process is not running. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> This is the KVM system template I'm using: >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> http://download.cloud.com/templates/4.2/systemvmtemplate-2013-06-12-master-kvm.qcow2.bz2 >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> I just picked the one that was referenced in the >>>>>>>>>>>>>>>>>>>>> VM_Template table in 4.3. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> On Tue, Oct 8, 2013 at 9:05 PM, Mike Tutkowski < >>>>>>>>>>>>>>>>>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> Found it. >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> As an FYI, this is the doc I was referring to: >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> https://cwiki.apache.org/confluence/display/CLOUDSTACK/SSVM%2C+templates%2C+Secondary+storage+troubleshooting >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> On Tue, Oct 8, 2013 at 9:04 PM, Mike Tutkowski < >>>>>>>>>>>>>>>>>>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> CS MS can ping the SSVM's public IP address. >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> SSVM can ping CS MS. >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> I think we had a nice debug document for SSVM >>>>>>>>>>>>>>>>>>>>>>> mentioned on a CS e-mail...I'll try to find it. >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> On Tue, Oct 8, 2013 at 8:29 PM, Marcus Sorensen < >>>>>>>>>>>>>>>>>>>>>>> shadow...@gmail.com> wrote: >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> You could start by trying to ping them from mgmt >>>>>>>>>>>>>>>>>>>>>>>> server, or trying to VNC to them if the OS isn't up. >>>>>>>>>>>>>>>>>>>>>>>> I'm assuming you >>>>>>>>>>>>>>>>>>>>>>>> prepped a current system vm template (maybe you're >>>>>>>>>>>>>>>>>>>>>>>> even reusing a secondary >>>>>>>>>>>>>>>>>>>>>>>> storage). If you can ping their 169.254 addresses, you >>>>>>>>>>>>>>>>>>>>>>>> can "cloudstack-ssh >>>>>>>>>>>>>>>>>>>>>>>> 169.254.x.x" as root on the kvm host to get in >>>>>>>>>>>>>>>>>>>>>>>> On Oct 8, 2013 7:31 PM, "Mike Tutkowski" < >>>>>>>>>>>>>>>>>>>>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> Looks like I'll have to dig up that doc on >>>>>>>>>>>>>>>>>>>>>>>>> debugging SSVM...it's been about 30 mins since the >>>>>>>>>>>>>>>>>>>>>>>>> VMs came up. >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> On Tue, Oct 8, 2013 at 7:29 PM, Marcus Sorensen < >>>>>>>>>>>>>>>>>>>>>>>>> shadow...@gmail.com> wrote: >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>> You may just have to wait a bit. That means the >>>>>>>>>>>>>>>>>>>>>>>>>> VMS are started but the services aren't up. Usually >>>>>>>>>>>>>>>>>>>>>>>>>> takes 5-10 min to get >>>>>>>>>>>>>>>>>>>>>>>>>> both up in my fusion vm. If that doesn't get better >>>>>>>>>>>>>>>>>>>>>>>>>> you may have to log >>>>>>>>>>>>>>>>>>>>>>>>>> into the system VMS and see what's going on. >>>>>>>>>>>>>>>>>>>>>>>>>> On Oct 8, 2013 7:25 PM, "Mike Tutkowski" < >>>>>>>>>>>>>>>>>>>>>>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> Doh! I didn't restart the necessary service >>>>>>>>>>>>>>>>>>>>>>>>>>> after exporting my NFS share. >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> The system VMs come up now; however, SSVM has a >>>>>>>>>>>>>>>>>>>>>>>>>>> dash (-) for its Agent State and the CS MS console >>>>>>>>>>>>>>>>>>>>>>>>>>> keeps printing out the >>>>>>>>>>>>>>>>>>>>>>>>>>> following: >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> INFO [o.a.c.s.e.DefaultEndPointSelector] >>>>>>>>>>>>>>>>>>>>>>>>>>> (StatsCollector-3:ctx-018adc41) No running ssvm is >>>>>>>>>>>>>>>>>>>>>>>>>>> found, so command will >>>>>>>>>>>>>>>>>>>>>>>>>>> be sent to LocalHostEndPoint >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> On Tue, Oct 8, 2013 at 4:35 PM, Marcus Sorensen >>>>>>>>>>>>>>>>>>>>>>>>>>> <shadow...@gmail.com> wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>> Can you mount the secondary storage from your >>>>>>>>>>>>>>>>>>>>>>>>>>>> KVM host? >>>>>>>>>>>>>>>>>>>>>>>>>>>> On Oct 8, 2013 4:01 PM, "Mike Tutkowski" < >>>>>>>>>>>>>>>>>>>>>>>>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>> Although the host is added to KVM, I do see >>>>>>>>>>>>>>>>>>>>>>>>>>>>> the following issues in the CS MS console (any >>>>>>>>>>>>>>>>>>>>>>>>>>>>> thoughts on this?): >>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>> WARN [c.c.u.d.Merovingian2] >>>>>>>>>>>>>>>>>>>>>>>>>>>>> (secstorage-1:ctx-c1c573ee) Was unable to find >>>>>>>>>>>>>>>>>>>>>>>>>>>>> lock for the key >>>>>>>>>>>>>>>>>>>>>>>>>>>>> template_spool_ref2 and thread id 2049868806 >>>>>>>>>>>>>>>>>>>>>>>>>>>>> INFO [c.c.v.VirtualMachineManagerImpl] >>>>>>>>>>>>>>>>>>>>>>>>>>>>> (secstorage-1:ctx-c1c573ee) Unable to contact >>>>>>>>>>>>>>>>>>>>>>>>>>>>> resource. >>>>>>>>>>>>>>>>>>>>>>>>>>>>> com.cloud.exception.StorageUnavailableException: >>>>>>>>>>>>>>>>>>>>>>>>>>>>> Resource [StoragePool:1] is unreachable: Unable >>>>>>>>>>>>>>>>>>>>>>>>>>>>> to create >>>>>>>>>>>>>>>>>>>>>>>>>>>>> Vol[1|vm=1|ROOT]:com.cloud.utils.exception.CloudRuntimeException: >>>>>>>>>>>>>>>>>>>>>>>>>>>>> org.libvirt.LibvirtException: internal error >>>>>>>>>>>>>>>>>>>>>>>>>>>>> Child process (/bin/mount >>>>>>>>>>>>>>>>>>>>>>>>>>>>> 192.168.233.10:/mnt/secondary/template/tmpl/1/3 >>>>>>>>>>>>>>>>>>>>>>>>>>>>> /mnt/334b3c4e-764b-362a-be2c-ebe8c490d0a9) status >>>>>>>>>>>>>>>>>>>>>>>>>>>>> unexpected: exit status 32 >>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>> org.apache.cloudstack.engine.orchestration.VolumeOrchestrator.recreateVolume(VolumeOrchestrator.java:1027) >>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>> org.apache.cloudstack.engine.orchestration.VolumeOrchestrator.prepare(VolumeOrchestrator.java:1069) >>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>> com.cloud.vm.VirtualMachineManagerImpl.advanceStart(VirtualMachineManagerImpl.java:830) >>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>> com.cloud.vm.VirtualMachineManagerImpl.advanceStart(VirtualMachineManagerImpl.java:649) >>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>> com.cloud.storage.secondary.SecondaryStorageManagerImpl.startSecStorageVm(SecondaryStorageManagerImpl.java:261) >>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>> com.cloud.storage.secondary.SecondaryStorageManagerImpl.allocCapacity(SecondaryStorageManagerImpl.java:693) >>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>> com.cloud.storage.secondary.SecondaryStorageManagerImpl.expandPool(SecondaryStorageManagerImpl.java:1265) >>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>> com.cloud.secstorage.PremiumSecondaryStorageManagerImpl.scanPool(PremiumSecondaryStorageManagerImpl.java:123) >>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>> com.cloud.secstorage.PremiumSecondaryStorageManagerImpl.scanPool(PremiumSecondaryStorageManagerImpl.java:50) >>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>> com.cloud.vm.SystemVmLoadScanner.loadScan(SystemVmLoadScanner.java:101) >>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>> com.cloud.vm.SystemVmLoadScanner.access$100(SystemVmLoadScanner.java:33) >>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>> com.cloud.vm.SystemVmLoadScanner$1.reallyRun(SystemVmLoadScanner.java:78) >>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>> com.cloud.vm.SystemVmLoadScanner$1.runInContext(SystemVmLoadScanner.java:71) >>>>>>>>>>>>>>>>>>>>>>>>>>>>> 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.runAndReset(FutureTask.java:304) >>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) >>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) >>>>>>>>>>>>>>>>>>>>>>>>>>>>> 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) >>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Tue, Oct 8, 2013 at 3:58 PM, Mike Tutkowski >>>>>>>>>>>>>>>>>>>>>>>>>>>>> <mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> So...got some good news: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I spent a couple hours setting up a KVM >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> environment on Ubuntu 12.04.1 from scratch >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (Installing SSH, Open iSCSI, >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Java 7, KVM, Git, CloudStack, CloudStack DEBs, >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> KVM system template, etc.) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and I can now add this KVM host to CloudStack >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (on a related note, no errors >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in agent.err either). >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have no idea what is messed up with my old >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> KVM install on Ubuntu, but the new one works. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> That being the case, I can close out the JIRA >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ticket I logged a while back and start >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> integrating your code into mine. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Mon, Oct 7, 2013 at 7:46 PM, Mike >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Tutkowski <mike.tutkow...@solidfire.com>wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Right...yeah, I didn't mean we'd commit to >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 4.2, but maybe I should work off of 4.2 since >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> master seems to be un-stable >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in this regard. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I plan to set up a machine in the lab >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tomorrow with Ubuntu 12.04 from scratch to see >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> if it works when I start >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> clean, but - if it doesn't - I should just use >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 4.2 for development. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Mon, Oct 7, 2013 at 7:05 PM, Marcus >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Sorensen <shadow...@gmail.com> wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> We can't. This patch will never see 4.2. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> You can still start working on your plugin on >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 4.2, but the change >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> represented by this patch can only go into >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> master. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Oct 7, 2013 5:01 PM, "Mike Tutkowski" < >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> mike.tutkow...@solidfire.com> wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> So, now that I'm getting back to this, do >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> you think I should just try to make this work >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> with 4.2 (like we originally >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> talked about)? >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I updated again from master, rebuilt, >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> redeployed DEBs and still get this JNA error >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> message: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> log4j:WARN No appenders could be found for >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> logger >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (org.apache.commons.httpclient.params.DefaultHttpParams). >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> log4j:WARN Please initialize the log4j >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> system properly. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> log4j:WARN See >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> http://logging.apache.org/log4j/1.2/faq.html#noconfigfor >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> more info. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> java.lang.reflect.InvocationTargetException >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Method) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> java.lang.reflect.Method.invoke(Method.java:606) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> org.apache.commons.daemon.support.DaemonLoader.start(DaemonLoader.java:243) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Caused by: java.lang.UnsatisfiedLinkError: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Can't obtain updateLastError method for class >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> com.sun.jna.Native >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> at com.sun.jna.Native.initIDs(Native >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Method) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> com.sun.jna.Native.<clinit>(Native.java:139) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> org.libvirt.jna.Libvirt.<clinit>(Unknown >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Source) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> at org.libvirt.Library.<clinit>(Unknown >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Source) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> at org.libvirt.Connect.<init>(Unknown >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Source) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> com.cloud.hypervisor.kvm.resource.LibvirtConnection.getConnection(LibvirtConnection.java:44) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> com.cloud.hypervisor.kvm.resource.LibvirtConnection.getConnection(LibvirtConnection.java:37) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.configure(LibvirtComputingResource.java:733) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> com.cloud.agent.Agent.<init>(Agent.java:161) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> com.cloud.agent.AgentShell.launchAgent(AgentShell.java:415) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> com.cloud.agent.AgentShell.launchAgentFromClassInfo(AgentShell.java:370) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> com.cloud.agent.AgentShell.launchAgent(AgentShell.java:351) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> com.cloud.agent.AgentShell.start(AgentShell.java:448) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ... 5 more >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Cannot start daemon >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Service exit with a return value of 5 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Mon, Oct 7, 2013 at 2:31 PM, Mike >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Tutkowski <mike.tutkow...@solidfire.com>wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Sure, that's a good plan. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I'll get to it. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Mon, Oct 7, 2013 at 2:29 PM, Marcus >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Sorensen <shadow...@gmail.com> wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I know you mentioned you might need some >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> minor changes to it, as well as other minor >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> changes just for master (attach >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> volume switched to pool vs adapter or >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> something). My hope was that you >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> would be able to send an update that works >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> for your plugin on master, I'll >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> test against existing libvirtd storage and >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> apply it. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Oct 7, 2013 1:49 PM, "Mike >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Tutkowski" <mike.tutkow...@solidfire.com> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> This is an automatically generated >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> e-mail. To reply, visit: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> https://reviews.apache.org/r/14381/ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> This looks reasonable to me, Marcus. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> When do you think you might start the >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> process of getting this into master? >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - Mike Tutkowski >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On September 30th, 2013, 5:14 p.m. UTC, >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Marcus Sorensen wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Review request for cloudstack, >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> edison su and Mike Tutkowski. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> By Marcus Sorensen. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> *Updated Sept. 30, 2013, 5:14 p.m.* >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> *Repository: * cloudstack-git >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Description >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> With custom storage plugins comes the need >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to prep the KVM host prior to utilizing >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the disks. e.g. an iscsi initiator needs >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to log into the target and scan for the >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> lun before it can be used on the host. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> This patch is an example I developed >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> against 4.2, minor changes may be >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> necessary to apply to master, but I want >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to share with others who are working on >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> storage so they can ensure it works for >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> them. Please tweak as you see fit. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> MigrateCommand: pass vmTO object so we can >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> see which disks/storage pool types belong >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to the vm when migrating a VM. This >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> facilitates being able to call >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> disconnectPhysicalDisksViaVmSpec >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> VirtualMachineManagerImpl: pass >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> VirtualMachineTO when migrating so that we >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> can see which disks belong to the VM and >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> what storage pools/adaptors should be used >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> LibvirtComputingResource: add calls >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> KVMStoragePoolManager's >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> connectPhysicalDiskViaVmSpec and >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> disconnectPhysicalDiskViaVmSpec calls >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> where appropriate (when starting a vm, >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> migrating a vm). Ensure that we create >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 'raw' format XML disk definitions when the >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> storage format is RAW. Move cleanupDisk >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> logic to storage adaptors so that each >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> adaptor type can clean up its disks in is >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> own way. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> KVMStoragePoolManager: add >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> connectPhysicalDisk, >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> disconnectPhysicalDisk, >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> connectPhysicalDiskViaVmSpec, >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> disconnectPhysicalDiskViaVmSpec, >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> disconnectPhysicalDiskByPath. These all >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> call the specific StorageAdaptor's >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> connectPhysicalDisk, >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> disconnectPhysicalDisk, or >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> disconnectPhysicalDiskByPath calls. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> KVMStorageProcessor: Call >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> connectPhysicalDisk/disconnectPhysicalDisk >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> on the storage adaptor. Whether or not >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this is implemented is up to the storage >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> adaptor. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> LibvirtStorageAdaptor: implement dummy >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> connectPhysicalDisk/disconnectPhysicalDisk, >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> move cleanupDisk logic from >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> LibvirtComputingResource to >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> disconnectPhysicalDiskByPath >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> StorageAdaptor: define >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> connectPhysicalDisk/disconnectPhysicalDisk/disconnectPhysicalDiskByPath >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in the interface >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Testing >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Basic testing with my storage adaptor >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Diffs >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> core/src/com/cloud/agent/api/MigrateCommand.java >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (5042b8c) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (3ee811f) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (e09c9ba) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (c69f9b0) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (123a9f1) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/StorageAdaptor.java >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (4956d8d) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> server/src/com/cloud/vm/VirtualMachineManagerImpl.java >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (d46bbb0) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> View >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Diff<https://reviews.apache.org/r/14381/diff/> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> *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> >>>>>>>>>>>>>>>>>>>>>> *™* >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>> *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> >>>>>>>>> *™* >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> *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> *™*