Even though there hasn't been any discussion recently, bug #452721 is very much still of major concern to me.
First issue is how to parse domain configuration files. Reason being a foo.cfg file might have the configuration 'name = "bar"'. This would also let the script retrieve the UUID if that has been set. Turns out while Python in domain configuration files isn't supportted, the syntax is still a proper subset of the Python language. This makes Python the ideal programming language for a replacement script. Only weakness is being able to have full Python syntax in configuration files might make the task simpler. Presently I hope to convince the Xen core to allow full Python in domain configuration files, but no news on that front so far. This would mean /etc/default/xendomains would need to change to match Python syntax. My thinking for adding to domain configuration files would be something along these lines: init = { 'tool': 'xendomains-ng', 'version': 0, 'order': 9, 'startwait': 60, 'stopaction': 'save', } Mainly a Python dictionary holding key values. Thought being the 'tool' and 'version' values, is to hope for some form of compatibility if such scripts were to become common. My thinking is 'order' would indicate sequence. Domains with higher order get started first (same order would nominally allow parallel start). If a domain.cfg file didn't define order then its order is 0. 'startwait' would tell the script to wait that long before starting subsquent domains. 'stopaction' would allow different actions if the machine was to stop. The 3 options which come to mind are 'stop' (shutdown), 'save' (save to specified storage location), and 'migrate'. If full Python doesn't become available, this might take the format: init = 'tool=xendomains-ng,version=0,order=9,startwait=60,stopaction=save' Not needing to parse the string though does make one's life simpler. Other concerns include: Sometimes you may want to take a distinct action during stop. Ie if you're doing restarts for kernel updates, you'll want to override and have domains reboot. It may be handier to have distinct options for 'restart'. Full restarts can follow proper order, or could simply involve bouncing domains based on order. Notably with HVM domains and Qemu updates, you could do: order 0 down, order 1 down, order 9 down, order 9 up, order 2 up, order 0 up Or you could do: order 9 down, order 9 up, order 1 down, order 1 up, order 0 down, order 0 up I'm basically certain writing a new xendomains script in Python is the way to go. Now to get an answer as to whether full Python in domain configuration files could be reenabled. -- (\___(\___(\______ --=> 8-) EHM <=-- ______/)___/)___/) \BS ( | ehem+sig...@m5p.com PGP 87145445 | ) / \_CS\ | _____ -O #include <stddisclaimer.h> O- _____ | / _/ 8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445