OpenStack Request Flow - McMaster...

18
Engineering Services for OpenStack OpenStack Request Flow TM BUILT FOR openstack TM CLOUD SOFTWARE

Transcript of OpenStack Request Flow - McMaster...

Page 1: OpenStack Request Flow - McMaster Universityprofs.degroote.mcmaster.ca/.../OpenStackRequestFlow_Comments.pdf · BUILT FOR openstack TM CLOUD SOFTWARE Keystone(1. Multiple compute

Engineering Services for OpenStack

OpenStack Request Flow

TM  

B U I LT F O R

openstack TM

CLOUD SOFTWARE

Page 2: OpenStack Request Flow - McMaster Universityprofs.degroote.mcmaster.ca/.../OpenStackRequestFlow_Comments.pdf · BUILT FOR openstack TM CLOUD SOFTWARE Keystone(1. Multiple compute

www.mirantis.com

B U I LT F O R

openstack TM

CLOUD SOFTWARE

Keystone  

Weina
附注
1. Multiple compute nodes in OpenStack cluster 2. Compute node is installed on hypervisor host 3. All compute nodes must be network connected with controller node 4. a component receive a message from queue and then retrieve detail information from database
Weina
附注
1. One controller node in OpenStack cluster. 2. queue and database can be accessed by all controller and compute nodes 3. queue is a message queue (central hub) for communication between components 4. queue is based on asynchronous communication 5. database stores build-time and run-time state of cloud
Page 3: OpenStack Request Flow - McMaster Universityprofs.degroote.mcmaster.ca/.../OpenStackRequestFlow_Comments.pdf · BUILT FOR openstack TM CLOUD SOFTWARE Keystone(1. Multiple compute

www.mirantis.com

B U I LT F O R

openstack TM

CLOUD SOFTWARE

Keystone  

Weina
附注
1. keystone provides identity service 2. supports token-based authentication 3. supports user-service based authorization 4. can integrate with existing authentication system
Weina
附注
1. In order to obtain an API token, the dashboard or command line need to request it from keystone (cloud provider's authentication server) 2. The client has to provide the URL of their authentication server as well as user name and password
Page 4: OpenStack Request Flow - McMaster Universityprofs.degroote.mcmaster.ca/.../OpenStackRequestFlow_Comments.pdf · BUILT FOR openstack TM CLOUD SOFTWARE Keystone(1. Multiple compute

www.mirantis.com

B U I LT F O R

openstack TM

CLOUD SOFTWARE

Keystone  

Page 5: OpenStack Request Flow - McMaster Universityprofs.degroote.mcmaster.ca/.../OpenStackRequestFlow_Comments.pdf · BUILT FOR openstack TM CLOUD SOFTWARE Keystone(1. Multiple compute

www.mirantis.com

B U I LT F O R

openstack TM

CLOUD SOFTWARE

Keystone  

Weina
附注
nova API is implemented as REST API
Page 6: OpenStack Request Flow - McMaster Universityprofs.degroote.mcmaster.ca/.../OpenStackRequestFlow_Comments.pdf · BUILT FOR openstack TM CLOUD SOFTWARE Keystone(1. Multiple compute

www.mirantis.com

B U I LT F O R

openstack TM

CLOUD SOFTWARE

Keystone  

Page 7: OpenStack Request Flow - McMaster Universityprofs.degroote.mcmaster.ca/.../OpenStackRequestFlow_Comments.pdf · BUILT FOR openstack TM CLOUD SOFTWARE Keystone(1. Multiple compute

www.mirantis.com

B U I LT F O R

openstack TM

CLOUD SOFTWARE

Keystone  

Weina
附注
The response contains the token itself (the id key in the token dictionary), the token expiry date/time and the catalog of services you can talk to that accept the token.
Page 8: OpenStack Request Flow - McMaster Universityprofs.degroote.mcmaster.ca/.../OpenStackRequestFlow_Comments.pdf · BUILT FOR openstack TM CLOUD SOFTWARE Keystone(1. Multiple compute

www.mirantis.com

B U I LT F O R

openstack TM

CLOUD SOFTWARE

Keystone  

Weina
附注
For the case of retrieving instances, nova-api get instances from database and return to client directly.
Page 9: OpenStack Request Flow - McMaster Universityprofs.degroote.mcmaster.ca/.../OpenStackRequestFlow_Comments.pdf · BUILT FOR openstack TM CLOUD SOFTWARE Keystone(1. Multiple compute

www.mirantis.com

B U I LT F O R

openstack TM

CLOUD SOFTWARE

Keystone  

Weina
附注
nova-scheduler is to make a decision on where a new instance should be created according to pre-configured policy and instance requirements. After the host is decided, the host ID will be updated to the instance entry stored in database.
Page 10: OpenStack Request Flow - McMaster Universityprofs.degroote.mcmaster.ca/.../OpenStackRequestFlow_Comments.pdf · BUILT FOR openstack TM CLOUD SOFTWARE Keystone(1. Multiple compute

www.mirantis.com

B U I LT F O R

openstack TM

CLOUD SOFTWARE

Keystone  

Find  an  appropriate  host  via  filtering  and  weigh5ng  Update  instance  entry  with  host  ID  

Weina
附注
1. Filtering is to evaluate and determine which hosts are eligible for consideration when dispatching resource. 2. Weighting is to select the best proper host to create instance. 3. After passing filter scheduler, we get a list of candidate hosts. After passing weighting scheduler, we get just one host or nothing.
Page 11: OpenStack Request Flow - McMaster Universityprofs.degroote.mcmaster.ca/.../OpenStackRequestFlow_Comments.pdf · BUILT FOR openstack TM CLOUD SOFTWARE Keystone(1. Multiple compute

www.mirantis.com

B U I LT F O R

openstack TM

CLOUD SOFTWARE

Keystone  

Weina
附注
1. Only the host selected by nova-scheduler will get the request of "vm provision" 2. If no host is selected by nova-scheduler, "create instance" is failed and response is returned.
Page 12: OpenStack Request Flow - McMaster Universityprofs.degroote.mcmaster.ca/.../OpenStackRequestFlow_Comments.pdf · BUILT FOR openstack TM CLOUD SOFTWARE Keystone(1. Multiple compute

www.mirantis.com

B U I LT F O R

openstack TM

CLOUD SOFTWARE

Keystone  

Weina
附注
1. The message in queue just contains operation, instance and host ID. The detailed information is stored in database. 2. Openstack supports multiple types of hypervisor. nova-compute will call different kind of API for different type of hypervisor. 3. The real operation, like creating/starting/stopping/deleting virtual machine is executed by hypervisor API.
Page 13: OpenStack Request Flow - McMaster Universityprofs.degroote.mcmaster.ca/.../OpenStackRequestFlow_Comments.pdf · BUILT FOR openstack TM CLOUD SOFTWARE Keystone(1. Multiple compute

www.mirantis.com

B U I LT F O R

openstack TM

CLOUD SOFTWARE

Keystone  

Weina
附注
1. Glance is for image registering, discovering and retrieving. Actual image is stored in Swift. 2. Besides of swift, image can be stored through NFS, HTTP, Amozan's S3.
Page 14: OpenStack Request Flow - McMaster Universityprofs.degroote.mcmaster.ca/.../OpenStackRequestFlow_Comments.pdf · BUILT FOR openstack TM CLOUD SOFTWARE Keystone(1. Multiple compute

www.mirantis.com

B U I LT F O R

openstack TM

CLOUD SOFTWARE

Keystone  

Weina
附注
reserve and allocation IP address for the instance.
Page 15: OpenStack Request Flow - McMaster Universityprofs.degroote.mcmaster.ca/.../OpenStackRequestFlow_Comments.pdf · BUILT FOR openstack TM CLOUD SOFTWARE Keystone(1. Multiple compute

www.mirantis.com

B U I LT F O R

openstack TM

CLOUD SOFTWARE

Keystone  

Weina
附注
1. vlans: compute node can be configured so that the virtual machine instances of different projects (organizations) are in different subnets, with each subnet having a different VLAN tag. 2. bridge config: the virtual instances can be configure with bridge network to allow two or more communication networks.
Page 16: OpenStack Request Flow - McMaster Universityprofs.degroote.mcmaster.ca/.../OpenStackRequestFlow_Comments.pdf · BUILT FOR openstack TM CLOUD SOFTWARE Keystone(1. Multiple compute

www.mirantis.com

B U I LT F O R

openstack TM

CLOUD SOFTWARE

Keystone  

Weina
附注
attach extra block level storage to new provisioned instance, which is optional
Page 17: OpenStack Request Flow - McMaster Universityprofs.degroote.mcmaster.ca/.../OpenStackRequestFlow_Comments.pdf · BUILT FOR openstack TM CLOUD SOFTWARE Keystone(1. Multiple compute

www.mirantis.com

B U I LT F O R

openstack TM

CLOUD SOFTWARE

Keystone  

Poll  for  request  instance  status  

Weina
附注
instance is ready, update the status of instance entry stored in database
Page 18: OpenStack Request Flow - McMaster Universityprofs.degroote.mcmaster.ca/.../OpenStackRequestFlow_Comments.pdf · BUILT FOR openstack TM CLOUD SOFTWARE Keystone(1. Multiple compute

Engineering Services for OpenStack