Octavia loadbalancer pending create state
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
kolla-ansible |
Invalid
|
Undecided
|
Unassigned |
Bug Description
**Bug Report**
What happened:
Following 2 similar guides on how to create octavia loadbalancer with amphora images are stuck at pending create state. Amphora instances are active and working without issues. However, for some reason octavia-worker shows in logs that:
Could not connect to instance. Retrying.: ConnectTimeout: HTTPSConnection
Thus, I have associated public ip to amphora image and it is pingable.
What you expected to happen:
It is expected loadbalancer to be active and working. Those 2 guides were followed:
https:/
http://
How to reproduce it (minimal and precise):
Globals:
kolla_base_distro: "ubuntu"
kolla_install_type: "source"
openstack_release: "stein"
kolla_internal_
network_interface: "enp2s0f0"
neutron_
neutron_
enable_barbican: "yes"
enable_chrony: "yes"
enable_cinder: "yes"
enable_
enable_fluentd: "yes"
enable_haproxy: "yes"
enable_heat: "yes"
enable_magnum: "yes"
enable_horizon: "yes"
enable_
enable_
enable_neutron_dvr: "yes"
enable_
enable_nova_ssh: "yes"
enable_octavia: "yes"
enable_ceph: "yes"
enable_ceph_rgw: "yes"
glance_
glance_
glance_
barbican_
barbican_
ironic_
tempest_image_id:
tempest_
tempest_
tempest_
enable_
elasticsearch_
horizon_port: 48000
External and internal networks are created. Amphora instances are created within internal network. Load balancer is assigned with internal vip ip.
**Environment**:
* OS (e.g. from /etc/os-release): ubuntu
* Kernel (e.g. `uname -a`):
* Docker version if applicable (e.g. `docker version`): latest
* Kolla-Ansible version (e.g. `git head or tag or stable branch` or pip package version if using release): latest
* Docker image Install type (source/binary): source
* Docker image distribution: stein
* Are you using official images from Docker Hub or self built? official
* If self built - Kolla version and environment used to build: no
* Share your inventory file, globals.yml and other configuration files if relevant
I'm facing the same issue, and the root cause is a code mismatch. octavia-worker is trying to access the amphora api via "/0.5/info" but it does not exist. The correct version is 1.0, however source code of octavia still points to 0.5. If you try running https:/ /172.16. 103.35: 9443/1. 0/info, you'll see it works.
My current workaround is using template-overrides for building octavia images. Example;
{% block octavia_base_footer %} python3/ dist-packages/ octavia/ common/ constants. py python3/ dist-packages/ octavia/ amphorae/ backends/ agent/api_ server/ __init_ _.py
RUN sed -i "s/API_VERSION = '0.5'/API_VERSION = '1.0'/g" /usr/lib/
RUN sed -i "s/VERSION = '0.5'/VERSION = '1.0'/g" /usr/lib/
{% endblock %}