Sha256: 235e8f7e8b2138daefc92953979308371cc7ed5fefd26f089d02a03f4d13e36a
Contents?: true
Size: 1.22 KB
Versions: 3
Compression:
Stored size: 1.22 KB
Contents
require 'fileutils' module Kontena module Machine module Vagrant class NodeDestroyer include RandomName include Kontena::Cli::ShellSpinner attr_reader :client, :api_client # @param [Kontena::Client] api_client Kontena api client def initialize(api_client) @api_client = api_client end def run!(grid, name) vagrant_path = "#{Dir.home}/.kontena/#{grid}/#{name}" Dir.chdir(vagrant_path) do spinner "Terminating Vagrant machine #{name.colorize(:cyan)} " do Open3.popen2('vagrant destroy -f') do |stdin, output, wait| while o = output.gets puts o if ENV['DEBUG'] end if wait.value == 0 FileUtils.remove_entry_secure(vagrant_path) end end end end node = api_client.get("grids/#{grid}/nodes")['nodes'].find{|n| n['name'] == name} if node spinner "Removing node #{name.colorize(:cyan)} from grid #{grid.colorize(:cyan)} " do api_client.delete("grids/#{grid}/nodes/#{name}") end end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems