• Brian Rosmaita – @br14nr – Freenode: rosmaita
• Compute Control Plane Product Manager at Rackspace
About me
3 www.rackspace.com
• Brian Rosmaita – @br14nr – Freenode: rosmaita
• Compute Control Plane Product Manager at Rackspace
• OpenStack ATC since Folsom
About me
4 www.rackspace.com
• Brian Rosmaita – @br14nr – Freenode: rosmaita
• Compute Control Plane Product Manager at Rackspace
• OpenStack ATC since Folsom • Glance driver
About me
5 www.rackspace.com
• Brian Rosmaita – @br14nr – Freenode: rosmaita
• Compute Control Plane Product Manager at Rackspace
• OpenStack ATC since Folsom • Glance driver • Happy to be here, hope you’re enjoying the summit
About me
6 www.rackspace.com
• This talk was originally planned to be given along with Nikhil Komawar, the Glance Project Technical Lead
The old bait-and-switch
9 www.rackspace.com
• This talk was originally planned to be given along with Nikhil Komawar, the Glance Project Technical Lead – Unfortunately, he can’t be here today
The old bait-and-switch
10 www.rackspace.com
• This talk was originally planned to be given along with Nikhil Komawar, the Glance Project Technical Lead – Unfortunately, he can’t be here today
• “Making Glance tasks work for you”
The old bait-and-switch
11 www.rackspace.com
• This talk was originally planned to be given along with Nikhil Komawar, the Glance Project Technical Lead – Unfortunately, he can’t be here today
• “Making Glance tasks work for you” – Actually, the focus won’t be on how to implement your own tasks
The old bait-and-switch
12 www.rackspace.com
• This talk was originally planned to be given along with Nikhil Komawar, the Glance Project Technical Lead – Unfortunately, he can’t be here today
• “Making Glance tasks work for you” – Actually, the focus won’t be on how to implement your own tasks – More about what tasks are, why you should consider using them
The old bait-and-switch
13 www.rackspace.com
• This talk was originally planned to be given along with Nikhil Komawar, the Glance Project Technical Lead – Unfortunately, he can’t be here today
• “Making Glance tasks work for you” – Actually, the focus won’t be on how to implement your own tasks – More about what tasks are, why you should consider using them – … and some requests for feedback
The old bait-and-switch
14 www.rackspace.com
• Ops Feedback – Thursday May 21, 2015 11:50am - 12:30pm – Room 218
Glance design session tomorrow
15 www.rackspace.com
• Ops Feedback – Thursday May 21, 2015 11:50am - 12:30pm – Room 218 – Please attend if you can – If you can’t, put suggestions on this etherpad: http://etherpad.openstack.org/p/liberty-glance-ops-feedback
Glance design session tomorrow
16 www.rackspace.com
• I was told that to have an effective presentation, you need to start with a compelling story
18
This presentation
www.rackspace.com
• I was told that to have an effective presentation, you need to start with a compelling story
• I will give you one!
19
This presentation
www.rackspace.com
• I was also told that it’s good if your presentation includes some controversy
20
This presentation
www.rackspace.com
• I was also told that it’s good if your presentation includes some controversy
• I’ll give you some of that, too!
21
This presentation
www.rackspace.com
• Wednesday May 20, 2015 2:40pm - 3:20pm
• Room 222 • https://etherpad.openstack.org/p/liberty-what-is-glance
23
The direction of the Glance project
www.rackspace.com
• Glance’s role in OpenStack: Image service
• On July 10, 2014, the following mission statement was merged:
To provide a service where users can upload and discover data assets that are meant to be used with other services, like images for Nova and templates for Heat
– https://review.openstack.org/#/c/98002/
25
The Glance mission statement
www.rackspace.com
• Images API – v1 changed to SUPPORTED status – v2 now considered CURRENT
26
Recent Developments in Glance
www.rackspace.com
• Images API – v1 changed to SUPPORTED status – v2 now considered CURRENT
• Metadefs catalog – Added in Juno – /v2/metadefs
27
Recent Developments in Glance
www.rackspace.com
• Images API – v1 changed to SUPPORTED status – v2 now considered CURRENT
• Metadefs catalog – Added in Juno – /v2/metadefs
• Catalog Index Service (Experimental API) – Added in Kilo – /v0.1/search
28
Recent Developments in Glance
www.rackspace.com
• Images API – v1 changed to SUPPORTED status – v2 now considered CURRENT
• Metadefs catalog – Added in Juno – /v2/metadefs
• Catalog Index Service (Experimental API) – Added in Kilo – /v0.1/search
• Artifacts (Experimental API) – Scheduled for Liberty – /v0.1/artifacts
29
Recent Developments in Glance
www.rackspace.com
• Wednesday May 20, 2015 2:40pm - 3:20pm
• Room 222 • https://etherpad.openstack.org/p/liberty-what-is-glance
30
The direction of the Glance project
www.rackspace.com
• Wednesday May 20, 2015 3:30pm – 4:10pm • Room 222 • https://etherpad.openstack.org/p/catalog-index-service-liberty
31
Catalog Index Service – Future and Scope
www.rackspace.com
• A compelling story • Glance tasks • Controversy! • Concluding thoughts
Outline
36 www.rackspace.com
• A compelling story • Glance tasks • Controversy! • Concluding thoughts • Questions and discussion
Outline
37 www.rackspace.com
• End users would like to bring their own images into your cloud
39
The compelling story
www.rackspace.com
• End users would like to bring their own images into your cloud
• But there are a few complications …
40
The compelling story
www.rackspace.com
• Some end users don’t quite understand what the OpenStack Image Service is
41
The compelling story
www.rackspace.com
• Some end users don’t quite understand what the OpenStack Image Service is – You can upload as many JPEGs as you
want, but you’ll never be able to boot a VM from them
42
The compelling story
www.rackspace.com
• Some end users do understand what the OpenStack Image Service is … but they are not nice people
43
The compelling story
www.rackspace.com
• Some end users do understand what the OpenStack Image Service is … but they are not nice people – Someone may upload malicious images
to share malware with other users
44
The compelling story
www.rackspace.com
• Some end users do understand what the OpenStack Image Service is … but they are not nice people – Someone may upload malicious images
to share malware with other users – Someone may upload a malicious image
to try and attack the hypervisor itself
45
The compelling story
www.rackspace.com
• Some end users have really slow connections – Upload will take a long time
47
The compelling story
www.rackspace.com
• Some end users have really slow connections – Upload will take a long time – Lots of really slow, long-running uploads
can tie up the image service
48
The compelling story
www.rackspace.com
• Some end users have really slow connections – Upload will take a long time – Lots of really slow, long-running uploads
can tie up the image service – The Image Service is kind of important
for Nova
49
The compelling story
www.rackspace.com
• How to get information back to users? – The Image status field is not very
descriptive
51
The compelling story
www.rackspace.com
• How to get information back to users? – The Image status field is not very
descriptive – The uploaded thing might not be a VM
image, anyway … do we really want to create an “image” that’s not an image?
52
The compelling story
www.rackspace.com
• We want to find a way for end users to: – Upload their custom VM images into an
OpenStack cloud
53
The compelling story
www.rackspace.com
• We want to find a way for end users to: – Upload their custom VM images into an
OpenStack cloud – In such a way that the uploaded data can
be verified as a VM image
54
The compelling story
www.rackspace.com
• We want to find a way for end users to: – Upload their custom VM images into an
OpenStack cloud – In such a way that the uploaded data can
be verified as a VM image – And scanned for malware or exploits
55
The compelling story
www.rackspace.com
• We want to find a way for end users to: – Upload their custom VM images into an
OpenStack cloud – In such a way that the uploaded data can
be verified as a VM image – And scanned for malware or exploits – Using an interface that’s common across
OpenStack installations
56
The compelling story
www.rackspace.com
• We want to find a way for end users to: – Upload their custom VM images into an
OpenStack cloud – In such a way that the uploaded data can
be verified as a VM image – And scanned for malware or exploits – Using an interface that’s common across
OpenStack installations – Yet is customizable as to the actual
workflow
57
The compelling story
www.rackspace.com
• We want to find a way for end users to: – Upload their custom VM images into an
OpenStack cloud – In such a way that the uploaded data can
be verified as a VM image – And scanned for malware or exploits – Using an interface that’s common across
OpenStack installations – Yet is customizable as to the actual
workflow – And which provides useful feedback to
the end user
58
The compelling story
www.rackspace.com
• And … – End users may want to download images
to move them to another cloud for various reasons
59
The compelling story
www.rackspace.com
• And … – End users may want to download images
to move them to another cloud for various reasons
– The same problems present themselves
60
The compelling story
www.rackspace.com
• And … – End users may want to download images
to move them to another cloud for various reasons
– The same problems present themselves – A provider may want to pre-process an
image before it’s handed over to an end user
61
The compelling story
www.rackspace.com
• And … – End users may want to download images
to move them to another cloud for various reasons
– The same problems present themselves – A provider may want to pre-process an
image before it’s handed over to an end user
– The end user may have a slow connection, etc.
62
The compelling story
www.rackspace.com
• And … – End users may want to download images
to move them to another cloud for various reasons
– The same problems present themselves – A provider may want to pre-process an
image before it’s handed over to an end user
– The end user may have a slow connection, etc.
– We’re dealing with another long-running, asynchronous image-related activity
63
The compelling story
www.rackspace.com
• And … – End users may want to download images
to move them to another cloud for various reasons
– The same problems present themselves – A provider may want to pre-process an
image before it’s handed over to an end user
– The end user may have a slow connection, etc.
– We’re dealing with another long-running, asynchronous image-related activity
– Would like a way to handle this direction, too
64
The compelling story
www.rackspace.com
• And … – End users may want to move images
from one isolated cloud region to another
65
The compelling story
www.rackspace.com
• And … – End users may want to move images
from one isolated cloud region to another – End users may want to move images
from one OpenStack cloud to another OpenStack cloud
66
The compelling story
www.rackspace.com
• And … – End users may want to move images
from one isolated cloud region to another – End users may want to move images
from one OpenStack cloud to another OpenStack cloud
– Yet another long-running, asynchronous image-related activity
67
The compelling story
www.rackspace.com
• Provide a common API across OpenStack installations – /v2/tasks
• Workflow is customizable per cloud provider
Glance tasks
70 www.rackspace.com
• Provide a common API across OpenStack installations – /v2/tasks
• Workflow is customizable per cloud provider
• Don’t create an image until there’s a high probability of success
Glance tasks
71 www.rackspace.com
• Provide a common API across OpenStack installations – /v2/tasks
• Workflow is customizable per cloud provider
• Don’t create an image until there’s a high probability of success
• Provide a way to deliver meaningful, helpful error messages
Glance tasks
72 www.rackspace.com
• Provide a common API across OpenStack installations – /v2/tasks
• Workflow is customizable per cloud provider
• Don’t create an image until there’s a high probability of success
• Provide a way to deliver meaningful, helpful error messages
• Concept of expiration built in
Glance tasks
73 www.rackspace.com
• Provide a common API across OpenStack installations – /v2/tasks
• Workflow is customizable per cloud provider
• Don’t create an image until there’s a high probability of success
• Provide a way to deliver meaningful, helpful error messages
• Concept of expiration built in • Frees the normal upload/download path for trusted users
Glance tasks
74 www.rackspace.com
• “New Upload Workflow (“Import”) – https://blueprints.launchpad.net/glance/+spec/new-upload-
workflow
Glance tasks blueprints
75 www.rackspace.com
• “New Upload Workflow (“Import”) – https://blueprints.launchpad.net/glance/+spec/new-upload-
workflow
• Import blueprint full specification – https://wiki.openstack.org/wiki/Glance-tasks-import
Glance tasks blueprints
76 www.rackspace.com
• “New Upload Workflow (“Import”) – https://blueprints.launchpad.net/glance/+spec/new-upload-
workflow
• Import blueprint full specification – https://wiki.openstack.org/wiki/Glance-tasks-import
• Tasks API proposal – https://wiki.openstack.org/wiki/Glance-tasks-api
Glance tasks blueprints
77 www.rackspace.com
• “New Upload Workflow (“Import”) – https://blueprints.launchpad.net/glance/+spec/new-upload-
workflow
• Import blueprint full specification – https://wiki.openstack.org/wiki/Glance-tasks-import
• Tasks API proposal – https://wiki.openstack.org/wiki/Glance-tasks-api
• Tasks product package – https://wiki.openstack.org/wiki/Glance-tasks-api-product
Glance tasks blueprints
78 www.rackspace.com
Glance task schema (abbreviated)
79 www.rackspace.com
{ "name": "task", "properties": { "expires_at": { "description": "Datetime when this resource would be subject to removal”}, "input": { "description": "The parameters required by task, JSON blob”}, "message": { "description": "Human-readable informative message only included when appropriate (usually on failure)”}, "result": { "description": "The result of current task, JSON blob”}, "status": { "description": "The current status of this task", "enum": [ "pending”, "processing”, "success”, "failure” ]}, "type": { "description": "The type of task represented by this content", "enum": [ "import” ]}} }
Glance task list
80 www.rackspace.com
{ "tasks": [ { "created_at": "2015-04-26T22:19:08Z", "expires_at": "2015-04-28T22:31:52Z", "id": "5f068894-a3a4-480a-97a9-c26bc1e1b5d7", "owner": "123456", "schema": "/v2/schemas/task", "self": "/v2/tasks/5f068894-a3a4-480a-97a9-c26bc1e1b5d7", "status": "success", "type": "import", "updated_at": "2015-04-26T22:31:52Z" } ] }
Glance task detail
81 www.rackspace.com
{ "created_at": "2015-02-26T22:19:08Z”, "updated_at": "2015-02-26T22:31:52Z", "id": "5f068894-a3a4-480a-97a9-c26bc1e1b5d7”, "owner": ”123456", "schema": "/v2/schemas/task”, "self": "/v2/tasks/5f068894-a3a4-480a-97a9-c26bc1e1b5d7", "expires_at": "2015-02-28T22:31:52Z”, "input": { "image_properties": { "name": "my-imported-image" }, "import_from": "imports/whatever.vhd" }, "message": null, "result": { "image_id": "debb2825-981f-4a1b-ad52-4f5b3a8a70aa" }, "status": "success", "type": "import" }
Glance task detail
82 www.rackspace.com
{ "created_at": "2015-04-21T13:34:33Z", "updated_at": "2015-04-21T13:34:45Z”, "id": "27b3a5fc-e714-41d7-ba59-f9ca31f74d94", "owner": "123456", "schema": "/v2/schemas/task", "self": "/v2/tasks/27b3a5fc-e714-41d7-ba59-f9ca31f74d94", "expires_at": "2015-04-23T13:34:45Z”, "input": { "image_properties": { "name": "Not a VM image" }, "import_from": "some-container/somefile.pdf" }, "message": "The image cannot be imported. The file is not a valid VHD.", "status": "failure", "type": "import" }
• Glance only stores “real” images
• Keep Glance highly available for Nova
Tasks address: MANAGEABILITY
85 www.rackspace.com
• Glance only stores “real” images
• Keep Glance highly available for Nova
• Security – Screen images for vulnerabilities
Tasks address: MANAGEABILITY
86 www.rackspace.com
• Tasks enable you to process images asynchronously according to current resource availability
Tasks address: SCALABILITY
87 www.rackspace.com
• Tasks help manage end users’ expectations
• Tasks can reduce user frustration
Tasks address: USABILITY
89 www.rackspace.com
• Tasks help manage end users’ expectations
• Tasks can reduce user frustration • Tasks can provide better error feedback
Tasks address: USABILITY
90 www.rackspace.com
• Wednesday May 20, 2015 5:20pm – 6:00pm
• Room 222 https://etherpad.openstack.org/p/ liberty-glance-intercloud-image-sharing
92
Intercloud image sharing
www.rackspace.com
• Juno – Eventlet-based task executor
• Kilo – Taskflow-based task executor
Using Glance Tasks (Operator Side)
95 www.rackspace.com
• Flexible • Customizable • Provide a common interface across OpenStack installations
Glance tasks: pros
99 www.rackspace.com
• Flexible • Customizable • Provide a common interface across OpenStack installations
Glance tasks: cons
103 www.rackspace.com
• Alternative upload paths – Administrators use classic upload – Nova uses classic upload – End users use the import task
Tasks are flexible …
104 www.rackspace.com
• Problem – How does a particular user discover what
upload path is available for her to use?
Tasks are flexible …
105 www.rackspace.com
Tasks are customizable …
106 www.rackspace.com
{ "type": "import", "input": { "image_properties": { "name": "My excellent custom image" }, "import_from": "exports/excellent-image.vhd" } }
Tasks are customizable …
107 www.rackspace.com
"input": { "description": "The parameters required by task, JSON blob", "type": "object" }, "result": { "description": "The result of current task, JSON blob", "type": "object" }
Tasks provide a common interface …
108 www.rackspace.com
"input": { "description": "The parameters required by task, JSON blob", "type": "object" }, "result": { "description": "The result of current task, JSON blob", "type": "object" }
• Tasks provide a common interface, but the interface hides differences among cloud providers
Questions
110 www.rackspace.com
• Tasks provide a common interface, but the interface hides differences among cloud providers
• What’s the best way to make these differences available to end users? – Documentation? – Programmatically?
Questions
111 www.rackspace.com
• Tasks provide a common interface, but the interface hides differences among cloud providers
• What’s the best way to make these differences available to end users? – Documentation? – Programmatically?
• How do users discover what upload facility is available to them?
Questions
112 www.rackspace.com
THANK YOU
RACKSPACE® | 1 FANATICAL PLACE, CITY OF WINDCREST | SAN ANTONIO, TX 78218 US SALES: 1-800-961-2888 | US SUPPORT: 1-800-961-4454 | WWW.RACKSPACE.COM
© RACKSPACE LTD. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN THE UNITED STATES AND OTHER COUNTRIES. | WWW.RACKSPACE.COM
WE’RE HIRING!
bit.ly/RackerTalent
Expo Hall Booth P-11 Python OpenStack Engineers C, C++ Linux Systems Engineers Ruby DevOps Engineers Java Frontend & Backend Developers
C#, .NET Software Developer in Test JavaScript, CSS, HTML iOS/Android Development
Twisted, Backhone Data Scientist Angular.JS, Ember.js, Node.js Field Sales Specialist
Restful/JSON/XML Strategic Account Executive Closure, Scala, Erlang
Hadoop, MongoDB, MySQL Solution Architect Data Visualization
THANK YOU
RACKSPACE® | 1 FANATICAL PLACE, CITY OF WINDCREST | SAN ANTONIO, TX 78218 US SALES: 1-800-961-2888 | US SUPPORT: 1-800-961-4454 | WWW.RACKSPACE.COM
© RACKSPACE LTD. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN THE UNITED STATES AND OTHER COUNTRIES. | WWW.RACKSPACE.COM
Top Related