vagrant-vmck 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 149034e449df45700dff46c992c1a527f2e07fb03a7107b93fc884309cd97de0
4
- data.tar.gz: 1f43c2f7db3e9b6da7d317ea48945851b67d9b587d16d1a9f83996be5e714283
3
+ metadata.gz: a03f29802506d5a3e46a606c3540a81ac6d3f7f0ff072b172d050372c99ef91b
4
+ data.tar.gz: 436c41e088e7bb39ba1823de8ca4a6a333c7be8c8ae0bdaea1ca2ed099e884b7
5
5
  SHA512:
6
- metadata.gz: 1f6499622e5dd56fb30be7c36695061a608d0fb5203f880e404c9a01bd5f05da7b63e08d751b153252de788343dc862e846493cd696e0142783e64a68ad0b446
7
- data.tar.gz: 8905eefe833046c7a4e4819032d3dabfcbcb704489afae8e0375c10bf1ea04d93397308e1caf3695de23cd37551fefdd1b967dddbe5456030d51ea6ce5d4791b
6
+ metadata.gz: b321bd0e0101a82955e238dffa0793b0e72b92e4fe2596148435a8ecacfec012ab642741006dddbda030abbd93e83af5a1d1f3c5a109c9e5dcb9371c8194a3db
7
+ data.tar.gz: a959b5e810e7b81d1e9f597c4cb8766d377440085ece0041e5612403cba3acb44e671edeb597a9fef9ef0e3ad38a378cc13af8c09cb0326151478c7e3b567460
data/Gemfile CHANGED
@@ -2,6 +2,7 @@ source 'https://rubygems.org'
2
2
 
3
3
  group :development do
4
4
  gem 'vagrant', tag: 'v2.2.4', git: 'https://github.com/hashicorp/vagrant.git'
5
+ gem 'vagrant-env'
5
6
  end
6
7
 
7
8
  group :plugins do
@@ -1,3 +1,4 @@
1
+ require 'log4r'
1
2
  require 'faraday'
2
3
  require 'json'
3
4
 
@@ -6,7 +7,7 @@ module VagrantPlugins
6
7
  class Client
7
8
 
8
9
  def initialize(url)
9
- @logger = Log4r::Logger.new('vmck::client')
10
+ @logger = Log4r::Logger.new("vagrant_vmck::client")
10
11
  @client = Faraday.new({ :url => url })
11
12
  end
12
13
 
@@ -9,10 +9,32 @@ module VagrantPlugins
9
9
  end
10
10
 
11
11
  provider :vmck do
12
+ setup_logging
13
+
12
14
  require_relative 'provider'
13
15
  Provider
14
16
  end
15
- end
16
17
 
18
+ def self.setup_logging
19
+ require "log4r"
20
+
21
+ level = nil
22
+ begin
23
+ level = Log4r.const_get(ENV["VAGRANT_LOG"].upcase)
24
+ rescue NameError
25
+ level = nil
26
+ end
27
+
28
+ level = nil if !level.is_a?(Integer)
29
+
30
+ if level
31
+ logger = Log4r::Logger.new("vagrant_vmck")
32
+ logger.outputters = Log4r::Outputter.stderr
33
+ logger.level = level
34
+ logger = nil
35
+ end
36
+ end
37
+
38
+ end
17
39
  end
18
40
  end
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module Vmck
3
- VERSION = "0.3.0"
3
+ VERSION = "0.3.1"
4
4
  end
5
5
  end
@@ -6,9 +6,7 @@ Vagrant.configure("2") do |config|
6
6
  end
7
7
 
8
8
  config.nfs.functional = false
9
- config.vm.provision 'shell', inline: 'mv /vagrant/submission.zip .; \
10
- unzip submission.zip; \
11
- chown -R vagrant:vagrant .'
9
+
12
10
  config.vm.provider :vmck do |vmck|
13
11
  vmck.vmck_url = ENV['VMCK_URL']
14
12
  end
data/submission/launch.sh CHANGED
@@ -4,16 +4,27 @@ cd "$( dirname "${BASH_SOURCE[0]}" )"
4
4
 
5
5
  trap "vagrant destroy -f" EXIT
6
6
 
7
- curl "${ARCHIVE_URL}" -o submission.zip
8
- curl "${SCRIPT_URL}" -o checker.sh
7
+ curl "${VMCK_ARCHIVE_URL}" -o archive.zip
8
+ curl "${VMCK_SCRIPT_URL}" -o script.sh
9
+ curl "${VMCK_ARTIFACT_URL}" -o artifact.zip
10
+
11
+ chmod +x script.sh
9
12
 
10
13
  vagrant up
11
- vagrant ssh -- < checker.sh > result.out
14
+ (
15
+ set +e
16
+ vagrant ssh -- 'cd /vagrant; ./script.sh' 1> result.out 2> result.err
17
+ echo $? > result.exit_code
18
+ )
19
+
20
+ exit_code=$(cat result.exit_code)
21
+ stdout="$(base64 result.out)"
22
+ stderr="$(base64 result.err)"
12
23
 
13
- data="$(base64 result.out)"
14
- JSON_STRING=$(jq -n \
15
- --arg tok "$SUBMISSION_ID" \
16
- --arg out "$data" \
17
- '{token: $tok, output: $out,}')
18
- curl -X POST "${INTERFACE_ADDRESS}/done/" -d "$JSON_STRING" \
24
+ RESULT_JSON=$(jq -n \
25
+ --arg out "$stdout" \
26
+ --arg err "$stderr" \
27
+ --arg code $exit_code \
28
+ '{stdout: $out, stderr: $err, exit_code: $code,}')
29
+ curl -X POST "${VMCK_CALLBACK_URL}" -d "$RESULT_JSON" \
19
30
  --header "Content-Type: application/json"
data/vagrant-vmck.gemspec CHANGED
@@ -21,5 +21,5 @@ Gem::Specification.new do |spec|
21
21
  spec.add_dependency "log4r"
22
22
 
23
23
  spec.add_development_dependency "bundler", "~> 2.0"
24
- spec.add_development_dependency "rake", "~> 10.0"
24
+ spec.add_development_dependency "rake", "~> 12.3"
25
25
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-vmck
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Morega
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-09-16 00:00:00.000000000 Z
11
+ date: 2019-10-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '10.0'
75
+ version: '12.3'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '10.0'
82
+ version: '12.3'
83
83
  description: Enables Vagrant to use Vmck jobs.
84
84
  email:
85
85
  - alex@grep.ro