[compute] Networks array suffers from chef attribute level merging

Bug #1343405 reported by Joseph Rafferty
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack + Chef
Confirmed
Wishlist
Unassigned

Bug Description

When I specify an array of networks in an environment's default_attributes, those networks are set-unboned with the networks from the cookbook's default attributes.

If I change my environment to specify networks in override_attributes, I lose the ability the override any attributes at a node-level.

I'd like to propose changing the network attribute to be a hash rather than array, with the key being the network label. Like what is documented in README.md for the two default networks ("public" and "private").

For instance,

"default_attributes": {
  "openstack": {
    "compute": {
      "networks": {
        "public": {
           attrs...
        },
        "private": {
           attrs...
        },
        "othernet": {
          attrs...
        }
      }
    }
  }
}

This would allow one to completely override the networks at a default level in an environment or role, while still being able to override at a node level with deep-merge using normal attributes.

Changes in the nova-setup recipe will need to reflect supporting a Hash, and should be able to continue supporting an array relatively simply to prevent a breaking change.

Tags: compute
JJ Asghar (d-jj)
summary: - [openstack-compute] Networks array suffers from chef attribute level
- merging
+ [compute] Networks array suffers from chef attribute level merging
Changed in openstack-chef:
milestone: none → juno-rc1
Changed in openstack-chef:
status: New → Confirmed
importance: Undecided → Medium
tags: added: compute
JJ Asghar (d-jj)
Changed in openstack-chef:
milestone: juno-rc1 → kilo-rc1
importance: Medium → Wishlist
Changed in openstack-chef:
milestone: kilo-rc1 → none
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.