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.hbs | 384 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 384 insertions(+) create mode 100644 src/talks/product-management.hbs (limited to 'src/talks/product-management.hbs') diff --git a/src/talks/product-management.hbs b/src/talks/product-management.hbs new file mode 100644 index 0000000..3d20eed --- /dev/null +++ b/src/talks/product-management.hbs @@ -0,0 +1,384 @@ + + + + + + + Liberty, Product Management and OpenStack Technology + + + + +
+ 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?

+
+ +
+

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

+ +
+ +
+

Upload it to each cloud

+
glance image-create
+
+ +
+

NO

+ +
+ +
+

Problem: image API version

+ +
+ +
+

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

+ +
+ +
+

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

+ +
+

NO

+ +
+ +
+

Problem: Ensure it's on the Internet

+ +
+ +
+

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

+ +
+ +
+

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

+ +
+ +
+

What should we do about it?

+ +
+ + + -- cgit v1.2.3