Comment 0 for bug 1594443

Revision history for this message
Vladimir Kuklin (vkuklin) wrote : Nailgun code does not allow for safe get of new node attributes

Install Fuel 8.0
Deploy bvt_2 scenario
Upgrade Fuel 8.0 to 9.0 by using fuel 8.0 and fuel 9.0 octane versions for backup/restore.
Try to add compute node

See issues with node metadata get for 8.0 cluster like these ones:

2016-06-20 14:49:44.099 ERROR [7f7a3b124880] (manager) Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/nailgun/task/manager.py", line 58, in _call_silently
    to_return = method(task, *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/nailgun/task/task.py", line 1488, in execute
    cls._check_dpdk_properties(task)
  File "/usr/lib/python2.7/site-packages/nailgun/task/task.py", line 1867, in _check_dpdk_properties
    objects.NodeAttributes.distribute_node_cpus(node)
  File "/usr/lib/python2.7/site-packages/nailgun/objects/node.py", line 1438, in distribute_node_cpus
    numa_nodes = node.meta['numa_topology']['numa_nodes']
KeyError: 'numa_topology'

2016-06-20 14:15:32.198 ERROR [7f797ff0d880] (base) Unexpected exception occured
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/nailgun/api/v1/handlers/base.py", line 285, in content_json
    resp = func(cls, *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/nailgun/api/v1/handlers/role.py", line 154, in GET
    for name in roles_names]
  File "/usr/lib/python2.7/site-packages/nailgun/objects/serializers/role.py", line 36, in serialize_from_cluster
    volumes_metadata = objects.Cluster.get_volumes_metadata(cluster)
  File "/usr/lib/python2.7/site-packages/nailgun/objects/cluster.py", line 1138, in get_volumes_metadata
    volumes_metadata['rule_to_pick_boot_disk'].extend(

This means that this is not possible to deploy nodes in pre-9.0 clusters after upgrading master node to 9.0. I think that this affects major functionality of Fuel, so I am setting this bug priority to critical.