Time of Update: 2018-12-04
.學習一個新的模組,先要學習理解各個檔案主要功能以及相互配合的邏輯關係圖。先簡單列出來,後面回頭分析邏輯關係。├── api│ ├── cached_images.py│ ├── cached_images.pyc│ ├── common.py│ ├── common.pyc│ ├── __init__.py│ ├── __init__.pyc│ ├── middleware│ │ ├── cache_manage.py│ │ ├──
Time of Update: 2018-12-04
感興趣的部分可以點擊進去。doc source conf.py glance api middleware __init__.py cache.py cache_manage.py context.py version_negotiation.py v1 __init__.py controller.py filters.py images.py members.py router.py v2 __init__.py authorization.py cached_images.py commo
Time of Update: 2018-12-04
通用許多項目的預設loglevel設定成了WARNING,在設定檔中設定verbose=True,等效於loglevel=INFO;debug=True,等效於loglevel=DEBUG.(https://bugs.launchpad.net/oslo/+bug/989269)nova引入Cell的概念(實驗中),cell詳細介紹請參考:1)2)AZ加強了,原來AZ只能在設定檔中指定,現在可以通過API設定,底層是通過aggregate概念實現的。 3)Admin
Time of Update: 2018-12-04
struct sw_flow_key 用來唯一定義一個flow,該結構相當複雜,請參考源碼sw_flow_key分為四部分,分別代表switch, L2, L3, L4的profileswitch的profile是一個struct phy結構,包括了tunnel ID, priority, input switch port;ethernet的profile是一個struct eth結構,包括了src mac, dst mac, vlan tci,
Time of Update: 2018-12-04
user space的介面為 xapi.pyxapi.py的成員API函數的流程都follow如下流程:1. 調用connect, 通過ServerProxy rpc登陸到xend2. 調用execute, 執行func(*args), 其中func, args都是傳入的參數, *args表示變長參數xapi.py支援的API commands如下COMMANDS = { 'host-info': ('', 'Get Xen Host Info'), 'host-set-name':
Time of Update: 2018-12-04
自已整理的一些零散的知識點簡介AMQP(訊息佇列協議,Advanced Message Queuing Protocol)是一種訊息協議 ,等同於JMS,但是JMS只是java平台的方案,AMQP是一個跨語言的協議。AMQP 不分語言平台,最初來自JPMorgon,因為業務需要而滋生,很快從金融界推廣到整個電腦界流行起來。AMQP 目前還是一個草案,最新版本是:0.10Publisher --->Exchange ---> MessageQueue
Time of Update: 2018-12-04
文章目錄 前言物理架構主要進程程式碼群組織結構總結
Time of Update: 2018-12-04
本文簡要介紹aws的auto scaling以及相關概念,讓讀者對auto scaling服務有一個基本的認識。概要Auto
Time of Update: 2018-12-04
遞推關係找到的話,這題就沒什麼難度了,剛開始我使用的是基於完全背包的改造,結果逾時嚴重,後來搜到了這篇文章,才發現原來區分奇偶性就可以了。。。唉!分析問題的能力還是太水,繼續努力吧~~附上我的逾時的代碼#include <stdio.h>#define N 1000100#define MOD 1000000000int dp[N];int main() {int i, n;int k, v;while(scanf("%d", &n) != EOF) {k =
Time of Update: 2018-12-04
滿懷期待的開啟這道題,以為肯定是貪心演算法求解,結果很水的一道題,一次AC。窮舉搜尋,雖然複雜度看上去很恐怖n的5次方,但是n很小,根本不對執行時間構成很大的影響,測試資料最長用了0.022秒 /*ID:LANG: CTASK: crypt1*/#include <stdio.h>#include <stdlib.h>#include <ctype.h>int notInTable(int pro, int table[]) {while(pro)
Time of Update: 2018-12-04
話說一面就被鄙視了,杯具!題目是從這裡看到的。。。(原文底下的跟貼很給力!)題目大意:abcde五人打漁,打完睡覺,a先醒來,扔掉1條魚,把剩下的分成5分,拿一份走了;b再醒來,也扔掉1條,把剩下的分成5份,拿一份走了;然後cde都按上面的方法取魚。問他們一共打了多少條魚,寫程式和演算法這裡說要用遞迴,因為考查的就是遞迴,不過要是我去面的話,估計用遞迴做的希望還真不大。。。直接迴圈判斷,YEAH~~#include <stdio.h>int main() {int i, n,
Time of Update: 2018-12-04
無論是塊裝置還是網路裝置,前端驅動模組的安裝和卸載都通過xenbus_register_frontend,xenbus_unregister_driver來完成。 其中netfront_driver也是一個xenbus_driver結構static struct xenbus_driver netfront_driver = { .name = "vif", .owner = THIS_MODULE, .ids = netfront_ids, .probe =
Time of Update: 2018-12-04
發送的核心函數為 xennet_start_xmitstatic int xennet_start_xmit(struct sk_buff *skb, struct net_device *dev){ unsigned short id; struct netfront_info *np = netdev_priv(dev); struct xen_netif_tx_request *tx; struct xen_netif_extra_info *extra;
Time of Update: 2018-12-04
由於要做一個類似LVS的包轉寄模組,研究了LVS的架構和代碼,下面這個系列會做一個總結。首先推薦下這個blog http://yfydz.cublog.cn 裡面對LVS, IPSec的講解非常不錯幾個重要的資料結構如下:ip_vs_conn:一個串連由N元組構成,包括 caddr (用戶端地址cip), vaddr (服務虛擬位址vip), daddr (目的realserver地址dip), cport (用戶端串連連接埠), vport (服務虛擬連接埠), dport
Time of Update: 2018-12-04
文章目錄 建立blktap裝置 (BLKTAP2_IOCTL_ALLOC_TAP) :釋放blktap裝置(BLKTAP2_IOCTL_FREE_TAP): blktap又回到那個問題,I/O請求從前端到後端blkback之後,如何從blkback到大tapdisk2進程?pvops/Drivers/Xen/Blktap/ 下面是blktap的驅動代碼,其中blktap的裝置結構如下:struct blktap {int
Time of Update: 2018-12-04
文章目錄 概述舉例說明 概述python的程式有兩中退出方式:os._exit(), sys.exit()。本文介紹這兩種方式的區別和選擇。os._exit()會直接將python程式終止,之後的所有代碼都不會繼續執行。sys.exit()會引發一個異常:SystemExit,如果這個異常沒有被捕獲,那麼python解譯器將會退出。如果有捕獲此異常的代碼,那麼這些代碼還是會執行。舉例說明import os try: os._exit(
Time of Update: 2018-12-04
1. PyCodeObject與Pyc檔案通常認為,Python是一種解釋性的語言,但是這種說法是不正確的,實際上,Python在執行時,首先會將.py檔案中的原始碼編譯成Python的byte code(位元組碼),然後再由Python Virtual Machine來執行這些編譯好的byte code。這種機制的基本思想跟Java,.NET是一致的。然而,Python Virtual Machine與Java或.NET的Virtual
Time of Update: 2018-12-04
top觀察進程資料時,會有如下幾個記憶體參數(可以用f選擇顯示哪些參數):VIRT, RES, SHR, SWAP, CODE, DATAtop實際上是從/proc/<pid>/statm檔案中讀取這些資訊,/proc/<pid>/smaps檔案是進程虛擬記憶體映射的詳細資料,我們知道核心的struct page結構有引用計數,如果>1,表示是shared page,否則是private
Time of Update: 2018-12-04
文章目錄 regionAvailability Zones 在AMZ中有Region和Availability Zones的概念,並且在openstack中也實現了兩者,只是不太容易看出來。此文主要介紹他們的概念和關係,以及在openstack中的實現。如果沒有特彆強調,下文中Availability Zones簡稱az。概述===
Time of Update: 2018-12-04
在heat-api架構中,虛擬機器外部需要和虛擬機器進行通行,和對虛擬機器進行詳細自訂。具體架構以後再寫。今天著重介紹cfntools裡面幾個指令碼的作用。(https://github.com/heat-api/heat-jeos)cfntools介紹cfntools是在虛擬機器中跑的一堆輔助指令碼,一般用來擷取metadata,並根據metadata做一些自動化配置。cfntools目錄結構├── cfn-get-metadata├── cfn_helper.py├── cfn-hup├──