I could be wrong but I don't think this works. If this Hash is undefined, key access in the template will just break. Why not just use node[:cinder][:volume][:rbd][$WHATEVER] directly in the template and skip passing "rbd_params" altogether? The node Hash should always be populated with default values (from the data_bag)