VIO Octavia loadbalancer stuck in a PENDING_UPDATE status
search cancel

VIO Octavia loadbalancer stuck in a PENDING_UPDATE status

book

Article ID: 321783

calendar_today

Updated On:

Products

VMware Integrated OpenStack

Issue/Introduction

Currently, there is no built-in mechanism to change the load balancer into an error state for easy removal through the User Interface.

Symptoms:

  • Load Balancer can not be deleted
  • Load Balancer is in a PENDING_UPDATE status.

Error message:
OctaviaClientException: Invalid state PENDING_UPDATE of loadbalancer resource ######-####-####-####-######### (HTTP 409) (Request-ID: req-########-####-####-####-#########)

Environment

VMware Integrated Openstack 7.x

Resolution

This is a known issue affecting VMware Integrated Openstack VIO7.x

Workaround:

Note: This procedure modifies the database. Ensure you to take a backup of the database before proceeding.

  1. Make sure no object exists for these LBs in NSX (search by their openstack id using NSX UI). If any object present in NSX,clean them up as well.
  2.  Log in to the LCM node and log in to a mariadb pod:

    kubectl -n openstack exec -it mariadb-server-0 bash
  1. Find the loadbalancer id in ocatavia db and update its status.

    Example:

    root@mariadb-server-0:/# mysql --defaults-file=/etc/mysql/admin_user.cnf --host=localhost octavia -e 'select * from load_balancer';
    root@mariadb-server-0:/# mysql --defaults-file=/etc/mysql/admin_user.cnf --host=localhost octavia -e'update load_balancer set provisioning_status='ERROR' where id = "########-####-####-####-#####";'
  1. Delete the loadbalancer in error state using openstack CLI:
openstack loadbalancer list --operating-status=ERROR
openstack loadbalancer delete <load balancer ID>