Hello all, There are a group of us inside of RedHat working on a number of cloud related projects. I'd like to get a bit more visibility to these projects, so I'm going to make a few announcements on this list. The idea is to keep up with these announcements and get more participation. The first project I'd like to point out is my own "oz" project. The main goal of this project is to be able to do fully unattended installs of guest OSs. Though this isn't strictly tied to the cloud, it is one of the foundations of being able to go all the way from a blank diskimage to a running instance in, say, EC2. Oz works by using the native installer from the various OSs along with the appropriate kickstart or other autoattend file. In order to minimize the possibility of errors, the initial guest that is created is Just Enough Operating System (JEOS). Assuming the installation of the JEOS is successful, then the guest can be fired up to do further automatic customization (there is prototype code to do this, but it doesn't really work yet). Oz is written as a set of re-usable python classes. There is a front-end to oz called oz-install that takes in a piece of XML (which we call the TDL for Template Description Language), which defines the OS. Note that this XML format is still somewhat in flux, so it may change in the near future. If you want to take a look at the Oz code, it is available at: https://github.com/clalancette/oz. If there is enough interest in it, I can also setup a mailing list. Questions, comments, and criticisms are welcome!
On Thu, Dec 9, 2010 at 12:39 PM, Chris Lalancette clalance@redhat.com wrote:
There are a group of us inside of RedHat working on a number of cloud related projects. I'd like to get a bit more visibility to these projects, so I'm going to make a few announcements on this list. The idea is to keep up with these announcements and get more participation.
Sounds great! Thanks for sharing more about your project with us, Chris. I encourage anybody else with cloud-related projects (whether you're outside or inside of Red Hat) to join with the Cloud SIG and help make Fedora the premier tech incubator for virt- and cloud-related technologies.
-- Jared Smith Fedora Project Leader
On 12/09/10 - 01:02:19PM, Jared K. Smith wrote:
On Thu, Dec 9, 2010 at 12:39 PM, Chris Lalancette clalance@redhat.com wrote:
There are a group of us inside of RedHat working on a number of cloud related projects. I'd like to get a bit more visibility to these projects, so I'm going to make a few announcements on this list. The idea is to keep up with these announcements and get more participation.
Sounds great! Thanks for sharing more about your project with us, Chris. I encourage anybody else with cloud-related projects (whether you're outside or inside of Red Hat) to join with the Cloud SIG and help make Fedora the premier tech incubator for virt- and cloud-related technologies.
Yes, we plan to package this stuff up and submit it to Fedora. Oz itself has minimal external dependencies, and they already exist in Fedora, so it is a no-brainer to submit that.
On 12/9/2010 12:53, Chris Lalancette wrote:
On 12/09/10 - 01:02:19PM, Jared K. Smith wrote:
On Thu, Dec 9, 2010 at 12:39 PM, Chris Lalancetteclalance@redhat.com wrote:
There are a group of us inside of RedHat working on a number of cloud
related projects. I'd like to get a bit more visibility to these projects, so I'm going to make a few announcements on this list. The idea is to keep up with these announcements and get more participation.
Sounds great! Thanks for sharing more about your project with us, Chris. I encourage anybody else with cloud-related projects (whether you're outside or inside of Red Hat) to join with the Cloud SIG and help make Fedora the premier tech incubator for virt- and cloud-related technologies.
Yes, we plan to package this stuff up and submit it to Fedora. Oz itself has minimal external dependencies, and they already exist in Fedora, so it is a no-brainer to submit that.
It might be worth your while to stop by #fedora-meeting on freenode today at 1600 EST for the Cloud SIG meeting. ;)
On 12/09/10 - 01:08:34PM, Garrett Holmstrom wrote:
On 12/9/2010 12:53, Chris Lalancette wrote:
On 12/09/10 - 01:02:19PM, Jared K. Smith wrote:
On Thu, Dec 9, 2010 at 12:39 PM, Chris Lalancetteclalance@redhat.com wrote:
There are a group of us inside of RedHat working on a number of cloud
related projects. I'd like to get a bit more visibility to these projects, so I'm going to make a few announcements on this list. The idea is to keep up with these announcements and get more participation.
Sounds great! Thanks for sharing more about your project with us, Chris. I encourage anybody else with cloud-related projects (whether you're outside or inside of Red Hat) to join with the Cloud SIG and help make Fedora the premier tech incubator for virt- and cloud-related technologies.
Yes, we plan to package this stuff up and submit it to Fedora. Oz itself has minimal external dependencies, and they already exist in Fedora, so it is a no-brainer to submit that.
It might be worth your while to stop by #fedora-meeting on freenode today at 1600 EST for the Cloud SIG meeting. ;)
Yes, I really would like to. Unfortunately this is not possible for me today :( (even though I promised Robyn I would start to attend more frequently). If there are any questions about it, please do feel free to email me (and the list); I'm happy to answer.
On 12/09/2010 11:09 PM, Chris Lalancette wrote:
Hello all, There are a group of us inside of RedHat working on a number of cloud related projects. I'd like to get a bit more visibility to these projects, so I'm going to make a few announcements on this list. The idea is to keep up with these announcements and get more participation. The first project I'd like to point out is my own "oz" project. The main goal of this project is to be able to do fully unattended installs of guest OSs. Though this isn't strictly tied to the cloud, it is one of the foundations of being able to go all the way from a blank diskimage to a running instance in, say, EC2. Oz works by using the native installer from the various OSs along with the appropriate kickstart or other autoattend file. In order to minimize the possibility of errors, the initial guest that is created is Just Enough Operating System (JEOS). Assuming the installation of the JEOS is successful, then the guest can be fired up to do further automatic customization (there is prototype code to do this, but it doesn't really work yet).
Chris, this sounds good. So, over the weekend I cloned the repo and quickly ran an rpmbuild and installed 'oz' rpm.
This is the standard TDL I used: --------------------------------------------------------------------------- kashyap@test1$ cat f14x86_64.tdl <template> <name>f14jeos</name> <os> <name>Fedora</name> <version>14</version> <arch>x86_64</arch> <install type='url'>
<url>http://download.fedoraproject.org/pub/fedora/linux/releases/14/Fedora/x86_64...</url> </install> </os> <description>Fedora 14</description> </template> ---------------------------------------------------------------------------
This was the command line I gave to generate JEOS. ---------------------------------------- $ sudo oz-install -d 4 f14x86_64.tdl ----------------------------------------
The install fails by "Timed out waiting for install to finish" (thrown by `Guest.py` ?): ---------------------------------------- . . . DEBUG:oz.Guest.FedoraGuest:Waiting for Fedora14x86_64 to finish installing, 10/1200 ------------------------------------------
I looked at the PNG it generated, and it says : ------------------------------------------ "Cannot retrieve repository(repomod.xml) for repository: anaconda-InstallationRepo-201010211827.x86_64. Please verify it's path and try again' ---------------------------------------------
I guess this is incorrect. Because I'm very sure(& rechecked) the 'repomod.xml' does exist in the url(mentioned in f14x86_64.tdl). And using the very same url I do a lot of unattended network installs via virt-install and kickstart.
Am I missing anything trivial here? I didn't dig much into oz python classes. Will see if I can get to that over the next weekend.
Thanks, Kashyap Chamarthy
Oz is written as a set of re-usable python classes. There is a front-end
to oz called oz-install that takes in a piece of XML (which we call the TDL for Template Description Language), which defines the OS. Note that this XML format is still somewhat in flux, so it may change in the near future. If you want to take a look at the Oz code, it is available at: https://github.com/clalancette/oz. If there is enough interest in it, I can also setup a mailing list. Questions, comments, and criticisms are welcome!
On 12/15/10 - 08:38:00PM, Kashyap Chamarthy wrote:
Chris, this sounds good. So, over the weekend I cloned the repo and quickly ran an rpmbuild and installed 'oz' rpm.
First, thanks for giving it a try.
This is the standard TDL I used:
kashyap@test1$ cat f14x86_64.tdl
<template> <name>f14jeos</name> <os> <name>Fedora</name> <version>14</version> <arch>x86_64</arch> <install type='url'>
<url>http://download.fedoraproject.org/pub/fedora/linux/releases/14/Fedora/x86_64...</url> </install>
</os> <description>Fedora 14</description> </template> ---------------------------------------------------------------------------
This looks like a correct TDL file.
This was the command line I gave to generate JEOS.
$ sudo oz-install -d 4 f14x86_64.tdl
And this looks like the proper command-line.
The install fails by "Timed out waiting for install to finish" (thrown by `Guest.py` ?):
. . . DEBUG:oz.Guest.FedoraGuest:Waiting for Fedora14x86_64 to finish installing, 10/1200
I looked at the PNG it generated, and it says :
"Cannot retrieve repository(repomod.xml) for repository: anaconda-InstallationRepo-201010211827.x86_64. Please verify it's path and try again'
I guess this is incorrect. Because I'm very sure(& rechecked) the 'repomod.xml' does exist in the url(mentioned in f14x86_64.tdl). And using the very same url I do a lot of unattended network installs via virt-install and kickstart.
Hm, OK. It's a really good question, it should work. Questions:
1) When you do the installs that succeed, do you use the virbr0 bridge, or do you have a real bridge that you typically use? Currently oz always uses the virbr0 bridge, and I'm wondering if there is some kind of firewall rule that is preventing it from getting out to the network. 2) What is your host system? Fedora 13? Fedora 14? Something else?
I'll try to reproduce this locally and see what happens.
Thanks again,
On 12/15/2010 09:11 PM, Chris Lalancette wrote:
On 12/15/10 - 08:38:00PM, Kashyap Chamarthy wrote:
Chris, this sounds good. So, over the weekend I cloned the repo and quickly ran an rpmbuild and installed 'oz' rpm.
First, thanks for giving it a try.
This is the standard TDL I used:
kashyap@test1$ cat f14x86_64.tdl
<template> <name>f14jeos</name> <os> <name>Fedora</name> <version>14</version> <arch>x86_64</arch> <install type='url'>
<url>http://download.fedoraproject.org/pub/fedora/linux/releases/14/Fedora/x86_64...</url> </install>
</os> <description>Fedora 14</description> </template> ---------------------------------------------------------------------------
This looks like a correct TDL file.
This was the command line I gave to generate JEOS.
$ sudo oz-install -d 4 f14x86_64.tdl
And this looks like the proper command-line.
The install fails by "Timed out waiting for install to finish" (thrown by `Guest.py` ?):
. . . DEBUG:oz.Guest.FedoraGuest:Waiting for Fedora14x86_64 to finish installing, 10/1200
I looked at the PNG it generated, and it says :
"Cannot retrieve repository(repomod.xml) for repository: anaconda-InstallationRepo-201010211827.x86_64. Please verify it's path and try again'
I guess this is incorrect. Because I'm very sure(& rechecked) the 'repomod.xml' does exist in the url(mentioned in f14x86_64.tdl). And using the very same url I do a lot of unattended network installs via virt-install and kickstart.
Hm, OK. It's a really good question, it should work. Questions:
- When you do the installs that succeed, do you use the virbr0 bridge, or do
you have a real bridge that you typically use?
Yes, I do have a real bridge(br0) on my laptop.
That's my current bridge configuration. ----------------------- kashyap@~$ brctl show bridge name bridge id STP enabled interfaces br0 8000.001f16114aca no eth0 virbr0 8000.000000000000 yes virbr1 8000.000000000000 yes kashyap@~$ ---------------------- But, I also tried it on a different machine wich has the default virbr0( something like below) to no avail. ------------------- [kashyap@foobar ~]# brctl show bridge name bridge id STP enabled interfaces virbr0 8000.000000000000 yes [kashyap@foobar ~]# -------------------
Currently oz always uses the
virbr0 bridge, and I'm wondering if there is some kind of firewall rule that is preventing it from getting out to the network.
I have my 'iptables' turned off. (In both instances above)
- What is your host system? Fedora 13? Fedora 14? Something else?
F14(newest updated); x86_64. Lenovo X200.
I'll try to reproduce this locally and see what happens.
Sure. Thanks.
/kashyap
Thanks again,
On 12/15/10 - 10:33:26PM, Kashyap Chamarthy wrote:
I guess this is incorrect. Because I'm very sure(& rechecked) the 'repomod.xml' does exist in the url(mentioned in f14x86_64.tdl). And using the very same url I do a lot of unattended network installs via virt-install and kickstart.
Hm, OK. It's a really good question, it should work. Questions:
- When you do the installs that succeed, do you use the virbr0 bridge, or do
you have a real bridge that you typically use?
Yes, I do have a real bridge(br0) on my laptop.
That's my current bridge configuration.
kashyap@~$ brctl show bridge name bridge id STP enabled interfaces br0 8000.001f16114aca no eth0 virbr0 8000.000000000000 yes virbr1 8000.000000000000 yes kashyap@~$
But, I also tried it on a different machine wich has the default virbr0( something like below) to no avail.
[kashyap@foobar ~]# brctl show bridge name bridge id STP enabled interfaces virbr0 8000.000000000000 yes [kashyap@foobar ~]#
Currently oz always uses the
virbr0 bridge, and I'm wondering if there is some kind of firewall rule that is preventing it from getting out to the network.
I have my 'iptables' turned off. (In both instances above)
- What is your host system? Fedora 13? Fedora 14? Something else?
F14(newest updated); x86_64. Lenovo X200.
I'll try to reproduce this locally and see what happens.
OK, it works fine for me locally. I can only guess that there is a rule or something that is not properly setup for you. So let me get a bit information from you:
1) brctl showstp virbr0 2) iptables -L ; iptables -t nat -L 3) cat /proc/sys/net/ipv4/ip_forward
If it is indeed something to do with iptables (as I suspect), then the following *might* help out:
$ sudo virsh net-destroy default $ sudo virsh net-start default
Let me know if that helps, and if not, please give me the information from above.
Thanks,
On 12/16/2010 12:54 AM, Chris Lalancette wrote:
On 12/15/10 - 10:33:26PM, Kashyap Chamarthy wrote:
I guess this is incorrect. Because I'm very sure(& rechecked) the 'repomod.xml' does exist in the url(mentioned in f14x86_64.tdl). And using the very same url I do a lot of unattended network installs via virt-install and kickstart.
Hm, OK. It's a really good question, it should work. Questions:
- When you do the installs that succeed, do you use the virbr0 bridge, or do
you have a real bridge that you typically use?
Yes, I do have a real bridge(br0) on my laptop.
That's my current bridge configuration.
kashyap@~$ brctl show bridge name bridge id STP enabled interfaces br0 8000.001f16114aca no eth0 virbr0 8000.000000000000 yes virbr1 8000.000000000000 yes kashyap@~$
But, I also tried it on a different machine wich has the default virbr0( something like below) to no avail.
[kashyap@foobar ~]# brctl show bridge name bridge id STP enabled interfaces virbr0 8000.000000000000 yes [kashyap@foobar ~]#
Currently oz always uses the
virbr0 bridge, and I'm wondering if there is some kind of firewall rule that is preventing it from getting out to the network.
I have my 'iptables' turned off. (In both instances above)
- What is your host system? Fedora 13? Fedora 14? Something else?
F14(newest updated); x86_64. Lenovo X200.
I'll try to reproduce this locally and see what happens.
OK, it works fine for me locally. I can only guess that there is a rule or something that is not properly setup for you. So let me get a bit information from you:
- brctl showstp virbr0
========================================================== [root@foobar ~]# brctl showstp virbr0 virbr0 bridge id 8000.000000000000 designated root 8000.000000000000 root port 0 path cost 0 max age 19.99 bridge max age 19.99 hello time 1.99 bridge hello time 1.99 forward delay 0.00 bridge forward delay 0.00 ageing time 299.95 hello timer 1.91 tcn timer 0.00 topology change timer 0.00 gc timer 171.87 flags ==========================================================
- iptables -L ; iptables -t nat -L
========================================================== [root@foobar ~]# iptables -L ; iptables -t nat -L Chain INPUT (policy ACCEPT) target prot opt source destination
Chain FORWARD (policy ACCEPT) target prot opt source destination
Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain PREROUTING (policy ACCEPT) target prot opt source destination
Chain OUTPUT (policy ACCEPT) target prot opt source destination
Chain POSTROUTING (policy ACCEPT) target prot opt source destination [root@foobar ~]# ==========================================================
- cat /proc/sys/net/ipv4/ip_forward
========================================================== [root@foobar ~]# cat /proc/sys/net/ipv4/ip_forward 1 [root@foobar ~]# ========================================================== [root@foobar export]# cat /etc/fedora-release Fedora release 14 (Laughlin) [root@foobar export]# ========================================================== [root@foobar export]# rpm -q oz python-libguestfs libvirt-python libxml2-python oz-0.0.4-1.x86_64 python-libguestfs-1.6.2-1.fc14.4.x86_64 libvirt-python-0.8.3-2.fc14.x86_64 libxml2-python-2.7.7-2.fc14.x86_64 [root@foobar export]# ==========================================================
If it is indeed something to do with iptables (as I suspect), then the following *might* help out:
$ sudo virsh net-destroy default $ sudo virsh net-start default
hm, I tried this, and re-ran oz-install, as of now, it is on it's way to getting timed out..
Let me know if that helps, and if not, please give me the information from above.
Thanks,
If it is indeed something to do with iptables (as I suspect), then the following *might* help out:
$ sudo virsh net-destroy default $ sudo virsh net-start default
Ok, I spoke a little too early. I think this worked.
hm, I tried this, and re-ran oz-install, as of now, it is on it's way to getting timed out..
And it actually didn't time out :) It did seem to install after a few mins (attached is my sanitized oz-output).
Now, I tried a virt-viewer <new-f14-JOES> . I see a blank screen. So tried to access a 'virtual terminal', I didn't get any. Am I supposed to get any?
so I tried to run `arp` : ================ [kashyap@foobar ~]$ arp -an ? (10.x.y.z) at 00:16:36:07:bc:7d [ether] on eth0 ? (192.168.122.203) at <incomplete> on virbr0 kashyap@foobar ~] ================ so what can I do next ? Shutdown the guest and mount it's file system with `guestfish` tool and make some changes?
Thanks for you help.
/kashyap
Let me know if that helps, and if not, please give me the information from above.
Thanks,
cloud mailing list cloud@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/cloud
On 12/16/10 - 07:59:37AM, Kashyap Chamarthy wrote:
If it is indeed something to do with iptables (as I suspect), then the following *might* help out:
$ sudo virsh net-destroy default $ sudo virsh net-start default
Ok, I spoke a little too early. I think this worked.
hm, I tried this, and re-ran oz-install, as of now, it is on it's way to getting timed out..
And it actually didn't time out :) It did seem to install after a few mins (attached is my sanitized oz-output).
Now, I tried a virt-viewer <new-f14-JOES> . I see a blank screen. So tried to access a 'virtual terminal', I didn't get any. Am I supposed to get any?
so I tried to run `arp` :
[kashyap@foobar ~]$ arp -an ? (10.x.y.z) at 00:16:36:07:bc:7d [ether] on eth0 ? (192.168.122.203) at <incomplete> on virbr0 kashyap@foobar ~] ================ so what can I do next ? Shutdown the guest and mount it's file system with `guestfish` tool and make some changes?
Yep, that looks like it worked. I'm pretty sure that the "net-destroy ; net-start" virsh commands are what fixed it; you were missing the MASQUERADE rules in the iptables NAT table to allow guests to get out via the virbr0 interface.
Now that you've gotten by that, you should have an installed OS. At the end of the install, oz actually shuts down the machine. At this point you have a raw VM diskimage, so you should be able to do whatever it is you usually do with a VM diskimage:
1) Use guestfish to modify it 2) Use virsh to start it in and login
etc.
I will note that I have had some problems in particular with an F-14 guest and a blank screen. I'm not sure exactly whether the problem I'm seeing is on the host or guest, and I haven't yet had time to track it down. If you are seeing an entry in the ARP cache, you may be able to ssh into the machine.
On 12/16/2010 06:37 PM, Chris Lalancette wrote:
On 12/16/10 - 07:59:37AM, Kashyap Chamarthy wrote:
If it is indeed something to do with iptables (as I suspect), then the following *might* help out:
$ sudo virsh net-destroy default $ sudo virsh net-start default
Ok, I spoke a little too early. I think this worked.
hm, I tried this, and re-ran oz-install, as of now, it is on it's way to getting timed out..
And it actually didn't time out :) It did seem to install after a few mins (attached is my sanitized oz-output).
Now, I tried a virt-viewer<new-f14-JOES> . I see a blank screen. So tried to access a 'virtual terminal', I didn't get any. Am I supposed to get any?
so I tried to run `arp` :
[kashyap@foobar ~]$ arp -an ? (10.x.y.z) at 00:16:36:07:bc:7d [ether] on eth0 ? (192.168.122.203) at<incomplete> on virbr0 kashyap@foobar ~] ================ so what can I do next ? Shutdown the guest and mount it's file system with `guestfish` tool and make some changes?
Yep, that looks like it worked. I'm pretty sure that the "net-destroy ; net-start" virsh commands are what fixed it; you were missing the MASQUERADE rules in the iptables NAT table to allow guests to get out via the virbr0 interface.
Ok, noted.
Now that you've gotten by that, you should have an installed OS. At the end of the install, oz actually shuts down the machine. At this point you have a raw VM diskimage, so you should be able to do whatever it is you usually do with a VM diskimage:
- Use guestfish to modify it
- Use virsh to start it in and login
etc.
I will note that I have had some problems in particular with an F-14 guest and a blank screen. I'm not sure exactly whether the problem I'm seeing is on the host or guest, and I haven't yet had time to track it down.
So I'm not the only one. Later I'll try with slightly older Fedora releases & RHEL
If you are
seeing an entry in the ARP cache, you may be able to ssh into the machine.
hm, I tried to get into single user mode in verbose to see the boot messages on this F14, I couldn't get the prompt, and this is where it seem to have got stuck: ------------------------------------------------- . . Clocksource tsc unstable (delta = -130073031 ns) ------------------------------------------------- Not sure if this makes any sense at this point. Will see if I can dig more some time. Thank you.
/kashyap