| 1 |
TODO |
| 2 |
==== |
| 3 |
|
| 4 |
See KNOWN_BUGS for real bugs. |
| 5 |
|
| 6 |
Bugs to fix and features to add for 5.0 |
| 7 |
--------------------------------------- |
| 8 |
|
| 9 |
* xen-create-image man page overhaul: |
| 10 |
|
| 11 |
- ambiguous option list with regards to parameters |
| 12 |
- Set Fail in more situations where the script has clearly failed |
| 13 |
i.e.: lvm exists |
| 14 |
|
| 15 |
* Test and support more file system types. |
| 16 |
|
| 17 |
Actually this should be pretty simple now that the parameters are |
| 18 |
stored in the configuration hash. |
| 19 |
|
| 20 |
* Setup locales in the hooks? |
| 21 |
|
| 22 |
Currently no locales are set and this causes several domU errors |
| 23 |
which appear in the domU's logs. |
| 24 |
|
| 25 |
* Documentation overhaul |
| 26 |
|
| 27 |
Better explain what roles /should be/ used for, and that roles |
| 28 |
are examples, and shouldn't cover every single scenario. They |
| 29 |
are also easy to write. |
| 30 |
|
| 31 |
* Think again about disk_device checks : |
| 32 |
|
| 33 |
Newer Xen provides "xvda", older provided "sda". The current check for |
| 34 |
valid values of disk_device (used for root device in domU /etc/fstab) |
| 35 |
does only allow those values. |
| 36 |
This forbids any deployment of LVM/RAID _inside_ domU, which cannot |
| 37 |
be created by xen-tools anyway. So the current check is fine with the |
| 38 |
current possibilities of xen-tools, but could become a limitation. |
| 39 |
- Is it possible/wanted to "query" xend for default device names ? |
| 40 |
- Is it possible to create /dev/mapper devices with xend conf ? |
| 41 |
- Can we just avoid to ask for this value and not specify the device |
| 42 |
in /etc/fstab (and use /dev/root, /dev/by-uuid, or anything ?) |
| 43 |
|
| 44 |
* xen-create-image --dist=... / sources.list generation should be more fine-grained |
| 45 |
|
| 46 |
xen-tools should offer the possibility to enable/disable |
| 47 |
security/volatile/backports as well as |
| 48 |
contrib/non-free/universe/restricted/multiverse for each of them |
| 49 |
not only based on defaults plus the Dom0's sources.list |
| 50 |
|
| 51 |
One idea is to allow parameters like |
| 52 |
|
| 53 |
--dist="lenny:main,contrib,non-free;security;volatile:main" |
| 54 |
|
| 55 |
and maybe (if the default will be to include security) to also |
| 56 |
allow |
| 57 |
|
| 58 |
--dist="lenny;no-security" |
| 59 |
|
| 60 |
The second idea (by Mathieu Parent) is to have an |
| 61 |
/etc/xen-tools/sources.list.d/ which then contains files like |
| 62 |
lenny.list, lenny-server.list, karmic.list, etc. which defaults to |
| 63 |
$dist.list, but can be also select with --sources-list=lenny-server |
| 64 |
(which looks for ./lenny-server.list, ./lenny-server, |
| 65 |
/etc/xen-tools/sources.list.d/lenny-server.list and |
| 66 |
/etc/xen-tools/sources.list.d/lenny-server in that order). |
| 67 |
|
| 68 |
Third variant is to use /etc/xen-tools/sources.lists/ instead of |
| 69 |
/etc/xen-tools/sources.list.d/ because that directory is no |
| 70 |
runparts-like directory. |
| 71 |
|
| 72 |
* LVM snapshot support as an install source. |
| 73 |
|
| 74 |
* Clean up mounts on Ctrl-C, causes error while installing otherwise: |
| 75 |
|
| 76 |
Removing /dev/vg0/acromantula-domu1-disk - since we're forcing the |
| 77 |
install Can't remove open logical volume "acromantula-domu1-disk" |
| 78 |
this should be a matter of unmounting the mounted volume from /tmp. |
| 79 |
|
| 80 |
* Generic grub support |
| 81 |
|
| 82 |
This will generate a much nicer menu.lst as a side effect, as its |
| 83 |
currently generated once at install, and is never updated. Installing |
| 84 |
a full grub into the domU should update the menu.lst every time a |
| 85 |
new kernel is installed and will also use the domU distro's menu.lst |
| 86 |
conform. |
| 87 |
|
| 88 |
* pv-grub support |
| 89 |
|
| 90 |
This is a ways away and will probably start with a xen-pv-grub |
| 91 |
package. |
| 92 |
|
| 93 |
* Move the hooks directory to /etc/xen-tools/ to officially allow |
| 94 |
added and modified hooks. |
| 95 |
|
| 96 |
* Clean up the hooks directory |
| 97 |
|
| 98 |
Currently we have one directory for Ubuntu and Fedora named after |
| 99 |
the first supported release which is then duplicated for each |
| 100 |
subsequent release. |
| 101 |
|
| 102 |
I'm sure this won't scale forever. So to minimise code duplication |
| 103 |
I'd like to have one common directory per distribution (e.g. called |
| 104 |
ubuntu-common, fedora-common, debian-common, maybe even deb-common, |
| 105 |
rpm-common or yum-common for dpkg/apt-, rpm/yum-based |
| 106 |
distributions, etc.) with generic hooks valid for all or most of |
| 107 |
the releases of one distribution and then one hook directory per |
| 108 |
release (e.g. called ubuntu-10.04 or ubuntu-lucid or so) which has |
| 109 |
symbolic links to everything which can be used unchanged from the |
| 110 |
common directory and new files for everything which has to be |
| 111 |
different or only there. |
| 112 |
|
| 113 |
* Create users, add ssh pubkeys to .ssh/authorized_keys |
| 114 |
|
| 115 |
Still have to think of a good way of doing this. It would be nice |
| 116 |
To specify a directory of public keys, parsing the hostnames |
| 117 |
parsing the usernames from the ssh comment line |
| 118 |
|
| 119 |
* More generic roles |
| 120 |
|
| 121 |
Deploy a web server or setup ssmtp directly via flag when setting up |
| 122 |
the machine. Open to suggestions, should just be some general use-cases |
| 123 |
that are fairly common. |
| 124 |
|
| 125 |
* Sections for the xen-tools.conf file |
| 126 |
|
| 127 |
Currently it's really annoying when you are trying to create VMs |
| 128 |
on multiple subnets. It would be nice to specify with a flag what |
| 129 |
"type" of configuration you want, and a set of options specific to |
| 130 |
that flag could be parsed from xen-tools.conf |
| 131 |
|
| 132 |
* Refactor the code for less code duplication |
| 133 |
|
| 134 |
Like e.g. readConfigurationFile in xen-create-image and |
| 135 |
xen-resize-image which are not completely identical. |
| 136 |
|
| 137 |
* Refactor the code for less variants of calling cp, rm, mv, etc. |
| 138 |
|
| 139 |
E.g. always use either cp() from File::Copy or /bin/cp, but not |
| 140 |
both. To allow verbose copying, I (Axel) would prefer /bin/cp over |
| 141 |
cp(); |
| 142 |
|
| 143 |
* Parse numerical parameters transparently for the user |
| 144 |
|
| 145 |
The user shouldn't have to know weather he should specify size |
| 146 |
as <size>G or <size>Gb or <size>. This should be parsed without |
| 147 |
user interaction and rely on a common format. |
| 148 |
|
| 149 |
* xen-update-image should mount /dev/pts before running apt-get |
| 150 |
|
| 151 |
* xen-update-image should have options for using ... |
| 152 |
|
| 153 |
... aptitude instead of apt-get |
| 154 |
|
| 155 |
... dist-upgrade instead of upgrade |
| 156 |
|
| 157 |
* Support cpu_weight and other features from |
| 158 |
http://wiki.xensource.com/xenwiki/CreditScheduler |
| 159 |
|
| 160 |
* Use Perl::Critic |
| 161 |
|
| 162 |
Stuff from Steve's TODO list / Generic TODOs |
| 163 |
-------------------------------------------- |
| 164 |
|
| 165 |
* Write more test cases. |
| 166 |
|
| 167 |
* xen-delete-image should unallocate any used IP addresses. |