32
Revamped Image Upload Whys and Hows

Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

Embed Size (px)

Citation preview

Page 1: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

Revamped Image Upload Whys and Hows

Page 2: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016
Page 3: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

For attendingStill here

feel free to interrupt

@[email protected]

Page 4: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016
Page 5: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

The problem

An user wants to create an image

An OP wants to provide an image

A service needs to create an image

Page 6: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

The (real) problem

WE F***ED this UP

Page 7: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

The (real) problem

Let’s not even talk about “tasks”

Glance uploads are not resilient

Glance doesn’t allow for verification

Page 8: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

The (real) problem

copy-from is gone in V2

Not interoperable

Not discoverable

Page 9: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016
Page 10: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

What do we really want?

interoperability discoverability resiliency

Page 11: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

What do we really want?

interoperability discoverability resiliency

Page 12: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

What do we really want?

interoperability discoverability resiliency

Page 13: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

What do we really want?

interoperability discoverability resiliency

Page 14: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

Import Workflow

must be

Discoverable

Async

Interoperable

Well Defined In summary, the

API must be discoverable and allow for async processing w/o

giving up interopeability

Page 15: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

how can we fix this?

Page 16: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

1. Create2. Upload3. Import

3-steps import

Page 17: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

It mustn’t change.create

Page 18: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

Either direct or from other

sourcesUpload

Page 19: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

Why multiple sources?

Upload

Page 20: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

Data is staged for processing

Upload

Page 21: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

Trigger async

processingImport

Page 22: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

- Validation- Conversion- Nothing (?)

Image Processing

Page 23: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

Keeping the old upload

Page 24: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

queued

saving

Uploading

importingactive

Page 25: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

queued

saving

Uploading

importingactive

Page 26: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

queued

saving

Uploading

importingactive

Page 27: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

queued

saving

Uploading

importingactive

Page 28: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

queued

saving

Uploading

importingactive

Page 29: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

queued

saving

Uploading

importingactive

Page 30: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

1

2

3

4

The entire API will be discoverableYou don’t have to support multi-sourcesThe old API won’t be removedDefCore has been part of the design

5 Operating on images on upload: OK!

Summary-ish

Page 31: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

1

2

3

4

Yes, there will be two paths for uploadsThe task API is deprecated2 new statuses (uploading, importing)Backwards compatible

5 We’ll hopefully not f**k this up again

Summary-ish

Page 32: Revamped Image Upload: Whys and Hows - Flavio Percoco - OpenStack Day Israel 2016

Questions?