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 boolean connectPhysicalDisksViaVmSpec(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>
*™*

Reply via email to