本部分介绍ONOS支持的针对APP的一些操作,包括安装、卸载、查询、激活等。一般,在生产环境下,apps可以在ONOS部署之前安装,也可以再ONOS安装或运行后安装,其打包的格式是OAR,意思是ONOS Application aRchives 的缩写。
### 分布式应用程序管理
在控制器集群模式下,可以从集群的一个节点管理应用程序。集群会将局部变化更新到全局。
安装一个app本质上是将该app拷贝到运行ONOS的目标主机上。这里说的安装还不是运行app,因为app在运行前需要激活(activate)。当然,与之对应的,也有卸载和去激活。
### ONOS应用程序用户指南
ONOS在其发布的安装包里自带了很多应用程序,例如,SDN-IP和VPLS。这些应用程序无需通过OAR文件进行显示地安装,但是运行之前需要激活和配置。详细的配置和运行指令需要参考**应用程序和用例**一节。
### 通过REST-APIs管理应用程序
这里只是提示可以通过REST-API对应用程序进行管理,更完整的REST API接口的详细说明可以参考**RESTAPI应用程序**一节。
### 罗列已安装的应用程序
关于查询已经安装的应用程序,可以通过CLI命令,GUI或REST APIs。在CLI里面,使用`apps`命令可以列出所有已安装应用程序。可以添加`-s`(summary)参数以查看版本信息,`-a`(active)参数查看已经激活的应用程序。以激活的应用程序的名称上标注了`*`号。命令示例:
~~~
onos> apps -s
4 org.onosproject.scalablegateway 1.9.0.SNAPSHOT Scalable GW App
5 org.onosproject.distributedprimitives 1.9.0.SNAPSHOT Distributed Primitives Test App
6 org.onosproject.patchpanel 1.9.0.SNAPSHOT Patch Panel
7 org.onosproject.netcfglinksprovider 1.9.0.SNAPSHOT Network Config Link Provider
8 org.onosproject.isis 1.9.0.SNAPSHOT ISIS Provider
9 org.onosproject.cip 1.9.0.SNAPSHOT Cluster IP alias App
10 org.onosproject.openflow-message 1.9.0.SNAPSHOT Control Message Stats Provider
11 org.onosproject.segmentrouting 1.9.0.SNAPSHOT Segment Routing App
12 org.onosproject.virtualbng 1.9.0.SNAPSHOT Virtual Broadband Gateway App
13 org.onosproject.metrics 1.9.0.SNAPSHOT OpenStack Interface App
14 org.onosproject.ovsdb-base 1.9.0.SNAPSHOT OVSDB Provider
15 org.onosproject.drivers.ovsdb 1.9.0.SNAPSHOT OVSDB Device Drivers
16 org.onosproject.yms 1.9.0.SNAPSHOT YANG Management System App
17 org.onosproject.influxdbmetrics 1.9.0.SNAPSHOT InfluxDB Report and Query App
18 org.onosproject.bgp 1.9.0.SNAPSHOT BGP Provider
19 org.onosproject.restsb 1.9.0.SNAPSHOT REST Provider
* 20 org.onosproject.hostprovider 1.9.0.SNAPSHOT Host Location Provider
* 21 org.onosproject.lldpprovider 1.9.0.SNAPSHOT LLDP Link Provider
* 22 org.onosproject.optical-model 1.9.0.SNAPSHOT Optical information model
* 23 org.onosproject.openflow-base 1.9.0.SNAPSHOT OpenFlow Provider
* 24 org.onosproject.openflow 1.9.0.SNAPSHOT OpenFlow Meta App
~~~
### 重新安装/卸载一个ONOS APP
ONOS APP是OAR格式的bundles,可以通过GUI进行安装和卸载。进入“app视窗”,点击右上角的+按钮,选择你的OAR文件。类似地,在该视窗中,用户也可以选择并卸载相应的app。

### 激活/去激活ONOS APP
一旦ONOS APP安装成功,用户可以通过CLI,GUI和REST API进行激活。在CLI中,激活app的指令示例如下:
~~~
onos> app (de)activate org.onosproject.$YOUR_APP_NAME
~~~
- 目录
- 前言
- 第一部分 SDN基础
- 第一章 SDN控制器综述
- 1 引言
- 2 控制器架构
- 2.1 集中式控制器
- 2.2 分布式控制器
- 2.3 北向接口编程语言
- 2.4 SDN功能组合
- 2.5 策略更新一致性
- 参考文献
- 第二章 OpenFlow学习指南
- 1 概述
- 2 环境配置
- 2.1 相关软件
- 3 虚拟机设置
- 3.1 导入虚拟机镜像
- 3.2 网络访问
- 4 开发工具手册
- 4.1 Hello world网络
- 4.2 Mininet简介
- 4.3 其它工具
- 4.4 初识控制器
- 5 控制器介绍:以创建学习型交换机为例
- 5.1 POX控制器
- 参考文献
- 第三章 Karaf使用手册
- 1 Apache Karaf
- 2 安装Apache Karaf
- 2.1 依赖条件
- 2.2 获得Apache Karaf发布包
- 2.3 安装Apache Karaf
- 2.4 首次启动
- 2.5 总结
- 3 命令行操作
- 3.1 常用命令
- 3.2 远程控制台访问
- 3.3 自定义命令
- 3.4 可选的web控制台
- 3.5 总结
- 4 仓库
- 4.1 Apache Maven库
- 4.2 Karaf系统库
- 第二部分 ONOS体系架构
- 第一章 ONOS体系概述
- 1.1 设计目标
- 1.2 剩余章节
- 第二章 系统组件
- 2.1 系统层级(system ties)
- 2.2 服务和子系统
- 2.3 子系统结构
- 2.4 事件和描述
- 第三章 构建网络状态
- 3.1 ONOS表示网络
- 3.2 网络发现
- 3.3 网络配置子系统
- 第四章 设备子对象
- 4.1 概述
- 4.2 模型对象和提供者表达
- 4.3 OpenFlow子系统
- 4.4 交换机状态
- 第五章 设备驱动子系统
- 5.1 定义
- 5.2 交付机制
- 5.3 查询机制
- 5.4 模型
- 5.5 上下文
- 第六章 分布式操作
- 6.1 集群协同
- 6.2 网络拓扑状态
- 第七章 意图框架(intent framework)
- 7.1 概述
- 7.2 意图
- 7.3 意图汇编
- 第八章 Web UI架构
- 8.1 概述
- 8.2 客户端架构
- 8.3 服务端架构
- 8.4 处理流程
- 第九章 核心UI扩展体系
- 9.1 拓扑视图架构
- 9.2 关于链路
- 第十章 联盟ONOS web UI
- 第十一章 GUI源代码目录结构
- 第十二章 组件配置
- 12.1 概述
- 12.2 组件代码示例
- 12.3 Maven例子
- 12.4 CLI命令
- 第十三章 应用程序子系统
- 13.1 概述
- 13.2 应用程序包
- 13.3 CLI命令
- 13.4 REST API和shell工具
- 13.5 Maven例子
- 13.6 内建范例和测试应用程序
- 第十四章 分布式原语
- 第十五章 标签(Label)子系统
- 15.1 概述
- 15.2 ONOS应用程序编程接口
- 15.3 使用CLI命令管理标签
- 第十六章 隧道(tunnel)子系统
- 16.1 概述
- 16.2 ONOS应用程序使用的可编程APIs
- 16.3 使用CLI命令管理隧道
- 第十七章 北向接口扩展
- 17.1 概述
- 17.2 驱动器行为
- 17.3 Treatment扩展
- 17.4 selector扩展
- 17.5 应用程序使用范例
- 第三部分 ONOS用户手册(未完,待续)
- 1 获得ONOS
- 2 ONOS源码安装
- 2.1 系统要求
- 2.2 安装JAVA,Maven and Karaf
- 2.3 使用onos测试工具远程部署onos
- 3 ONOS可执行程序安装和配置
- 3.1 运行要求
- 3.2 单机安装ONOS
- 3.3 将ONOS作为系统服务
- 3.4 通过CLI和GUI访问ONOS
- 3.5 组合一个集群
- 4 配置ONOS
- 4.1 管理ONOS应用程序
- 5 ONOS交互接口
- 6 附录A-CLI命令大全
- 7 附录B-REST APIs大全
- 第四部分 ONOS开发指南(未完,待续)
- 开发者快速入门(...)
- 开发ONOS应用程序
- 导入ONOS源码到IDEA
- 开发前配置
- 基于Maven原型生成ONOS应用工程
- 1.3.1 生成应用模板
- 1.3.2 导入APP
- 1.3.3 app添加CLI支持
- 1.3.4 app添加GUI支持
- 第五部分 OpenVirteX架构
- 第一章 OpenVirteX概述
- 1.1 网络虚拟化
- 1.2 OpenVirteX架构
- 第二章 OpenVirteX组件简介
- 2.1 概述
- 2.1.1 实现类
- 2.2 组件状态机
- 2.2.1 基本FSM状态
- 2.2.2 组件FSM的接口
- 2.3 组件的持久化
- 2.4 交换机[net.onrc.openvirtex.elements.datapath]
- 2.5 Ports[package net.onrc.openvirtex.elements.port]
- 2.6 Links和Routes[package net.onrc.openvirtex.elements.link/net.onrc.openvirtex.routing]
- 2.7 Addresses[package net.onrc.openvirtex.elements.address]
- 2.8 Hosts[package net.onrc.openvirtex.elements.host]
- 2.9 Networks[package net.onrc.openvirtex.elements.network]
- 2.10 共享的全局映射[package net.onrc.openvirtex.elements]和 ovxPortMap
- 2.11 消息[package net.onrc.openvirtex.messages]
- 第三章 操作和子系统
- 3.1 系统概述
- 3.2 启动和关闭
- 3.3 事件循环
- OpenVirteX API
- 使用指南
- 第六部分 实验设置