2024-12-25
neutron什么需要bind port
2024-12-25 ~ 2024-12-25

neutron什么需要bind port

首先update port过程中

port的binding host不为空且vif-type是unbound或者binding_failed

2024-12-19
一文说明白neutron用的几种通信方式
2024-12-19 ~ 2024-12-19

Neutron通信方式

neutron有如下通信方式:

  • callback(同步调用)
  • rpc(可以异步也可以同步)
  • rest(同步调用)

1. callback

代码位置: neutron-lib/neutron_lib/callbacks

1.1 通信方式:

进程内的同步调用

1.2 原理

1
2
3
4
5
def _get_callback_manager():
    global
    if _CALLBACK_MANAGER is None:
        _CALLBACK_MANAGER = manager.CallbacksManager()
    return _CALLBACK_MANAGER

通过_get_callback_manager初始化一个_CALLBACK_MANAGER(这里采用了python的单例模式),

2024-10-20
pdb调试neutron代码
2024-10-20 ~ 2024-10-20

1、停服务

1
systemctl stop neutron-server.service

2、插入调试代码段

1
import pdb;pdb.set_trace()

代码路径 /usr/lib/python2.7/site-packages/neutron/plugins/

3、查看服务状态,手动停服务,打断点,手动启服务

  • systemctl status/stop neutron-server.service
  • pgrep neutron-server
  • pkill neutron-server

查看服务启动项/加载项

cat /usr/lib/systemd/system/neutron-server.service

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
[root@controller ~]# cat /usr/lib/systemd/system/neutron-server.service
[Unit]
Description=OpenStack Neutron Server
After=syslog.target network.target

[Service]
Type=notify
User=neutron
ExecStart=/usr/bin/neutron-server --config-file /usr/share/neutron/neutron-dist.conf --config-dir /usr/share/neutron/server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-server --log-file /var/log/neutron/server.log
PrivateTmp=true
NotifyAccess=all
KillMode=process
Restart=on-failure
TimeoutStartSec=0

[Install]
WantedBy=multi-user.target

手动启服务[neutron]

2023-06-18
qemu
2023-06-18 ~ 2023-06-18

qemu概述

https://blog.csdn.net/weixin_38387929/article/details/120121636

qemu的几个特点:

  • qemu可以被当做模拟器,也可以被当做虚拟机
  • 当qemu被当做模拟器时,我们可以在一台设备上通过模拟设备,运行针对不同于本机上CPU的程序或者操作系统
  • 当qemu被当做虚拟机使用时,qemu必须基于Xen Hypervisor或者kvm内核模块才能支持虚拟化.在这种条件下qemu虚拟机可以直接在本机CPU上运行客户机代码获得接近本机的性能.

Qemu和KVM的关系

  • 当qemu在模拟器模式下,运行操作系统时,我们可以认为这是一种软件实现的虚拟化技术,它的效率比真机差很多,用户可以明显的感觉出来
  • 当qemu在虚拟机模式下,qemu必须在linux上运行,并且需要借助kvm或者xen,利用intel或者AMD提供的硬件辅助虚拟化技术,才能使虚拟机达到接近真机的性能.
  • qemu与kvm内核模块协同工作,在虚拟机进程中,各司其职,又相互配合,最终实现高效的虚拟机应用

qemu与kvm的关系如下

Description

2023-06-18
获取neutron版本号
2023-06-18 ~ 2023-06-18
1
python -c  "import neutron.version;print(neutron.version.version_info)"