Browse code

Merge "doc: Update LBaaS v2 setup for Liberty"

Jenkins authored on 2015/11/18 10:12:57
Showing 1 changed files
... ...
@@ -1,13 +1,17 @@
1
-Configure Load-Balancer in Kilo
1
+Configure Load-Balancer Version 2
2 2
 =================================
3 3
 
4
-The Kilo release of OpenStack will support Version 2 of the neutron load balancer. Until now, using OpenStack `LBaaS V2 <http://docs.openstack.org/api/openstack-network/2.0/content/lbaas_ext.html>`_ has required a good understanding of neutron and LBaaS architecture and several manual steps.
4
+Starting in the OpenStack Liberty release, the
5
+`neutron LBaaS v2 API <http://developer.openstack.org/api-ref-networking-v2-ext.html>`_
6
+is now stable while the LBaaS v1 API has been deprecated.  The LBaaS v2 reference
7
+driver is based on Octavia.
5 8
 
6 9
 
7 10
 Phase 1: Create DevStack + 2 nova instances
8 11
 --------------------------------------------
9 12
 
10
-First, set up a vm of your choice with at least 8 GB RAM and 16 GB disk space, make sure it is updated. Install git and any other developer tools you find useful.
13
+First, set up a vm of your choice with at least 8 GB RAM and 16 GB disk space,
14
+make sure it is updated. Install git and any other developer tools you find useful.
11 15
 
12 16
 Install devstack
13 17
 
... ...
@@ -24,6 +28,7 @@ Edit your ``local.conf`` to look like
24 24
     [[local|localrc]]
25 25
     # Load the external LBaaS plugin.
26 26
     enable_plugin neutron-lbaas https://git.openstack.org/openstack/neutron-lbaas
27
+    enable_plugin octavia https://git.openstack.org/openstack/octavia
27 28
 
28 29
     # ===== BEGIN localrc =====
29 30
     DATABASE_PASSWORD=password
... ...
@@ -42,13 +47,13 @@ Edit your ``local.conf`` to look like
42 42
     ENABLED_SERVICES+=,horizon
43 43
     # Nova
44 44
     ENABLED_SERVICES+=,n-api,n-crt,n-obj,n-cpu,n-cond,n-sch
45
-    IMAGE_URLS+=",https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img"
46 45
     # Glance
47 46
     ENABLED_SERVICES+=,g-api,g-reg
48 47
     # Neutron
49 48
     ENABLED_SERVICES+=,q-svc,q-agt,q-dhcp,q-l3,q-meta
50
-    # Enable LBaaS V2
49
+    # Enable LBaaS v2
51 50
     ENABLED_SERVICES+=,q-lbaasv2
51
+    ENABLED_SERVICES+=,octavia,o-cw,o-hk,o-hm,o-api
52 52
     # Cinder
53 53
     ENABLED_SERVICES+=,c-api,c-vol,c-sch
54 54
     # Tempest
... ...
@@ -69,11 +74,11 @@ Create two nova instances that we can use as test http servers:
69 69
   ::
70 70
 
71 71
     #create nova instances on private network
72
-    nova boot --image $(nova image-list | awk '/ cirros-0.3.0-x86_64-disk / {print $2}') --flavor 1 --nic net-id=$(neutron net-list | awk '/ private / {print $2}') node1
73
-    nova boot --image $(nova image-list | awk '/ cirros-0.3.0-x86_64-disk / {print $2}') --flavor 1 --nic net-id=$(neutron net-list | awk '/ private / {print $2}') node2
72
+    nova boot --image $(nova image-list | awk '/ cirros-.*-x86_64-uec / {print $2}') --flavor 1 --nic net-id=$(neutron net-list | awk '/ private / {print $2}') node1
73
+    nova boot --image $(nova image-list | awk '/ cirros-.*-x86_64-uec / {print $2}') --flavor 1 --nic net-id=$(neutron net-list | awk '/ private / {print $2}') node2
74 74
     nova list # should show the nova instances just created
75 75
 
76
-    #add secgroup rule to allow ssh etc..
76
+    #add secgroup rules to allow ssh etc..
77 77
     neutron security-group-rule-create default --protocol icmp
78 78
     neutron security-group-rule-create default --protocol tcp --port-range-min 22 --port-range-max 22
79 79
     neutron security-group-rule-create default --protocol tcp --port-range-min 80 --port-range-max 80
... ...
@@ -91,9 +96,16 @@ Phase 2: Create your load balancers
91 91
  ::
92 92
 
93 93
     neutron lbaas-loadbalancer-create --name lb1 private-subnet
94
+    neutron lbaas-loadbalancer-show lb1  # Wait for the provisioning_status to be ACTIVE.
94 95
     neutron lbaas-listener-create --loadbalancer lb1 --protocol HTTP --protocol-port 80 --name listener1
96
+    sleep 10  # Sleep since LBaaS actions can take a few seconds depending on the environment.
95 97
     neutron lbaas-pool-create --lb-algorithm ROUND_ROBIN --listener listener1 --protocol HTTP --name pool1
98
+    sleep 10
96 99
     neutron lbaas-member-create  --subnet private-subnet --address 10.0.0.3 --protocol-port 80 pool1
100
+    sleep 10
97 101
     neutron lbaas-member-create  --subnet private-subnet --address 10.0.0.5 --protocol-port 80 pool1
98 102
 
99
-Please note here that the "10.0.0.3" and "10.0.0.5" in the above commands are the IPs of the nodes (in my test run-thru, they were actually 10.2 and 10.4), and the address of the created LB will be reported as "vip_address" from the lbaas-loadbalancer-create, and a quick test of that LB is "curl that-lb-ip", which should alternate between showing the IPs of the two nodes.
103
+Please note here that the "10.0.0.3" and "10.0.0.5" in the above commands are the IPs of the nodes
104
+(in my test run-thru, they were actually 10.2 and 10.4), and the address of the created LB will be
105
+reported as "vip_address" from the lbaas-loadbalancer-create, and a quick test of that LB is
106
+"curl that-lb-ip", which should alternate between showing the IPs of the two nodes.