I tried something similar some time ago to no avail. What I ended up doing is setting the IP in the script that I used to build the image on the fly (i.e. mount the image, add custom /etc/sysconfig/network-scripts/ifcfg-eth0 -- in RH based).
Altertavitvely you could leave it on DHCP and set all of the mac addresses and then create a DHCP pool that is only allocated to those MAC addresses.
In short, IP in config for me has never succeeded but fixed MAC's have.
I've been mucking with xen for quite a while but recently started focusing on custom network setups. I'd like to be able to create VMs on the fly from a base image and set network settings in each without booting the image up.
This strange setup is for a classroom environment. At the beginning of the quarter the instructor would run a script that creates all the student's DomUs and assigns a route to them on the Dom0 from the WAN . The goal is to have a remote port (say 10001) be redirected to the students virtual machine's port 22. Each student would access their VM using a different remote port. All of the students VMs will be copies (or using qcow2 backing file) of a base image so will be identical to save space and setup time.
It seems like I had it easy by setting vif = [ 'ip=x.x.x.x' ] but this doesn't seem to do anything. According to Running Xen you need to statically set the ip inside the DomU as well as setting it in the domU config file. Doesn't setting it in both places defeat the purpose of having it in the DomU config file to start with?
My next thought was to set the mac address in the DomU config file and then have the client OS request an IP from a DHCP server which would IP addresses based on the mac address noted in the domU config file. The mac address assigned also doesn't seem to do anything.
Does anyone have any ideas how to accomplish this? I'm sure I could power up each VM, access it via ssh and reset the IP then power it down via script but for 30 students this will take a while. I assumed that I'd be able to differentiate between the DomUs from the Dom0 without modification of the DomU network files.