lb id is required in listener

Bug #1748389 reported by liyi
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Heat
In Progress
Medium
David Peacock

Bug Description

When create a stack with follow template:
heat_template_version: 2016-10-14
description: AutoScaling Test
resources:
  lb:
    type: OS::Octavia::LoadBalancer
    properties:
      name: test_lb
      description: test for load balancer
      vip_subnet: ef9d0205-1441-4924-b000-526dc5e02f49
      admin_state_up: true
  pool:
    type: OS::Octavia::Pool
    properties:
      name: test_pool
      description: test for pool
      admin_state_up: true
      lb_algorithm: ROUND_ROBIN
      loadbalancer: { get_resource: lb }
      protocol: HTTP
  listener:
    type: OS::Octavia::Listener
    properties:
      protocol: HTTP
      protocol_port: 8080
      default_pool: { get_resource: pool }

will raise 'Resource CREATE failed: OctaviaClientException: resources.listener: Invalid input for field/attribute loadbalancer_id. Value: 'None'. Mandatory field missing. (HTTP 400) (Request-ID: req-10dbf10f-ab0d-4aa7-bf28-23b471793600)' exception.

It shows that loadbalancer id in required in listener creation API.

liyi (whyliyi)
Changed in heat:
assignee: nobody → liyi (whyliyi)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to heat (master)

Fix proposed to branch: master
Review: https://review.openstack.org/542711

Changed in heat:
status: New → In Progress
Revision history for this message
Rabi Mishra (rabi) wrote :

I think this was not the case for neutron lbaasv2 api, atleast with the CLI what I can see.

stack@ubuntu-devstack:~/devstack$ neutron lbaas-listener-create --protocol HTTP --protocol-port 8000
neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead.
Either --default-pool or --loadbalancer must be specified.

AFAIK, the concept of shared pool is that there is a N:M relationship between listeners and pools. So when you specify a loadbalancer (rather than a listener) for a pool, then the pool is expected to be shared between listeners and they use either the l7policy to identify the pool to use or use the default pool.

We changed that in the lbaasv2 resource in https://review.openstack.org/#/c/419385/3/heat/engine/resources/openstack/neutron/lbaas/listener.py.

It would be worth checking with octavia team about this. The API ref though says that it's required, which is confusing.

Rabi Mishra (rabi)
Changed in heat:
importance: Undecided → Medium
Rico Lin (rico-lin)
Changed in heat:
milestone: none → no-priority-tag-bugs
Changed in heat:
assignee: liyi (whyliyi) → David Peacock (davidjpeacock)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on heat (master)

Change abandoned by liyi (<email address hidden>) on branch: master
Review: https://review.opendev.org/542711

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.