Bug 1068962 - Packstack failed to configure ML2 to work with OVS and GRE.
Summary: Packstack failed to configure ML2 to work with OVS and GRE.
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-packstack
Version: 4.0
Hardware: Unspecified
OS: Linux
unspecified
urgent
Target Milestone: z3
: 4.0
Assignee: Martin Magr
QA Contact: Nir Magnezi
URL:
Whiteboard:
: 1068936 (view as bug list)
Depends On:
Blocks: 1017144 1056605 1056614
TreeView+ depends on / blocked
 
Reported: 2014-02-23 15:40 UTC by Nir Magnezi
Modified: 2014-03-25 19:25 UTC (History)
9 users (show)

Fixed In Version: openstack-packstack-2013.2.1-0.27.dev989.el6ost
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-03-25 19:25:48 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
OpenStack gerrit 74753 None None None Never
OpenStack gerrit 76168 None None None Never
OpenStack gerrit 77634 None None None Never
Red Hat Product Errata RHBA-2014:0334 normal SHIPPED_LIVE Red Hat Enterprise Linux OpenStack Platform 4 Bug Fix and Enhancement Advisory 2014-03-25 23:22:45 UTC

Description Nir Magnezi 2014-02-23 15:40:32 UTC
Description of problem:
=======================
Packstack failed to configure ML2 to work with OVS and GRE.
The ERROR I get:

ERROR : Error appeared during Puppet run: 192.168.160.29_neutron.pp
Error: Puppet::Parser::AST::Resource failed with error ArgumentError: Cannot alias Package[neutron-plugin-ovs] to ["openstack-neutron-openvswitch"] at /var/tmp/packstack/21b3fa25cd6e43cfb04ae5adbb9fb8b6/modules/neutron/manifests/agents/ovs.pp:129; resource ["Package", "openstack-neutron-openvswitch"] already declared at /var/tmp/packstack/21b3fa25cd6e43cfb04ae5adbb9fb8b6/manifests/192.168.160.29_neutron.pp:32 at /var/tmp/packstack/21b3fa25cd6e43cfb04ae5adbb9fb8b6/modules/neutron/manifests/agents/ovs.pp:129 on node <FQDN>
You will find full trace in log /var/tmp/packstack/20140223-164040-3HgGNK/manifests/192.168.160.29_neutron.pp.log
Please check log file /var/tmp/packstack/20140223-164040-3HgGNK/openstack-setup.log for more information


The answer file neutron related configuration I used:

CONFIG_NEUTRON_INSTALL=y
CONFIG_NEUTRON_SERVER_HOST=192.168.160.27
CONFIG_NEUTRON_KS_PW=123456
CONFIG_NEUTRON_DB_PW=123456
CONFIG_NEUTRON_L3_HOSTS=192.168.160.27
CONFIG_NEUTRON_L3_EXT_BRIDGE=br-ex
CONFIG_NEUTRON_DHCP_HOSTS=192.168.160.29
CONFIG_NEUTRON_LBAAS_HOSTS=192.168.160.29
CONFIG_NEUTRON_L2_PLUGIN=ml2
CONFIG_NEUTRON_METADATA_HOSTS=192.168.160.27
CONFIG_NEUTRON_METADATA_PW=123456
CONFIG_NEUTRON_ML2_TYPE_DRIVERS=gre
CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=gre
CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS=openvswitch
CONFIG_NEUTRON_ML2_FLAT_NETWORKS=*
CONFIG_NEUTRON_ML2_VLAN_RANGES=
CONFIG_NEUTRON_ML2_TUNNEL_ID_RANGES=185:185,208:210
CONFIG_NEUTRON_ML2_VXLAN_GROUP=
CONFIG_NEUTRON_ML2_VNI_RANGES=
CONFIG_NEUTRON_L2_AGENT=openvswitch
CONFIG_NEUTRON_LB_TENANT_NETWORK_TYPE=local
CONFIG_NEUTRON_LB_VLAN_RANGES=
CONFIG_NEUTRON_LB_INTERFACE_MAPPINGS=
CONFIG_NEUTRON_OVS_TENANT_NETWORK_TYPE=gre
CONFIG_NEUTRON_OVS_VLAN_RANGES=
CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=
CONFIG_NEUTRON_OVS_BRIDGE_IFACES=
CONFIG_NEUTRON_OVS_TUNNEL_RANGES=185:185,208:210
CONFIG_NEUTRON_OVS_TUNNEL_IF=eth3
CONFIG_NEUTRON_OVS_VXLAN_UDP_PORT=4789

Version-Release number of selected component (if applicable):
=============================================================
openstack-packstack-2013.2.1-0.24.dev982.el6ost.noarch

How reproducible:
=================
Tested Once.

Steps to Reproduce:
===================
Use packstack with the Neutron entries I mentioned above.

Actual results:
===============
Snipped from the log:

2014-02-23 16:57:57::DEBUG::sequences::48::root:: Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/packstack/installer/core/sequences.py", line 46, in run
    self.function(config)
  File "/usr/lib/python2.6/site-packages/packstack/plugins/puppet_950.py", line 187, in applyPuppetManifest
    waitforpuppet(currently_running)
  File "/usr/lib/python2.6/site-packages/packstack/plugins/puppet_950.py", line 167, in waitforpuppet
    validate_logfile(log)
  File "/usr/lib/python2.6/site-packages/packstack/modules/puppet.py", line 90, in validate_logfile
    raise PuppetError(message)
PuppetError: Error appeared during Puppet run: 192.168.160.29_neutron.pp
Error: Puppet::Parser::AST::Resource failed with error ArgumentError: Cannot alias Package[neutron-plugin-ovs] to ["openstack-neutron-openvswitch"] at /var/tmp/packstack/21b3fa25cd6e43cfb04ae5adbb9fb8b6/modules/neutron/manifests/agents/ovs.pp:129; resource ["Package", "openstack-neutron-openvswitch"] already declared at /var/tmp/packstack/21b3fa25cd6e43cfb04ae5adbb9fb8b6/manifests/192.168.160.29_neutron.pp:32 at /var/tmp/packstack/21b3fa25cd6e43cfb04ae5adbb9fb8b6/modules/neutron/manifests/agents/ovs.pp:129 on node <FQDN>^[[0m
You will find full trace in log /var/tmp/packstack/20140223-164040-3HgGNK/manifests/192.168.160.29_neutron.pp.log

2014-02-23 16:57:57::ERROR::run_setup::912::root:: Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/packstack/installer/run_setup.py", line 907, in main
    _main(confFile)
  File "/usr/lib/python2.6/site-packages/packstack/installer/run_setup.py", line 573, in _main
    runSequences()
  File "/usr/lib/python2.6/site-packages/packstack/installer/run_setup.py", line 552, in runSequences
    controller.runAllSequences()
  File "/usr/lib/python2.6/site-packages/packstack/installer/setup_controller.py", line 84, in runAllSequences
    sequence.run(self.CONF)
  File "/usr/lib/python2.6/site-packages/packstack/installer/core/sequences.py", line 105, in run
    step.run(config=config)
  File "/usr/lib/python2.6/site-packages/packstack/installer/core/sequences.py", line 52, in run
    raise SequenceError(str(ex))
SequenceError: Error appeared during Puppet run: 192.168.160.29_neutron.pp
Error: Puppet::Parser::AST::Resource failed with error ArgumentError: Cannot alias Package[neutron-plugin-ovs] to ["openstack-neutron-openvswitch"] at /var/tmp/packstack/21b3fa25cd6e43cfb04ae5adbb9fb8b6/modules/neutron/manifests/agents/ovs.pp:129; resource ["Package", "openstack-neutron-openvswitch"] already declared at /var/tmp/packstack/21b3fa25cd6e43cfb04ae5adbb9fb8b6/manifests/192.168.160.29_neutron.pp:32 at /var/tmp/packstack/21b3fa25cd6e43cfb04ae5adbb9fb8b6/modules/neutron/manifests/agents/ovs.pp:129 on node <FQDN>^[[0m
You will find full trace in log /var/tmp/packstack/20140223-164040-3HgGNK/manifests/192.168.160.29_neutron.pp.log

Expected results:
=================
Packstack should install OpenStack with Neutron ML2 plugin with OVS as L2 agent and GRE as type driver

Comment 3 Martin Magr 2014-02-26 14:03:14 UTC
*** Bug 1068936 has been marked as a duplicate of this bug. ***

Comment 7 Nir Magnezi 2014-03-02 20:55:01 UTC
Reopening.
Tested NVR: openstack-packstack-2013.2.1-0.25.dev987.el6ost.noarch
Tested both GRE and VLANs, both failed with the same error (snipped from packstack log):

2014-03-02 16:17:23::DEBUG::sequences::48::root:: Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/packstack/installer/core/sequences.py", line 46, in run
    self.function(config)
  File "/usr/lib/python2.6/site-packages/packstack/plugins/puppet_950.py", line 187, in applyPuppetManifest
    waitforpuppet(currently_running)
  File "/usr/lib/python2.6/site-packages/packstack/plugins/puppet_950.py", line 167, in waitforpuppet
    validate_logfile(log)
  File "/usr/lib/python2.6/site-packages/packstack/modules/puppet.py", line 90, in validate_logfile
    raise PuppetError(message)
PuppetError: Error appeared during Puppet run: 192.168.160.21_neutron.pp
Error: Could not find resource 'Exec[neutron-db-manage upgrade]' for relationship from 'File[/etc/neutron/plugin.ini]' on node <FQDN>^[[0m
You will find full trace in log /var/tmp/packstack/20140302-155920-OYw1x8/manifests/192.168.160.21_neutron.pp.log

2014-03-02 16:17:23::ERROR::run_setup::912::root:: Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/packstack/installer/run_setup.py", line 907, in main
    _main(confFile)
  File "/usr/lib/python2.6/site-packages/packstack/installer/run_setup.py", line 573, in _main
    runSequences()
  File "/usr/lib/python2.6/site-packages/packstack/installer/run_setup.py", line 552, in runSequences
    controller.runAllSequences()
  File "/usr/lib/python2.6/site-packages/packstack/installer/setup_controller.py", line 84, in runAllSequences
    sequence.run(self.CONF)
  File "/usr/lib/python2.6/site-packages/packstack/installer/core/sequences.py", line 105, in run
    step.run(config=config)
  File "/usr/lib/python2.6/site-packages/packstack/installer/core/sequences.py", line 52, in run
    raise SequenceError(str(ex))
SequenceError: Error appeared during Puppet run: 192.168.160.21_neutron.pp
Error: Could not find resource 'Exec[neutron-db-manage upgrade]' for relationship from 'File[/etc/neutron/plugin.ini]' on node <FQDN>^[[0m
You will find full trace in log /var/tmp/packstack/20140302-155920-OYw1x8/manifests/192.168.160.21_neutron.pp.log

2014-03-02 16:17:23::DEBUG::run_setup::594::root:: Removing /var/tmp/packstack/80f78f08f136428a92a649d0edb90203 on 192.168.160.29 (if it is a remote host)
2014-03-02 16:17:23::INFO::shell::78::root:: [192.168.160.29] Executing script:
rm -rf /var/tmp/packstack/80f78f08f136428a92a649d0edb90203
2014-03-02 16:17:23::DEBUG::shell::96::root::


Neutron Configuration used for VLANs:
=====================================
CONFIG_NEUTRON_INSTALL=y
CONFIG_NEUTRON_SERVER_HOST=192.168.160.29
CONFIG_NEUTRON_KS_PW=123456
CONFIG_NEUTRON_DB_PW=123456
CONFIG_NEUTRON_L3_HOSTS=192.168.160.27
CONFIG_NEUTRON_L3_EXT_BRIDGE=br-ex
CONFIG_NEUTRON_DHCP_HOSTS=192.168.160.27
CONFIG_NEUTRON_LBAAS_HOSTS=192.168.160.29
CONFIG_NEUTRON_L2_PLUGIN=ml2
CONFIG_NEUTRON_METADATA_HOSTS=192.168.160.27
CONFIG_NEUTRON_METADATA_PW=123456
CONFIG_NEUTRON_ML2_TYPE_DRIVERS=vlan
CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=vlan
CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS=openvswitch
CONFIG_NEUTRON_ML2_FLAT_NETWORKS=*
CONFIG_NEUTRON_ML2_VLAN_RANGES=int_vlan_range:208:210,ext_net:185:185
CONFIG_NEUTRON_ML2_TUNNEL_ID_RANGES=
CONFIG_NEUTRON_ML2_VXLAN_GROUP=
CONFIG_NEUTRON_ML2_VNI_RANGES=
CONFIG_NEUTRON_L2_AGENT=openvswitch
CONFIG_NEUTRON_LB_TENANT_NETWORK_TYPE=local
CONFIG_NEUTRON_LB_VLAN_RANGES=
CONFIG_NEUTRON_LB_INTERFACE_MAPPINGS=
CONFIG_NEUTRON_OVS_TENANT_NETWORK_TYPE=vlan
CONFIG_NEUTRON_OVS_VLAN_RANGES=int_vlan_range:208:210,ext_net:185:185
CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=int_vlan_range:br-nodes,ext_net:br-ex
CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-nodes:eth3,br-ex:eth3.185
CONFIG_NEUTRON_OVS_TUNNEL_RANGES=
CONFIG_NEUTRON_OVS_TUNNEL_IF=
CONFIG_NEUTRON_OVS_VXLAN_UDP_PORT=4789


Neutron Configuration used for GRE:
===================================
CONFIG_NEUTRON_INSTALL=y
CONFIG_NEUTRON_SERVER_HOST=192.168.160.29
CONFIG_NEUTRON_KS_PW=123456
CONFIG_NEUTRON_DB_PW=123456
CONFIG_NEUTRON_L3_HOSTS=192.168.160.27
CONFIG_NEUTRON_L3_EXT_BRIDGE=br-ex
CONFIG_NEUTRON_DHCP_HOSTS=192.168.160.27
CONFIG_NEUTRON_LBAAS_HOSTS=192.168.160.29
CONFIG_NEUTRON_L2_PLUGIN=ml2
CONFIG_NEUTRON_METADATA_HOSTS=192.168.160.27
CONFIG_NEUTRON_METADATA_PW=123456
CONFIG_NEUTRON_ML2_TYPE_DRIVERS=gre,vlan
CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=gre
CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS=openvswitch
CONFIG_NEUTRON_ML2_FLAT_NETWORKS=*
CONFIG_NEUTRON_ML2_VLAN_RANGES=ext_net:185:185
CONFIG_NEUTRON_ML2_TUNNEL_ID_RANGES=1:1000
CONFIG_NEUTRON_ML2_VXLAN_GROUP=
CONFIG_NEUTRON_ML2_VNI_RANGES=
CONFIG_NEUTRON_L2_AGENT=openvswitch
CONFIG_NEUTRON_LB_TENANT_NETWORK_TYPE=local
CONFIG_NEUTRON_LB_VLAN_RANGES=
CONFIG_NEUTRON_LB_INTERFACE_MAPPINGS=
CONFIG_NEUTRON_OVS_TENANT_NETWORK_TYPE=gre
CONFIG_NEUTRON_OVS_VLAN_RANGES=ext_net:185:185
CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=ext_net:br-ex
CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth3.185
CONFIG_NEUTRON_OVS_TUNNEL_RANGES=1:1000
CONFIG_NEUTRON_OVS_TUNNEL_IF=eth3
CONFIG_NEUTRON_OVS_VXLAN_UDP_PORT=4789

Comment 12 Nir Magnezi 2014-03-12 12:36:09 UTC
Verified NVR: openstack-packstack-2013.2.1-0.28.dev989.el6ost

Verification Steps:
===================
1. enabled tunnel interface on at least 2 compute nodes and the network node (l3,dhcp.neutron metadata).

2. enabled a sub-interface for external network provider

3. used the following answer file with packstack:

CONFIG_NEUTRON_INSTALL=y
CONFIG_NEUTRON_SERVER_HOST=192.168.160.29
CONFIG_NEUTRON_KS_PW=123456
CONFIG_NEUTRON_DB_PW=123456
CONFIG_NEUTRON_L3_HOSTS=192.168.160.27
CONFIG_NEUTRON_L3_EXT_BRIDGE=br-ex
CONFIG_NEUTRON_DHCP_HOSTS=192.168.160.27
CONFIG_NEUTRON_LBAAS_HOSTS=192.168.160.29
CONFIG_NEUTRON_L2_PLUGIN=ml2
CONFIG_NEUTRON_METADATA_HOSTS=192.168.160.27
CONFIG_NEUTRON_METADATA_PW=123456
CONFIG_NEUTRON_ML2_TYPE_DRIVERS=gre,vlan
CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=gre
CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS=openvswitch
CONFIG_NEUTRON_ML2_FLAT_NETWORKS=*
CONFIG_NEUTRON_ML2_VLAN_RANGES=ext_net:185:185
CONFIG_NEUTRON_ML2_TUNNEL_ID_RANGES=1:1000
CONFIG_NEUTRON_ML2_VXLAN_GROUP=
CONFIG_NEUTRON_ML2_VNI_RANGES=
CONFIG_NEUTRON_L2_AGENT=openvswitch
CONFIG_NEUTRON_LB_TENANT_NETWORK_TYPE=local
CONFIG_NEUTRON_LB_VLAN_RANGES=
CONFIG_NEUTRON_LB_INTERFACE_MAPPINGS=
CONFIG_NEUTRON_OVS_TENANT_NETWORK_TYPE=gre
CONFIG_NEUTRON_OVS_VLAN_RANGES=ext_net:185:185
CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=ext_net:br-ex
CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth3.185
CONFIG_NEUTRON_OVS_TUNNEL_RANGES=1:1000
CONFIG_NEUTRON_OVS_TUNNEL_IF=eth3
CONFIG_NEUTRON_OVS_VXLAN_UDP_PORT=4789

4. on the network node, added a link between the br-ex bridge to the eth3.185 sub-inteface (for external network). this is done manually due to Bug #1072268
   # ovs-vsctl add-port br-ex eth3.185

5. Created an external network:
   # neutron net-create ext_net --provider:network_type vlan --provider:physical_network ext_net --provider:segmentation_id 185 --router:external=True

6. Added a routeable subnet to that network:
   # neutron subnet-create ext_net --gateway 11.11.170.254 11.11.170.0/24 -- --enable_dhcp=False --name subnet_ext_net

7. Created a neutron router:
   # neutron router-create router1

8. Created a GRE tenant network:
   # neutron net-create int_net --provider:network_type gre --provider:segmentation_id

9. Added a subnet to that network
   # neutron subnet-create int_net 44.44.44.0/24 -- --enable_dhcp=True --name subnet_int_net

10. Configured router's gw:
    # neutron router-gateway-set router1 ext_net

11. Added a router interface for the internal GRE network:
    # neutron router-interface-add router1 subnet_int_net

12.Uploaded an image to glance.

13. Booted 4 instances.

14. Verified network connectivity between instances both on the same and on different compute nodes.

15. Verified that the instances can reach the internet (pinged 8.8.8.8)

16. Assiged floating IP addresses and checked that they are pingable from outside of the OpenStack deployment.

Comment 14 errata-xmlrpc 2014-03-25 19:25:48 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2014-0334.html


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