Esempio n. 1
0
function vg_diskfree($vgname)
{
    if (is_centosfive()) {
        if (!lxfile_exists("/usr/sbin/vgdisplay")) {
            return;
        }
    } else {
        if (is_centossix()) {
            if (!lxfile_exists("/sbin/vgdisplay")) {
                return;
            }
        } else {
            return;
        }
    }
    $vgname = fix_vgname($vgname);
    $out = exec_with_all_closed_output("vgdisplay -c {$vgname}");
    $out = trim($out);
    $list = explode(":", $out);
    $per = $list[12];
    $num = $list[15];
    return $per * $num / 1024;
}
Esempio n. 2
0
function cleanupProcess()
{
    global $gbl, $sgbl, $login, $ghtml, $osversion;
    print "Download 3rdparty\n";
    // Fixes #303 and #304
    download_thirdparty();
    print "Installing binaries\n";
    if (is_openvz()) {
        lxfile_cp("__path_program_root/cexe/lxopenvz", "/usr/bin");
    } else {
        lxfile_cp("__path_program_root/cexe/lxxen", "/usr/bin");
    }
    print "Fixing binaries permissions\n";
    if (is_openvz()) {
        lxfile_generic_chmod("/usr/bin/lxopenvz", "6755");
    } else {
        lxfile_generic_chmod("/usr/bin/lxxen", "6755");
    }
    print "Checking for missing RPM packages...\n";
    $ret = install_if_package_not_exist("rrdtool");
    if ($ret) {
        print "- Installed rrdtool\n";
    }
    if (!is_openvz()) {
        $ret = install_if_package_not_exist("ntfsprogs");
        if ($ret) {
            print "- Installed ntfsprogs\n";
        }
        $ret = install_if_package_not_exist("parted");
        if ($ret) {
            print "- Installed parted\n";
        }
        $ret = install_if_package_not_exist("kpartx");
        if ($ret) {
            print "- Installed kpartx\n";
        }
    }
    $ret = install_if_package_not_exist("openssl");
    if ($ret) {
        print "- Installed openssl\n";
    }
    $ret = install_if_package_not_exist("openssl-devel");
    if ($ret) {
        print "- Installed openssl-devel\n";
    }
    if (!is_openvz()) {
        $ret = install_if_package_not_exist("dhcp");
        if ($ret) {
            print "- Installed dhcp\n";
        }
        system("chkconfig dhcpd on");
        print "Enabled dhcpd at system startup\n";
    }
    if (!is_openvz()) {
        if (lxfile_exists("/etc/xen")) {
            lxfile_mkdir("/etc/xen/hypervm");
            if (!lxfile_exists("/boot/hypervm-xen-vmlinuz")) {
                system("cd /boot ; ln -sf vmlinuz-2.6-xen hypervm-xen-vmlinuz; ln -sf initrd-2.6-xen.img hypervm-xen-initrd.img");
            }
            $list = lscandir_without_dot("/etc/xen/auto");
            foreach ($list as $l) {
                $dir = strtil($l, ".cfg");
                lunlink("/etc/xen/auto/{$l}");
                if (lxfile_exists("/home/xen/{$dir}/{$l}")) {
                    lxfile_symlink("/home/xen/{$dir}/{$l}", "/etc/xen/auto/{$l}");
                }
            }
        }
        if (lxfile_exists("/home/hypervm/xen/template")) {
            print "Check Xen windows-lxblank.img template\n";
            system("echo hypervm-windows > /home/hypervm/xen/template/windows-lxblank.img");
        }
    }
    if (lxfile_exists("/var/log/loadvg.log")) {
        lunlink("/var/log/loadvg.log");
    }
    if (lxfile_exists("/etc/vz")) {
        if (is_centossix()) {
            lxfile_cp("__path_program_root/file/sysfile/openvz/centos-6-openvz-ve-vswap-hypervm.conf-sample", "/etc/vz/conf/ve-vswap-hypervm.conf-sample");
        } else {
            lxfile_cp("__path_program_root/file/sysfile/openvz/ve-vps.basic.conf-sample", "/etc/vz/conf");
        }
        print "Set NEIGHBOUR_DEVS=all to vz.conf\n";
        vps__openvz::staticChangeConf("/etc/vz/vz.conf", "NEIGHBOUR_DEVS", "all");
    }
    $osversion = find_os_version();
    // Populate openvz repository
    // The repository files will be updated in the future with rpm package
    if (!lxfile_exists("/etc/yum.repos.d/openvz.repo")) {
        print "Installing openvz repo for {$osversion}\n";
        if (is_centossix()) {
            lxfile_cp("../file/centos-6-openvz.repo.template", "/etc/yum.repos.d/openvz.repo");
        } else {
            lxfile_cp("../file/centos-5-openvz.repo.template", "/etc/yum.repos.d/openvz.repo");
        }
    }
    // Populate lxcenter repository
    // The repository files will be updated in the future with rpm package
    if (!lxfile_exists("/etc/yum.repos.d/lxcenter.repo")) {
        print "Installing lxcenter repo for {$osversion}\n";
        $cont = our_file_get_contents("../file/lxcenter.repo");
        $cont = str_replace("%distro%", $osversion, $cont);
        our_file_put_contents("/etc/yum.repos.d/lxcenter.repo", $cont);
    }
    print "Fix RHN\n";
    fix_rhn_sources_file();
    print "Fix ipconntrack\n";
    fix_ipconntrack();
    print "Fix memory graph\n";
    memoryGraphFix();
    print "Fix permission of closeallinput\n";
    lxfile_unix_chmod("../cexe/closeallinput", "0755");
    print "Check binaries\n";
    system("cp ../sbin/lxrestart /usr/sbin/");
    system("chown root:root /usr/sbin/lxrestart");
    system("chmod 755 /usr/sbin/lxrestart");
    system("chmod ug+s /usr/sbin/lxrestart");
    system("chmod 777 /tmp");
    system("chmod o+t /tmp");
    print "Create script dir\n";
    copy_script();
    if (lxfile_exists("/usr/local/lxlabs/kloxo/")) {
        print "Remove /usr/local/lxlabs/kloxo/ as it should not be here!\n";
        system("rmdir /usr/local/lxlabs/kloxo/httpdocs/ >/dev/null 2>&1");
        system("rmdir /usr/local/lxlabs/kloxo/ >/dev/null 2>&1");
    }
    if (!lxfile_exists("/var/named/chroot/etc/kloxo.named.conf")) {
        if (lxfile_exists("/var/named/chroot/etc/lxadmin.named.conf")) {
            remove_line("/var/named/chroot/etc/named.conf", "lxadmin.named.conf");
            $pattern = 'include "/etc/kloxo.named.conf";';
            $file = "/var/named/chroot/etc/named.conf";
            $comment = "//Kloxo";
            @addLineIfNotExistInside($file, $pattern, $comment);
            @lxfile_mv("/var/named/chroot/etc/lxadmin.named.conf", "/var/named/chroot/etc/kloxo.named.conf");
        }
    }
}
Esempio n. 3
0
function xen_install($installtype)
{
    // If openvz.repo file exist remove it imediately before install Xen
    if (file_exists("/etc/yum.repos.d/openvz.repo")) {
        unlink("/etc/yum.repos.d/openvz.repo");
    }
    if (is_centossix()) {
        $arch = `arch`;
        $arch = trim($arch);
        if ($arch === 'x86_64') {
            lxfile_cp("../file/centos-6-xen.repo.template", "/etc/yum.repos.d/CentOS-Xen.repo");
        } else {
            echo "Sorry, installation aborted. Xen is not supported at CentOS 6 32bit.";
            exit;
        }
    }
    if (is_centosfive()) {
        $list = array("kernel-xen", "xen", "virt-manager");
    } else {
        $list = array("kernel-xen", "xen", "virt-manager", "lxmkinitrd", "lxkernel-domU-xen");
    }
    run_package_installer($list);
    if (file_exists("/boot/vmlinuz-2.6-xen") && !file_exists("/boot/hypervm-xen-vmlinuz")) {
        system("cd /boot ; ln -s vmlinuz-2.6-xen hypervm-xen-vmlinuz; ln -s initrd-2.6-xen.img hypervm-xen-initrd.img");
    }
    if (file_exists("/etc/init.d/libvirtd")) {
        system("chkconfig libvirtd off");
    }
    system("chkconfig xendomains on");
    system("chkconfig xend on");
    if (is_centossix()) {
        system("../bin/grub-bootxen.sh");
        system("sh /script/fixxenkernel");
    }
}