NAME

Xen::Control - control and fetch information about xen domains

SYNOPSIS

my $xen = Xen::Control->new();
my @domains = $xen->ls;

DESCRIPTION

This is a wrapper module interface to Xen `xm` command.

PROPERTIES

xm_cmd
rm_cmd
hibernation_folder

xm_cmd

Holds the command that is used execute xm command. By default it is `sudo xm`.

rm_cmd

Holds the command that is executed to remove xen state files after beeing restored. default is `sudo rm`.

hibernation_folder

Holds the folder where hibernation domain files will be stored.

XM_METHODS

xm calling methods methods.

create($domain_name)

Starts domain with $domain_name. If the domain is hibernated the the function calls restore otherwise $self->xm('create', $domain_name.'.cfg').

ls

list

Returns an array of Xen::Domain objects representing curently running Xen machines.

save($domain_name)

Hibernate domain named $domain_name. If the name is is not set - undef, will hibernate all domains.

restore($domain_name)

Wakeup hibernated domain named $domain_name. If the name is is not set - undef, will wakeup all hibernated domains.

shutdown($domain_name)

Shutdown domain named $domain_name. If the name is is not set - undef, will shutdown all domains.

xm(@args)

Execute $self->xm_cmd with @args and return the output. Dies if the execution fails.

METHODS

Other object methods, mostly for internal usage.

new()

Object constructor.

hibernated_filename($domain_name)

Returns filename with path of the $domain_name domain.

hibernated_domains()

Search through $self->hibernation_folder for files that end up with .xen extension and return their names without the extension. So the return value is an array of hibernated domain names.

TODO

Try IPC::System::Simple instead of ``.

LINKS

Subversion repository https://cle.sk/repos/pub/cpan/Xen-Control/

BUGS

Please report any bugs or feature requests to bug-xen-control at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Xen-Control. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc Xen::Control

You can also look for information at:

ACKNOWLEDGEMENTS

COPYRIGHT & LICENSE

Copyright 2008 Jozef Kutej, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.