OpenStack Nova源码结构(2)

感谢朋友支持本博客,欢迎共同探讨交流,由于能力和时间有限,错误之处在所难免,欢迎指正!
如果转载,请保留作者信息。
博客地址:http://blog.csdn.net/gaoxingnengjisuan
邮箱地址:dong.liu@siat.ac.cn


接续上篇博文,继续来看OpenStack Nova的结构:

/nova/scheduler/__init__.py:这个模块的功能是挑选一个计算节点来运行一个虚拟机实例;
/nova/scheduler/baremetal_host_manager.py:管理当前域中的主机;
/nova/scheduler/chance.py:随机调度实施方案;
/nova/scheduler/driver.py:所有调度器应该继承的调度基类;
/nova/scheduler/filter_scheduler.py:这个FilterScheduler类是为了创建本地的实例;
我们可以通过制定自己的主机过滤器(Host Filters)和权重函数(Weighing Functions)来自定义调度器;
/nova/scheduler/host_manager.py:管理当前域中的主机;
/nova/scheduler/manager.py:调度服务;
/nova/scheduler/multi.py:这个调度器原本是用来处理计算和卷之间关系的;
现在用于openstack扩展,使用nova调度器来调度需求到计算节点;
但是要提供它们自己的管理和主题;
/nova/scheduler/rpcapi.py:调度器管理RPC API的客户端;
/nova/scheduler/scheduler_options.py:SchedulerOptions检测本地的一个json文件的变化,有需要的话加载它;
这个文件被转换为一个数据结构,并且传递到过滤和权重函数;
可以实现它的动态设置;
/nova/scheduler/filters/__init__.py:调度主机过滤器;
/nova/scheduler/filters/aggregate_instance_extra_specs.py:AggregateInstanceExtraSpecsFilter主机过滤器的定义和实现;
/nova/scheduler/filters/aggregate_multitenancy_isolation.py:实现在特定的聚集中隔离租户;
/nova/scheduler/filters/all_hosts_filter.py:不经过过滤,返回所有主机host;
/nova/scheduler/filters/availability_zone_filter.py:通过可用的区域来过滤主机host;
/nova/scheduler/filters/compute_capabilities_filter.py:ComputeCapabilitiesFilter主机过滤器实现;
/nova/scheduler/filters/compute_filter.py:活跃的计算节点的过滤;
/nova/scheduler/filters/core_filter.py:基于核心CPU利用率的主机host过滤器;
/nova/scheduler/filters/disk_filter.py:基于磁盘使用率的主机host过滤;
/nova/scheduler/filters/extra_specs_ops.py:一些参数的设置;
/nova/scheduler/filters/image_props_filter.py:通过符合实例镜像属性来进行计算节点主机的过滤;
/nova/scheduler/filters/io_ops_filter.py:过滤掉有过多的I/O操作的主机host;
/nova/scheduler/filters/isolated_hosts_filter.py:IsolatedHostsFilter过滤器实现;
/nova/scheduler/filters/json_filter.py:JsonFilter过滤器的实现;
/nova/scheduler/filters/num_instances_filter.py:过滤掉已经有太多实例的主机host;
/nova/scheduler/filters/ram_filter.py:只返回有足够可使用的RAM主机host;
/nova/scheduler/filters/retry_filter.py:跳过已经尝试过的节点;
/nova/scheduler/filters/trusted_filter.py:根据可信计算池进行主机host过滤;
/nova/scheduler/filters/type_filter.py:TypeAffinityFilter过滤器的实现,它不允许一个主机上运行多余一种类型的虚拟机;
/nova/scheduler/weights/__init__.py:调度器中的主机权重;
/nova/scheduler/weights/least_cost.py:Least Cost是调度器中选择主机的一种算法;
/nova/scheduler/weights/ram.py:RAM权重;
/nova/servicegroup/api.py:定义servicegroup的入口API;
/nova/storage/linuxscsi.py:通用的linux scsi子系统实用程序;
/nova/virt/configdrive.py:构建配置驱动器;
/nova/virt/driver.py:计算驱动基类的实现;
/nova/virt/event.py:来自于虚拟机管理程序异步事件的通知;
/nova/virt/fake.py:用于测试的一个虚拟的hypervisor+api;
/nova/virt/firewall.py:虚拟机防火墙的定义和管理;
/nova/virt/images.py:处理虚拟机磁盘镜像;
/nova/virt/netutils.py:支持libvirt连接的网络相关实用程序;
/nova/virt/storage_users.py:实例存储相关;
/nova/virt/virtapi.py:Virt API抽象类;
/nova/virt/libvirt/blockinfo.py:处理块设备信息和块设备映射;
/nova/virt/libvirt/config.py:libvirt对象配置;
/nova/virt/libvirt/designer.py:libvirt对象配置策略;
/nova/virt/libvirt/driver.py:通过libvirt连接到虚拟机管理程序的实现,以及相关管理功能的实现;
/nova/virt/libvirt/firewall.py:libvirt防火墙相关;
/nova/virt/libvirt/imagebackend.py:通过libvirt实现后端镜像的管理操作;
/nova/virt/libvirt/imagecache.py:镜像高速缓存的管理实现;
/nova/virt/libvirt/utils.py:libvirt相关实用程序;
/nova/virt/libvirt/vif.py:libvirt的VIF驱动;
/nova/virt/libvirt/volume_nfs.py:不再应用的过时的实现;
/nova/virt/libvirt/volume.py:libvirt卷驱动实现;
/nova/virt/disk/__init__.py:磁盘上的实践包括:重定义大小,文件系统建立和文件注入等;
/nova/virt/disk/api.py:提供了调整、重新分区和修改磁盘镜像的方法以及文件注入等方法;
/nova/virt/disk/mount/__init__.py:支持挂载磁盘镜像到主机文件系统;
/nova/virt/disk/mount/api.py:支持挂载虚拟镜像文件;
/nova/virt/disk/mount/loop.py:支持回环设备挂载镜像;
/nova/virt/disk/mount/nbd.py:支持挂载磁盘镜像到qemu-nbd;
/nova/virt/disk/vfs/__init__.py:虚拟文件系统实践;
/nova/virt/disk/vfs/api.py:虚拟文件系统API;
/nova/virt/disk/vfs/guestfs.py:来宾虚拟文件系统;
/nova/virt/disk/vfs/localfs.py:本地虚拟文件系统;
/nova/virt/hyperv/basevolumeutils.py:卷管理相关业务的辅助方法以及存储的实现;
/nova/virt/hyperv/constants.py:ops类中使用的常量;
/nova/virt/hyperv/driver.py:Hyper-V Nova Compute driver
/nova/virt/hyperv/hostops.py:主机运作的管理类;
/nova/virt/hyperv/hostutils.py:主机运作的实用程序;
/nova/virt/hyperv/imagecache.py:镜像缓存和管理;
/nova/virt/hyperv/livemigrationops.py:实时迁移VM虚拟机业务管理类;
/nova/virt/hyperv/livemigrationutils.py:虚拟机实例实时迁移实用程序;
/nova/virt/hyperv/migrationops.py:迁移/调整大小操作管理类;
/nova/virt/hyperv/networkutils.py:网络相关业务实用程序类;
/nova/virt/hyperv/pathutils.py:路径相关实用程序;
/nova/virt/hyperv/snapshotops.py:虚拟机快照业务管理类;
/nova/virt/hyperv/vmops.py:基本VM虚拟机业务管理类;
/nova/virt/hyperv/vmutils.py:Hyper-V上的VM虚拟机相关业务实用程序类;
/nova/virt/hyperv/volumeops.py:存储相关方法管理类(附加,卸下等等);
/nova/virt/hyperv/volumeutils.py:卷的相关管理业务辅助类以及存储实现等;
/nova/virt/hyperv/volumeutilsv2.py:卷的相关管理业务辅助类以及在Windows Server 2012上存储实现等;
/nova/__init__.py:Nova HTTP服务;
/nova/availability_zones.py:可用zone的辅助方法;
/nova/context.py:关于请求信息上下文的一些方法
/nova/exception.py:Nova基本的异常处理,包括各种异常类及其类中提示的异常信息;
/nova/filters.py:滤波器支持,定义了所有滤波器类的基类和处理加载滤波器类的基类;
/nova/manager.py:基本管理类;
/nova/notifications.py:系统常见的多层次通知的相关方法;
/nova/policy.py:Nova的Policy引擎;
/nova/quota.py:实例配额和浮动ip;
/nova/service.py:主机上运行所有服务的通用节点基类;
/nova/test.py:单元测试的基类;
/nova/utils.py:实用工具和辅助方法;
/nova/weights.py:可插拔权重支持;

/nova/wsgi.py:WSGI服务工作的通用方法;


博文中不免有不正确的地方,欢迎朋友们不吝批评指正,谢谢大家了!微笑

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值