cmusatyalab / elijah-cloudlet

Elijah cloudlet system
http://elijah.cs.cmu.edu/
43 stars 13 forks source link

error in overlay creation #2

Closed SainathK333 closed 11 years ago

SainathK333 commented 11 years ago

After I create the base image, I try creating the overlay with ./cloudlet overlay path/to/base_img

and I get an error OSError: [Errno 2] No such file or directory: "Couldn't mount FUSE filesystem/disk/streams/chunks_modified"

The VNC is not launched. Why is this happening?

krha commented 11 years ago

Hello @crazysainath3

The installation of qemu-kvm module changes the permission of /dev/fuse. That is know ubuntu bug reported at https://bugs.launchpad.net/ubuntu/+source/udev/+bug/1152718

This bug is fixed from udev-175-0ubuntu26, but in Ubuntu 12 LTS, you need to reboot the machine or revert back the permission of /dev/fuse manually as below.

$ sudo chmod 1666 /dev/fuse

This is reflected in README file, so please update git pull if your README file does not have that information at installation guide.

SainathK333 commented 11 years ago

I tried the above steps, but it isn't working i still get error below:

INFO start monitoring at Couldn't mount FUSE filesystem/disk/streams/chunks_modified Traceback (most recent call last): File "./cloudlet", line 268, in status = main(sys.argv) File "./cloudlet", line 150, in main machine = vm_overlay.resume_basevm() File "../src/synthesis/lib_cloudlet.py", line 169, in resume_basevm self.fuse_stream_monitor.add_path(stream_modified, vmnetfs.StreamMonitor.DISK_MODIFY) File "../src/synthesis/vmnetfs.py", line 173, in add_path fd = os.open(path, os.O_RDONLY | os.O_NONBLOCK) OSError: [Errno 2] No such file or directory: "Couldn't mount FUSE filesystem/disk/streams/chunks_modified"

krha commented 11 years ago

Hello @crazysainath3

It turns out that FUSE configuration problem. Some user is not fuse group, so the user cannot read fuse configuration file properly, which has 640 permission.

I update fabric installation script to change FUSE permission properly. Please run $ fab localhost install again after git pull.

Or you can do it manually, $ sudo chmod 644 /etc/fuse.conf $ sudo sed -i 's/#user_allow_other/user_allow_other/g' /etc/fuse.conf

Thanks for pointing out this problem.

fabfile.py @task @@ -67,9 +79,18 @@ def install():

Please see https://bugs.launchpad.net/ubuntu/+source/udev/+bug/1152718

 if sudo("chmod 1666 /dev/fuse").failed:
     abort("Failed to enable fuse for the user")