Skip to content

fix --env does not override a node if environment is set to _default #237

@wilddog64

Description

@wilddog64

when execute command fix --env staging nodes_with_role:my_role, if target node chef_environment is set to _default. It seems to me that the logic should be if name == '_default' and not littlechef.chef_environment == None ... to allow --env to override the default settings; or at least two should merge together

def get_environment(name):
"""Returns a JSON environment file as a dictionary"""
if name == "_default":
    return env_from_template(name)
filename = os.path.join("environments", name + ".json")
try:
    with open(filename) as f:
        try:
            return json.loads(f.read())
        except ValueError as e:
            msg = 'LittleChef found the following error in'
            msg += ' "{0}":\n                {1}'.format(filename, str(e))
            abort(msg)
except IOError:
    raise FileNotFoundError('File {0} not found'.format(filename))

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions