That's right. All should be well.
On Oct 22, 2013 6:03 PM, "Mike Tutkowski" <mike.tutkow...@solidfire.com>
wrote:

> Looks like we disconnect physical disks when the VM is stopped.
>
> I didn't see that before.
>
> I suppose that means the disks are physically disconnected when the VM is
> stopped, but the CloudStack DB still has the VM associated with the disks
> for the next time the VM may be started up (unless someone does a
> disconnect while the VM is in the Stopped State).
>
>
> On Tue, Oct 22, 2013 at 4:19 PM, Mike Tutkowski <
> mike.tutkow...@solidfire.com> wrote:
>
>> Hey Marcus,
>>
>> Quick question for you related to attaching/detaching volumes when the VM
>> is in the Stopped State.
>>
>> If I detach a volume from a VM that is in the Stopped State, the DB seems
>> to get updated, but I don't see a command going to the KVM hypervisor that
>> leads to the removal of the iSCSI target.
>>
>> It seems the iSCSI target is only removed the next time the VM is started.
>>
>> Do you know if this is true?
>>
>> If it is, I'm concerned that the volume could be attached to another VM
>> before the Stopped VM is re-started and when the Stopped VM gets restarted
>> that it would disconnect the iSCSI volume from underneath the VM that now
>> has the volume attached.
>>
>> I still want to perform some tests on this, but am first trying to get a
>> VM to start after I've attached a volume to it when it was in the Stopped
>> State.
>>
>> Thanks,
>> Mike
>>
>>
>> On Mon, Oct 21, 2013 at 10:57 PM, Mike Tutkowski <
>> mike.tutkow...@solidfire.com> wrote:
>>
>>> Thanks for that info, Marcus.
>>>
>>> By the way, I wanted to see if I could attach my volume to a VM in the
>>> Stopped State.
>>>
>>> The attach logic didn't trigger any exceptions; however, when I started
>>> the VM, I received an Insufficient Capacity exception.
>>>
>>> If I detach the volume and then start the VM, the VM starts just fine.
>>>
>>> I noticed a problem here (in StoragePoolHostDaoImpl):
>>>
>>>     @Override
>>>
>>>     public StoragePoolHostVO findByPoolHost(long poolId, long hostId) {
>>>
>>>         SearchCriteria<StoragePoolHostVO> sc = PoolHostSearch.create();
>>>
>>>         sc.setParameters("pool_id", poolId);
>>>
>>>         sc.setParameters("host_id", hostId);
>>>
>>>         return findOneIncludingRemovedBy(sc);
>>>
>>>     }
>>> The findOneIncludingRemovedBy method returns null (the poolId is my
>>> storage pool's ID and the hostId is the expected host ID).
>>>
>>> I'm not sure what this method is trying to do.
>>>
>>> I looked in the storage_pool_host_ref table (is that the correct table?)
>>> and it only has one row, which maps the local storage pool of the KVM host
>>> to the KVM host (which explains why no match is found for my situation).
>>>
>>> Do you understand what this logic is trying to do?
>>>
>>> Thanks!
>>>
>>>
>>>
>>> On Mon, Oct 21, 2013 at 8:08 PM, Marcus Sorensen <shadow...@gmail.com>wrote:
>>>
>>>> Do you have the capability to clone the root disk? Normally the
>>>> template is installed to primary, and then cloned for each root disk.
>>>> In some cases (such as CLVM), this isn't efficient and so the template
>>>> is copied fresh to populate each root disk.
>>>>
>>>> I'm actually not 100% sure how this works in the new code. It used to
>>>> be handled by copyPhysicalDisk in the storage adaptor, called by
>>>> copyTemplateToPrimaryStorage, which runs on the agent. It would pass
>>>> template/secondary storage info, and the destination volume/primary
>>>> storage info, and copyPhysicalDisk would do the work of installing the
>>>> image to the destination.  Then subsequent root disks would be cloned
>>>> in CreateCommand by calling createDiskFromTemplate.
>>>>
>>>> In master it looks like this was moved to KVMStorageProcessor
>>>> 'cloneVolumeFromBaseTemplate', although I think this just takes over
>>>> as default, and there's something in your storage driver that should
>>>> be capable of cloning templates on the mgmt server side. I'm less sure
>>>> about how the template gets to primary storage in the first place, I
>>>> assume copyTemplateToPrimaryStorage in KVMStorageProcessor calling
>>>> copyPhysicalDisk in your adaptor. It's a bit tough for me to tell
>>>> since our earlier storage adaptor did everything on the host it mostly
>>>> just worked with the default stuff.
>>>>
>>>> On Mon, Oct 21, 2013 at 4:49 PM, Mike Tutkowski
>>>> <mike.tutkow...@solidfire.com> wrote:
>>>> > Hey Marcus,
>>>> >
>>>> > So...now that this works well for data disks, I was wondering what
>>>> might be
>>>> > involved in getting this process to work for root disks.
>>>> >
>>>> > Can you point me in the right direction as far as what gets invoked
>>>> when a
>>>> > VM is being created on KVM (so that its root disk can be created and
>>>> the
>>>> > necessary template laid down or ISO installed)?
>>>> >
>>>> > Thanks!
>>>> >
>>>> >
>>>> > On Mon, Oct 21, 2013 at 1:14 PM, Mike Tutkowski
>>>> > <mike.tutkow...@solidfire.com> wrote:
>>>> >>
>>>> >> Hey Marcus,
>>>> >>
>>>> >> Just wanted to let you know the branch of mine that has your code
>>>> and mine
>>>> >> appears to work well with regards to attaching a data disk to a
>>>> running VM:
>>>> >>
>>>> >> fdisk -l from hypervisor:
>>>> >>
>>>> >> http://i.imgur.com/NkP5fo0.png
>>>> >>
>>>> >> fdisk -l from within VM:
>>>> >>
>>>> >> http://i.imgur.com/8YwiiC7.png
>>>> >>
>>>> >> I plan to do more testing on this over the coming days.
>>>> >>
>>>> >> If all goes well, perhaps we can check this code in by the end of the
>>>> >> week?
>>>> >>
>>>> >> Talk to you later,
>>>> >> Mike
>>>> >>
>>>> >>
>>>> >> On Sun, Oct 20, 2013 at 10:23 PM, Mike Tutkowski
>>>> >> <mike.tutkow...@solidfire.com> wrote:
>>>> >>>
>>>> >>> Don't ask me, but it works now (I've been having this trouble quite
>>>> a
>>>> >>> while today).
>>>> >>>
>>>> >>> I guess the trick is to send you an e-mail. :)
>>>> >>>
>>>> >>>
>>>> >>> On Sun, Oct 20, 2013 at 10:05 PM, Marcus Sorensen <
>>>> shadow...@gmail.com>
>>>> >>> wrote:
>>>> >>>>
>>>> >>>> Did you create a service offering that uses local storage, or add a
>>>> >>>> shared primary storage? By default there is no storage that
>>>> matches the
>>>> >>>> built in offerings.
>>>> >>>>
>>>> >>>> On Oct 20, 2013 9:39 PM, "Mike Tutkowski" <
>>>> mike.tutkow...@solidfire.com>
>>>> >>>> wrote:
>>>> >>>>>
>>>> >>>>> Hey Marcus,
>>>> >>>>>
>>>> >>>>> So, I went back to the branch of mine that has your code and mine
>>>> and
>>>> >>>>> was able to create a new CloudStack install from scratch with it
>>>> (once
>>>> >>>>> again, after manually deleting what was in
>>>> /var/lib/libvirt/images to the
>>>> >>>>> get system VMs to start).
>>>> >>>>>
>>>> >>>>> Anyways, my system VMs are running now and I tried to kick off a
>>>> VM
>>>> >>>>> using the CentOS 6.3 image you provided me a while back.
>>>> >>>>>
>>>> >>>>> The virtual router has a Status of Running; however, my VM fails
>>>> to
>>>> >>>>> start (with the generic message of Insufficient Capacity).
>>>> >>>>>
>>>> >>>>> I've not seen this exception before (related to the VR). Do you
>>>> have
>>>> >>>>> any insight into this?:
>>>> >>>>>
>>>> >>>>> com.cloud.exception.ResourceUnavailableException: Resource
>>>> [Pod:1] is
>>>> >>>>> unreachable: Unable to apply userdata and password entry on router
>>>> >>>>> at
>>>> >>>>>
>>>> com.cloud.network.router.VirtualNetworkApplianceManagerImpl.applyRules(VirtualNetworkApplianceManagerImpl.java:3793)
>>>> >>>>> at
>>>> >>>>>
>>>> com.cloud.network.router.VirtualNetworkApplianceManagerImpl.applyUserData(VirtualNetworkApplianceManagerImpl.java:3017)
>>>> >>>>> at
>>>> >>>>>
>>>> com.cloud.network.element.VirtualRouterElement.addPasswordAndUserdata(VirtualRouterElement.java:933)
>>>> >>>>> at
>>>> >>>>>
>>>> org.apache.cloudstack.engine.orchestration.NetworkOrchestrator.prepareElement(NetworkOrchestrator.java:1172)
>>>> >>>>> at
>>>> >>>>>
>>>> org.apache.cloudstack.engine.orchestration.NetworkOrchestrator.prepareNic(NetworkOrchestrator.java:1288)
>>>> >>>>> at
>>>> >>>>>
>>>> org.apache.cloudstack.engine.orchestration.NetworkOrchestrator.prepare(NetworkOrchestrator.java:1224)
>>>> >>>>> at
>>>> >>>>>
>>>> com.cloud.vm.VirtualMachineManagerImpl.advanceStart(VirtualMachineManagerImpl.java:826)
>>>> >>>>> at
>>>> >>>>>
>>>> com.cloud.vm.VirtualMachineManagerImpl.start(VirtualMachineManagerImpl.java:508)
>>>> >>>>> at
>>>> >>>>>
>>>> org.apache.cloudstack.engine.cloud.entity.api.VMEntityManagerImpl.deployVirtualMachine(VMEntityManagerImpl.java:227)
>>>> >>>>> at
>>>> >>>>>
>>>> org.apache.cloudstack.engine.cloud.entity.api.VirtualMachineEntityImpl.deploy(VirtualMachineEntityImpl.java:209)
>>>> >>>>> at
>>>> >>>>>
>>>> com.cloud.vm.UserVmManagerImpl.startVirtualMachine(UserVmManagerImpl.java:3338)
>>>> >>>>> at
>>>> >>>>>
>>>> com.cloud.vm.UserVmManagerImpl.startVirtualMachine(UserVmManagerImpl.java:2919)
>>>> >>>>> at
>>>> >>>>>
>>>> com.cloud.vm.UserVmManagerImpl.startVirtualMachine(UserVmManagerImpl.java:2905)
>>>> >>>>> at
>>>> >>>>>
>>>> com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
>>>> >>>>> at
>>>> >>>>>
>>>> org.apache.cloudstack.api.command.user.vm.DeployVMCmd.execute(DeployVMCmd.java:421)
>>>> >>>>> at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:161)
>>>> >>>>> at
>>>> >>>>>
>>>> com.cloud.api.ApiAsyncJobDispatcher.runJobInContext(ApiAsyncJobDispatcher.java:109)
>>>> >>>>> at
>>>> >>>>>
>>>> com.cloud.api.ApiAsyncJobDispatcher$1.run(ApiAsyncJobDispatcher.java:66)
>>>> >>>>> at
>>>> >>>>>
>>>> org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:56)
>>>> >>>>> at
>>>> >>>>>
>>>> org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:103)
>>>> >>>>> at
>>>> >>>>>
>>>> org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:53)
>>>> >>>>> at
>>>> >>>>>
>>>> com.cloud.api.ApiAsyncJobDispatcher.runJob(ApiAsyncJobDispatcher.java:63)
>>>> >>>>> at
>>>> >>>>>
>>>> org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$1.runInContext(AsyncJobManagerImpl.java:532)
>>>> >>>>> at
>>>> >>>>>
>>>> org.apache.cloudstack.managed.context.ManagedContextRunnable$1.run(ManagedContextRunnable.java:49)
>>>> >>>>> at
>>>> >>>>>
>>>> org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:56)
>>>> >>>>> at
>>>> >>>>>
>>>> org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:103)
>>>> >>>>> at
>>>> >>>>>
>>>> org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:53)
>>>> >>>>> at
>>>> >>>>>
>>>> org.apache.cloudstack.managed.context.ManagedContextRunnable.run(ManagedContextRunnable.java:46)
>>>> >>>>> at
>>>> >>>>>
>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>>>> >>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>>>> >>>>> at
>>>> >>>>>
>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>> >>>>> at
>>>> >>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>> >>>>> at java.lang.Thread.run(Thread.java:724)
>>>> >>>>>
>>>> >>>>> Thanks!
>>>> >>>
>>>> >>>
>>>> >>>
>>>> >>>
>>>> >>> --
>>>> >>> Mike Tutkowski
>>>> >>> Senior CloudStack Developer, SolidFire Inc.
>>>> >>> e: mike.tutkow...@solidfire.com
>>>> >>> o: 303.746.7302
>>>> >>> Advancing the way the world uses the cloud™
>>>> >>
>>>> >>
>>>> >>
>>>> >>
>>>> >> --
>>>> >> Mike Tutkowski
>>>> >> Senior CloudStack Developer, SolidFire Inc.
>>>> >> e: mike.tutkow...@solidfire.com
>>>> >> o: 303.746.7302
>>>> >> Advancing the way the world uses the cloud™
>>>> >
>>>> >
>>>> >
>>>> >
>>>> > --
>>>> > Mike Tutkowski
>>>> > Senior CloudStack Developer, SolidFire Inc.
>>>> > e: mike.tutkow...@solidfire.com
>>>> > o: 303.746.7302
>>>> > Advancing the way the world uses the cloud™
>>>>
>>>
>>>
>>>
>>> --
>>> *Mike Tutkowski*
>>> *Senior CloudStack Developer, SolidFire Inc.*
>>> e: mike.tutkow...@solidfire.com
>>> o: 303.746.7302
>>> Advancing the way the world uses the 
>>> cloud<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