unable to atach-volume on different host (iscsiadm has volume-00000006, nova has vol-00000006)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
I'm trying to euca-attach-volume.
Setup consists of one controller (IP 172.16.120.229) and one compute node (IP 172.16.120.228).
nova-volumes is running on compute node (ubuntu03c).
I can attach volume to guest running on compute node.
I cann't attach volume to guest running on controller node (euca-attach-volume is executed on controller (ubuntu04a) too).
ubuntu04a, nova-compute.log:
2011-02-03 12:53:05,244 ERROR nova.root [-] Exception during message handling
(nova.root): TRACE: Traceback (most recent call last):
(nova.root): TRACE: File "/usr/lib/
(nova.root): TRACE: rval = node_func(
(nova.root): TRACE: File "/usr/lib/
(nova.root): TRACE: function(self, context, instance_id, *args, **kwargs)
(nova.root): TRACE: File "/usr/lib/
(nova.root): TRACE: volume_id)
(nova.root): TRACE: File "/usr/lib/
(nova.root): TRACE: path = self.driver.
(nova.root): TRACE: File "/usr/lib/
(nova.root): TRACE: volume['host'])
(nova.root): TRACE: File "/usr/lib/
(nova.root): TRACE: "sendtargets -p %s" % host)
(nova.root): TRACE: File "/usr/lib/
(nova.root): TRACE: cmd=cmd)
(nova.root): TRACE: ProcessExecutio
(nova.root): TRACE: Command: sudo iscsiadm -m discovery -t sendtargets -p ubuntu03c
(nova.root): TRACE: Exit code: 255
(nova.root): TRACE: Stdout: ''
(nova.root): TRACE: Stderr: 'iscsiadm: Cannot resolve host ubuntu03c. getaddrinfo error: [Name or service not known]\n\niscsiadm: cannot resolve host name ubuntu03c\
(nova.root): TRACE:
I just edited /etc/hosts. Next attempt:
011-02-03 13:11:48,818 AUDIT nova.compute.
2011-02-03 13:11:48,915 ERROR nova.root [-] Exception during message handling
(nova.root): TRACE: Traceback (most recent call last):
(nova.root): TRACE: File "/usr/lib/
(nova.root): TRACE: rval = node_func(
(nova.root): TRACE: File "/usr/lib/
(nova.root): TRACE: function(self, context, instance_id, *args, **kwargs)
(nova.root): TRACE: File "/usr/lib/
(nova.root): TRACE: volume_id)
(nova.root): TRACE: File "/usr/lib/
(nova.root): TRACE: path = self.driver.
(nova.root): TRACE: File "/usr/lib/
(nova.root): TRACE: volume['host'])
(nova.root): TRACE: File "/usr/lib/
(nova.root): TRACE: iscsi_portal = location.
(nova.root): TRACE: UnboundLocalError: local variable 'location' referenced before assignment
(nova.root): TRACE:
I guees restart of some iscsi services should help.
It didn't, so I restarted both hosts, and trace still occurs.
Some commands:
root@ubuntu04a:~# dpkg --list | grep nova-
ii nova-api 2011.1~
ii nova-common 2011.1~
ii nova-compute 2011.1~
ii nova-doc 2011.1~
ii nova-network 2011.1~
ii nova-objectstore 2011.1~
ii nova-scheduler 2011.1~
ii nova-volume 2011.1~
root@ubuntu04a:~# euca-describe-
RESERVATION r-2k6s17yl xproj default
INSTANCE i-00000059 ami-iv78p74r 10.0.0.27 10.0.0.27 running mykey (xproj, ubuntu03c) 0 m1.small 2011-02-03 13:05:25 nova
RESERVATION r-nd9pt10v xproj default
INSTANCE i-00000058 ami-iv78p74r 10.0.0.26 10.0.0.26 running mykey (xproj, ubuntu04a) 0 m1.small 2011-02-03 13:05:13 nova
root@ubuntu04a:~# euca-describe-
...
VOLUME vol-00000006 2 nova available (jc, ubuntu03c, None, None) 2011-02-01 10:06:45
VOLUME vol-00000007 1 nova in-use (jc, ubuntu03c, i-0000004f[
root@ubuntu04a:~# euca-attach-volume -i i-00000058 -d /dev/hdb vol-00000006
root@ubuntu04a:~# iscsiadm -m discovery -t sendtargets -p ubuntu03c
172.16.
192.168.
172.16.
192.168.
you need to set --iscsi_ ip_prefix= 192.168. 122 for it to know which ip to use to connect to the target.