运行在控制节点上的nova服务接收到创建虚拟机的请求后,最终会调用问价nova/api/openstack/compute/servers.py中类ServersController的create(self, req, body)函数。参数 req和 body是http请求传递过来的,可以通过Openstack的日志服务oslo_log来打印,打印的结果如下所示。
req的值
Accept: application/json^M
Cache-Control: no-cache^M
Connection: keep-alive^M
Content-Length: 122^M
Content-Type: application/json^M
Host: controller:8774^M
Pragma: no-cache^M
User-Agent: OpenStack4j / OpenStack Client^M
X-Auth-Token: 5ed6482e52c1428aa560e19919a0b6a8^M
X-Domain-Id: None^M
X-Domain-Name: None^M
X-Identity-Status: Confirmed^M
X-Project-Domain-Id: default^M
X-Project-Domain-Name: Default^M
X-Project-Id: 5043d96c15f541ba9deb29e3850bb458^M
X-Project-Name: admin^M
X-Role: admin,SwiftOperator^M
X-Roles: admin,SwiftOperator^M
X-Service-Catalog: [{"endpoints":
X-Tenant: admin^M
X-Tenant-Id: 5043d96c15f541ba9deb29e3850bb458^M
X-Tenant-Name: admin^M
X-User: admin^M
X-User-Domain-Id: default^M
X-User-Domain-Name: Default^M
X-User-Id: 0fdce610fa2544998cd340e90c2eda96^M
X-User-Name: admin^M
^M
{
"server" : {
"name" : "temp",
"imageRef" : "af711ee1-dacd-435b-9968-798bf7244bb0",
"flavorRef" : "2"
}
}
body的值为:
{u'server': {u'flavorRef': u'2', u'name': u'temp', u'imageRef': u'af711ee1-dacd-435b-9968-798bf7244bb0', 'scheduler_hints': {}}}