ONOS一键安装脚本

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

工欲善其事,必先利其器。在部署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 
责任编辑:何妍 来源: SDNLAB
相关推荐

2015-02-09 15:25:52

换肤

2019-12-02 08:58:09

SQL脚本语言MySQL

2011-01-27 10:40:08

2024-06-17 00:00:05

镜像仓库带宽

2020-12-29 11:04:57

Linux安装系统RedHat

2020-06-30 15:10:58

命令行应用开发工具

2019-08-28 12:02:04

Helm云原生一键部署

2020-12-24 14:00:58

开源技术 软件

2009-08-31 09:09:56

2022-07-27 14:59:20

原子化服务鸿蒙

2021-03-01 12:37:10

Shell脚本端口

2013-10-14 15:35:46

CentOSLNMPCentmin Mod

2023-06-15 10:00:00

Jenkins任务操作

2022-04-07 13:56:13

前端一键换肤

2021-04-23 10:38:52

Spring BootSpringMVC源码

2021-12-02 07:50:29

分支服务git worktre

2020-11-24 11:00:24

前端

2023-05-29 09:08:27

SQL日志数据

2018-03-20 12:30:44

iOSPush抓包

2024-10-17 11:09:46

点赞
收藏

51CTO技术栈公众号