您的位置:首页 > 运维架构

基于OpenStack的Cloudlet安装与部署(1)

2016-03-22 01:37 211 查看
由于项目的需要,开始研究如何在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,等待求助中
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息