Unable to deploy env with KeyError: public in 7.0 nightly build

Bug #1492190 reported by Sam Stoelinga
This bug report is a duplicate of:  Bug #1491023: DVR deployment is broken. Edit Remove
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
New
Undecided
Sam Stoelinga

Bug Description

Version: 7.0 nightly build nr/id: 131

Steps to reproduce:
1. Use vbox scripts to create fuel master and 5 nodes
2. Create an environment with following settings:
a. Enable DVR and Neutron with VXLAN
b. Ceph as storage for Cinder, Glance and nova eph
c. change the host names of the nodes via UI
3. Add 1 node as controller and 2 nodes as compute + Ceph osd
4. Deploy the environment

Current result:
Deployment fails with Error: public see screenshot
Making the bug worse:
1. Directly redeploying fails with "Not enough deployed controllers - deployed cluster requires at least 1 deployed controller."
2. Adding 2 more controllers to the failed environment and then redeploying fails with: "Not enough deployed controllers - deployed cluster requires at least 1 deployed controller."
So there are 2 problems in this bug:
1. Fuel 7.0 fails deploying
2. When an environment fails you can only delete it as redeployment is bugged.

Expected result:
Deployment succeeds or error is shown with context on how to resolve the issue.

Attached is the diagnostic snapshot.

Debugging info of variables when the bug happens:
 netgroups: {'management': {'netmask': '255.255.255.0', 'brd': '192.168.0.255', 'name': u'management', 'ip': '192.168.0.3/24', 'cidr': u'192.168.0.0/24', 'vlan': 101, 'gateway': None, 'dev': u'eth1'}, 'storage': {'netmask': '255.255.255.0', 'brd': '192.168.1.255', 'name': u'storage', 'ip': '192.168.1.1/24', 'cidr': u'192.168.1.0/24', 'vlan': 102, 'gateway': None, 'dev': u'eth2'}, 'private': {'netmask': '255.255.255.0', 'brd': '192.168.2.255', 'name': u'private', 'ip': '192.168.2.1/24', 'cidr': u'192.168.2.0/24', 'vlan': 103, 'gateway': None, 'dev': u'eth0'}, 'fuelweb_admin': {'netmask': '255.255.255.0', 'brd': '10.20.0.255', 'name': u'fuelweb_admin', 'ip': '10.20.0.9/24', 'cidr': u'10.20.0.0/24', 'vlan': None, 'gateway': u'10.20.0.2', 'dev': u'eth0'}}
locals(): {'node': <nailgun.db.sqlalchemy.models.node.Node object at 0x3685e50>, 'nm': <class 'nailgun.network.neutron.NeutronManager70'>, 'netgroups': {'management': {'netmask': '255.255.255.0', 'brd': '192.168.0.255', 'name': u'management', 'ip': '192.168.0.3/24', 'cidr': u'192.168.0.0/24', 'vlan': 101, 'gateway': None, 'dev': u'eth1'}, 'storage': {'netmask': '255.255.255.0', 'brd': '192.168.1.255', 'name': u'storage', 'ip': '192.168.1.1/24', 'cidr': u'192.168.1.0/24', 'vlan': 102, 'gateway': None, 'dev': u'eth2'}, 'private': {'netmask': '255.255.255.0', 'brd': '192.168.2.255', 'name': u'private', 'ip': '192.168.2.1/24', 'cidr': u'192.168.2.0/24', 'vlan': 103, 'gateway': None, 'dev': u'eth0'}, 'fuelweb_admin': {'netmask': '255.255.255.0', 'brd': '10.20.0.255', 'name': u'fuelweb_admin', 'ip': '10.20.0.9/24', 'cidr': u'10.20.0.0/24', 'vlan': None, 'gateway': u'10.20.0.2', 'dev': u'eth0'}}, 'netgroup_mapping': [('management', 'br-mgmt'), ('storage', 'br-storage'), ('private', 'br-mesh'), ('fuelweb_admin', 'br-fw-admin')], 'ngname': 'fuelweb_admin', 'netgroup': {'netmask': '255.255.255.0', 'brd': '10.20.0.255', 'name': u'fuelweb_admin', 'ip': '10.20.0.9/24', 'cidr': u'10.20.0.0/24', 'vlan': None, 'gateway': u'10.20.0.2', 'dev': u'eth0'}, 'nets_by_ifaces': defaultdict(<type 'list'>, {u'eth2': [{'br_name': 'br-storage', 'vlan_id': 102}], u'eth1': [{'br_name': 'br-mgmt', 'vlan_id': 101}], u'eth0': [{'br_name': 'br-mesh', 'vlan_id': 103}, {'br_name': 'br-fw-admin', 'vlan_id': None}]}), 'attrs': {'endpoints': {'br-fw-admin': {'IP': ['10.20.0.9/24']}, 'br-mesh': {'IP': ['192.168.2.1/24']}, 'br-floating': {'IP': 'none'}, 'br-storage': {'IP': ['192.168.1.1/24']}, 'br-mgmt': {'IP': ['192.168.0.3/24']}, 'br-ex': {'IP': 'none'}}, 'interfaces': {}, 'version': '1.1', 'roles': {u'keystone/api': 'br-mgmt', u'neutron/api': 'br-mgmt', u'mgmt/database': 'br-mgmt', u'sahara/api': 'br-mgmt', u'ceilometer/api': 'br-mgmt', u'mgmt/vip': 'br-mgmt', 'ex': 'br-ex', u'ceph/public': 'br-mgmt', u'mgmt/messaging': 'br-mgmt', u'management': 'br-mgmt', u'swift/api': 'br-mgmt', u'storage': 'br-storage', u'mgmt/corosync': 'br-mgmt', u'cinder/api': 'br-mgmt', u'swift/replication': 'br-storage', u'neutron/mesh': 'br-mesh', u'admin/pxe': 'br-fw-admin', u'mongo/db': 'br-mgmt', u'neutron/private': 'br-mesh', 'neutron/floating': 'br-floating', u'fw-admin': 'br-fw-admin', u'glance/api': 'br-mgmt', u'heat/api': 'br-mgmt', u'murano/api': 'br-mgmt', u'nova/api': 'br-mgmt', u'horizon': 'br-mgmt', u'nova/migration': 'br-mgmt', u'mgmt/memcache': 'br-mgmt', u'cinder/iscsi': 'br-storage', u'ceph/replication': 'br-storage'}, 'provider': 'lnx'}, 'is_public': True, 'brname': 'br-fw-admin', 'networks': [{'netmask': '255.255.255.0', 'brd': '192.168.2.255', 'name': u'private', 'ip': '192.168.2.1/24', 'cidr': u'192.168.2.0/24', 'vlan': 103, 'gateway': None, 'dev': u'eth0'}, {'cidr': u'172.16.0.0/24', 'vlan': None, 'name': u'public', 'dev': u'eth1'}, {'netmask': '255.255.255.0', 'brd': '192.168.0.255', 'name': u'management', 'ip': '192.168.0.3/24', 'cidr': u'192.168.0.0/24', 'vlan': 101, 'gateway': None, 'dev': u'eth1'}, {'netmask': '255.255.255.0', 'brd': '192.168.1.255', 'name': u'storage', 'ip': '192.168.1.1/24', 'cidr': u'192.168.1.0/24', 'vlan': 102, 'gateway': None, 'dev': u'eth2'}, {'netmask': '255.255.255.0', 'brd': '10.20.0.255', 'name': u'fuelweb_admin', 'ip': '10.20.0.9/24', 'cidr': u'10.20.0.0/24', 'vlan': None, 'gateway': u'10.20.0.2', 'dev': u'eth0'}], 'cls': <class 'nailgun.orchestrator.neutron_serializers.NeutronNetworkDeploymentSerializer70'>}

Log file:
[7f3382526740] (manager) Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/nailgun/task/manager.py", line 58, in _call_silently
    to_return = method(task, *args, **kwargs)
  File "/usr/lib/python2.6/site-packages/nailgun/task/task.py", line 164, in message
    orchestrator_graph, task.cluster, nodes)
  File "/usr/lib/python2.6/site-packages/nailgun/orchestrator/deployment_serializers.py", line 575, in serialize
    cluster, nodes, ignore_customized=ignore_customized)
  File "/usr/lib/python2.6/site-packages/nailgun/orchestrator/deployment_serializers.py", line 82, in serialize
    cluster, node_group))
  File "/usr/lib/python2.6/site-packages/nailgun/orchestrator/deployment_serializers.py", line 91, in serialize_generated
    nodes = self.serialize_nodes(nodes)
  File "/usr/lib/python2.6/site-packages/nailgun/orchestrator/deployment_serializers.py", line 238, in serialize_nodes
    serialized_nodes.append(self.serialize_node(node, role))
  File "/usr/lib/python2.6/site-packages/nailgun/orchestrator/deployment_serializers.py", line 450, in serialize_node
    DeploymentHASerializer61, self).serialize_node(node, role)
  File "/usr/lib/python2.6/site-packages/nailgun/orchestrator/deployment_serializers.py", line 258, in serialize_node
    node_attrs.update(net_serializer.get_node_attrs(node))
  File "/usr/lib/python2.6/site-packages/nailgun/orchestrator/base_serializers.py", line 199, in get_node_attrs
    return cls.network_provider_node_attrs(node.cluster, node)
  File "/usr/lib/python2.6/site-packages/nailgun/orchestrator/neutron_serializers.py", line 64, in network_provider_node_attrs
    'network_scheme': cls.generate_network_scheme(node, networks),
  File "/usr/lib/python2.6/site-packages/nailgun/orchestrator/neutron_serializers.py", line 1003, in generate_network_scheme
    if is_public and netgroups['public'].get('gateway'):
KeyError: 'public'

Revision history for this message
Sam Stoelinga (sammiestoel) wrote :
Changed in fuel:
assignee: nobody → Sam Stoelinga (sammiestoel)
description: updated
description: updated
description: updated
description: updated
Revision history for this message
Oleg Bondarev (obondarev) wrote :
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.