kolla-ansible / kolla-kubernetes neutron/tasks/config.yml mismatch

Bug #1693014 reported by Andrew Bruce
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
kolla-ansible
Invalid
Undecided
Unassigned

Bug Description

Just deployed Kolla following guide at https://docs.openstack.org/developer/kolla-kubernetes/deployment-guide.html

Problem is that neutron-dhcp-agent, neutron-l3-agent, and neutron-metadata-agent all fail to start because the ml2-conf.ini key is missing from the generated configMap.

The cause is a mismatch between kolla-ansible and kolla-kubernetes. Both contain a file named 'ansible/roles/neutron/tasks/config.yml' and the two files are different. Specifically, see services_need_ml2_conf_ini (file https://github.com/andybrucenet/kolla-ansible/blob/dec8fbd7a463ab58d5d5455fcfc45b0302c1a707/ansible/roles/neutron/tasks/config.yml)

Check out the fork at https://github.com/andybrucenet/kolla-ansible. I'll submit a pull request after I see that this bug has been reviewed.

Revision history for this message
Andrew Bruce (andybrucenet) wrote :

Change is specific to kolla-ansible

affects: kolla → kolla-ansible
description: updated
Revision history for this message
Eduardo Gonzalez (egonzalez90) wrote :

In kolla-ansible we removed ml2 files from those services since it is a file that they don't use.
AFIK, kolla-kubernetes now generate its own config file.
I think this issue not affect kolla-ansible.
Change removing ml2 file from various services: https://review.openstack.org/#/c/447992/
Related bug for the change: https://bugs.launchpad.net/kolla-ansible/+bug/1677163
Regards

Revision history for this message
Andrew Bruce (andybrucenet) wrote :

Thank you for the quick response!

While it's fine with me that the kolla-ansible team decided that ml2_conf.ini is not needed (and I did see some IRC conversation on this), this change introduced breaking compatibility problems between kolla-ansible and kolla-kubernetes.

I understand these are two different efforts. However, keep in mind that for us end-consumers there is only *one* Kolla Bare Metal Deployment Guide (https://docs.openstack.org/developer/kolla-kubernetes/deployment-guide.html). And in that Guide, we find instructions to use kolla-ansible as part of the Kubernetes deployment.

As it is - the Kolla bare-metal process as currently written will fail when the Neutron agent containers (l3-agent, dhcp-agent, etc.) try to start. They get stuck in "Init" phase. The underlying Kubernetes logs clearly show that a configMap key is missing.

Specifically: the Bare Metal Deployment Guide instructs us:

>Generate the default configuration:

> sudo kolla-ansible genconfig

So kolla-ansible - according to the bare-metal build guide - is used to generate files which are later used by kolla-kubernetes.

Under the kolla-kubernetes file system, we find:

helm/microservice/neutron-dhcp-agent-daemonset/templates/dhcp-agent-daemonset.yaml

 21 apiVersion: extensions/v1beta1
 22 kind: DaemonSet
 23 metadata:
 24 name: neutron-dhcp-agent
 25 labels:
 26 component: neutron
 27 system: dhcp-agent
...
117 - name: neutron-dhcp-agent-configmap
118 configMap:
119 name: neutron-dhcp-agent
120 items:
121 - key: neutron.conf
122 path: neutron.conf
123 - key: config.json
124 path: config.json
125 - key: ml2-conf.ini
126 path: ml2_conf.ini
127 - key: dhcp-agent.ini
128 path: dhcp_agent.ini
129 - key: dnsmasq.conf
130 path: dnsmasq.conf

Plus, other commands for neutron-dhcp-agent throughout this file reference (and assume the existence of) ml2_conf.ini.

So, please advise me how I can notify the correct persons of this discrepancy. As a consumer, I simply want the deployment to work.

Revision history for this message
Steven Dake (sdake) wrote :

The deployment guide is wrong on the genconfig step.

Instead run this command from kolla-kubernetes:
ansible-playbook -e ansible_python_interpreter=/usr/bin/python -e @/etc/kolla/globals.yml -e @/etc/kolla/passwords.yml -e CONFIG_DIR=/etc/kolla ansible/site.yml

kolla-kubernetes has created its own copy of genconfig.

Thanks for the bug report!

If you want to submit a PR to fix the deployment documentation, that would be fantastic!

Revision history for this message
Kevin Fox (kevpn) wrote :

I think the deploy documentation is now wrong. kolla-ansible should not be used to generate the config or else these issues will keep poping up.

Revision history for this message
Andrew Bruce (andybrucenet) wrote :

Heard from the kolla-kubernetes team and they agree. I am going to create a PR on their side to remove all kolla-ansible dependencies and verify that Kolla deploys correctly.

Closing this bug. See https://bugs.launchpad.net/kolla-kubernetes/+bug/1693281 for the related bug in kolla-kubernetes.

Revision history for this message
Andrew Bruce (andybrucenet) wrote :

See https://bugs.launchpad.net/kolla-kubernetes/+bug/1693281 - problem is on the kolla-kubernetes side.

Changed in kolla-ansible:
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.