Forum Discussion

yairz's avatar
yairz
Level 4
12 years ago

Can't locate object method "QEMU" Error During Upgrade to 6.0.x

Hi all,

 

I have a two node VCS cluster running on two KVM Virtual Machines RHEL 5.5.

VCS version is currently 5.1 SP1 RP2 and I'm trying to upgrade it to version 6.0.1.

Right after I run the installer script I get the following error:

 

[root@Hostname rhel5_x86_64]# pwd

/shared_data/VCS/dvd1-redhatlinux/rhel5_x86_64

[root@Hostname rhel5_x86_64]# ./installer

Can't locate object method "QEMU" via package "Padv::RHEL5x8664" at /shared_data/VCS/dvd1-redhatlinux/rhel5_x86_64/scripts/EDR/Padv/Linux.pm line 1061.

[root@Hostname rhel5_x86_64]#

 

Has anyone encountered such an error before?

I've contacted support and so far they have only instructed me to approach RedHat and open a ticket with them.

 

Any help will be much appreciated.

 

Thanks,

Yair

 

 

  •  

    Hello Yair,
     
    Please find below the diff file with the corrections in place to resolve the QEMU package error message you were encountering 
     
    package Padv::Linux;
     
    sub detect_linux_by_dmidecode_sys {
        my ($padv, $sys) = @_;
     
        my $out = $sys->cmd("_cmd_dmidecode 2>/dev/null");
     
        my ($flag, $bios_vendor, $mfgr, $product) = ("", "", "", "");
        foreach (split(/\n+/, $out)) {
            if (/^\S/) {
                if (/^BIOS Information/) {
                    $flag = "bios_info";
                } elsif (/^System Information/) {
                    $flag = "system_info";
                } else {
                    $flag = "other";
                }
                next;
            }
     
            if ($flag eq "bios_info") {
                $bios_vendor = $1 if (/Vendor:\s*(.*)/i);
            }
            if ($flag eq "system_info") {
                $mfgr = $1 if (/Manufacturer:\s*(.*)/i);
                $product = $1 if (/Product Name:\s*(.*)/i);
            }
        }
     
        $sys->{virtual_type} = $padv->VIRT_VMWARE if ($mfgr =~ /VMWare/i);
        $sys->{virtual_type} = $padv->VIRT_KVM . " or " . $padv->VIRT_QEMU if ($bios_vendor =~ /QEMU/i);
        $sys->{virtual_type} = $padv->VIRT_VIRTUALPC if ($mfgr =~ /microsoft/i && $product =~ /virtual machine/i);
        return;
    }
     
    1;
     
    You can save this file as cpi_60xP1.pl and run the installer as follows:
     
    Installsf –require /tmp/cpi_60xP1.pl
     
    Regards
     
    Mark
     

4 Replies

  • Additionally, I forgot to mention that this happens on 6.0.2 as well.

     

    Thanks,

    Yair

  • Hello Yairz,

     

    do you currently have a case open with support?  if so can you let  me know the case number as I would like to look at the explorers from the KVM virtual machines that you are tryng to upgrade VCS on.

    I would also like to take a look at the installer logs if you have these.

    Can you please send me the output from a dmidecode, please feel feel to email this to me directly  mark_alleyne "at" symantec.com

     

    Thanks

     

    mark

  • Hi Mark,

     

    I've just sent you an email to the address you specified.

    Thanks,

    Yair

  •  

    Hello Yair,
     
    Please find below the diff file with the corrections in place to resolve the QEMU package error message you were encountering 
     
    package Padv::Linux;
     
    sub detect_linux_by_dmidecode_sys {
        my ($padv, $sys) = @_;
     
        my $out = $sys->cmd("_cmd_dmidecode 2>/dev/null");
     
        my ($flag, $bios_vendor, $mfgr, $product) = ("", "", "", "");
        foreach (split(/\n+/, $out)) {
            if (/^\S/) {
                if (/^BIOS Information/) {
                    $flag = "bios_info";
                } elsif (/^System Information/) {
                    $flag = "system_info";
                } else {
                    $flag = "other";
                }
                next;
            }
     
            if ($flag eq "bios_info") {
                $bios_vendor = $1 if (/Vendor:\s*(.*)/i);
            }
            if ($flag eq "system_info") {
                $mfgr = $1 if (/Manufacturer:\s*(.*)/i);
                $product = $1 if (/Product Name:\s*(.*)/i);
            }
        }
     
        $sys->{virtual_type} = $padv->VIRT_VMWARE if ($mfgr =~ /VMWare/i);
        $sys->{virtual_type} = $padv->VIRT_KVM . " or " . $padv->VIRT_QEMU if ($bios_vendor =~ /QEMU/i);
        $sys->{virtual_type} = $padv->VIRT_VIRTUALPC if ($mfgr =~ /microsoft/i && $product =~ /virtual machine/i);
        return;
    }
     
    1;
     
    You can save this file as cpi_60xP1.pl and run the installer as follows:
     
    Installsf –require /tmp/cpi_60xP1.pl
     
    Regards
     
    Mark