ONOS一键安装脚本

简介:

工欲善其事,必先利其器。在部署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 


作者:李呈

来源:51CTO

相关文章
|
3天前
Minecraft Forge部署以及部署时可能出现的问题以及解决方案
Minecraft Forge部署以及部署时可能出现的问题以及解决方案
12 0
|
5月前
|
Linux 网络安全 数据安全/隐私保护
SoftEther软件搭建
SoftEther软件搭建
115 0
|
13天前
|
监控 Shell 持续交付
通过Shell脚本实现局域网管理软件的自动化部署流程
本文介绍了如何使用Shell脚本自动化局域网软件部署流程,以简化管理和提高效率。脚本包括定义安装目录、服务器列表和软件包,然后遍历服务器进行传输和解压。此外,还展示了通过Shell脚本监控网络设备和软件状态,并自动将监控数据提交到网站的功能,有助于及时发现和解决问题,提升系统稳定性。通过这种方式,可有效减轻管理员的工作负担,降低成本。
37 0
|
11月前
|
JavaScript
一键安装nodejs环境脚本
一键安装nodejs环境脚本
|
11月前
|
应用服务中间件 Shell nginx
openresty一键安装部署脚本
openresty一键安装部署脚本
|
Ubuntu 编译器 Shell
Hi3516开发笔记(三):Hi3516虚拟机基础环境搭建之交叉编译环境境搭建以及开机启动脚本分析
Hi3516开发笔记(三):Hi3516虚拟机基础环境搭建之交叉编译环境境搭建以及开机启动脚本分析
Hi3516开发笔记(三):Hi3516虚拟机基础环境搭建之交叉编译环境境搭建以及开机启动脚本分析
|
数据安全/隐私保护 Shell 网络安全
借助URLOS快速安装swoole环境
环境需求 最低硬件配置:1核CPU,1G内存(1+1)提示:如果你的应用较多,而主机节点的硬件配置较低,建议在部署节点时开通虚拟虚拟内存; 生产环境建议使用2G或以上内存; 推荐安装系统:Ubuntu-16.
874 0
|
JavaScript 数据安全/隐私保护 Shell
借助URLOS快速安装nodejs环境
环境需求 最低硬件配置:1核CPU,1G内存(1+1)提示:如果你的应用较多,而主机节点的硬件配置较低,建议在部署节点时开通虚拟虚拟内存; 生产环境建议使用2G或以上内存; 推荐安装系统:Ubuntu-16.
977 0
|
持续交付 数据安全/隐私保护 Java
软件自动化部署脚本
2017-11-16 20:19:53 1:设计思路:   (1)软件自动化部署脚本,即在一台虚拟机运行脚本,就将其他虚拟机上面的软件安装好了;   (2)而前提是自己的机器搭建好了yum网络版仓库(本地yum仓库的安装配置,如果没网了,做一个局域网内的yum仓库),这样在一台机器上面运行脚本...
1438 0

热门文章

最新文章