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>
*™*

Reply via email to