Skip to content

Why is node.set/node.normal being used in server.rb #117

Description

@youngjl1

Cookbook version

latest

Chef-client version

11.16.2

Platform Details

amazon linux

Scenario:

using roles have a server change from including recipe "rsyslog::server" to including "rsyslog::client"

Steps to Reproduce:

have two roles, one that includes recipe "rsyslog::server" and one that includes "rsyslog::client." If you switch from server to client role it will not work.

Expected Result:

client recipe is run

Actual Result:

client recipe starts to run but it immediately returns because the first line is:

return if node['rsyslog']['server']

this is because server.rb is using

node.normal['rsyslog']['server'] = true

this permanently sets that attribute on the node. so even if you start including the client recipe (and stop including server), the above setting persists and overrides the default of false. Why does this attribute have to be permanently applied to the server? Is there some reason, and if not it could be changed to

node.override['rsyslog']['server'] = true

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions