Class: VagrantPlugins::ManagedServers::Action::TrackDeploymentEnd
- Inherits:
-
Object
- Object
- VagrantPlugins::ManagedServers::Action::TrackDeploymentEnd
- Defined in:
- lib/vagrant-managed-servers/action/track_deployment_end.rb
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app, _env) ⇒ TrackDeploymentEnd
constructor
A new instance of TrackDeploymentEnd.
- #track_deployment_end(host, start, success, ui) ⇒ Object
Constructor Details
#initialize(app, _env) ⇒ TrackDeploymentEnd
7 8 9 10 |
# File 'lib/vagrant-managed-servers/action/track_deployment_end.rb', line 7 def initialize(app, _env) @app = app @logger = Log4r::Logger.new("vagrant_managed_servers::action::track_deployment_end") end |
Instance Method Details
#call(env) ⇒ Object
12 13 14 15 |
# File 'lib/vagrant-managed-servers/action/track_deployment_end.rb', line 12 def call(env) track_deployment_end(env[:tracker_host], env[:start_time], env[:success], env[:ui]) @app.call(env) end |
#track_deployment_end(host, start, success, ui) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/vagrant-managed-servers/action/track_deployment_end.rb', line 17 def track_deployment_end(host, start, success, ui) return unless host @logger.debug("Tracking deployment end to #{host}.") id = VagrantPlugins::Orchestrate::DEPLOYMENT_ID ui.info("Deployment tracked in deployment-tracker with ID: #{id}") result = success ? "success" : "failure" elapsed_seconds = (Time.now - start).to_i deployment = { deployment_id: id, result: result, assert_empty_server_result: true, elapsed_seconds: elapsed_seconds } DeploymentTrackerClient::DefaultApi.put_deployment(id, deployment) rescue => ex ui.warn("There was an error notifying deployment tracker. See error log for details.") @logger.warn("Error tracking deployment end for deployment #{id}") @logger.warn(ex) end |