Skip to content
This repository has been archived by the owner on May 9, 2023. It is now read-only.
drykxs edited this page Mar 24, 2021 · 3 revisions

Octavia Cheat-Sheet

Containers

octavia_worker
octavia_housekeeping
octavia_health_manager
octavia_driver_agent
octavia_api

Deployment

Template

containers-prepare-parameters.yaml
parameter_defaults:
   ...
   OctaviaAmphoraSshKeyFile: "/home/stack/.ssh/id_rsa.pub"

Command

$ openstack overcloud deploy --templates \
-e /home/stack/templates/containers-prepare-parameters.yaml -e [your-environment-files] \
-e /usr/share/openstack-tripleo-heat-templates/environments/services/octavia.yaml

Troubleshooting

sosreport

Controller-0:

OSP16.1/RHEL8: # sosreport --all-logs -e openvswitch -e openstack_octavia -e openstack_neutron -e podman
OSP13/RHEL7:   # sosreport --all-logs -e openvswitch -e openstack_octavia -e openstack_neutron -e docker

Logs

/var/logs/containers/octavia/*
/var/log/containers/neutron/*
/var/log/openvswitch/

Commands

(overcloud)

$ openstack loadbalancer list  
$ openstack loadbalancer healthmonitor list
$ openstack loadbalancer amphora list
$ openstack image list | grep amphora
$ openstack loadbalancer flavor list
$ openstack loadbalancer pool list
$ openstack loadbalancer member list
$ openstack loadbalancer show <lb-name>
$ openstack subnet show <vip-subnet-id>

Creating

$ openstack loadbalancer create --name <lb-name> --vip-subnet-id <vip-subnet-id> --wait --debug 

Disabling

$ openstack loadbalancer set <lb-name> --disable

Deleting

$ openstack loadbalancer delete --cascade <lb-name> --wait

Recovering

$ openstack loadbalancer amphora list
$ openstack loadbalancer failover <lb-name>
$ openstack loadbalancer amphora list
   • If that doesnt work, try
$ openstack loadbalancer amphora failover <amphora-id>

Known issues

Stuck PENDING_*

  • The workaround for whatever OSP version is the resolution of [1]
  • This problem can be recurring if you create an L7 policy or a healthmonitor in another running active LB [2], The workaround won’t be enough because delete the LB is not an option and just failover won’t work.

Immutable state

  • Usually is a side effect of a failure changed the state of a resource/member to ERROR. Example: A blocked port of a healthmonitor in the firewall/switch
  • Go for OVN logs in /var/logs/containers/neutron
networking_ovn.octavia.ovn_driver neutronclient.common.exceptions.NotFound:Subnet 228d8cb2-eb8b-4588-9edc-a1510e21bd42 could not be found.

OVSDB Error: {"details":"mutate operation not allowed when database server is in read only mode","error":"not allowed"}
  • Check the pacemaker [3] [4] version
  • Check the command [5] customer was running
$ openstack subnet list | grep 172
$ openstack loadbalancer create --vip-subnet-id <vip-subnet-id>  --vip-address <lb-gw>
[5]

lb-gw : 172.12.0.1" - Verify if the VIP address is the gateway IP of the subnet (172.11.0.0/15, for example), neutron will have reserved it unless the subnet was created by using '--gateway none'. This is not the default, so that IP is in-use.