GithubHelp home page GithubHelp logo

elijah-cloudlet's People

Contributors

krha avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

elijah-cloudlet's Issues

Server.py code

First, thank you for providing server app and detailed explanation.

I am now trying to add my own functions in server.py file. It locates in class SynthesisHandler and _handle_synthesis function. I write a thread class and plan to start after self.send_synthesis_done(). However, my code just stuck there and actually it even cannot go through the initialization part.

There are several reasons which might result in that scenario. I may need to help me rule out some possibility such that I could focus checking my own codes.
My question is:. Do I need to do extra work if i want to use my own module?

If not, do you have any previous experience on what may incur this problem.

Thank you very much

Problem regarding BaseVm

Hi,
I have following doubts when working on this project. The Readme file says -

"On top of this base vm, you can install(and
execute) your custom server. For example, if you're a developer of face recognition backend server, we will install required libraries and start
your server."

   (1)Should i write code for the server to run the Face Recognition app or does the Elijah cloudlet master zip file contain code for the server? 
   (2) If server code is already part of the zip file, where is it in the project directory and how should it be installed?
   (3)Is any specific OS necessary for the guest VM or can the Android client work with any guest VM?

More about VM residue

First,Thank you for last answer. Can you provide detail step to create VM residue.?I have a question about that whether we can it in a end-to-end System. if it does, What should I do?

Server App Code

Thank you for previous answers. I have made progress and encountered two new questions.

  1. I just disregard other files in the base VM files you provide and throw precise.raw into KVM. It actually could start! Even though there are some errors during the boot time, the console could show up finally. I was wondering is it OK? I know other files might related to memory part but I don't know how to use it correctly.
  2. We need a server App to test the cloudlets. You already provide the client source code (such as Face recognition). Do you have any suggestion on how to achieve Server App source code? I totally understand there is a license issue. You don't need to give a download link. What kind of sample do you used during your test?

Thank you for your help

Error in Synthesis

Hi,

I got this error when i synthesis the sample base vm and the overlay vm you have provided in theREADME file:

XML: internal error guest CPU is not compatible with host CPU
Error, make sure previous VM is closed and check QEMU_ARGUMENT
INFO SUCCESS to launch VM
ERROR Warning, Possible VNC port error:'NoneType' object has no attribute 'XMLDesc'
INFO Resource is allocated for Session: 98175423644247766
INFO [SOCKET] waiting for client exit message


Regards,

Some doubts regarding the working of cloudlet

1.Should the cloudlet be listening for connection requests continuously?
2.Should I first send the overlay and then run the application and send the necessary content to get back the results?
3.I tried running your app that you provided but the problem you have the application that suits to your domain and i can't figure to make the changes.
4.Can u just provide the sequence of steps so i can write the app and server code on my own?
5.And for what purpose did you use OpenStack?Can you just elaborate?

Cloudlet Discovery(App part)

Hey,

I was going through cloudlet discovery(Application part),we are unable to understand the code as it has a lot of external packages. Could you do us a favor by giving us a brief description about how exactly the algorithm works. Also if possible suggest some websites where we make additional references.

kernel bug at mmaped fuse file

This is randomly reported when create overlay VM. It tends to be happen more frequently on low-end machine.

How to reproduce

  • It happends when you access a FUSE file that is mmaped by QEMU process even after QEMU process is terminated.

Follow up Test

  1. QEMU successfully munmap the FUSE file
  2. Make simple program that mmaps FUSE file as QEMU do and munmap successfully. And repeat mmap/munmap several time with FUSE file. This does not cause any problem.

Possible causes

  1. Suspicious on QEMU process, but don't know yet.
  2. Avoid accessing FUSE file access after QEMU finishes.

error in overlay creation

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?

problem with libvirt, unknown cpu model kvm64

Some folks is having problem with kvm64. kvm64 is a CPU model provided by libvirt and it should exist at every machine that support libvirt. I tried to reproduce the problem at clean Ubuntu, but I could not. So, here's workaround suggested by Juhani Toivonen [email protected].


I’m working with your elijah cloudlet platform and had some problems that I managed to solve just a moment ago:

jmttoivo@charlie:~$ cloudlet base cloudlet/cloudlet01.img
ERROR internal error Unknown CPU model kvm64
ERROR failed at Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/cloudlet/synthesis.py", line 1526, in create_baseVM
machine = run_vm(conn, new_xml_string, wait_vnc=True)
File "/usr/local/lib/python2.7/dist-packages/cloudlet/synthesis.py", line 970, in run_vm
machine = conn.createXML(domain_xml, 0)
File "/usr/lib/python2.7/dist-packages/libvirt.py", line 2189, in createXML
if ret is None:raise libvirtError('virDomainCreateXML() failed', conn=self)
libvirtError: internal error Unknown CPU model kvm64

After a few days of banging my head against the table I found that libvirt defines its processors in /usr/share/libvirt/cpu_map.xml and that the version that fabric installed on my Ubuntu 12.04 did not have an entry for ‘kvm64' in there. After adding an entry for it:

<model name='kvm64'>
  <model name='qemu32'/>
  <feature name='mtrr'/>
  <feature name='mca'/>
  <feature name='pse36'/>
  <feature name='clflush'/>
  <feature name='syscall'/>
  <feature name='nx'/>
  <feature name='lm'/>
  <feature name='cx16'/>
</model>

to the end of the file, the cloudlet started working just fine.

Just thought I’d let you know in case somebody else bumps into the same problem and asks. :)

Juhani Toivonen

Problem VM overlay creation

Hello @krha ,

Appeared the following error when trying to create VM overlay:

INFO start monitoring at /var/tmp/cloudletfs-qxFK0G/disk/streams/chunks_modified
INFO start monitoring at /var/tmp/cloudletfs-qxFK0G/disk/streams/chunks_accessed
INFO start monitoring at /var/tmp/cloudletfs-qxFK0G/memory/streams/chunks_accessed
INFO start monitoring at /tmp/cloudlet-qemu-6vkgnY/qemu-trim-log
INFO * Overlay creation configuration
INFO - {'DATA_SOURCE_URI': None,
'DISK_ONLY': False,
'FREE_SUPPORT': False,
'TRIM_SUPPORT': True,
'ZIP_CONTAINER': True}
INFO restoring VM...
ERROR internal error process exited while connecting to monitor: libvir: error : cannot execute binary /usr/local/bin/cloudlet_qemu-system-x86_64: Permission denied

ERROR failed : reasons -

...

What could it be?

Face Recognition App

Hii,
What is the purpose of FacerecDesktopControlClient.jar in /elijah-cloudlet-master/src/client/applications/Face/ ?And in which path in the elijah directory do i find the android code for face recognition app?

Add new command

Thank you for your previous answer. The thread question turns out to be my own problem. I am now trying to add a new command.

I find out in the android side, client will send two commands to server, respectively are creating session and sending meta-file. Now, I want to add my own command after client receiving the synthesis success info.

I already defined the format and function in NetworkMsg.java and send it using sender.requestCommand(networkMsg). Before this line is executed, if(mClientSocket.isConnected() && (!mClientSocket.isClosed())) returns true so i think the socket is open now. However, there is no response in the server side. I log at the entrance of def handle(self): of class SynthesisHandler. It actually log the existing two commands but does not log my command.

It is very weird to me. Do you have any clue to help me solve it? Thank you.

Pipelining

Thank you for your previous answer.

I notice that pipelining is an important method listed in your paper. I am just very curious how to implement in the python code since i cannot find it. Do you have any suggestion on which part I should pay more attention to? Thank you very much

Base VM

Thank you for previous answer. I have another problem related to Base VM.

Here is what I have done:
I have import the precise.raw file you provide into the virt-manager and it could run normally.

Here is my problem:
After I shut down the virtual machine with precise.raw file, I try to run the command cloudlet overlay /vmstorage/ubuntu/precise.raw and the system gives me the following error:
ERROR Traceback (most recent call last):
File "/usr/local/bin/cloudlet", line 170, in main
machine = vm_overlay.resume_basevm()
File "/usr/local/lib/python2.7/dist-packages/elijah/provisioning/synthesis.py", line 85, in decorated_function
raise e
CloudletGenerationError:
...
...
XML: internal error process exited while connecting to monitor: libvir: error : cannot execute binary /usr/local/bin/cloudlet_qemu-system-x86_64: Permission denied

Have you ever run into that problem before?

Actually, I don't quite understand what is the 'resume Base VM' mean in your description. I was wondering whether my steps are correct. Thx

Something about client code

hello , I'm a new learner about cloudlet. I want to ask a basic question about cloudlet. I have deployed the cloudlet, because you don't provide a sample, so I want to write a simple sample by myself to test the cloudlet. here I read your some anriod code, where i doubt is that how to specify the ip and the port so that my clinet app can connect to vm server program (Assume the vm server program run on port 8189, the cloudlet ip is 10.131.252.141). or I have to specify the ip when I create the vm image. Now I don't specify the ip for the vm image when I create it .Thanks for your answer

Client Code

Thank you for providing the FLUID server App.

According to your answer in last question. I am now diving into the source code on client side. In order to cooperate with FLUID app, I am searching the elijah-provisioning-master\android\android folder. Here are my questions and most of them are basically yes or no type.

  1. There is another folder android_fluid. I guess the graphics application in that fluid is also wrapped in the android folder. Is it right?
  2. I think it is necessary to have a deamon process running on the cloudlet to receive the VM overlay transferred from Android client. According your explanation on the GitHub, if I am using a desktop client (Python edition), i need to run command 'synthesis_server' at first. However, when i use a android client, you don't give an explicit description on it. As I know, I should also run that command whatever the client is. Is it right? I just want to make sure the two editions of source code in client side (python and java edition) use the same protocol.
  3. Mainly about CloudletActivity.java. I find out you don't use the function:
    private void showDialogSelectApp(final String[] applications)
    even if you have already defined it.

I guess the logic behind that is the VM overlay and client-side app has one-to-one binding such that when we choose the VM overlay, the client-side app should be automatically called after the synthesis succeeds. That's what i find in synthesisHandler. Is it correct?

Maybe I will have further question about the session later.

Thank you very much for your time and answer

something about the port forwarding

Thank you for your last answer! Now I have a new question. Can I use tools (e.g. libvirt?)to modify the port forwarding after the vm has started?

Question about VM residue

Hello, I can use andriod client to vm systhesis. But I have a question after I read your paper 2013-MobiSys '13-Just-in-Time Provisioning for Cyber Foraging .
image
The last step is creating VM residue. But I can't find any part which can create VM residue. Does your project provide this function? if your project provide this function,which part provide this function and how to use this function. Thank you for your answer.

VM synthesis Delay Problem

Sir,
Following the steps at Elijah Provisioning, we imported the base VM Ubuntu12.04 32 bit. After making the customizations to it ( loading libraries like OpenCV etc , Apache Tomcat Server, and the server code for Face Recognition) when we close the VNC, the cloudlet code starts to create VM Overlay. Using the overlay when we try to synthesize the launch VM the process starts and then stops at "INFO start monitoring at /tmp/cloudlet-xxx/qemu-trim-log". It does not open the launch VM even after waiting for an hour.
Please note that, we are otherwise able to get the launch VMs with light weight programs. This is only happening when we do lots of customizations for our Face Recognition code.The overlay.zip file is 878MB. Can you please explain how to solve this issue?
Kindly, help us!

Problem while creating Overlay

Hii,
When i try to create an overlay,the qemu viewer opens up and resumes the Vm.
But when i try to install any application,the system pops out a kernel error like this.
Please check the attachment.
img_20130812_150130

Cloudlet App problem

app
Well as you can see as I open the application it shows me the ip mentioned in it. Why is it showing that ip?
Well i tried to connect through upnp but it is not working. Everytime i get this ip only.

Errorinstalling Cloudlet

Hi,
I have a problem in installing the cloudlet software ( Elijah-provisioning) system on my Ubuntu 12.10 (32bit) machine. I get this error when i run cloudlet:

Traceback (most recent call last):
File "/usr/local/bin/cloudlet", line 317, in
status = main(sys.argv)
File "/usr/local/bin/cloudlet", line 108, in main
if not synthesis.validate_congifuration():
File "/usr/local/lib/python2.7/dist-packages/elijah/provisioning/synthesis.py", line 1479, in validate_congifuration
close_fds=True)
File "/usr/lib/python2.7/subprocess.py", line 679, in init
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1259, in _execute_child
raise child_exception
OSError: [Errno 8] Exec format error

I think i have missed something in the setup process.
How to fix this issue?

Another question, I'm trying to install the system and run any cloudlet application on it ( client and backend server). Do you have sample applications that i can use? I can see that there is an client application called "Face recognition", where is the VM overlay for this app?

Thanks a lot for your effort.

Regards,

A Problem about creating Base VM

Hi, I have encounter a problem about creating base vm. When I want to create a base vm, I use the command(cloudlet base /usr/cloudlet/precise.qcow2), the tool can run normally and in the vnc window it shows that no bootalbe device, it means the system can't start, but I can run the vm image using virsh start precise.qcow2 this command ,I can't understand this is why. could you help me. Thank you for your answer.

Base Vm Creation

Well, i have been trying to create a windows base vm. But when i try to do that the IPXE command line is saying that it can't boot from the cd rom. Can you just guide me how to create a base Vm of windows?
Another problem is when i try to create a base VM of ubuntu i get an error as "The creation of swap space in partition #5 of SCSI1 (0,0,0,) (sda) failed" . Which type of file system should i select while i try to install?

Customizing Base VM

Dear Sir,
We are trying to implement a real time face recognition system using cloudlets. We followed the steps given by you at https://github.com/cmusatyalab/elijah-openstack to install the openstack extension for cloudlets. The dashboard launches successfully and we imported the sample base VM ubuntu 12.0.4 provided.
After Resuming the base VM, we understand that we have to install some libraries.
resumed vm

Could you please tell us what login id and password do we use to login into the resumed VM from the console? Also, It would be really kind of you, if you could elaborate on the customizations we have to do on the resumed VM before creating the overlay.
Kindly, help us ...

Issue with the overlay

i'm getting some issue with overlays, whenever i try to create an overlay from a base VM i have this error :
" XML: internal error: process exited while connecting to monitor: cloudlet logfile path opened at : /tmp/cloudlet-qemu-WgWnM6/qemu-trim-log
migration-raw: First attempt to start an incoming migration via fd to support libvirt
migration-raw: Migration file start at 8192
qemu: warning: error while loading state for instance 0x0 of device 'ram'
load of migration failed

Error, make sure previous VM is closed and check QEMU_ARGUMENT

Failed to create overlay "
)
Do you have any idea about the problem ?

Also the fluid overlay is not available on the web site. Do you have another link to download it ?.

Thank you in advance.

Face Recognition Server

Hii,
In Vm based Cloudlet paper it is mentioned that Face recognition server runs on windows. Is it necessarily windows or can it be run on linux also?
Well i have another doubt regarding the steps
1.First i send an overlay through the cloudlet app and i receive it on the other end and then i perform Dynamic Vm Synthesis.After this should i run a new server?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.