DTC-Xen
A Xen dom0 CPU+Network grapher and a SOAP server on wich a DTC panel connects to manages your VMs
Dedicated servers

Find out how to get one of the best dedicated server hosting services available on the market. Have a 160GBytes transfer per month server for only $90 a month !
Get one and start reselling.
CALL NOW ! +1.(302)-213-1611
Shared hosting
Shared hosting service with certified bandwidth, your own IP addresses + SSL + CERT for the same site hosted on both sides of the ocean : YES ! GPL.Host makes it possible for less than $5.5/month !
dtc-xen: brings a full Xen control panel to your Xen server by connecting a DTC panel to it

2. Features and internals

For what kind of system

This package is written for Debian, and wont be ported to any other operating system (unless somebody wants to do the job). It's of course released in open source and it works for both Xen 2 and Xen 3.

A SOAP server to connect to

But that's not all. This package also has a SOAP server written in Python. We have chosen python because this is the Xen native scripting language, because thanks to it, it's possible to talk directly to Xen and import many of the Xen python API directly in the SOAP server, which makes the things a lot more easy. That soap server is setup automatically with a SSL certificate and auth, so it's quite secure to connect to it.

Connecting a DTC panel as client to it

On the dtc control panel side, you can add some dtc-xen SOAP servers. The dtc SOAP client uses nusoap, because this way it can work even with php4. The soap_client class have been renamed "nusoap_client" so it does not conflict with the "soap_client" class in php5 (and I believe that Damien renamed also the soap_server class). Once a dtc-xen server has been added to the panel, and provisioned with some IP addresses, it's possible to add a VPS to an admin in the admin editor, choosing one of the VPS hosting pack that you have defined in the product manager (the product manager has been updated to be able to have 4 types of package: shared, ssl, vps and dedicated hosting, while it's not yet fully functional).

Here are some screenshots of the result:
A VPS is running
Maintenance operations on a non-running VPS
Once an admin has a VPS, he can do quite some things with it. First, dtc shows the date of registration and expiration. It's possible to renew, even if the code for getting the response of the payment is not written yet. Then you have the status of your VPS: how much memory, uptime, date of startup, number of CPU and current state (as shown in xm list). It's also possible to do a "xm start", "xm destroy" and "xm shutdown" of your VPS.

Here is a list of features:

  • VPS commercial management (renewals and email reminders)
  • Network and CPU monitoring for all the VMs
  • File system checks for Linux VMs (fsck.ext3)
  • Virutal Server operating system reinstallation fully automated
  • Change of NetBSD kernel from INSTALL to normal kernel to manage the installation by the end user himself and do basic maintenance
  • Virtual server physical console access using ssh, with the possibility to change the password and upload a ssh key
Note that NetBSD users will have to do the setup by themself using remote ssh logins to the physical console. Once the setup is completed, they just have to switch from the INSTALL kernel to the normal one and reboot the VM.

How connection to a VM physical console using SSH works

One cool feature is that it's possible to connect to the physical console of your VPS using ssh. Dtc-xen creates 19 users (from xen01 to xen19), with all of them /bin/dtc-xen_userconsole.sh script as shell. This script does a very simple "xm console $USER" where of course $USER is the username in the system. Access is granted using sudo (and /etc/sudoers is modified to give access to it). By default, the password is initialized with a random value (so your users would have to set it up in the DTC panel before connecting).

Xen performance graphing

This package does graphing functionalities: it graphs the CPU and the Network usage of all the VMs installed on your Xen Server. All of your customers can see who is taking too much bandwidth. Here are various examples of servers in production:

http://node6501.gplhost.com/dtc-xen/
http://node0110.gplhost.com/dtc-xen/
http://node3302.gplhost.com/dtc-xen/