[one-users] Error with TM_LVM
Jaime Melis
jmelis at opennebula.org
Mon Feb 21 08:38:53 PST 2011
Hi Anoop,
we have figured out what's wrong. A while back we changed the $SED variable
and to use by default the '-r' option (extended reg-exps), but that change
broke the sed script which parses de VM ID which is passed to the tm_clone
script. We have reported a bug and submitted a patch:
http://dev.opennebula.org/issues/496
In order to fix it manually, edit "$ONE_LOCATION/etc/tm_lvm/tm_lvmrc" and
change this line:
echo $1 |$SED -e 's%^.*/\([^/]*\)/images.*$%\1%'
to this one:
echo $1 |$SED -e 's%^.*/([^/]*)/images.*$%\1%'
The link to the patch:
http://dev.opennebula.org/projects/opennebula/repository/revisions/ef738d5d51cefff55f7ee2aec4f7721473ebeb0e/diff/src/tm_mad/lvm/tm_lvmrc
Thanks for reporting this!
cheers,
Jaime
On Wed, Feb 16, 2011 at 6:08 PM, Anoop L <anpl1980 at gmail.com> wrote:
> sure Jaime.
>
> I have attached the vm.log as well.
>
> Vm.log:
>
> Wed Feb 16 20:49:43 2011 [DiM][I]: New VM state is ACTIVE.
> Wed Feb 16 20:49:43 2011 [LCM][I]: New VM state is PROLOG.
> Wed Feb 16 20:49:43 2011 [VM][I]: Virtual Machine has no context
> Wed Feb 16 20:49:54 2011 [TM][I]: Command execution fail:
> /opt/cloud/one/lib/tm_commands/lvm/tm_clone.sh
> ast462:/opt/cloud/one/var//images/fd34675a5656d3b5b92e01b11dbae9c819e5f4c4
> ast-wks-348:/opt/cloud/one/var//86/images/disk.0
> Wed Feb 16 20:49:54 2011 [TM][I]: STDERR follows.
> Wed Feb 16 20:49:54 2011 [TM][I]: /bin/sed: -e expression #1, char 29:
> invalid reference \1 on `s' command's RHS
> Wed Feb 16 20:49:54 2011 [TM][I]: ERROR MESSAGE --8<------
> Wed Feb 16 20:49:54 2011 [TM][I]: Logical volume "lv-one--0" already exists
> in volume group "vg00"
> Wed Feb 16 20:49:54 2011 [TM][I]: ERROR MESSAGE ------>8--
> Wed Feb 16 20:49:54 2011 [TM][I]: ExitCode: 5
> Wed Feb 16 20:49:54 2011 [TM][I]: tm_clone.sh:
> ast462:/opt/cloud/one/var//images/fd34675a5656d3b5b92e01b11dbae9c819e5f4c4
> ast-wks-348:/opt/cloud/one/var//86/images/disk.0
> Wed Feb 16 20:49:54 2011 [TM][I]: tm_clone.sh: DST:
> /opt/cloud/one/var//86/images/disk.0
> Wed Feb 16 20:49:54 2011 [TM][I]: tm_clone.sh: Creating directory
> /opt/cloud/one/var//86/images
> Wed Feb 16 20:49:54 2011 [TM][I]: tm_clone.sh: Executed "/usr/bin/ssh
> ast-wks-348 mkdir -p /opt/cloud/one/var//86/images".
> Wed Feb 16 20:49:54 2011 [TM][I]: tm_clone.sh: Creating LV lv-one--0
> Wed Feb 16 20:49:54 2011 [TM][I]: tm_clone.sh: ERROR: Command "/usr/bin/ssh
> ast-wks-348 /usr/bin/sudo /sbin/lvcreate -L20G -n lv-one--0 vg00" failed.
> Wed Feb 16 20:49:54 2011 [TM][I]: tm_clone.sh: ERROR: Logical volume
> "lv-one--0" already exists in volume group "vg00"
> Wed Feb 16 20:49:54 2011 [TM][E]: Error excuting image transfer script:
> Logical volume "lv-one--0" already exists in volume group "vg00"
> Wed Feb 16 20:49:55 2011 [DiM][I]: New VM state is FAILED
> Wed Feb 16 20:50:00 2011 [TM][W]: Ignored: LOG - 86 Command execution fail:
> /opt/cloud/one/lib/tm_commands/lvm/tm_delete.sh
> ast-wks-348:/opt/cloud/one/var//86/images
>
> Wed Feb 16 20:50:00 2011 [TM][W]: Ignored: LOG - 86 STDERR follows.
>
> Wed Feb 16 20:50:00 2011 [TM][W]: Ignored: LOG - 86 /bin/sed: -e expression
> #1, char 29: invalid reference \1 on `s' command's RHS
>
> Wed Feb 16 20:50:00 2011 [TM][W]: Ignored: LOG - 86 ERROR MESSAGE
> --8<------
>
> Wed Feb 16 20:50:00 2011 [TM][W]: Ignored: LOG - 86 Can't remove open
> logical volume "lv-one--0"
>
> Wed Feb 16 20:50:00 2011 [TM][W]: Ignored: LOG - 86 ERROR MESSAGE
> ------>8--
> Wed Feb 16 20:50:00 2011 [TM][W]: Ignored: LOG - 86 ExitCode: 5
>
> Wed Feb 16 20:50:00 2011 [TM][W]: Ignored: LOG - 86 tm_delete.sh: Deleting
> remote LVs
>
> Wed Feb 16 20:50:00 2011 [TM][W]: Ignored: LOG - 86 tm_delete.sh: ERROR:
> Command "/usr/bin/ssh ast-wks-348 /usr/bin/sudo /sbin/lvremove -f $(echo
> vg00/$(/usr/bin/sudo /sbin/lvs --noheadings vg00|awk '{print $1}'|grep
> lv-one-))" failed.
>
> Wed Feb 16 20:50:00 2011 [TM][W]: Ignored: LOG - 86 tm_delete.sh: ERROR:
> Can't remove open logical volume "lv-one--0"
>
> Wed Feb 16 20:50:00 2011 [TM][W]: Ignored: TRANSFER FAILURE 86 Can't remove
> open logical volume "lv-one--0"
>
> Thanks,
> Anoop
>
>
>
> On Wed, Feb 16, 2011 at 9:12 PM, Jaime Melis <jmelis at opennebula.org>wrote:
>
>> Hi Anoop,
>>
>> could you please send me the full vm.log of that VM?
>>
>> cheers,
>> Jaime
>>
>>
>> On Wed, Feb 16, 2011 at 4:31 PM, Anoop L <anpl1980 at gmail.com> wrote:
>>
>>> Hi Jaime,
>>>
>>> Thanks for the reply. My VM ID is 86 but still ONE uses 0 as identifier
>>> for LV. Even the working VM with ID is using lv-one--0.
>>>
>>> I have already tried removing LV manually. I guess issue is that ONE is
>>> trying to create the LV of same name and some how VM ID is not appended to
>>> the LV_NAME.
>>>
>>> One more things is when second VM fails it deletes the lv-one--0. Also
>>> any idea how can I force set a VM template that a swap space/disk to be
>>> created on LV.
>>>
>>> Some more information:
>>>
>>> onevm list
>>> ID USER NAME STAT CPU MEM HOSTNAME TIME
>>> 85 oneadmin centos55 runn 0 2G ast-wks-348 00 02:00:16
>>> 86 oneadmin centos55 fail 0 0K ast-wks-348 00 00:00:42
>>>
>>>
>>> onevm show 86 gives:
>>>
>>> VIRTUAL MACHINE 86
>>> INFORMATION
>>> ID : 86
>>> NAME : centos55
>>> STATE : FAILED
>>> LCM_STATE : LCM_INIT
>>> START TIME : 02/16 20:49:13
>>> END TIME : 02/16 20:49:55
>>> DEPLOY ID: : -
>>>
>>> VIRTUAL MACHINE
>>> MONITORING
>>> NET_TX : 0
>>> NET_RX : 0
>>> USED MEMORY : 0
>>> USED CPU : 0
>>>
>>> VIRTUAL MACHINE
>>> TEMPLATE
>>> CPU=1
>>> DISK=[
>>> CLONE=YES,
>>> DISK_ID=0,
>>> IMAGE=centos5564_Base.img,
>>> IMAGE_ID=8,
>>> READONLY=NO,
>>> SAVE=NO,
>>>
>>> SOURCE=/opt/cloud/one/var//images/fd34675a5656d3b5b92e01b11dbae9c819e5f4c4,
>>> TARGET=hda,
>>> TYPE=DISK ]
>>> DISK=[
>>> DISK_ID=1,
>>> SIZE=5120,
>>> TARGET=hdd,
>>> TYPE=swap ]
>>> FEATURES=[
>>> ACPI=no ]
>>> GRAPHICS=[
>>> LISTEN=0.0.0.0,
>>> PORT=5916,
>>> TYPE=vnc ]
>>> MEMORY=2048
>>> NAME=centos55
>>> NIC=[
>>> BRIDGE=xenbr0,
>>> IP=10.20.30.1,
>>> MAC=02:00:0a:14:1e:01,
>>> NETWORK=LAN2,
>>> NETWORK_ID=2 ]
>>> OS=[
>>> BOOTLOADER=/usr/bin/pygrub ]
>>> VMID=86
>>>
>>>
>>>
>>> lvdisplay on node:
>>>
>>> --- Logical volume ---
>>> LV Name /dev/vg00/lv-one--0
>>> VG Name vg00
>>> LV UUID 0ENQKV-L8qi-APmD-iGiv-uRfj-vVNv-nkWud4
>>> LV Write Access read/write
>>> LV Status available
>>> # open 2
>>> LV Size 20.00 GB
>>> Current LE 640
>>> Segments 1
>>> Allocation inherit
>>> Read ahead sectors auto
>>> - currently set to 256
>>> Block device 253:2
>>>
>>>
>>>
>>> Any help would be appreciated.
>>>
>>> Thanks,
>>> Anoop
>>>
>>>
>>>
>>> On Wed, Feb 16, 2011 at 8:44 PM, Jaime Melis <jmelis at opennebula.org>wrote:
>>>
>>>> Hello Anoop,
>>>>
>>>> Is the ID of the VM you're trying to deploy '0' ? When you deploy a new
>>>> vm the following LV volume will be created: lv-one-<ID>. If that LV already
>>>> exists then it fails. My guess is that it's failing because for some reason
>>>> OpenNebula didn't get the change to do a 'delete' removing the LV partition.
>>>>
>>>> I suggest you remove manually all the LVM partitions. You can find out
>>>> the existing ones with "lvs" and remove them with "lvremove" (do that as
>>>> root in the Xen node).
>>>>
>>>> Cheers,
>>>> Jaime
>>>>
>>>> On Wed, Feb 16, 2011 at 2:26 PM, Anoop L <anpl1980 at gmail.com> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I have successfully created a VM from Front-End to a Xen node However
>>>>> on creating the second VM I get an error:
>>>>>
>>>>> Wed Feb 16 18:45:24 2011 [TM][I]: tm_clone.sh: Creating LV lv-one--0
>>>>> Wed Feb 16 18:45:24 2011 [TM][I]: tm_clone.sh: ERROR: Command
>>>>> "/usr/bin/ssh node-1 /usr/bin/sudo /sbin/lvcreate -L20G -n lv-one--0 vg00"
>>>>> failed.
>>>>>
>>>>> My VM template:
>>>>> NAME = centos55
>>>>> CPU = 1
>>>>> MEMORY = 2048
>>>>> OS = [ bootloader = "/usr/bin/pygrub" ]
>>>>>
>>>>> DISK = [ image = "centos5564_Base.img"]
>>>>>
>>>>> DISK = [
>>>>> type = swap,
>>>>> size = 5120
>>>>> #target = sdb
>>>>> ]
>>>>>
>>>>>
>>>>> NIC = [ BRIDGE = "xenbr0", MAC = "00:16:3E:02:03:05" ]
>>>>> FEATURES=[ acpi="no" ]
>>>>>
>>>>> GRAPHICS = [
>>>>> type = "vnc",
>>>>> listen = "0.0.0.0",
>>>>> port = "5916" ]
>>>>>
>>>>> The same template is used for creating first VM and it all was working
>>>>> fine. Except the swap is not created as an LV.
>>>>>
>>>>> How can I change this template so as to create a new LV for swap
>>>>> partiotion. Please note that I have not created any LV manually. If I create
>>>>> a LV manually how can I specify this in the VM template.
>>>>>
>>>>> I am stuck on this for some time and posted this multiple times with no
>>>>> answer.
>>>>>
>>>>> Any help would be appreciated.
>>>>>
>>>>> Thanks,
>>>>> Anoop
>>>>>
>>>>> _______________________________________________
>>>>> Users mailing list
>>>>> Users at lists.opennebula.org
>>>>> http://lists.opennebula.org/listinfo.cgi/users-opennebula.org
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Jaime Melis, Cloud Technology Engineer/Researcher
>>>> Major Contributor
>>>> OpenNebula - The Open Source Toolkit for Cloud Computing
>>>> www.OpenNebula.org | jmelis at opennebula.org
>>>>
>>>
>>>
>>
>>
>> --
>> Jaime Melis, Cloud Technology Engineer/Researcher
>> Major Contributor
>> OpenNebula - The Open Source Toolkit for Cloud Computing
>> www.OpenNebula.org | jmelis at opennebula.org
>>
>
>
--
Jaime Melis, Cloud Technology Engineer/Researcher
Major Contributor
OpenNebula - The Open Source Toolkit for Cloud Computing
www.OpenNebula.org | jmelis at opennebula.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opennebula.org/pipermail/users-opennebula.org/attachments/20110221/59410fe2/attachment-0003.htm>
More information about the Users
mailing list