Octavia create error l7rule

Bug #2017865 reported by Lê Minh Thư
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
octavia
In Progress
Undecided
Lê Minh Thư

Bug Description

When creating l7rule with type is header and key contains apostrophe or comma, provisioning status is error.

2023-04-26 15:23:26.039 22 INFO octavia.controller.queue.v2.endpoints [req-bd54fc73-3d0f-4f79-a6ac-31292e0725d4 - b7108f12-a103-479d-aa0d-e45b50e25de4 - - -] Creating l7rule 'dd7097b2-0951-42e5-a46c-b6a74a94ae00'...
2023-04-26 15:23:26.849 22 ERROR octavia.amphorae.drivers.haproxy.exceptions [req-b70e991f-903c-40db-a7fb-667a8bdb23a5 - ea37e900-1345-4dd4-b6f7-e42887024080 - - -] Amphora agent returned unexpected result code 400 with response {'message': 'Invalid request', 'details': "[ALERT] 115/082301 (55623) : parsing [/var/lib/octavia/32cca561-4685-472e-bb94-f25a9273d2b0/haproxy.cfg.new:47] : error detected while parsing ACL 'dd7097b2-0951-42e5-a46c-b6a74a94ae00' : fetch method 'req.hdr' : failed to parse 'mac' as type 'integer' at position 2 in ACL expression 'req.hdr(ip,mac)'.\n[ALERT] 115/082301 (55623) : parsing [/var/lib/octavia/32cca561-4685-472e-bb94-f25a9273d2b0/haproxy.cfg.new:48] : error detected while parsing an 'http-request deny' condition : no such ACL : 'dd7097b2-0951-42e5-a46c-b6a74a94ae00'.\n[ALERT] 115/082301 (55623) : Error(s) found in configuration file : /var/lib/octavia/32cca561-4685-472e-bb94-f25a9273d2b0/haproxy.cfg.new\n"}
2023-04-26 15:23:26.854 22 WARNING octavia.controller.worker.v2.controller_worker [req-bd54fc73-3d0f-4f79-a6ac-31292e0725d4 - b7108f12-a103-479d-aa0d-e45b50e25de4 - - -] Task 'octavia.controller.worker.v2.tasks.amphora_driver_tasks.ListenersUpdate' (aaa514ae-0fd3-42e4-be9f-a4f69bf633b4) transitioned into state 'FAILURE' from state 'RUNNING'
3 predecessors (most recent first):
  Atom 'octavia.controller.worker.v2.tasks.database_tasks.MarkL7RulePendingCreateInDB' {'intention': 'EXECUTE', 'state': 'SUCCESS', 'requires': {'l7rule': {'admin_state_up': True, 'compare_type': 'CONTAINS', 'invert': False, 'key': 'ip,mac', 'l7policy_id': '258ef7ae-8344-4153-8389-0681f4a5d415', 'l7rule_id': 'dd7097b2-0951-42e5-a46c-b6a74a94ae00', 'type': 'HEADER', 'value': 'value', 'project_id': 'ea37e900-1345-4dd4-b6f7-e42887024080'}}, 'provides': None}
  |__Atom 'octavia.controller.worker.v2.tasks.lifecycle_tasks.L7RuleToErrorOnRevertTask' {'intention': 'EXECUTE', 'state': 'SUCCESS', 'requires': {'l7rule': {'admin_state_up': True, 'compare_type': 'CONTAINS', 'invert': False, 'key': 'ip,mac', 'l7policy_id': '258ef7ae-8344-4153-8389-0681f4a5d415', 'l7rule_id': 'dd7097b2-0951-42e5-a46c-b6a74a94ae00', 'type': 'HEADER', 'value': 'value', 'project_id': 'ea37e900-1345-4dd4-b6f7-e42887024080'}, 'l7policy_id': '258ef7ae-8344-4153-8389-0681f4a5d415', 'listeners': [{'admin_state_up': True, 'connection_limit': -1, 'default_pool_id': 'c3d29946-c45c-45e0-862c-1439717cc16f', 'default_tls_container_ref': None, 'description': None, 'insert_headers': {'X-Forwarded-For': 'True', 'X-Forwarded-Port': 'None', 'X-Forwarded-Proto': 'None'}, 'listener_id': '50978a9e-4c0e-4561-856d-545e299fccfc', 'loadbalancer_id': '32cca561-4685-472e-bb94-f25a9273d2b0', 'name': '8b165b07-63a5-40d4-86de-6b335d26ae70', 'protocol': 'HTTP', 'protocol_port': 80, 'timeout_client_data': 50000, 'timeout_member_connect': 5000, 'timeout_member_data': 50000, 'timeout_tcp_inspect': 0, 'client_ca_tls_container_ref': None, 'client_authentication': 'NONE', 'client_crl_container_ref': None, 'project_id': 'ea37e900-1345-4dd4-b6f7-e42887024080', 'tls_versions': None, 'tls_ciphers': None, 'auth_users': {}, 'rate_limit': {}}], 'loadbalancer_id': '32cca561-4685-472e-bb94-f25a9273d2b0'}, 'provides': None}
     |__Flow 'octavia-create-l7rule-flow': octavia.amphorae.drivers.haproxy.exceptions.InvalidRequest: Invalid request
2023-04-26 15:23:26.854 22 ERROR octavia.controller.worker.v2.controller_worker Traceback (most recent call last):
2023-04-26 15:23:26.854 22 ERROR octavia.controller.worker.v2.controller_worker File "/var/lib/kolla/venv/lib/python3.8/site-packages/taskflow/engines/action_engine/executor.py", line 53, in _execute_task
2023-04-26 15:23:26.854 22 ERROR octavia.controller.worker.v2.controller_worker result = task.execute(**arguments)
2023-04-26 15:23:26.854 22 ERROR octavia.controller.worker.v2.controller_worker File "/var/lib/kolla/venv/lib/python3.8/site-packages/octavia/controller/worker/v2/tasks/amphora_driver_tasks.py", line 134, in execute
2023-04-26 15:23:26.854 22 ERROR octavia.controller.worker.v2.controller_worker self.amphora_driver.update(loadbalancer)
2023-04-26 15:23:26.854 22 ERROR octavia.controller.worker.v2.controller_worker File "/var/lib/kolla/venv/lib/python3.8/site-packages/octavia/amphorae/drivers/haproxy/rest_api_driver.py", line 257, in update
2023-04-26 15:23:26.854 22 ERROR octavia.controller.worker.v2.controller_worker self.update_amphora_listeners(loadbalancer, amphora)
2023-04-26 15:23:26.854 22 ERROR octavia.controller.worker.v2.controller_worker File "/var/lib/kolla/venv/lib/python3.8/site-packages/octavia/amphorae/drivers/haproxy/rest_api_driver.py", line 226, in update_amphora_listeners
2023-04-26 15:23:26.854 22 ERROR octavia.controller.worker.v2.controller_worker self.clients[amphora.api_version].upload_config(
2023-04-26 15:23:26.854 22 ERROR octavia.controller.worker.v2.controller_worker File "/var/lib/kolla/venv/lib/python3.8/site-packages/octavia/amphorae/drivers/haproxy/rest_api_driver.py", line 922, in upload_config
2023-04-26 15:23:26.854 22 ERROR octavia.controller.worker.v2.controller_worker return exc.check_exception(r)
2023-04-26 15:23:26.854 22 ERROR octavia.controller.worker.v2.controller_worker File "/var/lib/kolla/venv/lib/python3.8/site-packages/octavia/amphorae/drivers/haproxy/exceptions.py", line 44, in check_exception
2023-04-26 15:23:26.854 22 ERROR octavia.controller.worker.v2.controller_worker raise responses[status_code]()
2023-04-26 15:23:26.854 22 ERROR octavia.controller.worker.v2.controller_worker octavia.amphorae.drivers.haproxy.exceptions.InvalidRequest: Invalid request
2023-04-26 15:23:26.854 22 ERROR octavia.controller.worker.v2.controller_worker
2023-04-26 15:23:26.861 22 WARNING octavia.controller.worker.v2.tasks.amphora_driver_tasks [req-faee7707-7e85-4588-b1f9-3667e5cf8d9c - b7108f12-a103-479d-aa0d-e45b50e25de4 - - -] Reverting listeners updates.

Lê Minh Thư (thultm9)
Changed in octavia:
assignee: nobody → Lê Minh Thư (thultm9)
description: updated
Revision history for this message
Gregory Thiemonge (gthiemonge) wrote :

Hi Lê Minh Thư

You're the assignee of this bug, do you plan to work on it?

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to octavia (master)

Fix proposed to branch: master
Review: https://review.opendev.org/c/openstack/octavia/+/901584

Changed in octavia:
status: New → In Progress
Revision history for this message
Lê Minh Thư (thultm9) wrote :

Hi, Gregory

I pushed my code for this bug. Please help me review them. Many thanks!

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.