1 | Client -> Keystone | Authentication request |
2 | Keystone -> Token Store | Save token |
3 | Keystone -> Client | Pass authentication token |
4 | Client -> Nova.api | Start instance |
5 | Nova.api -> Database | Create initial entry for instance |
6 | Nova.api -> RabbitMQ | Make rpc.cast to request the new instance |
7 | Nova.api -> Client | Instance request complete |
8 | Nova.schedular -> RabbitMQ | Subscribe new instance request |
9 | Nova.schedular -> Database | Read filtering and weighing information |
10 | Nova.schedular -> Database | Read cluster state |
11 | Nova.schedular -> Database | Save instance state |
12 | Nova.schedular -> RabbitMQ | Rpc.cast to launch instance |
13 | Nova-compute -> RabbitMQ | Subscribe new instance request |
14 | Nova-compute -> RabbitMQ | Rpc.call to Nova-conductor to fetch the instance information |
15 | Nova-conductor -> RabbitMQ | Subscribe new instance request |
16 | Nova-conductor -> RabbitMQ | Read instance state |
17 | Nova-conductor -> RabbitMQ | Publish new instance state |
18 | Nova-compute -> RabbitMQ | Subscribe new instance request |
19 | Nova-compute -> Glance.api | [REST] get Image URI by Image ID from glance |
20 | Glance.api -> Nova-compute | Return image URI |
21 | Nova-compute -> Ceph_mon | Retrieve cluster map |
22 | Ceph_mon -> Nova-compute | Return cluster map |
23 | Nova-compute -> Ceph_rgw | [REST] request for object |
24 | Ceph_rgw -> Ceph_osd | [Socket] get object |
25 | Ceph_rgw -> Nova-compute | Return object |
26 | Nova-compute -> Neutron-server | Allocate and configure the network for the instance |
27 | Neutron-server -> RabbitMQ | Request IP address |
28 | Neutron-server -> RabbitMQ | Request L2 configuration |
29 | Neutron-DHCP-agent -> RabbitMQ | Read request IP address |
30 | Neutron-DHCP-agent -> Dnsmasq | Allocate IP address |
31 | Dnsmasq -> Neutron-DHCP-agent | Reply |
32 | Neutron-DHCP-agent -> RabbitMQ | Reply IP address |
33 | Neutron-server -> RabbitMQ | Read IP address |
34 | Neutron-L2-Agent -> RabbitMQ | Read request for L2 configuration |
35 | Neutron-L2-Agent -> Libvirt | Configure L2 |
36 | Neutron-L2-Agent -> RabbitMQ | Reply to L2 configuration |
37 | Neutron-server -> Database | Save instance network state |
38 | Neutron-server -> Nova-compute | Pass network information |
39 | Nova-compute -> Cinder.api | [REST] get volume data |
40 | Cinder.api -> Keystone | Validate token and permissions |
41 | Keystone -> Cinder.api | Update authentication headers with roles and acl |
42 | Cinder.api -> Nova-compute | Return volume information |
43 | Nova-compute -> Libvirt | Start VM |
44 | Nova-compute -> Libvirt | Update port information |
45 | Nova-compute -> RabbitMQ | Rpc.call to Nova-conductor to fetch the instance information |
46 | Nova-conductor -> RabbitMQ | Subscribe new instance request |
47 | Nova-conductor -> RabbitMQ | Publish new instance state |
48 | Nova-compute -> Libvirt | Pass volume information |
49 | Libvirt -> Ceph_mon | Get cluster map |
50 | Ceph_mon -> Libvirt | Return cluster map |
51 | Libvirt -> Ceph_osd | Mount volume |
52 | VM-instance -> Neutron_metadata_proxy | http rest 169.254.169.254 |
53 | Neutron_metadata_proxy -> Nova-api-metadata | http rest add uuid into X-headers |
54 | Neutron_metadata_proxy -> VM-instance | Return metadata |
55 | Client -> Nova-api | Poll instance state |
56 | Nova.api -> Database | Read instance state |
57 | Database -> Nova.api | Return state |
58 | Nova-api -> Client | Return instance state |