Example #1
0
function doUpdateExtraStuff()
{
    global $gbl, $sgbl, $login, $ghtml;
    lxfile_mkdir("__path_program_etc/flag");
    convertIpaddressToComa();
    print "Fix extra database\n";
    fixExtraDB();
    print "Set some defaults\n";
    db_set_default('vps', 'ttype', 'openvz');
    db_set_default('pserver', 'coma_psrole_a', 'vps');
    db_set_default("vps", "swapdiskname", "vm.swap", "ttype = 'xen'");
    db_set_default("vps", "maindiskname", "root.img", "ttype = 'xen'");
    db_set_default('vps', 'corerootdir', '/vz/private', "ttype = 'openvz'");
    db_set_default("vps", "corerootdir", "/home/xen", "ttype = 'xen'");
    print "Fixing database passwords\n";
    $a = null;
    fix_mysql_root_password('localhost');
    $dbadmin = new Dbadmin(null, 'localhost', "mysql___localhost");
    $dbadmin->get();
    $pass = $dbadmin->dbpassword;
    $a['mysql']['dbpassword'] = $pass;
    slave_save_db("dbadmin", $a);
    print "Fixing OS template permissions\n";
    lxfile_unix_chmod_rec("/vz/template/cache/", "0755");
    lxfile_unix_chmod_rec("/home/hypervm/xen/template/", "0755");
    call_with_flag("dofixParentClname");
    print "Check License\n";
    passthru("{$sgbl->__path_php_path} htmllib/lbin/getlicense.php");
    print "Fix OpenVZ resources\n";
    fixOpenVZResource();
    print "Move clients to client of needed\n";
    move_clients_to_client();
    print "create backup dirs\n";
    add_vps_backup_dir();
    print "Parse SQL Data\n";
    parse_sql_data();
    print "Fix IP POOL\n";
    lxshell_return("__path_php_path", "../bin/fix/fixippool.php");
    print "Fix IP adresses in database\n";
    fix_ipaddress_column_type();
    fix_vmipaddress();
    print "Checking HIB template\n";
    get_kloxo_ostemplate();
    print "Set admin email\n";
    save_admin_email();
    print "Checking Skin Images\n";
    copy_image();
    system("mysql -u hypervm -p`cat ../etc/conf/hypervm.pass` hypervm1_0 < ../file/interface/interface_template.dump");
    if (lxfile_exists("/etc/init.d/libvirtd")) {
        print "Make sure libvirtd is not started after reboot\n";
        system("chkconfig libvirtd off 2>/dev/null");
    }
    if (is_openvz()) {
        print "Fixing Base OS templates\n";
        if (!lxfile_real("/vz/template/cache/centos-5-i386-afull.tar.gz")) {
            system("mkdir -p /vz/template/cache/ ; cd /vz/template/cache/ ; rm centos-5-i386-afull.tar.gz; wget download.lxcenter.org/download/openvztemplates/base/centos-5-i386-afull.tar.gz ");
            system("rm /vz/template/cache/index.html* 2>/dev/null");
        }
    } else {
        if (!lxfile_real("/home/hypervm/xen/template/centos-5-i386-afull.tar.gz")) {
            system("mkdir -p /home/hypervm/xen/template ; cd /home/hypervm/xen/template/ ; rm centos-5-i386-afull.tar.gz;  wget download.lxcenter.org/download/xentemplates/base/centos-5-i386-afull.tar.gz ");
            system("rm /home/hypervm/xen/template/index.html* 2>/dev/null");
        }
    }
    print "Fix SSL\n";
    fix_self_ssl();
    print "Fix database password\n";
    critical_change_db_pass();
    print "Delete old repo's\n";
    if (lxfile_exists("/etc/yum.repos.d/lxlabs.repo")) {
        lxfile_mv("/etc/yum.repos.d/lxlabs.repo", "/etc/yum.repos.d/lxlabs.repo.lxsave");
        system("rm -f /etc/yum.repos.d/lxlabs.repo");
        print "Removed lxlabs.repo\n";
    }
}
Example #2
0
function dofixParentClname()
{
    $var = parse_sql_data();
    foreach ($var as $table => $content) {
        $__db = new Sqlite(null, $table);
        if ($table === 'ticket') {
            $list = array("parent_clname", "made_by", "sent_to");
        } else {
            if ($table === 'smessage') {
                $list = array("parent_clname", "made_by");
            } else {
                if ($table === 'kloxolicense') {
                    $list = array("parent_clname", "created_by");
                } else {
                    if ($table === 'hypervmlicense') {
                        $list = array("parent_clname", "created_by");
                    } else {
                        $list = array("parent_clname");
                    }
                }
            }
        }
        $get = lx_array_merge(array(array('nname'), $list));
        $res = $__db->getTable($get);
        if (!$res) {
            continue;
        }
        foreach ($res as $r) {
            foreach ($list as $l) {
                $v = fix_getParentNameAndClass($r[$l]);
                if (!$v) {
                    continue;
                }
                list($parentclass, $parentname) = $v;
                $npcl = "{$parentclass}-{$parentname}";
                $__db->rawQuery("update {$table} set {$l} = '{$npcl}' where nname = '{$r['nname']}'");
            }
            $spl = array('notification', 'serverweb', 'lxbackup', 'phpini');
            if (csb($table, "sp_") || array_search_bool($table, $spl)) {
                $v = fix_getParentNameAndClass($r['nname']);
                if (!$v) {
                    continue;
                }
                list($parentclass, $parentname) = $v;
                $npcl = "{$parentclass}-{$parentname}";
                $__db->rawQuery("update {$table} set nname = '{$npcl}' where nname = '{$r['nname']}'");
            }
        }
    }
}
Example #3
0
function doUpdateExtraStuff()
{
    global $gbl, $sgbl, $login, $ghtml;
    lxfile_mkdir("__path_program_etc/flag");
    print "Check database password\n";
    $a = null;
    fix_mysql_root_password('localhost');
    $dbadmin = new Dbadmin(null, 'localhost', "mysql___localhost");
    $dbadmin->get();
    $pass = $dbadmin->dbpassword;
    $a['mysql']['dbpassword'] = $pass;
    slave_save_db("dbadmin", $a);
    print "Check the core database\n";
    parse_sql_data();
    if (call_with_flag("convertIpaddressToComa")) {
        print "Converted IP addresses in database\n";
    }
    if (call_with_flag("fixExtraDB")) {
        print "- Fixed\n";
    }
    print "Set OS template permissions\n";
    if (is_openvz()) {
        lxfile_unix_chmod_rec("/vz/template/cache/", "0755");
    } else {
        lxfile_unix_chmod_rec("/home/hypervm/xen/template/", "0755");
    }
    call_with_flag("dofixParentClname");
    print "Get License\n";
    // ToDo: Why is this called this way....
    passthru("{$sgbl->__path_php_path} htmllib/lbin/getlicense.php");
    if (is_openvz()) {
        print "Check OpenVZ resources\n";
        if (call_with_flag("fixOpenVZResource")) {
            print "- Fixed\n";
        }
    }
    if (move_clients_to_client()) {
        print "Renamed clients directory to client.\n";
    }
    print "Checking backup dirs\n";
    if (!add_vps_backup_dir()) {
        print "- Everything is fine.\n";
    }
    print "Fix IP POOL\n";
    lxshell_return("__path_php_path", "../bin/fix/fixippool.php");
    if (call_with_flag("fix_ipaddress_column_type")) {
        print "Fixed IP address column in database\n";
    }
    if (call_with_flag("fix_vmipaddress")) {
        print "Fixed VM IP addresses in database\n";
    }
    print "Checking HIB template\n";
    get_kloxo_ostemplate();
    if (db_get_value("client", "admin", "contactemail")) {
        print "Set admin email\n";
        save_admin_email();
    }
    // Unknown usage within HyperVM, anyone can tell what this is doing?
    $file = "__path_program_root/etc/fixed_interface_template_sql";
    if (lxfile_exists($file)) {
        lxfile_touch($file);
        print "Check Interface Template (database)\n";
        system("mysql -u hypervm -p`cat ../etc/conf/hypervm.pass` hypervm1_0 < ../file/interface/interface_template.sql");
    }
    if (lxfile_exists("/etc/init.d/libvirtd")) {
        print "Make sure libvirtd is not started after reboot\n";
        system("chkconfig libvirtd off 2>/dev/null");
    }
    if (is_openvz()) {
        print "Checking for Base default OS template\n";
        $OSTemplateDir = "/vz/template/cache";
        $defaultOSTemplate = "centos-6-x86.tar.gz";
        $defaultOSTemplateName = "centos-6-x86";
        if (!lxfile_exists($OSTemplateDir)) {
            lxfile_mkdir($OSTemplateDir);
        }
        if (!lxfile_real("{$OSTemplateDir}/{$defaultOSTemplate}")) {
            lxfile_rm("{$OSTemplateDir}/{$defaultOSTemplate}");
            system("cd {$OSTemplateDir}/ ; wget http://download.hypervm-ng.org/download/openvztemplates/base/{$defaultOSTemplate}");
            system("rm {$OSTemplateDir}/index.html* 2>/dev/null");
            system("rm {$OSTemplateDir}/robots.txt* 2>/dev/null");
        }
        // Added in HyperVM 2.1.0
        if (lxfile_exists("/usr/sbin/vztmpl-dl")) {
            print "Checking for latest version of {$defaultOSTemplateName} at OpenVZ.org website\n";
            $res = system("/usr/sbin/vztmpl-dl --update {$defaultOSTemplateName} 2>/dev/null");
            dprint("res: {$res}\n");
        }
    } else {
        if (!lxfile_real("/home/hypervm/xen/template/centos-6-x86-pygrub-sda-latest.tar.gz")) {
            system("mkdir -p /home/hypervm/xen/template ; cd /home/hypervm/xen/template/ ; rm centos-6-i386.tar.gz; rm centos-5-i386.tar.gz; rm centos-5-i386-afull.tar.gz; rm centos-6-x86-pygrub-sda-latest.tar.gz; wget http://download.hypervm-ng.org/download/xentemplates/base/centos-6-x86-pygrub-sda-latest.tar.gz");
            system("rm /home/hypervm/xen/template/index.html* 2>/dev/null");
            system("rm /home/hypervm/xen/template/robots.txt* 2>/dev/null");
        }
    }
    print "Check for old critical database password bug\n";
    if (critical_change_db_pass()) {
        print "- Fixed critical database password bug!!!\n";
    } else {
        print "- Good! Already bug free :-)\n";
    }
    if (lxfile_exists("/etc/yum.repos.d/lxlabs.repo")) {
        print "Delete old repo's\n";
        lxfile_mv("/etc/yum.repos.d/lxlabs.repo", "/etc/yum.repos.d/lxlabs.repo.lxsave");
        system("rm -f /etc/yum.repos.d/lxlabs.repo");
        print "Removed lxlabs.repo\n";
    }
}
Example #4
0
function create_database()
{
    global $gbl, $sgbl, $login, $ghtml;
    $flist = parse_sql_data();
    foreach ($flist as $k => $v) {
        create_table_with_drop($k, $v);
    }
}