cmusatyalab / elijah-cloudlet Goto Github PK
View Code? Open in Web Editor NEWElijah cloudlet system
Home Page: http://elijah.cs.cmu.edu/
Elijah cloudlet system
Home Page: http://elijah.cs.cmu.edu/
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
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?
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?
Thank you for previous answers. I have made progress and encountered two new questions.
Thank you for your help
Hi,
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,
Hello @krha,
In https://github.com/cmusatyalab/elijah-provisioning page, shows you step by step how to install an cloudlet to provisioning. But the example you use (Fluid Simulation) has no active URL.
I wonder if there is another mobile application to be tested in the cloudlet? And how could I use?
I thank you!
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?
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.
This is randomly reported when create overlay VM. It tends to be happen more frequently on low-end machine.
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?
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
I can not access the OpenStack dashboard. Please tell me what could it be? The error message is: "An error occurred authenticating Please try again later."
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?
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?
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.
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
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
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
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.
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
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?
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 .
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.
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!
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,
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.
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?
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.
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 ...
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.
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?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.