目录 文章目录 目录 从 Octavia API 看起 Octavia Controller Worker database_tasks.MapLoadbalancerToAmphora compute_tasks.CertComputeCreate & ComputeCreate network_tasks.AllocateVIP network_tasks.PlugVIP 最后 从 Octavia API 看起 通过 CLI 创建一个 loadbalancer: (octavia_env)…
使用IDEA快速创建一个springboot项目 创建Spring Initializr,然后一直下一步下一步直至完成 选择web,表示创建web项目 运行原理分析 我们先来看看pom.xml文件 核心依赖的父项目如下: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <versi…
目录 文章目录 目录 创建 Listener 创建 Pool 创建 Member CalculateDelta HandleNetworkDeltas AmphoraePostNetworkPlug ListenersUpdate 创建 L7policy & L7rule & Health Monitor 创建 Listener 我们知道只有为 loadbalancer 创建 listener 时才会启动 haproxy 服务进程. 从 UML 可知,执行指令 openstack load…
作为个人学习笔记分享.有不论什么问题欢迎交流! 在openstack中创建虚拟机的底层实现是nova使用了libvirt,代码在nova/virt/libvirt/driver.py. #image_meta:镜像的相关内容,#injected_files:要注入到VM的文件 #network_info:网络相关信息.block_device_info:磁盘相关信息 def spawn(self, context, instance, image_meta, injected_files, ad…
====此文章是稍早前写的,本次属于文章迁移@2017.06.27==== 前言 俗话说"在js语言中,一切都对象",而且创建对象的方式也有很多种,所以今天我们做一下梳理 最简单的方式 JavaScript创建对象最简单的方式是:对象字面量形式或使用Object构造函数 对象字面量形式 var person = new Object(); person.name = "jack"; person.sayName = function () { alert(this.…
前言: 当nova服务发送了创建port的restful调用信息之后,在neutron服务中有相应的处理函数来处理调用.根据restful的工作原理,是按照 paste.ini文件中配置好的流程去处理该条调用.本节从neutron代码中的create_port()函数开始说起. 简要流程: 下面是调用的流程图.  详细代码: 以上是简要流程图,下面是具体的代码分析. create_port() 功能: 调用create_port_db()函数产生port数据. 更新安全组 绑定port _cre…
前言: 当neutron-server创建了port信息,将port信息写入数据库中.流程返回到nova服务端,接着nova创建的流程继续走.在计算节点中neutron-agent同样要完成很多的工作来支持主机的通信. 简要流程: 详细代码分析: spawn()作用: 准备磁盘信息 获取镜像的获取路径 准备启动xml文件 创建主机和网络,调用create_domain_and_network()函数获取网络信息. 准备启动xml文件的过程稍后有详细分析. create_domin_and_net…
前言: 在openstack的学习当中有一说法就是网络占学习时间的百分之七十.这个说法或许有夸大的成分,但不可否认的是openstack中的 网络是及其重要的部分,并且难度也是相当大.试图通过nova创建虚拟机过程中nova和neutron服务交互的过程来学习openstack网络. 写个学习笔记,整理思路. 版本信息: openstack版本:Newton linux系统:ubuntu1604-server 简要流程: nova在创建虚拟机时会向neutron请求ip和mac地址等port信息…
在Hadoop中,MapReduce的Java作业通常由编写Mapper和Reducer開始.接着创建Job对象.然后使用该对象的set方法设置Mapper和Reducer以及诸如输入输出等參数,最后调用Job对象的waitForCompletion(true)方法提交作业并等待作业的完毕.虽然使用了寥寥数语就描写叙述了作业的创建和提交,但实际情况要复杂的多.本篇文章将通过分析源码来深入学习该过程. 通常使用public Job(Configuration conf, String jobNam…
作者:吴乐 山东师范大学 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.实验过程 1.打开gdb,设置断点 2.跟踪到do_fork处 3.跟踪到copy_process断点处. 4.跟踪到ret_from_fork子进程创建完成. 二.代码部分分析 Fork的系统调用代码在linux/arch/i386/kernel/process.c中:       asmlinkage int sys_fork(s…