vagrant-vmck 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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