-软件管理
Posted 文火冰糖的硅基工坊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了-软件管理相关的知识,希望对你有一定的参考价值。
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客
本文网址:
目录
第5章 软件管理
所谓软件管理,是指O-RU上软件包的管理,包括软件包的组织、特征、下载、安装、激活、更新、复位到工厂模式。
5.1 Software Package
软件包包括了一系列的各种文件,这些文件必须是成组的,更新任何一个文件都会导致整个软件包失效。软件包在存储、传输的过程中,可以是压缩过的,但必须要机制保证人家包的完整性。
软件包是由O-RU设备商发布的,O-RU与传统的RU软件包的区别在于,RU不是一个独立的网元,它是BBU的一部分,因此RU没有独立的软件包,是BBU软件包的一部分。然后O-RU是一个独立的网元,SMO可以绕过BBU直接管理O-RU,因此O-RU的软件包应该是独立于O-DU的软件包而存在。可以单独对O-RU的软件包进行管理。
(1)O-RU软件包的命名
“<Vendor Code><Vendor Specific Field>[#NUMBER].EXT”
- Vendor Code:厂家全球唯一标识
- Vendor Specific Field:厂家内部的标识
- #NUMBER:一个软件包可以被分割成多个软件包,#NUMBER用于标识是第几个包.
- EXT:文件的扩展名,可以是压缩文件,也可以不是压缩文件。
(2)O-RU软件包的组成:
- 一个manifest.xml文件:软件包的描述文件
- 一组其他需要安装到O-RU上的软件对应的文件。
(3)manifest.xml的内容
- product vendor:厂家全球唯一标识
- code:厂家内部产品标识
- build-Id:软件包编译发布号
- bldName:软件包的名称
- bldVersion:软件包的版本
- fileName:软件包内部文件的名称(可以是压缩文件)
- fileVersion:软件包内部文件的版本
5.2 Software Inventory消息
该消息用于O-RU controller获取O-RU当前运行软件包的信息,以确定是否需要更新升级其软件包妈,也用于标识O-RU目标板的运行软件的信息。
(1)消息交互流程:
(2)请求消息
- rpc get
- software-slot:软件包的槽位号,比如master主分区,passive辅分区。
(3)响应消息
- name - name of the software slot
- status:该软件槽位上是否包含有效的软件包
- activate:该槽号上,软件包的master还是passive
- running:软件是否正在运行
- access:readonly还是可以update更新
- integrity:完整性
- 其他manifest.xml定义的信息(不包括文件列表)
5.3 Software Download消息
该消息用于使用新的软件包下载到O-RU存储空间中。
在下载的过程中,O-RU需要定期的上报下载的状态,直到下载完成。
需要注意的时,软件包下载行为,并非该消息完成的,下载的动作是有SFPT或FTPES完成的。
SFPT动作执行中,O-RU充当的是SFPT Client, SFPT Server也不一定是O-RU controller,
请求消息的内容包括:
- 该消息会指示O-RU到哪里去下载
- 下载时候需要用到的用户名和密码、证书等
- sFTP or FTPES protocol
5.4 software Install消息
该消息用于把下载的软件包(压缩文件)解压、安装到指定的soft-slot上。
5.5 softwareActivation消息
该消息用于指示O-RU,从当期的分区切换到新安装的软件的分区中。
上述过程分为5个小步骤完成:
(1)Client请求Server激活某个分区上的软件
(2)Server(O-RU)立即回复Client激活软件是否可行
(3)Server (O-RU) 做一些激活前的准备工作,包括保存信息,设置新的启动分区标志等,然后回复client切换准备状态
(4) Client收准备好状态指示后,发送reset命令。
(5)server在收到reset命令后,O-RU会重新启动自身。Server reset成功后,通知Client,软件激活成功 。
在O-RAN规范中,指示重启的过程与普通的重启一致。
5.6 Software update scenario
软件更新是上述几个消息的串联,最终完成软件更新。
(1)NETCONF client performs a software inventory operation and identifies that an inactive and not-running slot for installing software is available so that it can download and install a software package.
NOTE: This version of this specification does not distinguish between a software upgrade and a downgrade.
软件的升级包括向下升级和向上升级。
(2) NETCONF client using the software-download rpc requests the O-RU to download a software package software package contains several files, steps 2-4 need to be performed repeatedly until all files have been downloaded)
(3)O-RU sends rpc response that download was started 20
(4)O-RU finishes downloading the file(s) and reports this by sending the download-event notification 21
(5)NETCONF client requests installation of the software using software-install rpc, and provides the slot name where the software needs to be installed along with a list of filenames to be installed (if the software package contains only one file, the list will contain only one entry)
安装的过程需要接压所有安装包中的所有文件。
(6) O-RU sends rpc response that installation was started
(7)O-RU sets installation slot status to INVALID
(8)O-RU installs the software and after successful installation (with checksum control) changes status of the slot to VALID
(9)O-RU notifies the notification subscriber that the installation is finished using install-event notification
(10)NETCONF client requests the O-RU to activate the newly installed software using the software-activate rpc
(11) O-RU sends rpc response that activation was started
(12)For requested slot, O-RU changes active to True and at the same time sets activate to False on previously active slot
(13) O-RU notifies the notification subscriber about activation finished using the activation-event notification 33
(14) NETCONF client restarts the O-RU forcing it to use the newly installed and activated software into use. O-RU restarts as regular startup with new software version running.
O-RU规范支持,软件升级的重启与普通的重启一致。
但在实际系统中个,需要进行本地配置与软件包中的配置的合并与升级,以使得当前的配置能够支持新的软件包。
6.7 Factory Reset消息
该消息需要清除所有的系统配置,回到出厂前的状态,包括软件包、配置、状态、管理账号等。
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客
本文网址:
以上是关于-软件管理的主要内容,如果未能解决你的问题,请参考以下文章
[项目管理-16]: 大型复杂组织内的产品管理流程项目管理流程软件开发流程以及不同角色在项目开发中的位置
[Linux用户空间编程-2]:进程间通信 - 消息队列的使用
[Linux用户空间编程-2]:进程间通信 - 消息队列的使用