RDO tickets are now tracked in Jira https://issues.redhat.com/projects/RDO/issues/
Bug 1143970 - Packstack is not idempotent (because of networking)
Summary: Packstack is not idempotent (because of networking)
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: RDO
Classification: Community
Component: openstack-packstack
Version: unspecified
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: ---
Assignee: Martin Magr
QA Contact: Ami Jeain
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-09-18 10:48 UTC by Miroslav Suchý
Modified: 2015-03-29 01:57 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2015-03-29 01:57:59 UTC
Embargoed:


Attachments (Terms of Use)

Description Miroslav Suchý 2014-09-18 10:48:02 UTC
Description of problem:
I have second interface (eth1) which I use to communicate with compute nodes. I told to packstack to use it as OVS tunnel:
CONFIG_NEUTRON_OVS_TUNNEL_IF=eth1
CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-tun:eth1
It correctly set eth1 as type=OVSPort and configure the bridge. But if I need to rerun packstack again, packstack fails with
ERROR : Error appeared during Puppet run: 209.132.184.9_neutron.pp
Error: Local ip for ovs agent must be set when tunneling is enabled at /var/tmp/packstack/ad2105c5cc1e46388c4276f82f6f1957/modules/neutron/manifests/agents/ml2/ovs.pp:107 on node fed-cloud09.cloud.fedoraproject.org
You will find full trace in log /var/tmp/packstack/20140918-102842-kQawIP/manifests/209.132.184.9_neutron.pp.log


Where in log is:
^[[1;31mWarning: Config file /etc/puppet/hiera.yaml not found, using Hiera defaults^[[0m
^[[1;31mWarning: Scope(Class[Neutron::Server]): The sql_connection parameter is deprecated, use database_connection instead.^[[0m
^[[1;31mWarning: Scope(Class[Neutron::Plugins::Ml2]): enable_security_group is deprecated. Security is managed by the firewall_drive value in ::neutron::agents::ml2::ovs.^[[0m
^[[1;31mError: Local ip for ovs agent must be set when tunneling is enabled at /var/tmp/packstack/ad2105c5cc1e46388c4276f82f6f1957/modules/neutron/manifests/agents/ml2/ovs.pp:107 on node fed-cloud09.cloud.fedoraproject.org^[[0m
^[[1;31mError: Local ip for ovs agent must be set when tunneling is enabled at /var/tmp/packstack/ad2105c5cc1e46388c4276f82f6f1957/modules/neutron/manifests/agents/ml2/ovs.pp:107 on node fed-cloud09.cloud.fedoraproject.org^[[0m

It is because that it expect that eth1 is up (which is) and have ip addr assigned (which is not, because it is OVSPort.

If I need to rerun packstack now, I have to either reprovision machine or wipe openstack, which may leave ovsswitch leftovers, which several times cut my networking.

Version-Release number of selected component (if applicable):
openstack-packstack-puppet-2014.1.1-0.28.dev1238.el7.noarch
openstack-packstack-2014.1.1-0.28.dev1238.el7.noarch

How reproducible:
deterministic

Steps to Reproduce:
1. configure eth0 as external network, and eth1 as internal and set it as ovs tunnel
2. run packstack once
3. run packstack second time

Actual results:
Error: Local ip for ovs agent must be set when tunneling is enabled at /var/tmp/packstack/ad2105c5cc1e46388c4276f82f6f1957/modules/neutron/manifests/agents/ml2/ovs.pp:107 on node fed-cloud09.cloud.fedoraproject.org

Expected results:
No changes in networking, when networking configuration already match final state.

Additional info:
Full answer file is here:
http://infrastructure.fedoraproject.org/cgit/ansible.git/tree/files/fedora-cloud/packstack-controller-answers.txt

Comment 1 Lars Kellogg-Stedman 2015-03-29 01:57:59 UTC
If you are using tunnelled (gre, vxlan) tenant networks (which is what I see in the linked answer file) then you would not typically be adding eth1 to a bridge, and especially not to br-tun.  OVS would create tunnel endpoints, and would connect these gre or vxlan tunnels to br-tun automatically.


Note You need to log in before you can comment on or make changes to this bug.