Sha256: edfed9981f900091b2356395dc55b53c55978bf20df8a9bfd5300107408ce0c5
Contents?: true
Size: 1.74 KB
Versions: 2
Compression:
Stored size: 1.74 KB
Contents
require 'ey-core/cli/errors' module Ey module Core module Cli module Helpers module Chef def run_chef(type, environment, options = {}) no_wait = options.delete(:no_wait) options[:streaming] = true unless no_wait request = environment.apply(type, options) puts "Started #{type} chef run".green if no_wait return end streamable_instance_update = nil if request.read_channel request.subscribe do |m| print m["message"] if m.is_a?(Hash) end puts "" # fix console output from stream else request.wait_for { |r| r.ready? } end if request.successful puts "#{type.capitalize} chef run completed".green else puts "#{type.capitalize} chef run failed".red ap request if server = environment.servers.first puts "For logs try `ey-core logs --server #{server.provisioned_id}` --environment #{environment.name}" end end end def upload_recipes(environment, path="cookbooks/") recipes_path = Pathname.new(path) if recipes_path.exist? && recipes_path.to_s.match(/\.(tgz|tar\.gz)/) environment.upload_recipes(recipes_path) elsif recipes_path.exist? environment.upload_recipes(archive_directory(path)) else raise RecipesNotFound, "Recipes not found, expected to find chef recipes in: #{File.expand_path(recipes_path)}, use --file to specify a different path" end end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ey-core-3.6.4 | lib/ey-core/cli/helpers/chef.rb |
ey-core-3.6.3 | lib/ey-core/cli/helpers/chef.rb |