基於OpenStack的Cloudlet安裝與部署(1)

由於項目的需要,開始研究如何在OpenStack上安裝Cloudlet。首先我們來看下http://elijah.cs.cmu.edu/上對Cloudlet的定義:

A cloudlet is a trusted, resource-rich computer or cluster of computers that’s well-connected to the Internet and available for use by nearby mobile devices. It represents the middle tier of a 3-tier hierarchy: mobile device — cloudlet — cloud. A cloudlet can be viewed as a “data center in a box” whose goal is to “bring the cloud closer”.

也就是說,cloudlet是一組計算機,這組計算機能爲移動用戶提供服務,以減輕在移動設備上運行程序的負擔;同時,相較於傳統的雲平臺式的服務提供方式,cloudlet又能有效降低與移動設備的端到端時延,提高帶寬。

根據https://github.com/cmusatyalab/elijah-openstack上的教程,我們可以一步一步配置一個基於OpenStack的Cloudlet環境。主要步驟包含以下四點:

1.準備一臺裝有Ubuntu 14.04 64bit的電腦
2.安裝Cloudlet library:

$ cd ~
$ sudo apt-get install git openssh-server fabric
$ git clone https://github.com/cmusatyalab/elijah-provisioning
$ cd elijah-provisioning
$ fab install (Require password for you Ubuntu account)

3.通過DevStack安裝OpenStack,這一步網上教程很多,也可以不用DevStack,只要成功安裝OpenStack環境就行
4.安裝OpenStack的Cloudlet擴展

$ cd ~
$ git clone https://github.com/cmusatyalab/elijah-openstack
$ cd elijah-openstack
$ fab localhost devstack_single_machine
(Require password for you Ubuntu account)

前三步都沒問題,然而第四步執行fab localhost devstack_single_machine的時候報錯:

[localhost] Executing task 'devstack_single_machine'
[localhost] run: cloudlet --version
No handlers could be found for logger "paramiko.transport"
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/fabric/main.py", line 743, in main
*args, **kwargs
File "/usr/lib/python2.7/dist-packages/fabric/tasks.py", line 368, in execute
multiprocessing
File "/usr/lib/python2.7/dist-packages/fabric/tasks.py", line 264, in _execute
return task.run(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/fabric/tasks.py", line 171, in run
return self.wrapped(*args, **kwargs)
File "/home/niar/elijah-openstack/fabfile.py", line 258, in devstack_single_machine
check_VM_synthesis_package()
File "/home/niar/elijah-openstack/fabfile.py", line 157, in check_VM_synthesis_package
if run("cloudlet --version").failed:
File "/usr/lib/python2.7/dist-packages/fabric/network.py", line 639, in host_prompting_wrapper
return func(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/fabric/operations.py", line 1042, in run
shell_escape=shell_escape)
File "/usr/lib/python2.7/dist-packages/fabric/operations.py", line 909, in runcommand
channel=default_channel(), command=wrapped_command, pty=pty,
File "/usr/lib/python2.7/dist-packages/fabric/state.py", line 388, in default_channel
chan = opensession()
File "/usr/lib/python2.7/dist-packages/fabric/state.py", line 380, in opensession
return connections[env.host_string].get_transport().open_session()
File "/usr/lib/python2.7/dist-packages/fabric/network.py", line 151, in getitem
self.connect(key)
File "/usr/lib/python2.7/dist-packages/fabric/network.py", line 143, in connect
self[key] = connect(user, host, port, cache=self)
File "/usr/lib/python2.7/dist-packages/fabric/network.py", line 444, in connect
sock=sock
File "/usr/local/lib/python2.7/dist-packages/paramiko/client.py", line 325, in connect
t.start_client()
File "/usr/local/lib/python2.7/dist-packages/paramiko/transport.py", line 492, in start_client
raise e
NotImplementedError: Use module Crypto.Signature.pkcs1_15 instead

在網上找了半天未果,StackOverflow上也沒有關於NotImplementedError的解答,只好在Open Edge Forum上發了個帖子http://forum.openedgecomputing.org/t/problem-encountered-during-installation/84,等待求助中

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章