Skip to main content

Python - How to check active domain

This is python and libvirt related post, beware!!

Ok now I want to check from my script, let's say :

bash> xencheck.py nameofvps

So I want the script to check if the vps name is available and active. This is what I done :


#!/usr/bin/python -u


import libvirt
import sys
import os


def Startup():
 if not os.access("/proc/xen", os.R_OK):
    print "System is not running Xen kernel!"
    sys.exit(1)


#connect to hypervisor
conn = libvirt.open("xen:///default")


if conn == None:
    print 'Failed to connect to hypervisor'
    sys.exit(1)


dom0 = conn.listDomainsID()
for id in dom0:
 dom1 = conn.lookupByID(id)
 if dom1.name() == sys.argv[1]:
  print dom1.name()


#main function to execute
def main():
 Startup()


if __name__ == "__main__":
 main()

Comments

Masokis said…
Uik.. guna BSD ke? hebat sguh..
masokis tak pandai lagi bsd..:P

http://www.masokis.com
fryshadow said…
BSD tu untuk projek personal je :) , daily usage guna Ubuntu je, oshirix ada kat virtualbox heheh

Popular posts from this blog

Complete guide to update/upgrade cakephp

This is what people always forgotten. How to update your cakephp to the latest from CLI         phpmamp composer.phar update How to upgrade to 3.* branch     phpmamp composer.phar require --update-with-dependencies "cakephp/cakephp:3.5.*"         ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev)       - Removing cakephp/cakephp (3.4.13)       - Installing cakephp/cakephp (3.5.6)         Downloading: 100% Writing lock file Generating autoload files Done !

DirectAdmin - Upgrading MySQL from 5.5 to 5.6

cd /usr/local/directadmin/custombuild mkdir -p mysql cd mysql wget http://files.directadmin.com/services/all/mysql/64-bit/5.5.41/MySQL-client-5.5.41-1.linux2.6.x86_64.rpm wget http://files.directadmin.com/services/all/mysql/64-bit/5.5.41/MySQL-devel-5.5.41-1.linux2.6.x86_64.rpm wget http://files.directadmin.com/services/all/mysql/64-bit/5.5.41/MySQL-server-5.5.41-1.linux2.6.x86_64.rpm wget http://files.directadmin.com/services/all/mysql/64-bit/5.5.41/MySQL-shared-5.5.41-1.linux2.6.x86_64.rpm cd .. ./build mysql_backup mv mysql_backups mysql_backups.`date +%F` #after this point, you can't abort rpm -e --noscripts `rpm -qa | grep MariaDB` cd mysql rpm -ivh MySQL*5.5.41*.rpm #ensure it's running. cd .. ./build set mysql 5.6 ./build set mysql_inst yes ./build mysql # confirm mysqld is running. ./build php n

MySQL Enterprise thingy

It's been a weird thing when you install MySQL server especially the one that is 'enterprise' version is not working with your PHP. That is the problem that my friend and I facing today. Since PHP require php-mysql extension to connect to MySQL server but php-mysql is only work with mysql-server from the Repos (Redhat/Centos). 1) Remove default mysql-server/php-mysql 2) Install MySQL Enterprise 3) Dependencies conflict occur + headache + install php-mysql shell> yum install php-mysql Loaded plugins: rhnplugin, security Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package php-mysql.x86_64 0:5.1.6-27.el5 set to be updated --> Processing Dependency: libmysqlclient.so.15(libmysqlclient_15)(64bit) for package: php-mysql --> Processing Dependency: libmysqlclient.so.15()(64bit) for package: php-mysql --> Running transaction check ---> Package mysql.x86_64 0:5.0.77-4.el5_4.2 set to be updated --> Process...