1. 04 Apr, 2019 1 commit
    • Carlos Goncalves's avatar
      Fix setting of VIP QoS policy · 86e3eb4c
      Carlos Goncalves authored
      Load balancers were going in to ERROR when updating vip_qos_policy_id in
      two different cases:
      
      - QoS extension enabled: the VIP DB data model was incorrectly
        constructed ('vip_qos_policy_id' where it should have been
        'qos_policy_id')
      - QoS extension disabled: setting an UUID or None would fail in the LB
        update flow as the extension is disabled, and the API would return
        HTTP 202 to the user.
      
      Story: 2004602
      Task: 28512
      
      Change-Id: Ie974afa52fe70cbab72b7e7f75bf7ee1015e148c
      (cherry picked from commit e0c45ce4)
      86e3eb4c
  2. 04 Mar, 2019 1 commit
    • ZhaoBo's avatar
      Support L7policy redirect http code · 25fb7e4c
      ZhaoBo authored
      Currently, L7Policy already support the redirection by url_prefix.
      Then we can support the redirection with HTTP code.
      
      This patch adds an new option 'redirect_http_code' to L7Policy API.
      
      Story: 2003609
      Task: 24941
      Change-Id: Id0c9c376ffbc2fb10ddb988537d0ef1a8205e586
      25fb7e4c
  3. 24 Feb, 2019 3 commits
  4. 22 Feb, 2019 1 commit
    • Carlos Goncalves's avatar
      Fix LB failover when in ERROR · 503e3949
      Carlos Goncalves authored
      Load balancers in ERROR provisioning status could not be failed over.
      
      One possible scenario where LBs go into ERROR is when services are
      started before compute nodes are up on a cluster reboot:
      
      - Octavia services are started
      - Health Manager does not receive heartbeat and triggers failover
      - Failover fails due to lack of availabble compute nodes to spawn
        amphora VMs
      
      Story: 2005078
      Task: 29657
      
      Change-Id: Ic4b4516cd6b2a254ea32939668c906486066da42
      503e3949
  5. 07 Feb, 2019 1 commit
  6. 28 Jan, 2019 1 commit
  7. 25 Jan, 2019 1 commit
    • Michael Johnson's avatar
      Adds flavor support to the amphora driver · 0b1fe6a5
      Michael Johnson authored
      This patch adds support for flavor metadata validation by the amphora driver
      and support for setting the load balancer topology via a flavor.
      It also adds "flavor_id" to the load balancer table in the database.
      
      Change-Id: I8eae870abdb20dc32917957e32606deef387ec88
      0b1fe6a5
  8. 22 Jan, 2019 1 commit
  9. 17 Dec, 2018 1 commit
    • wangxiyuan's avatar
      Tags support for lb resources · d6218936
      wangxiyuan authored
      Add tags support for all lb related resources. It includes:
      load balancer, listener, member, pool, L7rule, L7policy
      and health-monitor
      
      Change-Id: Ib33a002b3b59820db29897454e9d4303c73310b2
      Story: 2003890
      Task: 26757
      d6218936
  10. 28 Sep, 2018 1 commit
    • sapd's avatar
      Support REDIRECT_PREFIX action for L7Policy · 62192dba
      sapd authored
      Currently, Octavia only support three actions for L7Policy,
      in this patch we will implement new action for L7Policy.
      
      Story: 2003700
      
      Change-Id: Ie99591ede097b566294ebdb673c460442dd6d942
      62192dba
  11. 05 Sep, 2018 1 commit
    • Lingxian Kong's avatar
      Validate member address for lb graph creation · 809915c4
      Lingxian Kong authored
      We added the configuration option for reserved IP addresses that cannot
      be used for load balancer member addresses, but the validation for lb
      graph creation is missing.
      
      This patch should also be backported to stable branches.
      
      Change-Id: I5ba30d29e7a35b370f21d9f68ec43efed74dd363
      Story: 2003413
      Task: 24555
      809915c4
  12. 08 Jul, 2018 1 commit
  13. 02 Jul, 2018 1 commit
    • Carlos Goncalves's avatar
      Fix fields translation on filtering · fd20d068
      Carlos Goncalves authored
      Filtering load balancers by VIP data would raise an internal server
      error (500 HTTP) in octavia-api. This patch fixes that as well as pool
      filtering by healthmonitor_id.
      
      The patch also adds vip.qos_policy_id to the load balancer filtering
      capabilities.
      
      Story: 2001944
      Task: 15061
      
      Change-Id: Iaa4877f71e98689b7e92b3e2abb9d7da2c5ca521
      fd20d068
  14. 23 May, 2018 2 commits
    • Michael Johnson's avatar
      Implement provider drivers - Listener · 7a24b084
      Michael Johnson authored
      This patch adds provider driver support to the Octavia v2
      Listener API.
      
      This patch also creates a provider driver for Octavia, fully
      implementing the listener methods.
      
      This patch also corrects the basic cookbook example for adding SNI
      certificates to a listener.
      
      Follow on patches will implement the remain parts of the API.
      
      Story: 1655768
      Task: 5165
      
      Depends-On: https://review.openstack.org/492311
      Change-Id: I386097197f51d94b34f9a7fd7af7b36238294faf
      7a24b084
    • Michael Johnson's avatar
      Implement provider drivers - Load Balancer · 7b2621fe
      Michael Johnson authored
      This patch adds provider driver support to the Octavia v2 API, starting
      with the load balancer API.
      
      This patch also creates a provider driver for Octavia, initially fully
      implementing the load balancer methods.
      
      Follow on patches will implement the remain parts of the API.
      
      Change-Id: Ia15280827799d1800c23ed76d2af0e3596b9d2f7
      Story: 1655768
      Task: 5165
      7b2621fe
  15. 22 May, 2018 1 commit
    • Adam Harwell's avatar
      Add tenant_id back to objects for backwards compat · d786bf4f
      Adam Harwell authored
      To be 100% backwards compatible with neutron-lbaas, we need to continue
      to return tenant_id in addition to project_id, even though it has been
      deprecated and was actually removed previously from Octavia.
      
      Adding it this way is much cleaner than adding it to every object and
      will allow us to remove it very easily in the future.
      
      Change-Id: I371a5bd51fc9acc4f6ef1e2b3b2fae9d4babd975
      d786bf4f
  16. 07 May, 2018 1 commit
    • Adam Harwell's avatar
      Allow fields filter on single object GETs · 84ef448a
      Adam Harwell authored
      The LBaaSv2-API spec had this, and tempest seems to test for it.
      We missed adding it when we implemented the v2 API in Pike.
      
      Change-Id: I16c04b6f12fe4db9f1a2a0dc1d2b6fb54d24fd38
      Backport-Candidate: Queens Pike
      84ef448a
  17. 20 Apr, 2018 2 commits
    • Adam Harwell's avatar
      Correct flavor to flavor_id in LB API · 86da7a86
      Adam Harwell authored
      This matches neutron-lbaas. This was never actually used, so changing it
      should not be an issue hopefully.
      
      Change-Id: If5dfcb291e7fa5c406ea99905f61673786823c8b
      86da7a86
    • Michael Johnson's avatar
      Fix calls to "DELETED" items · 97c0eab9
      Michael Johnson authored
      Fixes the v2 API returning "DELETED" records until the amphora_expiry_age
      timeout expired. The API will now immediately return a 404 HTTP status
      code when deleted objects are requested. The API version has been raised
      to v2.1 to reflect this change.
      
      Change-Id: Iaf150240b0de32f75ba8cfe605293e3af086cc78
      Story: 2001557
      Task: 6501
      97c0eab9
  18. 10 Apr, 2018 1 commit
    • Michael Johnson's avatar
      Add API alias for '/statuses' · 922c79f5
      Michael Johnson authored
      Fixes a neutron-lbaas LBaaS v2 API compatibility issue when requesting a
      load balancer status tree via '/statuses'. This patch adds an alias for
      '/statuses' to use the same code as '/status'.
      
      Change-Id: I7aebf87c5f48e2e72b1f7f26b95663a861382f36
      Story: 2001812
      Task: 12547
      922c79f5
  19. 04 Apr, 2018 1 commit
    • Adam Harwell's avatar
      Expose timeout options · bb0447e9
      Adam Harwell authored
      Various timeout options need to be exposed to enable use-cases more
      complex than standard HTTP requests.
      
      In this patch we expose four new timeout values:
      * timeout_client_data
      * timeout_member_connect
      * timeout_member_data
      * timeout_tcp_inspect
      
      Change-Id: Id4667201c1bfaa06f7af9060c936ba00c2f314f9
      Story: 1457556
      Task: 5453
      bb0447e9
  20. 16 Feb, 2018 1 commit
    • Michael Johnson's avatar
      Fix filtering by admin_state_up · a6896f26
      Michael Johnson authored
      Filtering list calls by admin_state_up would fail with values other than 1 or
      0. The boolean conversion code was being skipped because the field key was
      already translated from 'admin_state_up' to 'enabled' and the code was
      expecting 'admin_state_up'.
      
      Change-Id: I17b2569603a4d33c37a8a06c8cff6db4357b6099
      Story: 2001555
      Task: 6497
      a6896f26
  21. 13 Feb, 2018 1 commit
    • Michael Johnson's avatar
      Updates API for deleting "DELETED" objects · 2d206289
      Michael Johnson authored
      This patch fixes the API to return a 204 for object delete calls on objects
      already in the "DELETED" provisioning_status.
      
      It also enables a few API tests that were marked for "skip" but are now valid.
      
      Change-Id: Id11e059321b6c76a21b652037905cecba5721003
      Story: 2001537
      Task: 6344
      2d206289
  22. 20 Dec, 2017 2 commits
    • Bar RH's avatar
      Remove reliance on NeutronException message field · 32206f77
      Bar RH authored
      The 'message' class member in Exception was deprecated in PY2.6 and
      removed in PY3.0 [1]. Should Neutron code abandon its use of this
      field, it will break current Octavia code.
      This patch shields Octavia of such change, replacing exc.message
      calls with exc.__str__().
      
      [1] - https://www.python.org/dev/peps/pep-0352/
      
      Change-Id: Ia7836f0d68e20d9964334bc41f7789efd1007939
      32206f77
    • ZhaoBo's avatar
      Extend api to accept qos_policy_id · 51f6f725
      ZhaoBo authored
      This patch extend Octavia v2 API to access qos_policy_id from neutron.
      Users can pass it as 'vip_qos_policy_id' to Octavia request body to
      create/update Loadbalancers, and the vrrp ports will have the qos
      abilities.
      
      This patch modifies the Loadbalancer Post/Put request body and response
      body. It also extends the 'vip' table with the new column named
      'qos_policy_id' to store the qos_id from neutron.
      Co-Authored-By: default avatarReedip <reedip.banerjee@nectechnologies.in>
      
      Change-Id: I43aba9d2ae816b1498d16da077936d6bdb62e30a
      51f6f725
  23. 09 Sep, 2017 1 commit
    • Michael Johnson's avatar
      Stop masking VIP allocate neutron errors · c1afc158
      Michael Johnson authored
      Previously the neutron network driver was masking the actual error being
      returned from neutron while doing a VIP port allocation.
      This patch will pass through the neutron error to the user if it is
      an API ready exception giving the user more useful information about the
      error neutron is reporting. For example that the requested VIP address is
      already allocated.
      
      Change-Id: Ic327b06ff9ccf9ae0c9931a8e6569c20d03c4a79
      Closes-Bug: #1714593
      Story: 1714593
      Task: 5005
      c1afc158
  24. 29 Aug, 2017 1 commit
    • German Eichberger's avatar
      Adds the ability to failover a load balancer · 01e5af1a
      German Eichberger authored
      This will allow an operator to force the failover of a load
      balancer's underlying amphora for upgrades or other
      maintenance.
      
      - Adds a new failover endpoint to the queue
      - Adds the functionality to the worker
      - Adds the failover command to the producer
      - Adds a failover controller so
        /lodabalancer/123/failover will initiate
        a failover and return 202
      - Adds logic to insert the server group into the
        failover flow
      
      Change-Id: Ic4698066773828ae37b55a8d79bd2df6fc6624be
      01e5af1a
  25. 10 Aug, 2017 1 commit
    • Michael Johnson's avatar
      Fix LB creation with VIP port · 7c986df8
      Michael Johnson authored
      Octavia v2 API was failing to create the load balancer when the user
      specified a VIP port ID.
      This also improves the user experience when specifying a VIP address.
      It also removes the un-used nova_network directory.
      
      Change-Id: I8b533094df1e5425f824fff0454335709ce05447
      Closes-Bug: #1709922
      7c986df8
  26. 08 Aug, 2017 1 commit
    • Adam Harwell's avatar
      Properly store VIP data on LB Create · c28d212a
      Adam Harwell authored
      Right now the vip data isn't actually stored back to the DB, it just
      looks like it is... So, actually it will create a port and then orphan
      it, then create another port with a different IP later.
      
      Change-Id: Ibb7b2bd89155e37fb41a5f62ba2cda6e233a127a
      c28d212a
  27. 04 Jul, 2017 1 commit
  28. 03 Jul, 2017 1 commit
  29. 29 Jun, 2017 1 commit
    • Michael Johnson's avatar
      Correct RBAC Not Authorized status code · 576e63da
      Michael Johnson authored
      This patch corrects the RBAC "Not Authorized" status code to be 403
      instead of 401.
      It also switches some strings over to use constants.
      
      Change-Id: I5c2d7384d98720b875de03d311b04193bf448782
      576e63da
  30. 26 Jun, 2017 1 commit
    • Adam Harwell's avatar
      Allow operators to disable v1 or v2.0 api endpoints · c764abc3
      Adam Harwell authored
      Also, create a section for API settings `api_settings` and move some
      related settings there.
      
      This patch also enables the configuration settings to be logged
      when the api process is started if debug is True.
      
      Change-Id: I31671789d186c4b8a775cc12a414acd2d439512d
      c764abc3
  31. 23 Jun, 2017 1 commit
    • Jude Cross's avatar
      Add filtering and field selection to API · 487750a8
      Jude Cross authored
      This patch implements API filtering based off of
      query parameters passed to the Octavia API. Additonally
      this patch implements field selection for the Octavia
      API.
      
      Change-Id: I9fe26abe37f464d9c028b8c476485007143d3b5c
      487750a8
  32. 22 Jun, 2017 1 commit
    • Michael Johnson's avatar
      Stop provider and flavor API stubs failing calls · af71a916
      Michael Johnson authored
      We have stubbed out provider and flavor in the Octavia v2 API but
      these have not yet be fully implemented.
      This patch returns the appropriate error when the user specifies a
      provider or flavor.
      
      Change-Id: I52350944a377791eafdb407c51301250377c8a49
      Closes-Bug: #1698654
      af71a916
  33. 20 Jun, 2017 1 commit
    • Michael Johnson's avatar
      Add RBAC enforcement to Octavia v2 API · 0ce46fe8
      Michael Johnson authored
      This patch adds policies and enforcement to the Octavia v2 API for
      load balancers and listeners.  Child patches will add the rest of the API.
      
      In this patch I also correct some improper functional tests.
      
      Change-Id: Id8a2d15c117c54bd45fc8bb76bf71aff1b3c8fe9
      Closes-Bug: #1690481
      0ce46fe8
  34. 16 Jun, 2017 1 commit
  35. 06 Jun, 2017 1 commit