From e80572bca8d345056862235a41597d8b2540e68b Mon Sep 17 00:00:00 2001 From: Monty Taylor Date: Sat, 1 Aug 2015 13:49:51 +1000 Subject: Template the talks! --- src/talks/product-management/index.html | 454 -------------------------------- 1 file changed, 454 deletions(-) delete mode 100644 src/talks/product-management/index.html (limited to 'src/talks/product-management/index.html') diff --git a/src/talks/product-management/index.html b/src/talks/product-management/index.html deleted file mode 100644 index 58f8bd4..0000000 --- a/src/talks/product-management/index.html +++ /dev/null @@ -1,454 +0,0 @@ - - - - - - - Liberty, Product Management and OpenStack Technology - - - - - - - - - - - - - - - - - - -
- -
- -

- Liberty, Product Management and OpenStack Technology -

-

Monty Taylor

-

http://inaugust.com/talks/product-management.html

-

twitter: @e_monty

-
- -
- OpenStack -
- -
-

Mission

-

- to produce the ubiquitous Open Source Cloud Computing platform that will meet the needs of public and private clouds regardless of size, by being simple to implement and massively scalable. -

-
- -
-

Borrowed from Ubuntu

-

Time Based Releases

-

Design summits each cycle

-

Release codenames in alphabetical order

-
- -
-

Different from Ubuntu

-

No BDFL

-

All decisions are democratic

-
- -
- -
- -
-

"OpenStack needs product management"

-
- -
-

Developers work on whatever they feel like, so there is no cohesion

-

not quite

-
- -
- -
- -
-

OpenStack needs product management coordination

-
- -
-

Product Management Working Group

-

Today 2:00pm - 3:30pm Room 212

-
- -
-

What can the working group do?

-
    -
  • - Define problems -
  • -
  • - Coordinate prorities -
  • -
  • - Communicate problems clearly to tech community -
  • -
- -
-

I've got 99 Problems ...

- -
- -
-

As an application developer,
- I want to deploy and run an application on the internet
- so that my customers all over the world can consume it.

-
- -
-

As an application developer,
- I want to deploy the application across multiple clouds
- so that my service survives issues in any one of them.

-
- -
-

THIS WORKS

-

I'm doing it myself as we speak

- - - -

10-20k VMs per-day

-

3 (soon to be 6) clouds

-

Only using OpenStack APIs

- -
- -
-

To do this, there are some basic steps

- -

Get (make/fetch/find) a base image

-

Upload it to each cloud

-

Boot a VM on one or more of the clouds

-

Ensure it's on the Internet

- -
- -
-

Get a base image

-

OpenStack diskimage-builder

-

packer

-

Download pre-built image from Ubuntu/Fedora

-
- -
-

NO

- -
- -
-

Problem: hypervisor image file format

-
    -
  • - Rackspace uses VHD -
  • -
  • - HP uses qcow2 -
  • -
  • - DreamHost uses RAW -
  • -
-
- -
-

Upload it to each cloud

-
glance image-create
-
- -
-

NO

- -
- -
-

Problem: image API version

-
    -
  • - HP uses v1 -
  • -
  • - vexxhost uses v2 -
  • -
-
- -
-

Problem: List API versions

-

Root of the Image API lists versions

-

keystone catalog only lists a versioned endpoint

-
- -
-

Problem: API version discovery

-

Try one - if it doesn't work, try the other

-

maybe look at the end of the API endpoint for v1 or v2

-
- -
-

Upload it to each cloud

-
glance image-create filename
-
- -
-

NO

- -
- -
-

Problem: image task vs. PUT

-
-swift upload --object-name local-image-filename images image-name
-glance task-create
-   --type=import
-   --input='{"import_from": "images/image-name",
-             "image_properties" : {"name": "My Image Name"}}'
-                  
-
-glance image-create --name=image-name --file=local-image-filename
-                  
-
- -
-

Boot a VM on one or more of the clouds

-
nova boot --image=image-name --flavor=something
-                  
-
- -
-

NO

- -
- -
-

Problem: the image needs to get on the network

-
    -
  • DHCP
  • -
  • Static Network Config in Config Drive
  • -
  • Vendor-specific agent doing file injection
  • -
-
- -
-

-
nova boot --image=image-name --flavor=something
-                      
-

- -
-

NO

- -
- -
-

Problem: Ensure it's on the Internet

-
    -
  • My VM may have a public IP
  • -
  • My VM may need a floating IP from nova
  • -
  • My VM may need a floating IP from neutron
  • -
-
- -
-

VM Network with nova-network

-
-        addresses:
-          private:
-          - addr: 10.181.5.77
-            version: 4
-          public:
-          - addr: 2001:4800:7810:512:be76:4eff:fe05:8325
-            version: 6
-          - addr: 98.129.169.30
-            version: 4
-                  
-
- -
-

VM Network with nova-network

-
-        addresses:
-          mordred@inaugust.com-network:
-          - OS-EXT-IPS-MAC:mac_addr: fa:16:3e:a6:de:26
-            OS-EXT-IPS:type: fixed
-            addr: 10.0.0.6
-            version: 4
-          - OS-EXT-IPS-MAC:mac_addr: fa:16:3e:a6:de:26
-            OS-EXT-IPS:type: floating
-            addr: 15.126.239.219
-            version: 4
-                  
-
- -
-

Boot a VM on one or more of the clouds

-
-nova boot --image=image-name --flavor=something --name=my-server
-nova floating-ip-create
-nova floating-ip-associate my-server {{ value_from_create }}
-                  
-
- -
-

NO

- -
- -
-

Problem: My Internet server is behind a NAT

-
- -
-

Problem: Security Groups

-

I was trying to spin up a web server, but all my ports were blocked

-

I'll be using ansible and puppet on this machine, I can configure iptables thanks

-

- -
-

Boot a VM on one or more of the clouds

-
-nova secgroup-add-rule default tcp 80 80 0.0.0.0/0
-nova boot --image=image-name --flavor=something --name=my-server
-nova floating-ip-create
-nova floating-ip-associate my-server {{ value_from_create }}
-                  
-
- -
-

Wow. So that's

-
    -
  • - Image Format -
  • - Image API version -
  • - Image upload mechanism -
  • - Networking config / public private -
  • - Networking config nova/neutron -
  • - Floating IP? -
  • - Floating IP nova/neutron -
  • - DHCP or Static networking config -
  • - Security Group config -
  • -
-
- -
-

I think we can do better than that

-
- -
-

What am I doing about it?

-
- -
-

os-client-config

-

http://git.openstack.org/cgit/openstack/os-client-config

-

A library to handle config information for openstack clients

-

Tracks differences in vendors that can't be discovered

-

In use in python-openstackclient and ansible today

-
- -
-

shade

-

http://git.openstack.org/cgit/openstack-infra/shade

-

A library to wrap business logic around client libraries

-
-cloud.create_server('my-server', auto_ip=True)
-                  
-

In use in Infra Nodepool and ansible today

-
- -
-

Raising Issues

-
    -
  • Product Management Working Group (today, 2pm, room 212)
  • -
  • DefCore (Wednesday 10:30 - 12:30, East Building Room 2/3)
  • -
  • Direct interaction with the teams and PTLs
  • -
-
- -
-

What should we do about it?

-
    -
  • - Get back to basics -
  • - shade existence is a bug -
  • - Make some decisions about divergences in the basic levels -
  • - Take a stand even if one of our product managers disagrees -
  • - Ensure that simple things are simple -
  • -
-
- - -
-

Thank you!

-

http://inaugust.com/talks/product-management.html

-

twitter: @e_monty

-
- -
- - -
- - - - - - - - -- cgit v1.2.3