Browse Source

Reorder configs_query by time

There is the possibility to change OpenStack config after deployment.
Changes could be applied per role. And in the case of multiple roles
on a node, many changes could pretend to be applied. I.e. if we have
a config for the role 'compute', a config for the role  'cinder' and
a node with role 'cinder+compute' we have to choose one of them.

Previous decision was 'sort it in the lexicographical order', so it
applies 'cinder' then --- 'compute'. It is contra intuitive. The best
option is applying to a node the last related config, to new config
overlaps old ones.

Change-Id: I7db388ca3baeb351adc9fdb70c55b0be50fafe48
Closes-bug: #1671521
changes/59/447059/3
Igor Gajsin 3 years ago
parent
commit
8e12d76f86
2 changed files with 2 additions and 2 deletions
  1. +1
    -1
      nailgun/nailgun/objects/openstack_config.py
  2. +1
    -1
      nailgun/nailgun/test/unit/test_stages_task_serialization.py

+ 1
- 1
nailgun/nailgun/objects/openstack_config.py View File

@@ -104,7 +104,7 @@ class OpenstackConfigCollection(NailgunCollection):
"""
configs_query = cls.filter_by(
None, cluster_id=cluster.id, is_active=True)
configs_query = configs_query.order_by(cls.single.model.node_role)
configs_query = configs_query.order_by(cls.single.model.created_at)

node_ids = set(n.id for n in nodes)
node_roles = set()


+ 1
- 1
nailgun/nailgun/test/unit/test_stages_task_serialization.py View File

@@ -313,7 +313,7 @@ class TestHooksSerializers(BaseTaskSerializationTest):
'DEFAULT/param_b': {'value': 'value_cinder'}
},
'keystone_config': {
'DEFAULT/param_a': {'value': 'value_compute'},
'DEFAULT/param_a': {'value': 'value_cinder'},
}
}})



Loading…
Cancel
Save