diff --git a/BUGS b/BUGS deleted file mode 100644 index a4d09eb..0000000 --- a/BUGS +++ /dev/null @@ -1,27 +0,0 @@ - -Reporting Bugs --------------- - - To report a bug please use the xen-tools-discuss mailing list: - - http://xen-tools.org/software/xen-tools/lists.html - - If you're capable of fixing it yourself a patch is appreciated, - and a test case would be a useful bonus. - - -Known Bugs ----------- - - The Debian bug tracker contains a list of all currently - open issues which have been reported by the users of the Debian - package (the primary user-base): - - http://bugs.debian.org/xen-tools - - If you're running the code on a Debian host system then reporting - bugs against this package is a good thing to do; by doing so you - allow others to view issues, and I check the bug-page regularly. - -Steve --- diff --git a/BUGS.mdwn b/BUGS.mdwn new file mode 100644 index 0000000..3c41669 --- /dev/null +++ b/BUGS.mdwn @@ -0,0 +1,23 @@ +Reporting Bugs +============== + +To report a bug please use the [xen-tools-discuss* mailing +list](http://xen-tools.org/software/xen-tools/lists.html). + +If you're capable of fixing it yourself a patch is appreciated, and a +test case would be a useful bonus. + + +Known Bugs +========== + +The Debian bug tracker contains a [list of all currently open +issues](http://bugs.debian.org/xen-tools) which have been reported by +the users of the Debian package (the primary user-base). + +If you're running the code on a Debian host system then reporting bugs +against this package is a good thing to do; by doing so you allow +others to view issues, and I check the bug-page regularly. + +-- +The Xen-Tools Developer Team diff --git a/KNOWN_BUGS b/KNOWN_BUGS deleted file mode 100644 index 0ba69ba..0000000 --- a/KNOWN_BUGS +++ /dev/null @@ -1,46 +0,0 @@ -KNOWN BUGS in xen-tools - -Bugs to fix before a 4.3 release --------------------------------- - -* xen-delete-image doesn't remove all logical volumes if --partitions is used. - - See the link below for details how to reproduce. Reproducable at - least with --lvm. Thanks to Antoine Benkemoun for reporting. - - http://xen-tools.org/pipermail/xen-tools-discuss/2010-May/000757.html - -* xen-delete-image ignores extension setting - -* partitions were mounted in config file order, not in mountpoint order. - That implies that if you specified : - /boot - / - in that order, / was mounted _over_ /boot, and you would not _see_ /boot. - Xen-Tools would then install boot on your / partition, and your boot device - was just empty and unbootable. - - Workaround for 4.2 is to write your partition file such as mounts overlap - correctly when mounted in specified order. - - Current (unreleased) fix is to sort by mountpoint length. - - Fix would be to reproduce what mount does with mount -a. - -* xen-create-image doesn't unmount the tempdir properly if /proc wasn't mounted inside - -* xen-create-image says on startup summary that the Debian mirror is - used even if Ubuntu is going to be installed (and works) - -* xen-list-images does not honour --extension - -* --extension='' (i.e. empty string) no more works - - -Bugs to fix later ------------------ - -t/xen-tools.t can't really test Xen::Tools as the latter requires a -local Xen installation. For proper testing, a dummy set of Xen -configuration files and configurable paths to them in Xen::Tools would -be necessary. diff --git a/KNOWN_BUGS.mdwn b/KNOWN_BUGS.mdwn new file mode 100644 index 0000000..b8b3b1d --- /dev/null +++ b/KNOWN_BUGS.mdwn @@ -0,0 +1,50 @@ +KNOWN BUGS in xen-tools +======================= + +Bugs to fix before a 4.3 release +-------------------------------- + +* `xen-delete-image` doesn't remove all logical volumes if `--partitions` is used. + + See the link below for details how to reproduce. Reproducable at + least with `--lvm`. Thanks to Antoine Benkemoun for reporting. + + [Bug Report](http://xen-tools.org/pipermail/xen-tools-discuss/2010-May/000757.html) + +* `xen-delete-image` ignores extension setting + +* partitions were mounted in config file order, not in mountpoint order. + That implies that if you specified : + + /boot + / + + in that order, `/` was mounted _over_ `/boot`, and you would not + _see_ `/boot`. Xen-Tools would then install `boot` on your `/` + partition, and your boot device was just empty and unbootable. + + Workaround for 4.2 is to write your partition file such as mounts overlap + correctly when mounted in specified order. + + Current (unreleased) fix is to sort by mountpoint length. + + Fix would be to reproduce what mount does with mount `-a`. + +* `xen-create-image` doesn't unmount the `tempdir` properly if `/proc` + wasn't mounted inside + +* `xen-create-image` says on startup summary that the Debian mirror is + used even if Ubuntu is going to be installed (and works) + +* `xen-list-images` does not honour `--extension` + +* `--extension=''` (i.e. empty string) no more works + + +Bugs to fix later +----------------- + +`t/xen-tools.t` can't really test Xen::Tools as the latter requires a +local Xen installation. For proper testing, a dummy set of Xen +configuration files and configurable paths to them in `Xen::Tools` +would be necessary. diff --git a/README b/README deleted file mode 100644 index a0e03c9..0000000 --- a/README +++ /dev/null @@ -1,175 +0,0 @@ -xen-tools ---------- - -Homepage: - http://www.xen-tools.org/software/xen-tools - -Git Repository: - http://gitorious.org/xen-tools - -Mailing Lists: - http://www.xen-tools.org/software/xen-tools/lists.html - -About: - Xen-tools contains a collection of Perl scripts for working with Xen - guest images under Linux. - - Using this software, you can easily create new Xen guests configured - to be accessible over the network via OpenSSH. - - xen-tools currently has scripts to install most releases of Debian - (starting with 3.1 "Sarge") and Ubuntu (starting with 6.06 LTS - "Dapper") and some RPM-based distributions. On the Dom0 side all - current Xen supporting distributions should work. - - However, currently only Debian and Ubuntu releases are tested and - known to work, i.e.: - - Debian: - * Sarge 3.1 (i386 and DomU only) - * Etch 4.0 (Dom0 no more tested) - * Lenny 5.0 - * Squeeze 6.0 - * Wheezy 7.0 - * Jessie 8.0 (preliminary support as it's not yet available) - * Sid (works at least at the moment of writing :-) - - Ubuntu (only DomUs tested): - * Dapper Drake 6.06 - * Edgy Eft 6.10 - * Feisty Fawn 7.04 - * Gutsy Gibbon 7.10 - * Hardy Heron 8.04 (see [1]) - * Interpid Ibex 8.10 - * Jaunty Jackaplope 9.04 - * Karmic Koala 9.10 - * Lucid Lynx 10.04 - * Maverick Meerkat 10.10 - * Natty Narwhal 11.04 - * Oneiric Ocelot 11.10 - * Precise Pangolin 12.04 - * Quantal Quetzal 12.10 - * Raring Ringtail 13.04 (preliminary support as it's not yet available) - - CentOS (only DomUs tested, pygrub support incomplete): - * CentOS 5 - * CentOS 6 - - [1] There is an issue with debootstrap on hardy not installing ksyslogd - This can be fixed by chrooting into the newly installed system - and removing the startup scripts. See: - http://www.linux-vserver.org/Installing_Ubuntu_8.04_Hardy_as_guest - - Xen-Tools are available prepackaged in Debian and as source tar-ball - for local installation. Installing from source should work flawlessly - on most Linux systems that meet the installation requirements. - -Requirements ------------- - - To use these tools you'll need the following software: - - * debootstrap - * Perl - * The Perl module "Text::Template" - * The Perl module "Config::IniFiles" - - Both of these modules are available as Debian packages, - or direct from http://www.cpan.org/ for non-Debian distributions. - * Make, if you are not installing through a package manager - - You can try to install RPM-based distributions such as CentOS, or - Fedora Core, but you will need a correctly installed and configured - "rinse" package. This is currently not supported. - - If you wish to create new Xen instances which may be controlled by - users via a login shell you can have a look at the (currently - unmaintained) xen-shell package which is available from: - - http://xen-tools.org/software/xen-shell/ - - -Installation ------------- - -As root or with sudo, execute "make install". - -See debian/README.source how to build the Debian package from a -checked out copy of the git repository (i.e. without a source tar -ball). - - -The Scripts ------------ - - Here is a brief description of each included script, for more - thorough documentation please consult the appropriate man page. - - -xen-create-image ----------------- - - This script is designed to create new images which may be used - with the Xen hypervisor. - - This script performs the initial setup, then delegates the real - work to a collection of helper scripts: - - * xt-install-image - Installs a distribution into a directory. - - * xt-customize-image - Run a collection of hook scripts to configure the freshly - installed system. - - * xt-create-xen-config - Create a configuration file in /etc/xen such that Xen can - boot the newly created machine. - - * xt-guess-suite-and-mirror - In case of a Debian or Ubuntu Dom0, this script tries to guess - the most suitable suite and mirror for DomUs based on the Dom0's - /etc/apt/sources.list. - - -xen-create-nfs --------------- - - This script is similar in spirit to xen-create-image, but much - less complex. It allows the creation of Xen guests which are - diskless, mounting their root filesystem over a remote NFS-share. - - There are not many options to tweak, but still a useful addition - to the suite. - - -xen-delete-image ----------------- - - This script will allow you to completely remove Xen instances - which have previously been created by xen-create-image, this - includes removing the storage block devices from the system, - and deleting the Xen configuration file. - - -xen-list-images ---------------- - - List all the created images beneath a given root directory along - with a brief overview of their setup details. - - -xen-update-image ----------------- - - This script runs "apt-get update; apt-get upgrade" for a given - Xen image. - - NOTES: - - * The image should not be running or corruption will occur! - * The script should only be used for Xen instances of Debian or - a Debian-derived distribution. - - --- -The Xen-Tools Developer Team diff --git a/README.mdwn b/README.mdwn new file mode 100644 index 0000000..0ce7895 --- /dev/null +++ b/README.mdwn @@ -0,0 +1,178 @@ +xen-tools +========= + +* [Homepage](http://www.xen-tools.org/software/xen-tools) +* Git Repository: + * [at Gitorious](http://gitorious.org/xen-tools) + * [at GitHub](http://github.com/xtaran/xen-tools) +* [Mailing Lists](http://www.xen-tools.org/software/xen-tools/lists.html) + +About +----- + +xen-tools contains a collection of Perl scripts for working with Xen +guest images under Linux. + +Using this software, you can easily create new +[Xen](http://www.xen.org) guests configured to be accessible over the +network via [OpenSSH](http://www.openssh.org/). + +xen-tools currently has scripts to install most releases of +[Debian](http://www.debian.org/) (starting with 3.1 "Sarge") and +[Ubuntu](http://www.ubuntu.com/) (starting with 6.06 LTS "Dapper") and +some RPM-based distributions. On the Dom0 side all current Xen +supporting distributions should work. + +However, currently only Debian and Ubuntu releases are tested and +known to work reliably, i.e.: + +### Debian + +* Sarge 3.1 (i386 and DomU only) +* Etch 4.0 (Dom0 no more tested) +* Lenny 5.0 +* Squeeze 6.0 +* Wheezy 7.0 +* Jessie 8.0 (preliminary support as it's not yet available) +* Sid (works at least at the moment of writing :-) + +### Ubuntu + +(only DomUs tested) + +* Dapper Drake 6.06 +* Edgy Eft 6.10 +* Feisty Fawn 7.04 +* Gutsy Gibbon 7.10 +* Hardy Heron 8.04 (see [1][]) +* Interpid Ibex 8.10 +* Jaunty Jackaplope 9.04 +* Karmic Koala 9.10 +* Lucid Lynx 10.04 +* Maverick Meerkat 10.10 +* Natty Narwhal 11.04 +* Oneiric Ocelot 11.10 +* Precise Pangolin 12.04 +* Quantal Quetzal 12.10 +* Raring Ringtail 13.04 (preliminary support as it's not yet available) + +[1]: http://www.linux-vserver.org/Installing_Ubuntu_8.04_Hardy_as_guest +"There is an issue with debootstrap on hardy not installing ksyslogd +This can be fixed by chrooting into the newly installed system and +removing the startup scripts." + +### CentOS + +(only DomUs tested, pygrub support incomplete): + +* CentOS 5 +* CentOS 6 + +Packages +-------- + +xen-tools are available prepackaged in Debian (and derivates) and as +source tar-ball for local installation. Installing from source should +work flawlessly on most Linux systems that meet the installation +requirements. + +Requirements +------------ + +To use these tools you'll need the following software: + +* [debootstrap](http://packages.debian.org/debootstrap) +* Perl + * The Perl module [Text::Template](http://search.cpan.org/dist/Text-Template/) + ([Debian Package libtext-template-perl](http://packages.debian.org/libtext-template-perl)) + * The Perl module [Config::IniFiles](http://search.cpan.org/dist/Config-IniFiles/) + ([Debian Package libconfig-inifiles-perl](http://packages.debian.org/libconfig-inifiles-perl)) +* Make, if you are not installing through a package manager + +You can try to install RPM-based distributions such as CentOS, or +Fedora Core, but you will need a correctly installed and configured +[rinse](http://packages.debian.org/rinse) package. This is currently +not fully supported. + +If you wish to create new Xen instances which may be controlled by +users via a login shell you can have a look at the (currently +unmaintained) [xen-shell](http://xen-tools.org/software/xen-shell/) +project. + + +Installation +------------ + +As root or with sudo, execute `make instal`. + +See `debian/README.source` how to build the Debian package from a +checked out copy of the git repository (i.e. without a source tar +ball). + + +The Scripts +----------- + +Here is a brief description of each included script, for more thorough +documentation please consult the appropriate man page. + + +### xen-create-image + +This script is designed to create new images which may be used +with the Xen hypervisor. + +This script performs the initial setup, then delegates the real +work to a collection of helper scripts: + +* `xt-install-image`: Installs a distribution into a directory. + +* `xt-customize-image`: Run a collection of hook scripts to configure + the freshly installed system. + +* `xt-create-xen-config`: Create a configuration file in `/etc/xen` + such that Xen can boot the newly created machine. + +* `xt-guess-suite-and-mirror`: In case of a Debian or Ubuntu Dom0, + this script tries to guess the most suitable suite and mirror for + DomUs based on the Dom0's `/etc/apt/sources.list`. + + +### xen-create-nfs + +This script is similar in spirit to `xen-create-image`, but much less +complex. It allows the creation of Xen guests which are diskless, +mounting their root filesystem over a remote NFS-share. + +There are not many options to tweak, but still a useful addition +to the suite. + + +### xen-delete-image + +This script will allow you to completely remove Xen instances which +have previously been created by `xen-create-image`, this includes +removing the storage block devices from the system, and deleting the +Xen configuration file. + + +### xen-list-images + +List all the created images beneath a given root directory along with +a brief overview of their setup details. + + +### xen-update-image + +This script runs "apt-get update; apt-get upgrade" for a given Xen +image. + +#### NOTES + +* The image should not be running or corruption will occur! +* The script should only be used for Xen instances of Debian or a + Debian-derived distribution. + + +-- +The Xen-Tools Developer Team diff --git a/SUPPORT b/SUPPORT deleted file mode 100644 index ca4aebb..0000000 --- a/SUPPORT +++ /dev/null @@ -1,45 +0,0 @@ - -Mailing List ------------- - - For assistance on using, or customising, these scripts please - consult the manpages initially, then the website: - - http://xen-tools.org/software/xen-tools/ - - If these are not sufficient resources please consider posting - any queries you might have to the mailing list: - - http://xen-tools.org/software/xen-tools/lists.html - - Included with the release you should find the file "BUGS" which - contains some notes on reporting bugs. - - -Xen Queries ------------ - - If your query is mostly related to Xen, rather than these tools, - then please consider joining the xen-users mailing list: - - http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users - - The members of that list are very good at diagnosing issues with - networking, block devices, and other Xen oddities. - - There's also the IRC channel ##xen (the double hashmark is no typo) - on irc.freenode.net. - - -Contact The Author ------------------- - - As a last resort you can to contact the current maintainer, Axel - Beckert, at . - - As the previous xen-tools maintainer and original author, Steve - Kemp, said, I say last resort not because I'm unwilling to help, but - because it may take longer for me to respond to you personally. - -Axel --- diff --git a/SUPPORT.mdwn b/SUPPORT.mdwn new file mode 100644 index 0000000..5cbe308 --- /dev/null +++ b/SUPPORT.mdwn @@ -0,0 +1,41 @@ +Mailing List +============ + +For assistance on using, or customising, these scripts please consult +the manpages initially, then the +[website](http://xen-tools.org/software/xen-tools/). + +If these are not sufficient resources please consider posting any +queries you might have to the [mailing +list](http://xen-tools.org/software/xen-tools/lists.html) + +Included with the release you should find the file `BUGS.mdwn` which +contains some notes on reporting bugs. + + +Xen Queries +=========== + +If your query is mostly related to Xen, rather than these tools, then +please consider joining the [xen-users mailing +list](http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users) + +The members of that list are very good at diagnosing issues with +networking, block devices, and other Xen oddities. + +There's also the IRC channel `##xen` (the double hashmark is not a + typo) on the [Freenode](http://freenode.net/) IRC network. + + +Contact The Author +================== + +As a last resort you can to contact the current maintainer, Axel +Beckert, at . + +As the previous xen-tools maintainer and original author, Steve +Kemp, said, I say last resort not because I'm unwilling to help, but +because it may take longer for me to respond to you personally. + +-- +Axel diff --git a/TODO b/TODO deleted file mode 100644 index 834a772..0000000 --- a/TODO +++ /dev/null @@ -1,217 +0,0 @@ -TODO -==== - -See KNOWN_BUGS for real bugs. - -Bugs to fix and features to add for 4.3 ---------------------------------------- - -Refactor TLS disabling. Seems to be happen twice, once in 20-setup-apt -and once in 10-disable-tls. - -Bugs to fix and features to add for 5.0 ---------------------------------------- - -* xen-create-image man page overhaul: - -- ambiguous option list with regards to parameters -- Set Fail in more situations where the script has clearly failed - i.e.: lvm exists - -* Test and support more file system types. - - Actually this should be pretty simple now that the parameters are - stored in the configuration hash. - -* Setup locales in the hooks? - - Currently no locales are set and this causes several domU errors - which appear in the domU's logs. - -* Documentation overhaul - - Better explain what roles /should be/ used for, and that roles - are examples, and shouldn't cover every single scenario. They - are also easy to write. - -* Think again about disk_device checks : - - Newer Xen provides "xvda", older provided "sda". The current check for - valid values of disk_device (used for root device in domU /etc/fstab) - does only allow those values. - This forbids any deployment of LVM/RAID _inside_ domU, which cannot - be created by xen-tools anyway. So the current check is fine with the - current possibilities of xen-tools, but could become a limitation. - - Is it possible/wanted to "query" xend for default device names ? - - Is it possible to create /dev/mapper devices with xend conf ? - - Can we just avoid to ask for this value and not specify the device - in /etc/fstab (and use /dev/root, /dev/by-uuid, or anything ?) - -* xen-create-image --dist=... / sources.list generation should be more fine-grained - - xen-tools should offer the possibility to enable/disable - security/volatile/backports as well as - contrib/non-free/universe/restricted/multiverse for each of them - not only based on defaults plus the Dom0's sources.list - - One idea is to allow parameters like - - --dist="lenny:main,contrib,non-free;security;volatile:main" - - and maybe (if the default will be to include security) to also - allow - - --dist="lenny;no-security" - - The second idea (by Mathieu Parent) is to have an - /etc/xen-tools/sources.list.d/ which then contains files like - lenny.list, lenny-server.list, karmic.list, etc. which defaults to - $dist.list, but can be also select with --sources-list=lenny-server - (which looks for ./lenny-server.list, ./lenny-server, - /etc/xen-tools/sources.list.d/lenny-server.list and - /etc/xen-tools/sources.list.d/lenny-server in that order). - - Third variant is to use /etc/xen-tools/sources.lists/ instead of - /etc/xen-tools/sources.list.d/ because that directory is no - runparts-like directory. - -* LVM snapshot support as an install source. - -* Clean up mounts on Ctrl-C, causes error while installing otherwise: - - Removing /dev/vg0/acromantula-domu1-disk - since we're forcing the - install Can't remove open logical volume "acromantula-domu1-disk" - this should be a matter of unmounting the mounted volume from /tmp. - -* Generic grub support - - This will generate a much nicer menu.lst as a side effect, as its - currently generated once at install, and is never updated. Installing - a full grub into the domU should update the menu.lst every time a - new kernel is installed and will also use the domU distro's menu.lst - conform. - -* pv-grub support - - This is a ways away and will probably start with a xen-pv-grub - package. - -* Move the hooks directory to /etc/xen-tools/ to officially allow - added and modified hooks. - -* Clean up the hooks directory - - We still have a link farm for hooks and a meta link farm for distro - releases created on "make install". It probably would be better if - we would just have one directory per distro (like with debian) but - without the need to created symlinks on "make install" - - Currently CentOS's 25-setup-kernel creates an fstab and - 90-make-fstab does again. It works, but that cries for debugging - hell. - - centos-5/25-setup-kernel centos-6/25-setup-kernel still differ and - I'm not sure if that's necessary respectively what's the common - denominator. - - 80-install-kernel is not yet merged into one hook script. - - Common oneliners for code deduplication in the hooks/ directory: - - $ find -L . -not -xtype l -not -type d -not -path '*/common/*' | sort -t / -k3 - $ fdupes -r1 . | sort -t / -k3 - $ find . -type f | sim_text -ipTt 50 | tac | column -t - - -* Create users, add ssh pubkeys to .ssh/authorized_keys - - Still have to think of a good way of doing this. It would be nice - To specify a directory of public keys, parsing the hostnames - parsing the usernames from the ssh comment line. - - Potential ideas are to add options to add a given file as - authorized_keys (e.g. a users public key) or to just add the Dom0's - /root/.ssh/authorized_keys as the DomU's one. - -* More generic roles - - Deploy a web server or setup ssmtp directly via flag when setting up - the machine. Open to suggestions, should just be some general use-cases - that are fairly common. - -* Sections for the xen-tools.conf file - - Currently it's really annoying when you are trying to create VMs - on multiple subnets. It would be nice to specify with a flag what - "type" of configuration you want, and a set of options specific to - that flag could be parsed from xen-tools.conf - -* Refactor the code for less variants of calling cp, rm, mv, etc. - - E.g. always use either cp() from File::Copy or /bin/cp, but not - both. To allow verbose copying, I (Axel) would prefer /bin/cp over - cp(); - -* Parse numerical parameters transparently for the user - - The user shouldn't have to know weather he should specify size - as G or Gb or . This should be parsed without - user interaction and rely on a common format. - -* xen-update-image should mount /dev/pts before running apt-get - -* xen-update-image should have options for using ... - - ... aptitude instead of apt-get - - ... dist-upgrade instead of upgrade - -* Support cpu_weight and other features from - http://wiki.xensource.com/xenwiki/CreditScheduler - -* Code Deduplication / Refactor the code for less code duplication - - bin/x* currently contain the same or similar code like e.g. in the - function readConfigurationFile. This needs to be cleaned up. - -* Use Perl::Critic - -Stuff from Steve's TODO list / Generic TODOs --------------------------------------------- - -* Write more test cases. - -* xen-delete-image should unallocate any used IP addresses. - -Axel's Break-Backwards-Compatibility Wishlist ---------------------------------------------- - -* Make empty extension the default - - This would ease tab completion and CLI parameter reusage with "xm - create" and friends. - -* Check if we can reduce MAKEDEV invocations in hooks/common/55-create-dev - - MAKEDEV std is called in any case. First comment says "Early - termination if we have a couple of common devices present should - speed up installs which use --copy/--tar" and then "We still need - to make sure the basic devices are present" and calls MAKEDEV more - often than otherwise. - - Additionally the 55-create-dev for CentOS/Fedora just created - console, zero and null. zero and null are part of "MAKEDEV std", - perhaps can we reduce it to that. console is part of "MAKEDEV - generic". - - Additionally the devices hda, sda and tty1 may not necessary in any - case, but instead hvc0 should be created for sure in many - cases. Nothing cares about $serial_device there either. - - Current MAKEDEV implementation support more than one device as - parameter. That could reduce the MAKEDEV calls from currently six - to two. - -* Uncouple generating auto start symlinks from --boot. - - Maybe add some --autostart or such. diff --git a/TODO.mdwn b/TODO.mdwn new file mode 100644 index 0000000..4ad8cd2 --- /dev/null +++ b/TODO.mdwn @@ -0,0 +1,218 @@ +TODO +==== + +See KNOWN_BUGS.mdwn for real bugs. + +Bugs to fix and features to add for 4.3 +--------------------------------------- + +Refactor TLS disabling. Seems to be happen twice, once in 20-setup-apt +and once in 10-disable-tls. + +Bugs to fix and features to add for 5.0 +--------------------------------------- + +* `xen-create-image` man page overhaul: + + * ambiguous option list with regards to parameters + * Set Fail in more situations where the script has clearly failed + i.e.: lvm exists + +* Test and support more file system types. + + Actually this should be pretty simple now that the parameters are + stored in the configuration hash. + +* Setup locales in the hooks? + + Currently no locales are set and this causes several domU errors + which appear in the domU's logs. + +* Documentation overhaul + + Better explain what roles /should be/ used for, and that roles + are examples, and shouldn't cover every single scenario. They + are also easy to write. + +* Think again about disk_device checks : + + Newer Xen provides `xvda`, older provided `sda`. The current check for + valid values of `disk_device` (used for root device in DomU `/etc/fstab`) + does only allow those values. + + This forbids any deployment of LVM/RAID _inside_ DomU, which cannot + be created by xen-tools anyway. So the current check is fine with the + current possibilities of xen-tools, but could become a limitation. + * Is it possible/wanted to "query" xend for default device names? + * Is it possible to create `/dev/mapper` devices with xend conf? + * Can we just avoid to ask for this value and not specify the device + in `/etc/fstab` (and use `/dev/root`, `/dev/by-uuid`, or anything?) + +* `xen-create-image --dist=…` / sources.list generation should be more fine-grained + + xen-tools should offer the possibility to enable/disable + security/volatile/backports as well as + contrib/non-free/universe/restricted/multiverse for each of them + not only based on defaults plus the Dom0's sources.list + + One idea is to allow parameters like + + --dist="lenny:main,contrib,non-free;security;volatile:main" + + and maybe (if the default will be to include security) to also + allow + + --dist="lenny;no-security" + + The second idea (by Mathieu Parent) is to have an + `/etc/xen-tools/sources.list.d/` which then contains files like + `lenny.list`, `lenny-server.list`, `karmic.list`, etc. which + defaults to `$dist.list`, but can be also select with + `--sources-list=lenny-server` (which looks for + `./lenny-server.list`, `./lenny-server`, + `/etc/xen-tools/sources.list.d/lenny-server.list` and + `/etc/xen-tools/sources.list.d/lenny-server` in that order). + + Third variant is to use `/etc/xen-tools/sources.lists/` instead of + `/etc/xen-tools/sources.list.d/` because that directory is no + runparts-like directory. + +* LVM snapshot support as an install source. + +* Clean up mounts on `Ctrl-C`, causes error while installing otherwise: + + Removing /dev/vg0/acromantula-domu1-disk - since we're forcing the + install Can't remove open logical volume "acromantula-domu1-disk" + this should be a matter of unmounting the mounted volume from /tmp. + +* Generic grub support + + This will generate a much nicer `menu.lst` as a side effect, as its + currently generated once at install, and is never updated. Installing + a full grub into the domU should update the `menu.lst` every time a + new kernel is installed and will also use the domU distro's `menu.lst` + conform. + +* pv-grub support + + This is a ways away and will probably start with a `xen-pv-grub` + package. + +* Move the hooks directory to `/etc/xen-tools/` to officially allow + added and modified hooks. + +* Clean up the hooks directory + + We still have a link farm for hooks and a meta link farm for distro + releases created on `make install`. It probably would be better if + we would just have one directory per distro (like with debian) but + without the need to created symlinks on `make install`. + + Currently CentOS's `25-setup-kernel` creates an fstab and + `90-make-fstab` does again. It works, but that cries for debugging + hell. + + `centos-5/25-setup-kernel` and `centos-6/25-setup-kernel` still + differ and I'm not sure if that's necessary respectively what's the + common denominator. + + `80-install-kernel` is not yet merged into one hook script. + + Common oneliners for code deduplication in the hooks/ directory: + + $ find -L . -not -xtype l -not -type d -not -path '*/common/*' | sort -t / -k3 + $ fdupes -r1 . | sort -t / -k3 + $ find . -type f | sim_text -ipTt 50 | tac | column -t + +* Create users, add ssh pubkeys to `.ssh/authorized_keys` + + Still have to think of a good way of doing this. It would be nice + To specify a directory of public keys, parsing the hostnames + parsing the usernames from the ssh comment line. + + Potential ideas are to add options to add a given file as + `authorized_keys` (e.g. a users public key) or to just add the Dom0's + `/root/.ssh/authorized_keys` as the DomU's one. + +* More generic roles + + Deploy a web server or setup ssmtp directly via flag when setting up + the machine. Open to suggestions, should just be some general use-cases + that are fairly common. + +* Sections for the xen-tools.conf file + + Currently it's really annoying when you are trying to create VMs + on multiple subnets. It would be nice to specify with a flag what + "type" of configuration you want, and a set of options specific to + that flag could be parsed from xen-tools.conf + +* Refactor the code for less variants of calling `cp`, `rm`, `mv`, etc. + + E.g. always use either `cp()` from `File::Copy` or `/bin/cp`, but + not both. To allow verbose copying, I (Axel) would prefer `/bin/cp` + over `cp();`. + +* Parse numerical parameters transparently for the user + + The user shouldn't have to know whether he should specify size as + `G` or `Gb` or ``. This should be parsed without + user interaction and rely on a common format. + +* `xen-update-image` should mount `/dev/pts` before running apt-get + +* `xen-update-image` should have options for using … + + * aptitude instead of apt-get + * dist-upgrade instead of upgrade + +* Support `cpu_weight` and other features from + http://wiki.xensource.com/xenwiki/CreditScheduler + +* Code Deduplication / Refactor the code for less code duplication + + bin/x* currently contain the same or similar code like e.g. in the + function readConfigurationFile. This needs to be cleaned up. + +* Use `Perl::Critic` + +Stuff from Steve's TODO list / Generic TODOs +-------------------------------------------- + +* Write more test cases. + +* `xen-delete-image` should unallocate any used IP addresses. + +Axel's Break-Backwards-Compatibility Wishlist +--------------------------------------------- + +* Make empty extension the default + + This would ease tab completion and CLI parameter reusage with "xm + create" and friends. + +* Check if we can reduce `MAKEDEV` invocations in + `hooks/common/55-create-dev` + + `MAKEDEV std` is called in any case. First comment says "Early + termination if we have a couple of common devices present should + speed up installs which use `--copy`/`--tar`" and then "We still + need to make sure the basic devices are present" and calls `MAKEDEV` + more often than otherwise. + + Additionally the `55-create-dev` for CentOS/Fedora just created + `console`, `zero` and `null`. `zero` and `null` are part of `MAKEDEV + std`, perhaps can we reduce it to that. `console` is part of + `MAKEDEV generic`. + + Additionally the devices `hda`, `sda` and `tty1` may not necessary + in any case, but instead `hvc0` should be created for sure in many + cases. Nothing cares about `$serial_device` there either. + + Current `MAKEDEV` implementation support more than one device as + parameter. That could reduce the `MAKEDEV` calls from currently six + to two. + +* Uncouple generating auto start symlinks from `--boot`. + + Maybe add some `--autostart` or such. diff --git a/debian/docs b/debian/docs index 1166ded..4843182 100644 --- a/debian/docs +++ b/debian/docs @@ -1,7 +1,7 @@ AUTHORS -README -SUPPORT -BUGS -TODO -KNOWN_BUGS +README.mdwn +SUPPORT.mdwn +BUGS.mdwn +TODO.mdwn +KNOWN_BUGS.mdwn NEWS