cloudstack-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marcus Sorensen (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CLOUDSTACK-1648) Unable to add KVM host
Date Wed, 13 Mar 2013 00:47:13 GMT

    [ https://issues.apache.org/jira/browse/CLOUDSTACK-1648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13600671#comment-13600671
] 

Marcus Sorensen commented on CLOUDSTACK-1648:
---------------------------------------------

I've got a patch I'm testing for this, will post soon.

Normally, the code looks for a pool with the same uuid, and if it finds that, and it's running,
it uses it. In this case, the uuid doesn't match, but the storage pool is ultimately the same.
So this code checks all running pools for matching path, and remove the pool so that it can
be re-added with the right name/uuid. Any existing volumes will still exist, so if they're
a part of an old installation they'll be orphaned, but it seems dangerous for us to delete
volumes so we'll assume the admin knows what they're doing. If they're somehow a part of the
current installation, they'll be ready to go.

The only thing we don't handle are pools that are defined, but inactive. This will still throw
the storage resource conflict, because we don't have java libvirt bindings to list all pools,
only active ones. I added some logging for this though to provide the admin with some direction
on what might be the issue.

Finally, I changed all storage pool creation calls to be non-persistent. They act identically,
but libvirt doesn't save the definitions locally. We did this for VMs awhile back as well.
Leaving local definitions all over, that can get out of sync with other KVM hosts or cause
conflicts like this is a bad idea. This will only mean anything on reboot, and should help
with any 'defined but not active' storage pool conflicts.
                
> Unable to add KVM host 
> -----------------------
>
>                 Key: CLOUDSTACK-1648
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-1648
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the default.) 
>          Components: KVM
>    Affects Versions: 4.0.0, 4.1.0
>            Reporter: Harikrishna Patnala
>            Priority: Blocker
>             Fix For: 4.0.2
>
>
> Trying to add a kvm host in basic zone.
> Failed after time out occured.
> Checked the agent log in KVM host, seems like conflict occurring with storage pool.
> Tried removing the storage pool and re-installing the cloudstack agent.
> Even then failing on the same error.
> Here is the cloudstack agent log in kvm:
> 2013-03-12 09:26:46,159 DEBUG [kvm.resource.LibvirtComputingResource] (Agent-Handler-1:null)
cpus=2, speed=2992, ram=3846610944, dom0ram=384661094
> 2013-03-12 09:26:46,163 DEBUG [cloud.resource.ServerResourceBase] (Agent-Handler-1:null)
Parameters for private nic: 10.147.28.22 - bc:30:5b:a0:a7:7f-255.255.255.0
> 2013-03-12 09:26:46,163 DEBUG [cloud.resource.ServerResourceBase] (Agent-Handler-1:null)
Parameters for storage nic: 10.147.28.22 - bc:30:5b:a0:a7:7f-255.255.255.0
> 2013-03-12 09:26:46,163 DEBUG [cloud.resource.ServerResourceBase] (Agent-Handler-1:null)
Parameters for pubic nic: 10.147.28.22 - bc:30:5b:a0:a7:7f-255.255.255.0
> 2013-03-12 09:26:46,163 DEBUG [kvm.resource.LibvirtComputingResource] (Agent-Handler-1:null)
Executing: /usr/share/cloudstack-common/scripts/vm/hypervisor/versions.sh 
> 2013-03-12 09:26:46,173 DEBUG [kvm.resource.LibvirtComputingResource] (Agent-Handler-1:null)
Execution is successful.
> 2013-03-12 09:26:46,181 DEBUG [kvm.storage.LibvirtStorageAdaptor] (Agent-Handler-1:null)
<pool type='dir'>
> <name>7a0e2394-dbc7-497d-bfb9-98609ca2e36f</name>
> <uuid>7a0e2394-dbc7-497d-bfb9-98609ca2e36f</uuid>
> <target>
> <path>/var/lib/libvirt/images/</path>
> </target>
> </pool>
> 2013-03-12 09:26:46,183 ERROR [kvm.storage.LibvirtStorageAdaptor] (Agent-Handler-1:null)
org.libvirt.LibvirtException: operation failed: Storage source conflict with pool: '97b3188f-32c6-4637-9bc6-084fa1bbaa14'
> 2013-03-12 09:26:46,184 WARN  [utils.nio.Task] (Agent-Handler-1:null) Caught the following
exception but pushing on
> java.lang.NullPointerException
> 	at com.cloud.hypervisor.kvm.storage.LibvirtStorageAdaptor.createStoragePool(LibvirtStorageAdaptor.java:462)
> 	at com.cloud.hypervisor.kvm.storage.KVMStoragePoolManager.createStoragePool(KVMStoragePoolManager.java:103)
> 	at com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.initialize(LibvirtComputingResource.java:3528)
> 	at com.cloud.agent.Agent.sendStartup(Agent.java:320)
> 	at com.cloud.agent.Agent$ServerHandler.doTask(Agent.java:871)
> 	at com.cloud.utils.nio.Task.run(Task.java:83)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> 	at java.lang.Thread.run(Thread.java:679)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message