← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1618559] [NEW] LBaaS v2 healthmonitor wrong status detection

 

Public bug reported:

Summary:
After enabling health monitor loadbalancer on any request returns 
HTTP/1.0 503 Service Unavailable  

I have loadbalancer with vip ip 10.123.21.15. HTTP listener, pool and
member with IP 10.123.21.12.

I check status of web-server by:
curl -I -X GET http://10.123.21.15/owncloud/status.php 
...
HTTP/1.1 200 OK

But when I add healthmonitor:
neutron lbaas-healthmonitor-create \
  --delay 5 \
  --max-retries 2 \
  --timeout 10 \
  --type HTTP \
  --url-path /owncloud/status.php \
  --pool owncloud-app-lb-http-pool

neutron lbaas-healthmonitor-show 
+----------------+------------------------------------------------+
| Field          | Value                                          |
+----------------+------------------------------------------------+
| admin_state_up | True                                           |
| delay          | 5                                              |
| expected_codes | 200                                            |
| http_method    | GET                                            |
| id             | cf3cc795-ab1f-44c7-a521-799281e1ff64           |
| max_retries    | 2                                              |
| name           |                                                |
| pools          | {"id": "edcd43a2-41ad-4dd7-809d-10d3e45a08a7"} |
| tenant_id      | b5d8bbe7742540c2b9b2e1b324ea854e               |
| timeout        | 10                                             |
| type           | HTTP                                           |
| url_path       | /owncloud/status.php                           |
+----------------+------------------------------------------------+

I expect:
curl -I -X GET http://10.123.21.15/owncloud/status.php 
...
HTTP/1.1 200 OK

But result:
curl -I -X GET http://10.123.21.15/owncloud/status.php
...
HTTP/1.0 503 Service Unavailable

Direct request to member:
curl -I -X GET http://10.123.21.12/owncloud/status.php 
...
HTTP/1.1 200 OK

In neutron logs have no ERROR.

Some detail about configuration:

I have 3 controllers. Installed by Fuel with l3 population and DVR enabled.
lbaas_agent.ini
interface_driver=openvswitch

neutron lbaas-loadbalancer-status owncloud-app-lb
{
    "loadbalancer": {
        "name": "owncloud-app-lb", 
        "provisioning_status": "ACTIVE", 
        "listeners": [
            {
                "name": "owncloud-app-lb-http", 
                "provisioning_status": "ACTIVE", 
                "pools": [
                    {
                        "name": "owncloud-app-lb-http-pool", 
                        "provisioning_status": "ACTIVE", 
                        "healthmonitor": {
                            "provisioning_status": "ACTIVE", 
                            "type": "HTTP", 
                            "id": "cf3cc795-ab1f-44c7-a521-799281e1ff64", 
                            "name": ""
                        }, 
                        "members": [
                            {
                                "name": "", 
                                "provisioning_status": "ACTIVE", 
                                "address": "10.123.21.12", 
                                "protocol_port": 80, 
                                "id": "8a588ed1-8818-44b2-80df-90debee59720", 
                                "operating_status": "ONLINE"
                            }
                        ], 
                        "id": "edcd43a2-41ad-4dd7-809d-10d3e45a08a7", 
                        "operating_status": "ONLINE"
                    }
                ], 
                "l7policies": [], 
                "id": "7521308a-15d1-4898-87c8-8f1ed4330b6c", 
                "operating_status": "ONLINE"
            }
        ], 
        "pools": [
            {
                "name": "owncloud-app-lb-http-pool", 
                "provisioning_status": "ACTIVE", 
                "healthmonitor": {
                    "provisioning_status": "ACTIVE", 
                    "type": "HTTP", 
                    "id": "cf3cc795-ab1f-44c7-a521-799281e1ff64", 
                    "name": ""
                }, 
                "members": [
                    {
                        "name": "", 
                        "provisioning_status": "ACTIVE", 
                        "address": "10.123.21.12", 
                        "protocol_port": 80, 
                        "id": "8a588ed1-8818-44b2-80df-90debee59720", 
                        "operating_status": "ONLINE"
                    }
                ], 
                "id": "edcd43a2-41ad-4dd7-809d-10d3e45a08a7", 
                "operating_status": "ONLINE"
            }
        ], 
        "id": "67a9602e-4bcd-4d1c-a41c-7af20ded0300", 
        "operating_status": "ONLINE"
    }

** Affects: neutron
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1618559

Title:
  LBaaS v2 healthmonitor wrong status detection

Status in neutron:
  New

Bug description:
  Summary:
  After enabling health monitor loadbalancer on any request returns 
  HTTP/1.0 503 Service Unavailable  

  I have loadbalancer with vip ip 10.123.21.15. HTTP listener, pool and
  member with IP 10.123.21.12.

  I check status of web-server by:
  curl -I -X GET http://10.123.21.15/owncloud/status.php 
  ...
  HTTP/1.1 200 OK

  But when I add healthmonitor:
  neutron lbaas-healthmonitor-create \
    --delay 5 \
    --max-retries 2 \
    --timeout 10 \
    --type HTTP \
    --url-path /owncloud/status.php \
    --pool owncloud-app-lb-http-pool

  neutron lbaas-healthmonitor-show 
  +----------------+------------------------------------------------+
  | Field          | Value                                          |
  +----------------+------------------------------------------------+
  | admin_state_up | True                                           |
  | delay          | 5                                              |
  | expected_codes | 200                                            |
  | http_method    | GET                                            |
  | id             | cf3cc795-ab1f-44c7-a521-799281e1ff64           |
  | max_retries    | 2                                              |
  | name           |                                                |
  | pools          | {"id": "edcd43a2-41ad-4dd7-809d-10d3e45a08a7"} |
  | tenant_id      | b5d8bbe7742540c2b9b2e1b324ea854e               |
  | timeout        | 10                                             |
  | type           | HTTP                                           |
  | url_path       | /owncloud/status.php                           |
  +----------------+------------------------------------------------+

  I expect:
  curl -I -X GET http://10.123.21.15/owncloud/status.php 
  ...
  HTTP/1.1 200 OK

  But result:
  curl -I -X GET http://10.123.21.15/owncloud/status.php
  ...
  HTTP/1.0 503 Service Unavailable

  Direct request to member:
  curl -I -X GET http://10.123.21.12/owncloud/status.php 
  ...
  HTTP/1.1 200 OK

  In neutron logs have no ERROR.

  Some detail about configuration:

  I have 3 controllers. Installed by Fuel with l3 population and DVR enabled.
  lbaas_agent.ini
  interface_driver=openvswitch

  neutron lbaas-loadbalancer-status owncloud-app-lb
  {
      "loadbalancer": {
          "name": "owncloud-app-lb", 
          "provisioning_status": "ACTIVE", 
          "listeners": [
              {
                  "name": "owncloud-app-lb-http", 
                  "provisioning_status": "ACTIVE", 
                  "pools": [
                      {
                          "name": "owncloud-app-lb-http-pool", 
                          "provisioning_status": "ACTIVE", 
                          "healthmonitor": {
                              "provisioning_status": "ACTIVE", 
                              "type": "HTTP", 
                              "id": "cf3cc795-ab1f-44c7-a521-799281e1ff64", 
                              "name": ""
                          }, 
                          "members": [
                              {
                                  "name": "", 
                                  "provisioning_status": "ACTIVE", 
                                  "address": "10.123.21.12", 
                                  "protocol_port": 80, 
                                  "id": "8a588ed1-8818-44b2-80df-90debee59720", 
                                  "operating_status": "ONLINE"
                              }
                          ], 
                          "id": "edcd43a2-41ad-4dd7-809d-10d3e45a08a7", 
                          "operating_status": "ONLINE"
                      }
                  ], 
                  "l7policies": [], 
                  "id": "7521308a-15d1-4898-87c8-8f1ed4330b6c", 
                  "operating_status": "ONLINE"
              }
          ], 
          "pools": [
              {
                  "name": "owncloud-app-lb-http-pool", 
                  "provisioning_status": "ACTIVE", 
                  "healthmonitor": {
                      "provisioning_status": "ACTIVE", 
                      "type": "HTTP", 
                      "id": "cf3cc795-ab1f-44c7-a521-799281e1ff64", 
                      "name": ""
                  }, 
                  "members": [
                      {
                          "name": "", 
                          "provisioning_status": "ACTIVE", 
                          "address": "10.123.21.12", 
                          "protocol_port": 80, 
                          "id": "8a588ed1-8818-44b2-80df-90debee59720", 
                          "operating_status": "ONLINE"
                      }
                  ], 
                  "id": "edcd43a2-41ad-4dd7-809d-10d3e45a08a7", 
                  "operating_status": "ONLINE"
              }
          ], 
          "id": "67a9602e-4bcd-4d1c-a41c-7af20ded0300", 
          "operating_status": "ONLINE"
      }

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1618559/+subscriptions


Follow ups