google / novm

Experimental KVM-based VMM for containers, written in Go.
Apache License 2.0
1.68k stars 123 forks source link

Will Vagrant file welcome for PR ? #24

Closed kikitux closed 9 years ago

kikitux commented 9 years ago

Hello,

I have started to test novm, and I 100% sold into the idea.

I have done a Vagrantfile using Oracle Linux 7 that install golang/git, clone the code, make, make rpm, install.

If a contribution like this is valuable, I can look after create vagrantfiles for several OS so people can test?

alvaro.

kikitux commented 9 years ago

this is a snip code of the end of one execution.. it install the rpm, and then run the novm-import-kernel

==> ol7:                                                                                                                                                                                                                                      
==> ol7: Installed:                                                                                                                                                                                                                           
==> ol7:   novm.x86_64 0:0.0-187.g62366c6                                                                                                                                                                                                     
==> ol7:                                                                                                                                                                                                                                      
==> ol7: Dependency Installed:                                                                                                                                                                                                                
==> ol7:   fakeroot.x86_64 0:1.18.4-2.el7       fakeroot-libs.x86_64 0:1.18.4-2.el7                                                                                                                                                           
==> ol7:                                                                                                                                                                                                                                      
==> ol7: Complete!                                                                                                                                                                                                                            
==> ol7: /home/vagrant                                                                                                                                                                                                                        
==> ol7: Copying cat to bin...                                                                                                                                                                                                                
==> ol7: Copying chmod to bin...                                                                                                                                                                                                              
==> ol7: Copying cp to bin...                                                                                                                                                                                                                 
==> ol7: Copying rm to bin...                                                                                                                                                                                                                 
==> ol7: Copying ls to bin...                                                                                                                                                                                                                 
==> ol7: Copying sh to bin...                                                                                                                                                                                                                 
==> ol7: Copying sleep to bin...                                                                                                                                                                                                              
==> ol7: Copying mount to bin...                                                                                                                                                                                                              
==> ol7: Copying umount to bin...                                                                                                                                                                                                             
==> ol7: Copying mkdir to bin...                                                                                                                                                                                                              
==> ol7: Copying rmdir to bin...                                                                                                                                                                                                              
==> ol7: Copying ln to bin...                                                                                                                                                                                                                 
==> ol7: Copying kmod to bin...                                                                                                                                                                                                               
==> ol7: Copying modprobe to sbin...                                                                                                                                                                                                          
==> ol7: Copying switch_root to sbin...                                                                                                                                                                                                       
==> ol7: Copying /lib64/ld-linux-x86-64.so.2 to lib...                                                                                                                                                                                        
==> ol7: Copying /lib64/libacl.so.1 to lib...                                                                                                                                                                                                 
==> ol7: Copying /lib64/libattr.so.1 to lib...                                                                                                                                                                                                
==> ol7: Copying /lib64/libblkid.so.1 to lib...                                                                                                                                                                                               
==> ol7: Copying /lib64/libcap.so.2 to lib...                                                                                                                                                                                                 
==> ol7: Copying /lib64/libc.so.6 to lib...                                                                                                                                                                                                   
==> ol7: Copying /lib64/libdl.so.2 to lib...                                                                                                                                                                                                  
==> ol7: Copying /lib64/liblzma.so.5 to lib...                                                                                                                                                                                                
==> ol7: Copying /lib64/libmount.so.1 to lib...                                                                                                                                                                                               
==> ol7: Copying /lib64/libpcre.so.1 to lib...                                                                                                                                                                                                
==> ol7: Copying /lib64/libpthread.so.0 to lib...                                                                                                                                                                                             
==> ol7: Copying /lib64/libselinux.so.1 to lib...                                                                                                                                                                                             
==> ol7: Copying /lib64/libtinfo.so.5 to lib...                                                                                                                                                                                               
==> ol7: Copying /lib64/libuuid.so.1 to lib...                                                                                                                                                                                                
==> ol7: Copying /usr/lib64/libc.so.6 to lib...                                                                                                                                                                                               
==> ol7: Copying /usr/lib64/libdl.so.2 to lib...                                                                                                                                                                                              
==> ol7: Copying /usr/lib64/libfakeroot/libfakeroot-tcp.so to lib...                                                                                                                                                                          
==> ol7: Copying /usr/lib64/libkmod.so.2 to lib...                                                                                                                                                                                            
==> ol7: Copying /usr/lib64/liblzma.so.5 to lib...                                                                                                                                                                                            
==> ol7: Copying /usr/lib64/libpthread.so.0 to lib...                                                                                                                                                                                         
==> ol7: Copying /usr/lib64/libz.so.1 to lib...                                                                                                                                                                                               
==> ol7: Copying module /lib/modules/3.8.13-44.1.5.el7uek.x86_64/kernel/fs/fscache/fscache.ko ...                                                                                                                                             
==> ol7: Copying module /lib/modules/3.8.13-44.1.5.el7uek.x86_64/kernel/drivers/char/virtio_console.ko ...                                                                                                                                    
==> ol7: Copying module /lib/modules/3.8.13-44.1.5.el7uek.x86_64/kernel/drivers/block/virtio_blk.ko ...                                                                                                                                       
==> ol7: Copying module /lib/modules/3.8.13-44.1.5.el7uek.x86_64/kernel/drivers/scsi/virtio_scsi.ko ...                                                                                                                                       
==> ol7: Copying module /lib/modules/3.8.13-44.1.5.el7uek.x86_64/kernel/drivers/virtio/virtio.ko ...                                                                                                                                          
==> ol7: Copying module /lib/modules/3.8.13-44.1.5.el7uek.x86_64/kernel/drivers/virtio/virtio_pci.ko ...                                                                                                                                      
==> ol7: Copying module /lib/modules/3.8.13-44.1.5.el7uek.x86_64/kernel/drivers/virtio/virtio_ring.ko ...                                                                                                                                     
==> ol7: Copying module /lib/modules/3.8.13-44.1.5.el7uek.x86_64/kernel/drivers/virtio/virtio_balloon.ko ...                                                                                                                                  
==> ol7: Copying module /lib/modules/3.8.13-44.1.5.el7uek.x86_64/kernel/drivers/net/virtio_net.ko ...                                                                                                                                         
==> ol7: Copying module /lib/modules/3.8.13-44.1.5.el7uek.x86_64/kernel/net/9p/9pnet_virtio.ko ...                                                                                                                                            
==> ol7: Copying module /lib/modules/3.8.13-44.1.5.el7uek.x86_64/kernel/net/9p/9pnet.ko ...                                                                                                                                                   
==> ol7: 3f9e12b3ff401fc592bf517247cc9a45574eb927                                                                                                                                                                                             

real    8m20.493s                                                                                                                                                                                                                             
user    0m5.566s                                                                                                                                                                                                                              
sys     0m2.584s   

from zero to novm in minutes

kikitux commented 9 years ago
vagrant ssh -c "sudo novm kernels"                                                                                                                                                                             
------------------------------------------------------------------------------------------------------------------------------------                                                                                                          
| id                                       | url                   | timestamp                | release                     | name |                                                                                                          
------------------------------------------------------------------------------------------------------------------------------------                                                                                                          
| 3f9e12b3ff401fc592bf517247cc9a45574eb927 | file:///tmp/tmpccBczl | Thu Jan 15 11:28:19 2015 | 3.8.13-44.1.5.el7uek.x86_64 |      |                                                                                                          
------------------------------------------------------------------------------------------------------------------------------------                                                                                                          
Connection to 127.0.0.1 closed.       
amscanne commented 9 years ago

Hi kikitux, a vagrant file sounds awesome. I don't know much about it so I have a question.

What's the target for installation? Isn't it normally a VM? Using novm within a VM requires nested virtualization. AFAIK that means either KVM or VMWare. Are those things that people normally use with Vagrant? I've seen people using it with VirtualBox, but nothing else.

kikitux commented 9 years ago

Hello, I wasn't aware of KVM requirent full access to hw, so it doesn't work with virtualbox (which is free).

thanks for pointing this out to me