a10networks / a10-neutron-lbaas

A10 Networks, Openstack Neutron LBaaS Driver
Apache License 2.0
9 stars 19 forks source link

Lbaas /status member status #255

Open Cedev opened 8 years ago

Cedev commented 8 years ago

Lbaas /status call - does not include member status.

dougwig commented 8 years ago

The patch that ml is using:

@@ -71,13 +79,24 @@
                 vip = self.neutron.vip_get(context, vip_id)
                 name = self.meta(vip, 'vip_name', vip['id'])
                 r = c.client.slb.virtual_server.stats(name)
+                service_group = c.client.slb.service_group.get_oper(pool_id).get('service-group')
+                members = {}
+                for m in service_group.get('member-list'):
+                    member_status = m.get('oper').get('state')
+                    status = 'ACTIVE'
+                    if member_status != 'UP':
+                       status='INACTIVE'
+                    members[m.get("name")] = {"status": status}
+
                 return {
-                    "bytes_in": r["virtual_server_stat"]["req_bytes"],
-                    "bytes_out": r["virtual_server_stat"]["resp_bytes"],
-                    "active_connections":
-                        r["virtual_server_stat"]["cur_conns"],
-                    "total_connections": r["virtual_server_stat"]["tot_conns"]
+                    "bytes_in": 1,
+                    "bytes_out": 1,
+                    "active_connections":1,
+                    "total_connections": 1,
+                    "members":members
                 }
+
+