planet-lab平台的布置
来源:互联网 发布:信息学奥赛 c语言讲义 编辑:程序博客网 时间:2024/05/01 08:19
参考文献: hello_world.pdf 来源于planet-lab网站 我现在知道我为什么ssh不能正确连到nodes上了,因为每个站点要两台机器连到planet-lab节点,才能工作.而我们机房里有一台机器不能被ping通,后来我看了planet-lab上的assistance tutorial才知道如何加入planet-lab里的种种步骤和软硬条件.还是挺麻烦的.
select='resptime>0',把结果存储到nodes.txt中,假设所有的操作都在~/planetlab/hello_world目录下
>>> import xmlrpclib
>>> api_server = /
... xmlrpclib.ServerProxy('https://www.planet-lab.org/PLCAPI/')
>>>
>>> auth = {}
>>> auth['Username'] = "user" <-- 用你自己的email帐号替代 >>> auth['AuthString'] = "pass" <-- 用你自己的帐号密码替代
>>> auth['AuthMethod'] = "password"
>>>
>>> node_list = [line.strip() for line in open("nodes.txt")]
>>>
>>> api_server.AddSliceToNodes(auth, /
... "你的slice名称", node_list)
$ chmod 666 phonelog.txt 在你的可被web访问的目录下,存储一下文件phonehome.php phonelog.php 和phonehome.py文件 <?
### phonelog.php
header('Content-type: application/vnd.google-earth.kml+xml');
header('Content-disposition: attachment;
filename="hello_world.kml"');
echo '<?xml version="1.0" encoding="UTF-8"?>' . "/n";
echo '<kml xmlns="http://earth.google.com/kml/2.0">' ."/n";
echo '<Document>' . "/n";
$phonelog = file("phonelog.txt");
foreach ($phonelog as $entry) {
$fields = explode("/t", trim($entry));
if ($fields[4] == "None" || $fields[5] == "None") continue;
?>
<Placemark>
<Snippet><?= htmlspecialchars($fields[3]) ?></Snippet>
<name><?= htmlspecialchars($fields[1]) ?></name>
<LookAt>
<longitude><?= $fields[5] ?></longitude>
<latitude><?= $fields[4] ?></latitude>
<range>1000000</range>
</LookAt>
<visibility>1</visibility>
<Point>
<extrude>1</extrude>
<altitudeMode>relativeToGround</altitudeMode>
<coordinates>
<?= $fields[5] . "," . $fields[4] ?>,0
</coordinates>
</Point>
</Placemark>
<? }
?>
</Document>
</kml> <?
### phonehome.php
if (isset($_GET['reset'])) {
$phonelog = fopen("phonelog.txt", "w");
fclose($phonelog);
echo "Cleared Phone Log.";
die();
}
if (!isset($_POST['site_id'])) die;
$existinglog = file("phonelog.txt");
foreach ($existinglog as $entry) {
$f = explode("/t", trim($entry));
if ($f[0] == $_POST['site_id']) die;
}
$phonelog = fopen("phonelog.txt", "a");
fwrite($phonelog, $_POST['site_id'] . "/t" . $_POST['name'] .
"/t" . $_POST['login_base'] . "/t" . $_POST['url'] .
"/t" . $_POST['latitude'] . "/t" . $_POST['longitude'] .
"/n");
fclose($phonelog);
?> #!/usr/bin/python
### phonehome.py
### Hello World demonstration script
phonehome_url = "http://www.your.url/~username/hw_demo/phonehome.php"<这个用你的可访问目录的url来代替,hw_demo就是这三个文件存放位置>
import sys, urllib, xmlrpclib, socket
api_server = xmlrpclib.ServerProxy('https://www.planet-lab.org/PLCAPI/')
auth = {}
auth['AuthMethod'] = "anonymous"
auth['Role'] = "user"
hostname = socket.gethostname()
query = api_server.GetNodes(auth,
{'hostname': hostname}, ['site_id'])
site_id = query[0]['site_id']
site_info = api_server.GetSites(auth,
{'site_id': site_id}, ['site_id', 'name', 'url',
'latitude', 'longitude', 'login_base'])
site_info = urllib.urlencode(site_info[0])
urllib.urlopen(phonehome_url, site_info)
> http://www.your.url/~username/helloworld/ hello(注意:这个要跟你的存放目录和具体url有关,不要盲目照写)
- planet-lab平台的布置
- 什么是Planet-lab?什么是CoDeeN?
- Lab在局域网中找到你的树莓派(windows平台)
- ASM 的最佳布置
- 小空间的布置
- 领导布置的任务
- 开始作 unofficial planet python 的文摘
- 简单的应用程序创建POSTNET/PLANET 条形码控件POSTNET/PLANET Fontware
- 解决软件布置的问题
- 布置居室的“加减”法
- XGantt的优选布置应用
- 恋爱相关的风水布置
- 可以减肥的家居风水布置
- 老师布置的一次作业
- GPU监控的环境布置
- Lab
- LAB
- Big Planet Tracks 一个不错的 Android 开源地图
- 【初学设计模式】Factory Method (工厂方法)
- Android Eclipse ADT 可视化生成的XML 格式化
- 享元模式
- 127c4f729e6303a99b6704a471c9310d spyeye bot
- 【初学设计模式】Prototype (原型)
- planet-lab平台的布置
- gdb的调试命令
- 真的好辛苦
- 值得研究的J2EE开源项目推荐
- GDB中应该知道的几个调试方法
- 在svg文间画图过程中放大缩小图片后,坐标偏移问题
- 【初学设计模式】Singleton (单件)
- PKU3226
- android 物理键盘 关键因素