中国领先的IT技术网站
|
|

ONOS一键安装脚本

工欲善其事,必先利其器。在部署SDN实践时,通常需要安装OVS和控制器等软件,经历过的同学都知道,很多时候会被一些细节卡住,影响生产效率。

作者:李呈来源:SDNLAB|2015-11-03 15:29

Tech Neo技术沙龙 | 11月25号,九州云/ZStack与您一起探讨云时代网络边界管理实践


工欲善其事,必先利其器。在部署SDN实践时,通常需要安装OVS和控制器等软件,经历过的同学都知道,很多时候会被一些细节卡住,影响生产效率。有时由于实验需要还需要多次部署同样的内容,重复进行多遍同样的命令,浪费时间。所以很有必要将安装过程转化为一键安装脚本。本文总结的一键安装脚本就是在部署ONOS集群时,为提高安装ONOS效率而整理的,希望能帮助到同样需要多次安装ONOS的其他人。

安装脚本

安装脚本将安装ONOS及其依赖软件的所有命令都写到了shell文件,并加一些必要判断语句,使得安装脚本使用起来更加人性化。需要注意的是,此文件仅完成了ONOS的安装,并没有完成ONOS启动之前的配置,需要启动相关服务,还需手动进行配置。脚本内容如下所示:

  1. sh 
  2.  
  3. #!/bin/bash 
  4.  
  5. #make sure only root can run our script. 
  6.  
  7. if [ "$(id -u)" != "0" ]; then 
  8.  
  9. echo "You need to be 'root' dude." 1>&2 
  10.  
  11. exit 1 
  12.  
  13. fi 
  14.  
  15. _version="1.0" 
  16.  
  17. echo "========================INSTALL ONOS=======================" 
  18.  
  19. # Download and unzip apache-karaf 
  20.  
  21. if [ -d /root/Applications ] 
  22.  
  23. then 
  24.  
  25. cd /root/Applications 
  26.  
  27. else 
  28.  
  29. mkdir /root/Applications 
  30.  
  31. cd /root/Applications 
  32.  
  33. fi 
  34.  
  35. if [ -f apache-karaf-3.0.2.tar.gz ] 
  36.  
  37. then 
  38.  
  39. echo "apache-karaf-3.0.2.tar.gz has exist" 
  40.  
  41. else 
  42.  
  43. wget http://apache.fayea.com/karaf/3.0.2/apache-karaf-3.0.2.tar.gz 
  44.  
  45. tar -xzf apache-karaf-3.0.2.tar.gz 
  46.  
  47. fi 
  48.  
  49. # Download and install apache-maven 
  50.  
  51. if [ -f apache-maven-3.2.5-bin.tar.gz ] 
  52.  
  53. then 
  54.  
  55. echo "apache-maven-3.2.5.bin.tar.gz has exist" 
  56.  
  57. else 
  58.  
  59. wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.2.5/binaries/apache-maven-3.2.5-bin.tar.gz 
  60.  
  61. tar -xzf apache-maven-3.2.5-bin.tar.gz 
  62.  
  63. mv apache-maven-3.2.5 /usr/local/apache-maven 
  64.  
  65. # set environment 
  66.  
  67. echo "export M2_HOME=/usr/local/apache-maven" >> /etc/profile 
  68.  
  69. source /etc/profile 
  70.  
  71. echo "export PATH=$PATH:$M2_HOME/bin" >> /etc/profile 
  72.  
  73. source /etc/profile 
  74.  
  75. # in case of failure of setting environment 
  76.  
  77. export PATH=$PATH:$M2_HOME/bin 
  78.  
  79. fi 
  80.  
  81. # Install java-8-oracle 
  82.  
  83. if which java 
  84.  
  85. then 
  86.  
  87. echo "java-8 has been installed." 
  88.  
  89. else 
  90.  
  91. apt-get install python-software-properties 
  92.  
  93. sudo add-apt-repository ppa:webupd8team/java -y 
  94.  
  95. sudo apt-get update 
  96.  
  97. sudo apt-get install oracle-java8-installer oracle-java8-set-default -y 
  98.  
  99. # set JAVA_HOME 
  100.  
  101. echo "export JAVA_HOME=/usr/lib/jvm/java-8-oracle" >> /etc/profile 
  102.  
  103. source /etc/profile 
  104.  
  105. fi 
  106.  
  107. # show the info of java and maven to check. 
  108.  
  109. java -version 
  110.  
  111. mvn --version 
  112.  
  113. # Download ONOS 
  114.  
  115. if [ -d /home/onos ] 
  116.  
  117. then 
  118.  
  119. cd /home/onos 
  120.  
  121. else 
  122.  
  123. mkdir /home/onos 
  124.  
  125. cd /home/onos 
  126.  
  127. fi 
  128.  
  129. if which zip 
  130.  
  131. then 
  132.  
  133. echo "zip has been installed" 
  134.  
  135. else 
  136.  
  137. apt-get install zip 
  138.  
  139. fi 
  140.  
  141. if [ -f onos-$_version.zip ] 
  142.  
  143. then 
  144.  
  145. echo "onos-$_version.zip has exist" 
  146.  
  147. else 
  148.  
  149. wget https://github.com/opennetworkinglab/onos/archive/onos-$_version.zip 
  150.  
  151. unzip onos-$_version.zip 
  152.  
  153. # set environment of ONOS 
  154.  
  155. echo "export ONOS_ROOT=/home/onos/onos-onos-$_version" >> /etc/profile 
  156.  
  157. echo "export KARAF_ROOT=/root/Applications/apache-karaf-3.0.2" >> /etc/profile 
  158.  
  159. source /etc/profile 
  160.  
  161. source $ONOS_ROOT/tools/dev/bash_profile 
  162.  
  163. fi 
  164.  
  165. # Build ONOS 
  166.  
  167. cd onos-onos-$_version/ 
  168.  
  169. mvn clean install 

Note: 若需下载其他版本ONOS,直接修改下载源码部分和ONOS_ROOT即可,无需修改Karaf,maven,java8等内容。

初始化配置

在安装完ONOS之后,还需要进行一些必要的配置,才能启动运行了制定服务的ONOS。需要编辑$KARAF_ROOT/etc/org.apache.karaf.features.cfg文件,脚本中即为/root/Applications/apache-karaf-3.0.2/etc/org.apache.karaf.features.cfg。在该文件中的featuresRepositories部分和featuresBoot部分分别添加如下内容:

  1. Shell 
  2.  
  3. 12featuresRepositories:mvn:org.onosproject/onos-features/1.0.0/xml/features(逗号隔开,加到最后即可) 
  4.  
  5. featuresBoot:onos-api,onos-core-trivial,onos-cli,onos-openflow,onos-app-fwd,onos-app-mobility,onos-gui 

【编辑推荐】

  1. 在开源控制器上 ONOS和ODL更趋向协作
  2. SDN和OpenFlow世界大会:聚焦三大重点
  3. 网络转型在即 ONOS让运营商遇见未来的网络
  4. SDN控制平面中的东西向接口现状
  5. ONOS第一年下载量突破11000
【责任编辑:何妍 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

热门职位+更多

读 书 +更多

公钥基础设施PKI及其应用

公钥基础设施PKI(Public Key Infrastructure)是利用公钥概念和加密技术为网上通信提供的符合标准的一整套安全基础平台。公钥基础设施能为...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
× CTO训练营(深圳站)