Return-Path: X-Original-To: apmail-cloudstack-dev-archive@www.apache.org Delivered-To: apmail-cloudstack-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C48F110A95 for ; Wed, 9 Oct 2013 05:48:00 +0000 (UTC) Received: (qmail 70339 invoked by uid 500); 9 Oct 2013 05:48:00 -0000 Delivered-To: apmail-cloudstack-dev-archive@cloudstack.apache.org Received: (qmail 70278 invoked by uid 500); 9 Oct 2013 05:47:58 -0000 Mailing-List: contact dev-help@cloudstack.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cloudstack.apache.org Delivered-To: mailing list dev@cloudstack.apache.org Received: (qmail 70270 invoked by uid 99); 9 Oct 2013 05:47:57 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 09 Oct 2013 05:47:57 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of shadowsor@gmail.com designates 209.85.212.49 as permitted sender) Received: from [209.85.212.49] (HELO mail-vb0-f49.google.com) (209.85.212.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 09 Oct 2013 05:47:53 +0000 Received: by mail-vb0-f49.google.com with SMTP id w16so178013vbb.36 for ; Tue, 08 Oct 2013 22:47:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=F3TvHOPYscYPhKOHRrob1CPCEBFVcwlLDbKKnM5QF7g=; b=g4cIXQ5ow0z7mMzs5TYCDXgVt2zskzZumhUV/tLRftHZDlKZjhQLIof512bFqs8no2 wpLlxkvscb0vybzhKRVzsJRBvMjsnXqddvDYzNgMGofEuh1YHGjgehUN4u6rrDMuh3e/ 0T453M1nhcCRdPCX1fHK0qpOQnrgn1TvtWVMQ9k1bxsU62+s50Dwwyx0ko/rE2HRZrxw gfTgEHWL+f9QvjpfbYcQoTsB8QsPv/kYIj0rKTId7SDmAmmhgzKxkEC+BK2g6MMjUFNe HZwXLHyy8qN9Ez5EWi5pK7myovoP/eT10zygiwQhPbWJhpBvrPuDrtW/pysEzpTbJcLN Q9FQ== MIME-Version: 1.0 X-Received: by 10.52.35.20 with SMTP id d20mr101367vdj.33.1381297652625; Tue, 08 Oct 2013 22:47:32 -0700 (PDT) Received: by 10.52.165.6 with HTTP; Tue, 8 Oct 2013 22:47:32 -0700 (PDT) Received: by 10.52.165.6 with HTTP; Tue, 8 Oct 2013 22:47:32 -0700 (PDT) In-Reply-To: References: <20130930171409.28587.79669@reviews.apache.org> <20131007194929.20898.27320@reviews.apache.org> Date: Tue, 8 Oct 2013 23:47:32 -0600 Message-ID: Subject: Re: Review Request 14381: KVM: add connect/disconnect capabilities to StorageAdaptors so that external storage services can attach/detach devices on-demand From: Marcus Sorensen To: Mike Tutkowski Cc: dev@cloudstack.apache.org Content-Type: multipart/alternative; boundary=20cf307d00cee9f88004e8486bb6 X-Virus-Checked: Checked by ClamAV on apache.org --20cf307d00cee9f88004e8486bb6 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable 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" wrote: > Great - thanks! > > > On Tue, Oct 8, 2013 at 11:38 PM, Marcus Sorensen wro= te: > >> 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" >> 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 i= s >>> broken, as well (related to Disk Offerings). >>> >>> >>> On Tue, Oct 8, 2013 at 10:39 PM, Mike Tutkowski < >>> mike.tutkowski@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.tutkowski@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 = 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.tutkowski@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.tutkowski@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+tem= plates%2C+Secondary+storage+troubleshooting >>>>>>>> >>>>>>>> >>>>>>>> On Tue, Oct 8, 2013 at 9:04 PM, Mike Tutkowski < >>>>>>>> mike.tutkowski@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 < >>>>>>>>> shadowsor@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 prepp= ed a >>>>>>>>>> current system vm template (maybe you're even reusing a secondar= y 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.tutkowski@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 < >>>>>>>>>>> shadowsor@gmail.com> wrote: >>>>>>>>>>> >>>>>>>>>>>> You may just have to wait a bit. That means the VMS are starte= d >>>>>>>>>>>> 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.tutkowski@solidfire.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Doh! I didn't restart the necessary service after exporting m= y >>>>>>>>>>>>> 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 < >>>>>>>>>>>>> shadowsor@gmail.com> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> Can you mount the secondary storage from your KVM host? >>>>>>>>>>>>>> On Oct 8, 2013 4:01 PM, "Mike Tutkowski" < >>>>>>>>>>>>>> mike.tutkowski@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) Wa= s >>>>>>>>>>>>>>> unable to find lock for the key template_spool_ref2 and thr= ead 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=3D1|ROOT]:com.cloud.utils.exception.CloudRuntimeEx= ception: >>>>>>>>>>>>>>> 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 unexpecte= d: exit status 32 >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> org.apache.cloudstack.engine.orchestration.VolumeOrchestrat= or.recreateVolume(VolumeOrchestrator.java:1027) >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> org.apache.cloudstack.engine.orchestration.VolumeOrchestrat= or.prepare(VolumeOrchestrator.java:1069) >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> com.cloud.vm.VirtualMachineManagerImpl.advanceStart(Virtual= MachineManagerImpl.java:830) >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> com.cloud.vm.VirtualMachineManagerImpl.advanceStart(Virtual= MachineManagerImpl.java:649) >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> com.cloud.storage.secondary.SecondaryStorageManagerImpl.sta= rtSecStorageVm(SecondaryStorageManagerImpl.java:261) >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> com.cloud.storage.secondary.SecondaryStorageManagerImpl.all= ocCapacity(SecondaryStorageManagerImpl.java:693) >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> com.cloud.storage.secondary.SecondaryStorageManagerImpl.exp= andPool(SecondaryStorageManagerImpl.java:1265) >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> com.cloud.secstorage.PremiumSecondaryStorageManagerImpl.sca= nPool(PremiumSecondaryStorageManagerImpl.java:123) >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> com.cloud.secstorage.PremiumSecondaryStorageManagerImpl.sca= nPool(PremiumSecondaryStorageManagerImpl.java:50) >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> com.cloud.vm.SystemVmLoadScanner.loadScan(SystemVmLoadScann= er.java:101) >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> com.cloud.vm.SystemVmLoadScanner.access$100(SystemVmLoadSca= nner.java:33) >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> com.cloud.vm.SystemVmLoadScanner$1.reallyRun(SystemVmLoadSc= anner.java:78) >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> com.cloud.vm.SystemVmLoadScanner$1.runInContext(SystemVmLoa= dScanner.java:71) >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> org.apache.cloudstack.managed.context.ManagedContextRunnabl= e$1.run(ManagedContextRunnable.java:49) >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> org.apache.cloudstack.managed.context.impl.DefaultManagedCo= ntext$1.call(DefaultManagedContext.java:56) >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> org.apache.cloudstack.managed.context.impl.DefaultManagedCo= ntext.callWithContext(DefaultManagedContext.java:103) >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> org.apache.cloudstack.managed.context.impl.DefaultManagedCo= ntext.runWithContext(DefaultManagedContext.java:53) >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> org.apache.cloudstack.managed.context.ManagedContextRunnabl= e.run(ManagedContextRunnable.java:46) >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executo= rs.java:471) >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> java.util.concurrent.FutureTask.runAndReset(FutureTask.java= :304) >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledF= utureTask.access$301(ScheduledThreadPoolExecutor.java:178) >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledF= utureTask.run(ScheduledThreadPoolExecutor.java:293) >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoo= lExecutor.java:1145) >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPo= olExecutor.java:615) >>>>>>>>>>>>>>> at java.lang.Thread.run(Thread.java:724) >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Tue, Oct 8, 2013 at 3:58 PM, Mike Tutkowski < >>>>>>>>>>>>>>> mike.tutkowski@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, J= ava 7, KVM, Git, >>>>>>>>>>>>>>>> CloudStack, CloudStack DEBs, KVM system template, etc.) an= d 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 o= n >>>>>>>>>>>>>>>> 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 m= ine. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Mon, Oct 7, 2013 at 7:46 PM, Mike Tutkowski < >>>>>>>>>>>>>>>> mike.tutkowski@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-stab= le in this regard. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I plan to set up a machine in the lab tomorrow with Ubunt= u >>>>>>>>>>>>>>>>> 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 < >>>>>>>>>>>>>>>>> shadowsor@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 repr= esented by this >>>>>>>>>>>>>>>>>> patch can only go into master. >>>>>>>>>>>>>>>>>> On Oct 7, 2013 5:01 PM, "Mike Tutkowski" < >>>>>>>>>>>>>>>>>> mike.tutkowski@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 ori= ginally 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#noconfigfo= r more info. >>>>>>>>>>>>>>>>>>> java.lang.reflect.InvocationTargetException >>>>>>>>>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native >>>>>>>>>>>>>>>>>>> Method) >>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMetho= dAccessorImpl.java:57) >>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(Delegat= ingMethodAccessorImpl.java:43) >>>>>>>>>>>>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:606) >>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>> org.apache.commons.daemon.support.DaemonLoader.start(Da= emonLoader.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.(Native.java:139) >>>>>>>>>>>>>>>>>>> at org.libvirt.jna.Libvirt.(Unknown Source) >>>>>>>>>>>>>>>>>>> at org.libvirt.Library.(Unknown Source) >>>>>>>>>>>>>>>>>>> at org.libvirt.Connect.(Unknown Source) >>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>> com.cloud.hypervisor.kvm.resource.LibvirtConnection.get= Connection(LibvirtConnection.java:44) >>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>> com.cloud.hypervisor.kvm.resource.LibvirtConnection.get= Connection(LibvirtConnection.java:37) >>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>> com.cloud.hypervisor.kvm.resource.LibvirtComputingResou= rce.configure(LibvirtComputingResource.java:733) >>>>>>>>>>>>>>>>>>> at com.cloud.agent.Agent.(Agent.java:161) >>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>> com.cloud.agent.AgentShell.launchAgent(AgentShell.java:= 415) >>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>> com.cloud.agent.AgentShell.launchAgentFromClassInfo(Age= ntShell.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.tutkowski@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 < >>>>>>>>>>>>>>>>>>>> shadowsor@gmail.com> wrote: >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> I know you mentioned you might need some minor change= s >>>>>>>>>>>>>>>>>>>>> to it, as well as other minor changes just for master= (attach volume >>>>>>>>>>>>>>>>>>>>> switched to pool vs adapter or something). My hope wa= s 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.tutkowski@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 get= ting 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 t= he 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 nec= essary 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 fi= t. >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> MigrateCommand: pass vmTO object so we can see which= disks/storage pool types belong to the vm when migrating a VM. This facili= tates being able to call disconnectPhysicalDisksViaVmSpec >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> VirtualMachineManagerImpl: pass VirtualMachineTO whe= n migrating so that we can see which disks belong to the VM and what storag= e pools/adaptors should be used >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> LibvirtComputingResource: add calls KVMStoragePoolMa= nager's connectPhysicalDiskViaVmSpec and disconnectPhysicalDiskViaVmSpec ca= lls where appropriate (when starting a vm, migrating a vm). Ensure that we = create 'raw' format XML disk definitions when the storage format is RAW. Mo= ve cleanupDisk logic to storage adaptors so that each adaptor type can clea= n up its disks in is own way. >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> KVMStoragePoolManager: add connectPhysicalDisk, dis= connectPhysicalDisk, connectPhysicalDiskViaVmSpec, disconnectPhysicalDiskVi= aVmSpec, disconnectPhysicalDiskByPath. These all call the specific StorageA= daptor's connectPhysicalDisk, disconnectPhysicalDisk, or disconnectPhysical= DiskByPath calls. >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> KVMStorageProcessor: Call connectPhysicalDisk/discon= nectPhysicalDisk on the storage adaptor. Whether or not this is implemented= is up to the storage adaptor. >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> LibvirtStorageAdaptor: implement dummy connectPhysic= alDisk/disconnectPhysicalDisk, move cleanupDisk logic from LibvirtComputing= Resource to disconnectPhysicalDiskByPath >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> StorageAdaptor: define connectPhysicalDisk/disconnec= tPhysicalDisk/disconnectPhysicalDiskByPath in the interface >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> Testing >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> Basic testing with my storage adaptor >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> Diffs >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> - core/src/com/cloud/agent/api/MigrateCommand.jav= a >>>>>>>>>>>>>>>>>>>>>> (5042b8c) >>>>>>>>>>>>>>>>>>>>>> - plugins/hypervisors/kvm/src/com/cloud/hyperviso= r/kvm/resource/LibvirtComputingResource.java >>>>>>>>>>>>>>>>>>>>>> (3ee811f) >>>>>>>>>>>>>>>>>>>>>> - plugins/hypervisors/kvm/src/com/cloud/hyperviso= r/kvm/storage/KVMStoragePoolManager.java >>>>>>>>>>>>>>>>>>>>>> (e09c9ba) >>>>>>>>>>>>>>>>>>>>>> - plugins/hypervisors/kvm/src/com/cloud/hyperviso= r/kvm/storage/KVMStorageProcessor.java >>>>>>>>>>>>>>>>>>>>>> (c69f9b0) >>>>>>>>>>>>>>>>>>>>>> - plugins/hypervisors/kvm/src/com/cloud/hyperviso= r/kvm/storage/LibvirtStorageAdaptor.java >>>>>>>>>>>>>>>>>>>>>> (123a9f1) >>>>>>>>>>>>>>>>>>>>>> - plugins/hypervisors/kvm/src/com/cloud/hyperviso= r/kvm/storage/StorageAdaptor.java >>>>>>>>>>>>>>>>>>>>>> (4956d8d) >>>>>>>>>>>>>>>>>>>>>> - server/src/com/cloud/vm/VirtualMachineManagerIm= pl.java >>>>>>>>>>>>>>>>>>>>>> (d46bbb0) >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> View Diff >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>> *Mike Tutkowski* >>>>>>>>>>>>>>>>>>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>>>>>>>>>>>>>>>>> e: mike.tutkowski@solidfire.com >>>>>>>>>>>>>>>>>>>> o: 303.746.7302 >>>>>>>>>>>>>>>>>>>> Advancing the way the world uses the cloud >>>>>>>>>>>>>>>>>>>> *=99* >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>> *Mike Tutkowski* >>>>>>>>>>>>>>>>>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>>>>>>>>>>>>>>>> e: mike.tutkowski@solidfire.com >>>>>>>>>>>>>>>>>>> o: 303.746.7302 >>>>>>>>>>>>>>>>>>> Advancing the way the world uses the cloud >>>>>>>>>>>>>>>>>>> *=99* >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>> *Mike Tutkowski* >>>>>>>>>>>>>>>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>>>>>>>>>>>>>> e: mike.tutkowski@solidfire.com >>>>>>>>>>>>>>>>> o: 303.746.7302 >>>>>>>>>>>>>>>>> Advancing the way the world uses the cloud >>>>>>>>>>>>>>>>> *=99* >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>> *Mike Tutkowski* >>>>>>>>>>>>>>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>>>>>>>>>>>>> e: mike.tutkowski@solidfire.com >>>>>>>>>>>>>>>> o: 303.746.7302 >>>>>>>>>>>>>>>> Advancing the way the world uses the cloud >>>>>>>>>>>>>>>> *=99* >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>> *Mike Tutkowski* >>>>>>>>>>>>>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>>>>>>>>>>>> e: mike.tutkowski@solidfire.com >>>>>>>>>>>>>>> o: 303.746.7302 >>>>>>>>>>>>>>> Advancing the way the world uses the cloud >>>>>>>>>>>>>>> *=99* >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> *Mike Tutkowski* >>>>>>>>>>>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>>>>>>>>>> e: mike.tutkowski@solidfire.com >>>>>>>>>>>>> o: 303.746.7302 >>>>>>>>>>>>> Advancing the way the world uses the cloud >>>>>>>>>>>>> *=99* >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> *Mike Tutkowski* >>>>>>>>>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>>>>>>>> e: mike.tutkowski@solidfire.com >>>>>>>>>>> o: 303.746.7302 >>>>>>>>>>> Advancing the way the world uses the cloud >>>>>>>>>>> *=99* >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> *Mike Tutkowski* >>>>>>>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>>>>>> e: mike.tutkowski@solidfire.com >>>>>>>>> o: 303.746.7302 >>>>>>>>> Advancing the way the world uses the cloud >>>>>>>>> *=99* >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> *Mike Tutkowski* >>>>>>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>>>>> e: mike.tutkowski@solidfire.com >>>>>>>> o: 303.746.7302 >>>>>>>> Advancing the way the world uses the cloud >>>>>>>> *=99* >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> *Mike Tutkowski* >>>>>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>>>> e: mike.tutkowski@solidfire.com >>>>>>> o: 303.746.7302 >>>>>>> Advancing the way the world uses the cloud >>>>>>> *=99* >>>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> *Mike Tutkowski* >>>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>> e: mike.tutkowski@solidfire.com >>>>> o: 303.746.7302 >>>>> Advancing the way the world uses the cloud >>>>> *=99* >>>>> >>>> >>>> >>>> >>>> -- >>>> *Mike Tutkowski* >>>> *Senior CloudStack Developer, SolidFire Inc.* >>>> e: mike.tutkowski@solidfire.com >>>> o: 303.746.7302 >>>> Advancing the way the world uses the cloud >>>> *=99* >>>> >>> >>> >>> >>> -- >>> *Mike Tutkowski* >>> *Senior CloudStack Developer, SolidFire Inc.* >>> e: mike.tutkowski@solidfire.com >>> o: 303.746.7302 >>> Advancing the way the world uses the cloud >>> *=99* >>> >> > > > -- > *Mike Tutkowski* > *Senior CloudStack Developer, SolidFire Inc.* > e: mike.tutkowski@solidfire.com > o: 303.746.7302 > Advancing the way the world uses the cloud > *=99* > --20cf307d00cee9f88004e8486bb6--