[compute] Networks array suffers from chef attribute level merging

Bug #1343405 reported by Joseph Rafferty on 2014-07-17
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack + Chef

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": {
        "private": {
        "othernet": {

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.

JJ Asghar (d-jj) on 2014-07-17
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) on 2015-01-14
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  Edit
Everyone can see this information.

Other bug subscribers