Skip to content

Instantly share code, notes, and snippets.

@skippy
Forked from xdissent/middleware.rb
Created June 6, 2011 17:19
Show Gist options
  • Select an option

  • Save skippy/1010660 to your computer and use it in GitHub Desktop.

Select an option

Save skippy/1010660 to your computer and use it in GitHub Desktop.

Revisions

  1. Adam Greene revised this gist Jun 6, 2011. 1 changed file with 3 additions and 5 deletions.
    8 changes: 3 additions & 5 deletions middleware.rb
    Original file line number Diff line number Diff line change
    @@ -5,13 +5,13 @@ def initialize(app, env)

    def call(env)
    env["config"].vm.provisioners.each do |provisioner|
    env["ui"].debug "Attempting to remove client #{provisioner.config.node_name}"
    env.ui.info "Attempting to remove client #{provisioner.config.node_name}"
    `knife client show #{provisioner.config.node_name}`
    if $?.to_i == 0
    env.ui.info "Removing client #{provisioner.config.node_name}"
    `knife client delete #{provisioner.config.node_name} -y`
    end
    env["ui"].debug "Attempting to remove node #{provisioner.config.node_name}"
    env.ui.info "Attempting to remove node #{provisioner.config.node_name}"
    `knife node show #{provisioner.config.node_name}`
    if $?.to_i == 0
    env.ui.info "Removing node #{provisioner.config.node_name}"
    @@ -22,6 +22,4 @@ def call(env)
    end
    end

    Vagrant::Action.register(:destroy, Vagrant::Action::Builder.new do
    use OnDestroyMiddleware
    end)
    Vagrant::Action[:destroy].use(OnDestroyMiddleware)
  2. Adam Greene revised this gist Jun 6, 2011. 1 changed file with 19 additions and 11 deletions.
    30 changes: 19 additions & 11 deletions middleware.rb
    Original file line number Diff line number Diff line change
    @@ -2,18 +2,26 @@ class OnDestroyMiddleware
    def initialize(app, env)
    @app = app
    end

    def call(env)
    `knife client show #{env["config"].chef.node_name}`
    if $?.to_i == 0
    env.ui.info "Removing client #{env["config"].chef.node_name}"
    `knife client delete #{env["config"].chef.node_name} -y`
    end
    `knife node show #{env["config"].chef.node_name}`
    if $?.to_i == 0
    env.ui.info "Removing node #{env["config"].chef.node_name}"
    `knife node delete #{env["config"].chef.node_name} -y`
    env["config"].vm.provisioners.each do |provisioner|
    env["ui"].debug "Attempting to remove client #{provisioner.config.node_name}"
    `knife client show #{provisioner.config.node_name}`
    if $?.to_i == 0
    env.ui.info "Removing client #{provisioner.config.node_name}"
    `knife client delete #{provisioner.config.node_name} -y`
    end
    env["ui"].debug "Attempting to remove node #{provisioner.config.node_name}"
    `knife node show #{provisioner.config.node_name}`
    if $?.to_i == 0
    env.ui.info "Removing node #{provisioner.config.node_name}"
    `knife node delete #{provisioner.config.node_name} -y`
    end
    end
    @app.call(env)
    end
    end
    end

    Vagrant::Action.register(:destroy, Vagrant::Action::Builder.new do
    use OnDestroyMiddleware
    end)
  3. @xdissent xdissent renamed this gist Dec 8, 2010. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  4. @xdissent xdissent created this gist Dec 8, 2010.
    19 changes: 19 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,19 @@
    class OnDestroyMiddleware
    def initialize(app, env)
    @app = app
    end

    def call(env)
    `knife client show #{env["config"].chef.node_name}`
    if $?.to_i == 0
    env.ui.info "Removing client #{env["config"].chef.node_name}"
    `knife client delete #{env["config"].chef.node_name} -y`
    end
    `knife node show #{env["config"].chef.node_name}`
    if $?.to_i == 0
    env.ui.info "Removing node #{env["config"].chef.node_name}"
    `knife node delete #{env["config"].chef.node_name} -y`
    end
    @app.call(env)
    end
    end