cancel
Showing results for 
Search instead for 
Did you mean: 

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

yairz
Level 4
Partner Accredited

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

 

 

1 ACCEPTED SOLUTION

Accepted Solutions

Mark_Alleyne
Level 3
Employee Accredited Certified

 

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
 

View solution in original post

4 REPLIES 4

yairz
Level 4
Partner Accredited

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

 

Thanks,

Yair

Mark_Alleyne
Level 3
Employee Accredited Certified

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

yairz
Level 4
Partner Accredited

Hi Mark,

 

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

Thanks,

Yair

Mark_Alleyne
Level 3
Employee Accredited Certified

 

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