Description of problem: Unable to manage load balancer V2 quotas with neutron quota-update command Version-Release number of selected component (if applicable): [root@overcloud-controller-0 ~]# rpm -qa | grep neutron openstack-neutron-bigswitch-agent-2015.3.8-1.el7ost.noarch python-neutron-7.2.0-10.el7ost.noarch openstack-neutron-lbaas-7.2.0-2.el7ost.noarch openstack-neutron-common-7.2.0-10.el7ost.noarch python-neutronclient-3.1.0-3.el7ost.noarch openstack-neutron-ml2-7.2.0-10.el7ost.noarch openstack-neutron-metering-agent-7.2.0-10.el7ost.noarch python-neutron-lbaas-7.2.0-2.el7ost.noarch openstack-neutron-7.2.0-10.el7ost.noarch openstack-neutron-openvswitch-7.2.0-10.el7ost.noarch openstack-neutron-bigswitch-lldp-2015.3.8-1.el7ost.noarch How reproducible: Always Steps to Reproduce: Created 2 lab setups with RHOSP 8, one having LBaaS V1 enabled and other one having LBaaS V2 enabled +++ [stack@instack ~]$ neutron agent-list +--------------------------------------+--------------------+------------------------------------+-------+----------------+---------------------------+ | id | agent_type | host | alive | admin_state_up | binary | +--------------------------------------+--------------------+------------------------------------+-------+----------------+---------------------------+ | 48a9423a-6f04-4e44-9f72-50ae0fdaab51 | Metadata agent | overcloud-controller-0.localdomain | :-) | True | neutron-metadata-agent | | 4a35c99b-9263-45b8-ae37-f0e2b80fb652 | Open vSwitch agent | overcloud-compute-0.localdomain | :-) | True | neutron-openvswitch-agent | | 586d62c9-d487-4943-b08c-56231b896dbc | Loadbalancer agent | overcloud-controller-0.localdomain | :-) | True | neutron-lbaas-agent | | c26298f9-040b-4488-a5c8-4c74b008db08 | DHCP agent | overcloud-controller-0.localdomain | :-) | True | neutron-dhcp-agent | | cc2b8eaa-b11a-4411-b709-cd75954c44e2 | Open vSwitch agent | overcloud-controller-0.localdomain | :-) | True | neutron-openvswitch-agent | | dbe73526-a06b-4de7-af13-80402f2be0c5 | L3 agent | overcloud-controller-0.localdomain | :-) | True | neutron-l3-agent | +--------------------------------------+--------------------+------------------------------------+-------+----------------+---------------------------+ +++ +++ [stack@instack ~]$ neutron agent-list +--------------------------------------+----------------------+------------------------------------+-------+----------------+---------------------------+ | id | agent_type | host | alive | admin_state_up | binary | +--------------------------------------+----------------------+------------------------------------+-------+----------------+---------------------------+ | 2809e67f-96bc-490c-b905-9a2883b5ffb6 | Loadbalancerv2 agent | overcloud-controller-0.localdomain | :-) | True | neutron-lbaasv2-agent | | 473f6f6b-7ca8-4c07-bf4d-7c1271de93b7 | Open vSwitch agent | overcloud-compute-0.localdomain | :-) | True | neutron-openvswitch-agent | | 8b9f55f1-e965-422d-844f-afc6968b6b91 | L3 agent | overcloud-controller-0.localdomain | :-) | True | neutron-l3-agent | | a66a3630-0c00-480d-ad44-8159b35edf20 | Metadata agent | overcloud-controller-0.localdomain | :-) | True | neutron-metadata-agent | | afa7e455-4bc3-4ffb-ba95-5bc00b7fadf9 | DHCP agent | overcloud-controller-0.localdomain | :-) | True | neutron-dhcp-agent | | ef226d15-6223-4dc0-b25e-0bd27c54ea59 | Open vSwitch agent | overcloud-controller-0.localdomain | :-) | True | neutron-openvswitch-agent | +--------------------------------------+----------------------+------------------------------------+-------+----------------+---------------------------+ +++ After this, I tried update the quotas with neutron quota-update command as follows: quota-update operation with LBaaS V1 agent enabled: +++ [stack@instack ~]$ source overcloudrc [stack@instack ~]$ neutron quota-update --vip 50 +---------------------+-------+ | Field | Value | +---------------------+-------+ | floatingip | 50 | | health_monitor | 20 | | member | 20 | | network | 10 | | pool | 10 | | port | 50 | | rbac_policy | 10 | | router | 10 | | security_group | 10 | | security_group_rule | 100 | | subnet | 10 | | subnetpool | -1 | | vip | 50 | +---------------------+-------+ [stack@instack ~]$ neutron quota-update --pool 50 +---------------------+-------+ | Field | Value | +---------------------+-------+ | floatingip | 50 | | health_monitor | 20 | | member | 20 | | network | 10 | | pool | 50 | | port | 50 | | rbac_policy | 10 | | router | 10 | | security_group | 10 | | security_group_rule | 100 | | subnet | 10 | | subnetpool | -1 | | vip | 50 | +---------------------+-------+ [stack@instack ~]$ neutron quota-update --member 50 +---------------------+-------+ | Field | Value | +---------------------+-------+ | floatingip | 50 | | health_monitor | 20 | | member | 50 | | network | 10 | | pool | 50 | | port | 50 | | rbac_policy | 10 | | router | 10 | | security_group | 10 | | security_group_rule | 100 | | subnet | 10 | | subnetpool | -1 | | vip | 50 | +---------------------+-------+ [stack@instack ~]$ neutron quota-update --health-monitor 50 +---------------------+-------+ | Field | Value | +---------------------+-------+ | floatingip | 50 | | health_monitor | 50 | | member | 50 | | network | 10 | | pool | 50 | | port | 50 | | rbac_policy | 10 | | router | 10 | | security_group | 10 | | security_group_rule | 100 | | subnet | 10 | | subnetpool | -1 | | vip | 50 | +---------------------+-------+ +++ It appears that quota-update operations are working fine with LBaaS V1. quota-update operations on LBaaS V2: +++ [stack@instack ~]$ neutron quota-update --member 10 Unrecognized attribute(s) 'member' [stack@instack ~]$ neutron quota-update --health-monitor 20 Unrecognized attribute(s) 'health_monitor' [stack@instack ~]$ neutron quota-update --vip 20 <- actually not needed, just tested it for completeness Unrecognized attribute(s) 'vip' surprisingly, the pool quota could be update without any issues: [stack@instack ~]$ neutron quota-update --pool 50 <- this is what is even more confusing +---------------------+-------+ | Field | Value | +---------------------+-------+ | floatingip | 50 | | healthmonitor | -1 | | listener | -1 | | loadbalancer | 10 | | network | 10 | | pool | 50 | | port | 50 | | rbac_policy | 10 | | router | 10 | | security_group | 10 | | security_group_rule | 100 | | subnet | 10 | | subnetpool | -1 | +---------------------+-------+ [stack@instack ~]$ openstack project list +----------------------------------+---------+ | ID | Name | +----------------------------------+---------+ | a1ebc10be9a54647b0f72afe5c1922c7 | admin | | 253764fbe5104b27a46cfdccaa0a569c | service | +----------------------------------+---------+ [stack@instack ~]$ neutron quota-update --tenant-id a1ebc10be9a54647b0f72afe5c1922c7 --pool 50 +---------------------+-------+ | Field | Value | +---------------------+-------+ | floatingip | 50 | | healthmonitor | -1 | | listener | -1 | | loadbalancer | 10 | | network | 10 | | pool | 50 | | port | 50 | | rbac_policy | 10 | | router | 10 | | security_group | 10 | | security_group_rule | 100 | | subnet | 10 | | subnetpool | -1 | +---------------------+-------+ [stack@instack ~]$ neutron quota-update --tenant-id a1ebc10be9a54647b0f72afe5c1922c7 --member 50 Unrecognized attribute(s) 'member' +++ From the above results, it can be seen that, quota-update operations are working but only for LBaaS V1 agent and not the V2 agent. Actual results: can not update lbaas v2 quotas with neutron quota-update I can't find any option for setting quota of loadbalancer either [stack@instack ~]$ neutron help quota-update usage: neutron quota-update [-h] [-f {html,json,json,shell,table,value,yaml,yaml}] [-c COLUMN] [--max-width <integer>] [--noindent] [--prefix PREFIX] [--request-format {json,xml}] [--tenant-id tenant-id] [--network networks] [--subnet subnets] [--port ports] [--router routers] [--floatingip floatingips] [--security-group security_groups] [--security-group-rule security_group_rules] [--vip vips] [--pool pools] [--member members] [--health-monitor health_monitors] Expected results: quota update operations should work when lbaas v2 agent is running Additional info: package versions from customer environment: # rpm -qa | grep neutron openstack-neutron-metering-agent-7.2.0-9.el7ost.noarch openstack-neutron-linuxbridge-7.2.0-9.el7ost.noarch neutron-opflex-agent-2015.2.3-35.el7.noarch neutron-ml2-driver-apic-2015.2.5-95.el7.noarch python-neutron-7.2.0-9.el7ost.noarch python-neutronclient-3.1.0-2.el7ost.noarch openstack-neutron-common-7.2.0-9.el7ost.noarch openstack-neutron-7.2.0-9.el7ost.noarch python-neutron-lbaas-7.2.0-3.el7ost.noarch openstack-neutron-openvswitch-7.2.0-9.el7ost.noarch openstack-neutron-lbaas-7.2.0-3.el7ost.noarch openstack-neutron-ml2-7.2.0-9.el7ost.noarch Please let me know if any other information is required.
Hi, We are very close to resolving this. My investigation shows that we'll need to cherry-pick client: https://review.openstack.org/#/c/356862/ https://review.openstack.org/#/c/371297/ neutron-lbaas bugs: https://review.openstack.org/#/c/373135/ https://review.openstack.org/#/c/368217/ Internal tests show that when all 4 patches are included, quota updates work as expected: ---------------------+-------+ | Field | Value | +---------------------+-------+ | floatingip | 50 | | healthmonitor | 1234 | | listener | 1234 | | loadbalancer | 1234 | | member | 1234 | | network | 10 | | pool | 1234 | | port | 50 | | rbac_policy | 10 | | router | 10 | | security_group | 10 | | security_group_rule | 100 | | subnet | 10 | | subnetpool | -1 | +---------------------+-------+
Please note that this fix consists of both neutronclient and neutron-lbaas patches. Thus, one should update both packages: 1. Client: python-neutronclient-3.1.0-4.el7ost 2. neutron-lbaas: as specified in bug 1482671
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2017:3066