diff options
author | elijah <elijah@riseup.net> | 2017-04-25 12:18:04 -0700 |
---|---|---|
committer | elijah <elijah@riseup.net> | 2017-04-25 23:39:06 -0700 |
commit | 0b3aef03cb113e997c2a654ef2f7b1674a0a8877 (patch) | |
tree | 0ed6ee0636116f299e381e97b3dd34e06cdbb1be /lib | |
parent | ada9645de11d75701db8202f34de5c26a2b749c2 (diff) |
bugfix: ensure that nodes only have one environment specified (closes #8778)
Diffstat (limited to 'lib')
-rw-r--r-- | lib/leap_cli/config/manager.rb | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/lib/leap_cli/config/manager.rb b/lib/leap_cli/config/manager.rb index d69a5808..a9f1a85f 100644 --- a/lib/leap_cli/config/manager.rb +++ b/lib/leap_cli/config/manager.rb @@ -342,14 +342,25 @@ module LeapCli if node.vagrant? return self.env("local") else - environment = self.env(default_environment) + environment = nil if node['tags'] node['tags'].to_a.each do |tag| if self.environment_names.include?(tag) - environment = self.env(tag) + if environment.nil? + environment = self.env(tag) + else + LeapCli::Util.bail! do + LeapCli.log( + :error, + "The node '%s' is invalid, because it cannot have two environments ('%s' and '%s')." % + [node.name, environment.name, tag] + ) + end + end end end end + environment ||= self.env(default_environment) return environment end end |