OVN:ovn20.03.1/ovs2.13.0编译rpm过程
操作系统openeuler22.0,x86架构
分别下载ovn和ovs的源码
https://github.com/openvswitch/ovs/tree/v2.13.0
https://github.com/ovn-org/ovn/tree/v20.03.1
安装必要工具:
yum install -y unzip tar make autoconf automake libtool rpm-build gcc libuuid-devel
准备好官方指导文件
https://github.com/ovn-org/ovn/blob/v20.03.1/Documentation/intro/install/general.rst
https://github.com/openvswitch/ovs/blob/v2.13.1/Documentation/intro/install/general.rst
分别解压在opt目录下:

进到各自目录下执行:./boot.sh
如果在没有配置ovs的环境时安装ovn则会报如下错误

所以先针对ovs执行:
./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc
然后在ovn里面执行:
./configure --with-ovs-source=/root/ovn_src/ovs-2.13.0 -prefix=/usr --localstatedir=/var --sysconfdir=/etc
在ovn目录下执行make rpm-fedora 提示需要依赖
'/root/ovn_src/ovs-2.13.0/openvswitch-2.13.0.tar.gz'

将ovs-2.13.0 更换名称为openvswitch-2.13.0
并打包成openvswitch-2.13.0.tar.gz 然后放到/root/ovn_src/ovs-2.13.0
继续执行make rpm-fedora

提示缺少依赖:逐个安装

yum install -y checkpolicy desktop-file-utils gcc-c++ graphviz libcap-ng-devel openssl-devel python3-devel selinux-policy-devel unbound-devel python3-sphinx执行编译:make rhel/ovn-fedora.spec

编译成功:

ovn源码目录下生成了rpm目录

这个打出来的rpm,这里我们在环境中使用红框几个包即可满足基本的应用

下面编译ovs的rpm包

编译ovs选择编译用户空间的依赖包


...

上述安装完成
测试安装ovn 和 ovs的rpm包
我们将ovn 服务基础的包整理在一起



安装ovs::状态时active(exit)但可以正常使用了

测试ovs

测试ovn

测试ovn管理ovs
第一步:在北向数据库创建服务
ovn-sbctl set-connection ptcp:6642:127.0.0.1
ovn-nbctl set-connection ptcp:6641:127.0.0.1
[root@euler22 ovn_rpm_mini]# ss -anlpt | grep 66
LISTEN 0 4096 0.0.0.0:111 0.0.0.0:* users:(("rpcbind",pid=666,fd=8))
LISTEN 0 10 127.0.0.1:6641 0.0.0.0:* users:(("ovsdb-server",pid=51866,fd=20))
LISTEN 0 10 127.0.0.1:6642 0.0.0.0:* users:(("ovsdb-server",pid=51892,fd=19))
LISTEN 0 4096 [::]:111 [::]:* users:(("rpcbind",pid=666,fd=11)) 第二步:在ovs节点配置以下三个全局参数,三个参数全部填写才行
ovs-vsctl set open . external-ids:ovn-encap-type=geneve
ovs-vsctl set open . external-ids:ovn-encap-ip="127.0.0.1"
ovs-vsctl set open . external-ids:ovn-remote="tcp:127.0.0.1:6642"
检查南向数据库是否同步到了chassis ID,以下显示已经成功

至此完成ovn- ovs 编译-安装-应用的大致流程
不足支持请批评指正
相关文章:
OVN:ovn20.03.1/ovs2.13.0编译rpm过程
操作系统openeuler22.0,x86架构分别下载ovn和ovs的源码https://github.com/openvswitch/ovs/tree/v2.13.0https://github.com/ovn-org/ovn/tree/v20.03.1安装必要工具:yum install -y unzip tar make autoconf automake libtool rpm-build gcc libuuid-d…...
Shell管道
一、管道是什么 英文是pipe。 把一个命令的标准输出作为下一个命令的标准输入,以这种方式连接的两个或者多个命令就形成了管道 使用竖线|连接多个命令,称为管道符。 语法格式如下: command1 | command2 [ | commandN... ] command1的标准…...
Zynq UltraScale系列使用MIPI CSI-2 RX Subsystem 解码MIPI视频PD输出 提供2套工程源码和技术支持
目录1、前言2、设计思路和架构3、vivado工程详解4、上板调试验证5、福利:工程代码的获取1、前言 本设计采用OV5640摄像头MIPI模式作为输入,分辨率为1280x72060Hz,MIPI解码方案采用Xilinx官方提供的MIPI CSI-2 RX Subsystem IP解码MIPI视频&a…...
C++:详解C++11 线程休眠函数
休眠函数简介1: 让线程休眠一段时间1.1:std::chrono 的时钟 clock简介 C11 之前并未提供专门的休眠函数,C语言的 sleep、usleep函数其实是系统提供的函数,不同的系统函数的功能还要些差异。 在Windows系统中,sleep的参数是毫秒 …...
TryHackMe-The Great Escape(Docker)
The Great Escape 我们的开发人员创建了一个很棒的新网站。你能冲出沙盒吗? 端口扫描 循例 nmap Web信息收集 robots.txt: /exif-util是文件上传点,但是绕过之后貌似没啥用 在robots.txt当中披露了可能存在.bak.txt,现在我们已知的文件就是…...
这么强才给我28k,我头都不回,转身拿下40k~
时间真的过得很快,眨眼就从校园刚出来的帅气小伙变成了油腻大叔,给各位刚入道的测试朋友一点小建议,希望你们直通罗马吧! 如何选择自己合适的方向 关于选择测试管理: 第一,你一定不会是一个喜欢技术&…...
【Python学习笔记】第二十一节 Python Lambda 函数
Python 提供了非常多的库和内置函数。有不同的方法可以执行相同的任务,而在 Python 中,有个万能之王函数:lambda 函数,它以不同的方式在任何地方使用。一、Lambda 函数简介在 Python 中,函数可以接受一个或多个位置参数…...
Nginx学习整理
Nginx学习第一章 Nginx概述1.1、Nginx概述1.2、Nginx官网1.3、Nginx用处第二章 Nginx单实例安装2.1、环境说明2.2、安装依赖2.3、Nginx下载2.4、Nginx解压2.5、Nginx安装2.6、Nginx命令2.7、开放防火墙2.8、启动后效果第三章 Nginx正向代理、反向代理3.1、概述3.2、反向代理配置…...
阿里面试之Hr面,这个套路把我坑惨了......
作为技术类的测试工程师面试,往往要经过多次面试才能拿到心仪的offer,这里面有技术一面、二面…,甚至总监面等,还有一个必不可少的就是HR面,一般HR会出现在你面试的最前面和最后面,前面是了解你的基本情况&…...
域基础和基本环境搭建
1.1 名词解释 域和工作组的区别: 工作组中所有的计算机都是对等的,也就是没有服务器和客户机的之分,所以工作组并不存在真正的集中管理作用;域是一个有安全边界的计算机集合,安全边界指的是一个域中的用户无法访问到另…...
Java Map集合体系(HashMap、LinkedHashMap、TreeMap、集合嵌套)
目录Map集合体系一、Map集合的概述二、Map集合体系特点三、Map集合常用API四、Map集合的遍历4.1 Map集合的遍历方式一:键找值4.2 Map集合的遍历方式二:键值对4.3 Map集合的遍历方式三:lambda表达式五、Map集合案例-统计投票人数六、Map集合的…...
使用邮箱验证实现登录功能(发送邮件,redis)
目录 概述 前端搭建 后端搭建 生成验证码-存入redis(主要过程代码) 发送邮件(主要过程代码) 登录验证-取出redis中数据进行验证(主要代码) 完整代码一-LoginController 完整代码二-LoginService 完…...
【Linux】网卡的7种bond模式
网卡的7种bond模式 一、bond模式 Mode0(balance-rr) 表示负载分担round-robin,和交换机的聚合强制不协商的方式配合 Mode1(active-backup) 表示主备模式,只有一块网卡是active,另外一块是备的standby,这时如果交换机配的是捆绑,…...
AQS抽象队列同步器
aqs 抽象队列同步器,内部存储了一个valitail修饰的status 和内部类node ,来实现对共享变量并发同步队列机制,以reentrantLock为例,lock底层实际上调用的是sync的lock,会调用cas对status的状态进行修改,来确定是否获得锁…...
springBoot对REST支持源码解析
一、在配置类中: AutoConfiguration(after { DispatcherServletAutoConfiguration.class, TaskExecutionAutoConfiguration.class,ValidationAutoConfiguration.class }) ConditionalOnWebApplication(type Type.SERVLET) ConditionalOnClass({ Servlet.class, D…...
6 集成学习及Python实现
1 主要思想 集成学习: 三个臭裨将, 顶个诸葛亮 Bagging: 数据随机重抽样, 并行构建分类器, 投票;Boosting: 关注被错分的样本, 串行构建分类器, 加权投票。 2 理论 AdaBoost (Adaptive Boosting)示意图1 错误率: εEN\varepsilon \frac{E}{N}εNE 其中NNN为…...
如何编程实现从多数据库操作数据
对于数据量很大的复杂系统,有时候会采用分库或者分表的减轻单台数据库服务器压力,截止目前有一些工具直接支持读写分离等,例如ShardingSphere,如果不采用工具框架,从编码出发,如何实现从多个数据库读写数据…...
LeetCode 147. 对链表进行插入排序 | C/C++版
LeetCode 147. 对链表进行插入排序 | C语言版LeetCode 147. 对链表进行插入排序题目描述解题思路思路一:使用栈代码实现运行结果参考文章:思路二:减少遍历节点数代码实现运行结果参考文章:[]()LeetCode 147. 对链表进行插入排序 …...
【QT进阶】第五章 QT绘图之自定义控件--仪表盘绘制
❤️作者主页:凉开水白菜 ❤️作者简介:共同学习,互相监督,热于分享,多加讨论,一起进步! ❤️专栏目录:【零基础学QT】文章导航篇 ❤️专栏资料:https://pan.baidu.com/s/192A28BTIYFHmixRcQwmaHw 提取码:qtqt ❤️点赞 👍 收藏 ⭐再看,养成习惯 订阅的粉丝可通过…...
Java代码弱点与修复之——URL manipulation(URL操纵)
弱点描述 “URL manipulation” 是指攻击者利用应用程序中的 URL 参数来执行恶意操作的一种攻击技术。 在 URL manipulation 攻击中,攻击者会修改应用程序中的 URL 参数,以便执行不当操作,如访问未授权的页面、修改他人的数据、绕过访问控制等。攻击者通常会使用手动修改 …...
从田野笔记到理论建模,NotebookLM政治学辅助全流程拆解,含6类典型误用场景避坑指南
更多请点击: https://intelliparadigm.com 第一章:从田野笔记到理论建模:NotebookLM政治学辅助全流程概览 NotebookLM 作为 Google 推出的基于用户上传文档进行深度语义理解的 AI 助手,正逐步成为政治学研究者处理非结构化文本的…...
【无人机控制】一维环境下LQR与PID控制在无人机悬停控制中的对比分析附matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室🍊个人信条:格物致知,完整Matlab代码及仿真咨询…...
如何在IDEA中打造你的私人阅读空间:3个实用技巧提升编程效率与阅读体验
如何在IDEA中打造你的私人阅读空间:3个实用技巧提升编程效率与阅读体验 【免费下载链接】thief-book-idea IDEA插件版上班摸鱼看书神器 项目地址: https://gitcode.com/gh_mirrors/th/thief-book-idea 在快节奏的编程工作中,如何有效利用碎片化时…...
基于CircuitPython的嵌入式记忆游戏开发:状态机与TileGrid实战
1. 项目概述:一个嵌入式平台上的经典记忆配对游戏如果你玩过那种翻牌配对的记忆游戏,现在我们可以把它搬到一块小小的嵌入式开发板上,用CircuitPython来实现。这不仅仅是把游戏逻辑移植过来那么简单,它涉及到在资源受限的微控制器…...
Marathon已过时?迁移到Swift Package Manager的完整步骤
Marathon已过时?迁移到Swift Package Manager的完整步骤 【免费下载链接】Marathon [DEPRECATED] Marathon makes it easy to write, run and manage your Swift scripts 🏃 项目地址: https://gitcode.com/gh_mirrors/mar/Marathon Marathon作为…...
PCIe 6.0 Flit Mode 实战解析:从TLP到Flit,你的数据包到底经历了什么?
PCIe 6.0 Flit Mode 深度解析:数据包的奇幻漂流之旅 当一颗来自CPU的事务请求被封装成TLP(Transaction Layer Packet)时,它即将开始一段穿越PCIe 6.0协议栈的奇妙旅程。这段旅程不再是传统PCIe版本中的"自由行"…...
基于SSM框架的传统服饰文化平台体验(10034)
有需要的同学,源代码和配套文档领取,加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码(前后端源代码SQL脚本)配套文档(LWPPT开题报告/任务书)远程调试控屏包运行一键启动项目&…...
Python代码质量双保险:Black格式化与类型提示实战指南
1. 项目概述:当代码格式化遇上类型安全在嵌入式开发,尤其是像CircuitPython这样的微控制器编程领域,代码的清晰度和可靠性往往比在桌面环境更为重要。资源受限、调试困难,意味着每一行代码都最好能“一次写对”。我这些年折腾过不…...
基于ChatGee框架的KakaoTalk ChatGPT机器人部署与定制指南
1. 项目概述:一个为KakaoTalk量身定制的ChatGPT机器人 如果你在韩国工作、生活,或者你的用户群体主要在韩国,那么KakaoTalk(카카오톡)这款国民级即时通讯应用,你一定不陌生。它几乎覆盖了韩国所有的智能手…...
HoYo.Gacha终极指南:如何轻松管理你的米哈游抽卡记录
HoYo.Gacha终极指南:如何轻松管理你的米哈游抽卡记录 【免费下载链接】HoYo.Gacha ✨ 一个非官方的工具,用于管理和分析你的 miHoYo 抽卡记录。(原神 | 崩坏:星穹铁道 | 绝区零)An unofficial tool for managing and a…...
