LBaaS Plugin

Registered by Travis Tripp on 2016-03-28

Determine LBaaS plugin

Events and API responses below are from the mitaka octavia/lbaasv2 service.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Medium
Drafter:
Travis Tripp
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

LB CREATE (consisting of LB plus 2 ports plus secgroup):

{
  "event_type": "loadbalancer.create.end",
  "payload": {
    "loadbalancer": {
      "description": "",
      "provisioning_status": "PENDING_CREATE",
      "tenant_id": "f978a632e97f4a019ced241de69ac07e",
      "admin_state_up": true,
      "provider": "octavia",
      "pools": [],
      "listeners": [],
      "vip_port_id": "4ff8d14c-25e6-4bf0-97b2-c953f1526484",
      "vip_address": "172.40.0.3",
      "vip_subnet_id": "70e6c27d-0104-4868-b214-09e85593363d",
      "id": "e1ecf2c8-969f-4d64-91f8-8f56ec2240e0",
      "operating_status": "OFFLINE",
      "name": "lb1"
    }
  },

+ PORT:
{
  "event_type": "port.create.end",
  "payload": {
    "port": {
      "allowed_address_pairs": [],
      "extra_dhcp_opts": [],
      "updated_at": "2016-03-19T16:04:04",
      "device_owner": "compute:None",
      "port_security_enabled": true,
      "binding:profile": {},
      "fixed_ips": [
        {
          "subnet_id": "84be7bcd-4d4c-4c54-83a9-b53dceb10c8a",
          "ip_address": "192.168.0.4"
        }
      ],
      "id": "a9ecbb81-9c56-44f6-914e-f6e395661dbf",
      "security_groups": [
        "6fe6014d-8e20-4a21-9b09-f9a2156a13aa"
      ],
      "binding:vif_details": {
        "port_filter": true,
        "ovs_hybrid_plug": true
      },
      "binding:vif_type": "ovs",
      "mac_address": "fa:16:3e:ed:b5:f3",
      "status": "DOWN",
      "binding:host_id": "vm-devstack",
      "description": "",
      "device_id": "c652c0ab-d6c1-4402-9a1a-3e5b93961c86",
      "name": "",
      "admin_state_up": true,
      "network_id": "6b6102eb-eb76-40f7-b98d-9505560faacc",
      "dns_name": null,
      "created_at": "2016-03-19T16:04:04",
      "binding:vnic_type": "normal",
      "tenant_id": "6e125ccf3b5e42d09873ec3e2d33ce2e"
    }
  },

+ SEC GROUP
{
  "event_type": "security_group.create.end",
  "payload": {
    "security_group": {
      "tenant_id": "6e125ccf3b5e42d09873ec3e2d33ce2e",
      "name": "lb-e1ecf2c8-969f-4d64-91f8-8f56ec2240e0",
      "description": "",
      "security_group_rules": [
        {
          "remote_group_id": null,
          "direction": "egress",
          "protocol": null,
          "description": "",
          "ethertype": "IPv4",
          "remote_ip_prefix": null,
          "port_range_max": null,
          "security_group_id": "36bbff6d-f9fe-440b-841c-2830116a300d",
          "port_range_min": null,
          "tenant_id": "6e125ccf3b5e42d09873ec3e2d33ce2e",
          "id": "50971a8a-22a4-4825-a950-168577bbac2f"
        },
        {
          "remote_group_id": null,
          "direction": "egress",
          "protocol": null,
          "description": "",
          "ethertype": "IPv6",
          "remote_ip_prefix": null,
          "port_range_max": null,
          "security_group_id": "36bbff6d-f9fe-440b-841c-2830116a300d",
          "port_range_min": null,
          "tenant_id": "6e125ccf3b5e42d09873ec3e2d33ce2e",
          "id": "e426f2a8-17aa-415c-9ca4-48632f405b19"
        }
      ],
      "id": "36bbff6d-f9fe-440b-841c-2830116a300d"
    }
  },

+ PORT UPDATE:
{
  "event_type": "port.update.end",
  "payload": {
    "port": {
      "allowed_address_pairs": [],
      "extra_dhcp_opts": [],
      "updated_at": "2016-03-19T16:03:57",
      "device_owner": "neutron:LOADBALANCERV2",
      "port_security_enabled": true,
      "binding:profile": {},
      "fixed_ips": [
        {
          "subnet_id": "70e6c27d-0104-4868-b214-09e85593363d",
          "ip_address": "172.40.0.3"
        },
        {
          "subnet_id": "e655d47c-a1ac-4ebd-bf86-7b783d94555d",
          "ip_address": "fd65:4e60:3421:0:f816:3eff:fe87:20b"
        }
      ],
      "id": "4ff8d14c-25e6-4bf0-97b2-c953f1526484",
      "security_groups": [
        "36bbff6d-f9fe-440b-841c-2830116a300d"
      ],
      "binding:vif_details": {},
      "binding:vif_type": "unbound",
      "mac_address": "fa:16:3e:87:02:0b",
      "status": "DOWN",
      "binding:host_id": "",
      "description": null,
      "device_id": "e1ecf2c8-969f-4d64-91f8-8f56ec2240e0",
      "name": "loadbalancer-e1ecf2c8-969f-4d64-91f8-8f56ec2240e0",
      "admin_state_up": false,
      "network_id": "0ef5f38c-8f16-45e8-8e29-73ecc59c0dc1",
      "dns_name": null,
      "created_at": "2016-03-19T16:03:57",
      "binding:vnic_type": "normal",
      "tenant_id": "f978a632e97f4a019ced241de69ac07e"
    }
  },

+ PORT CREATE
{
  "event_type": "port.create.end",
  "payload": {
    "port": {
      "allowed_address_pairs": [],
      "extra_dhcp_opts": [],
      "updated_at": "2016-03-19T16:04:39",
      "device_owner": "compute:None",
      "port_security_enabled": true,
      "binding:profile": {},
      "fixed_ips": [
        {
          "subnet_id": "70e6c27d-0104-4868-b214-09e85593363d",
          "ip_address": "172.40.0.4"
        },
        {
          "subnet_id": "e655d47c-a1ac-4ebd-bf86-7b783d94555d",
          "ip_address": "fd65:4e60:3421:0:f816:3eff:fe0b:d9ae"
        }
      ],
      "id": "b97107cc-224c-437d-8063-e0d6e98d5d7f",
      "security_groups": [
        "32995c16-3403-452c-8216-e14da39971b9"
      ],
      "binding:vif_details": {
        "port_filter": true,
        "ovs_hybrid_plug": true
      },
      "binding:vif_type": "ovs",
      "mac_address": "fa:16:3e:0b:d9:ae",
      "status": "DOWN",
      "binding:host_id": "vm-devstack",
      "description": "",
      "device_id": "c652c0ab-d6c1-4402-9a1a-3e5b93961c86",
      "name": "",
      "admin_state_up": true,
      "network_id": "0ef5f38c-8f16-45e8-8e29-73ecc59c0dc1",
      "dns_name": null,
      "created_at": "2016-03-19T16:04:39",
      "binding:vnic_type": "normal",
      "tenant_id": "6e125ccf3b5e42d09873ec3e2d33ce2e"
    }
  },

PLUS A BUNCH OF PORT UPDATES UNTIL THE LB IS ACTIVE

LISTENER CREATE:
{
  "event_type": "listener.create.end",
  "payload": {
    "listener": {
      "default_pool_id": null,
      "protocol": "HTTP",
      "description": "",
      "default_tls_container_ref": null,
      "admin_state_up": true,
      "loadbalancers": [
        {
          "id": "e1ecf2c8-969f-4d64-91f8-8f56ec2240e0"
        }
      ],
      "tenant_id": "f978a632e97f4a019ced241de69ac07e",
      "sni_container_refs": [],
      "connection_limit": -1,
      "protocol_port": 80,
      "id": "f92cf56a-3a62-47aa-98b2-e2be6c9a1b4f",
      "name": "listener1"
    }
  },

POOL CREATE:
{
  "event_type": "pool.create.end",
  "payload": {
    "pool": {
      "lb_algorithm": "ROUND_ROBIN",
      "protocol": "HTTP",
      "description": "",
      "admin_state_up": true,
      "loadbalancers": [
        {
          "id": "e1ecf2c8-969f-4d64-91f8-8f56ec2240e0"
        }
      ],
      "tenant_id": "f978a632e97f4a019ced241de69ac07e",
      "session_persistence": null,
      "healthmonitor_id": null,
      "listeners": [
        {
          "id": "f92cf56a-3a62-47aa-98b2-e2be6c9a1b4f"
        }
      ],
      "members": [],
      "id": "0335f204-10d3-428b-af5d-99b9e2a6a2ba",
      "name": "pool1"
    }
  },

MEMBER CREATE:
{
  "event_type": "member.create.end",
  "payload": {
    "member": {
      "name": "",
      "weight": 1,
      "admin_state_up": true,
      "subnet_id": "70e6c27d-0104-4868-b214-09e85593363d",
      "tenant_id": "f978a632e97f4a019ced241de69ac07e",
      "address": "172.40.0.5",
      "protocol_port": 80,
      "id": "0f6b8a77-87a7-46f5-bd52-40ccb015dc1f"
    }
  },

HEALTH MONITOR CREATE
{
  "event_type": "healthmonitor.create.end",
  "payload": {
    "healthmonitor": {
      "name": "",
      "admin_state_up": true,
      "tenant_id": "f978a632e97f4a019ced241de69ac07e",
      "delay": 3,
      "expected_codes": "200",
      "max_retries": 3,
      "http_method": "GET",
      "timeout": 3,
      "pools": [
        {
          "id": "0335f204-10d3-428b-af5d-99b9e2a6a2ba"
        }
      ],
      "url_path": "/",
      "type": "HTTP",
      "id": "a32fc3ab-e217-4b52-a02c-d1d131ac2201"
    }
  },

API response once created:
LOAD BALANCER LIST - list_lbaas_loadbalancers():
{'loadbalancers': [{u'admin_state_up': True,
   u'description': u'',
   u'id': u'e1ecf2c8-969f-4d64-91f8-8f56ec2240e0',
   u'listeners': [{u'id': u'f92cf56a-3a62-47aa-98b2-e2be6c9a1b4f'}],
   u'name': u'lb1',
   u'operating_status': u'ONLINE',
   u'pools': [{u'id': u'0335f204-10d3-428b-af5d-99b9e2a6a2ba'}],
   u'provider': u'octavia',
   u'provisioning_status': u'ACTIVE',
   u'tenant_id': u'f978a632e97f4a019ced241de69ac07e',
   u'vip_address': u'172.40.0.3',
   u'vip_port_id': u'4ff8d14c-25e6-4bf0-97b2-c953f1526484',
   u'vip_subnet_id': u'70e6c27d-0104-4868-b214-09e85593363d'}]}

POOL LIST - list_lbaas_pools:
{'pools': [{u'admin_state_up': True,
   u'description': u'',
   u'healthmonitor_id': u'a32fc3ab-e217-4b52-a02c-d1d131ac2201',
   u'id': u'0335f204-10d3-428b-af5d-99b9e2a6a2ba',
   u'lb_algorithm': u'ROUND_ROBIN',
   u'listeners': [{u'id': u'f92cf56a-3a62-47aa-98b2-e2be6c9a1b4f'}],
   u'loadbalancers': [{u'id': u'e1ecf2c8-969f-4d64-91f8-8f56ec2240e0'}],
   u'members': [{u'id': u'0f6b8a77-87a7-46f5-bd52-40ccb015dc1f'}],
   u'name': u'pool1',
   u'protocol': u'HTTP',
   u'session_persistence': None,
   u'tenant_id': u'f978a632e97f4a019ced241de69ac07e'}]}

MEMBERS (for pool id) - list_lbaas_members:
{'members': [{u'address': u'172.40.0.5',
   u'admin_state_up': True,
   u'id': u'0f6b8a77-87a7-46f5-bd52-40ccb015dc1f',
   u'name': u'',
   u'protocol_port': 80,
   u'subnet_id': u'70e6c27d-0104-4868-b214-09e85593363d',
   u'tenant_id': u'f978a632e97f4a019ced241de69ac07e',
   u'weight': 1}]}

HEALTH MONITORS (list_lbaas_healthmonitors)
{'healthmonitors': [{u'admin_state_up': True,
   u'delay': 3,
   u'expected_codes': u'200',
   u'http_method': u'GET',
   u'id': u'a32fc3ab-e217-4b52-a02c-d1d131ac2201',
   u'max_retries': 3,
   u'name': u'',
   u'pools': [{u'id': u'0335f204-10d3-428b-af5d-99b9e2a6a2ba'}],
   u'tenant_id': u'f978a632e97f4a019ced241de69ac07e',
   u'timeout': 3,
   u'type': u'HTTP',
   u'url_path': u'/'}]}

DELETION (reverse order):
HEALTH MONITOR:
{"event_type": "healthmonitor.delete.end", "payload": {"healthmonitor_id": "a32fc3ab-e217-4b52-a02c-d1d131ac2201"},

MEMBER (though a pool will silently delete members):
{"event_type": "member.delete.end", "payload": {"member_id": "1a953326-c081-437c-a55a-db3e9c0ff045"}

POOL:
{"event_type": "pool.delete.end", "payload": {"pool_id": "70c70b1b-3b0a-4ca6-aad9-f0faeef85262"}

LISTENER:
{"event_type": "listener.delete.end", "payload": {"listener_id": "f92cf56a-3a62-47aa-98b2-e2be6c9a1b4f"}

(and sec groups):
{"event_type": "security_group_rule.delete.end", "payload": {"security_group_rule_id": "3937c171-6408-4e95-bd74-398119337e0a"}
{"event_type": "security_group_rule.delete.end", "payload": {"security_group_rule_id": "7fd0219e-3cf7-4f78-acfe-5f8388a4fb7c"}

LOADBALANCER:
{"event_type": "loadbalancer.delete.end", "payload": {"loadbalancer_id": "e1ecf2c8-969f-4d64-91f8-8f56ec2240e0"}

(plus loads of ports, secgroup rules and secgroup)

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.