cnvrg 2.0.1 → 2.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Readme.md +17 -1
- data/lib/cnvrg/cli.rb +3 -3
- data/lib/cnvrg/files.rb +5 -1
- data/lib/cnvrg/helpers/executer.rb +2 -2
- data/lib/cnvrg/project.rb +22 -7
- data/lib/cnvrg/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b238ce877c0fa8da80c63c6d3d165ce974c250ea9c3f3d21ff092098356aa5a5
|
4
|
+
data.tar.gz: 7c7b4aa637b3bcaf5f18a7eb973d6995f0f1e25147a16a2ccfb1ce3d6dea91e3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fb1b724199e92fddfa2be4c04b9eb1a8a94e1df65759482fb6c3173f7c3c7632d236c22836749e5f1d6578115555b838285b58d1a95a42ce2df67d3a354da043
|
7
|
+
data.tar.gz: c840826e01dcd8061fdb1bf065f416d97ca3fe35575649171814741c32332b458c7bac57fa248e9afd45f337b60b18003077cc72d5927527490689572608ad6b
|
data/Readme.md
CHANGED
@@ -23,4 +23,20 @@
|
|
23
23
|
2021-05-05
|
24
24
|
* DEV-8868 - Bug: SDK - e.sync() in git project only creates empty "output" folder in commit
|
25
25
|
## Version v2.0.1
|
26
|
-
2021-06-13
|
26
|
+
2021-06-13
|
27
|
+
## Version v2.0.2
|
28
|
+
2021-06-16
|
29
|
+
* DEV-9694 - Bug: Download artifacts fails on authorization error
|
30
|
+
## Version v2.0.3
|
31
|
+
2021-06-29
|
32
|
+
* DEV-9919 - Bug: clone artifacts fails on "Not Authorize, Are you logged in?"
|
33
|
+
## Version v2.0.4
|
34
|
+
2021-07-08
|
35
|
+
* DEV-9935 - Bug: CLI - cnvrg sync creates new commit but no blob versions
|
36
|
+
## Version v2.0.5
|
37
|
+
2021-07-11
|
38
|
+
* DEV-10171 - Bug: experiment randomly fails with error- "Couldn't clone artifacts"
|
39
|
+
* DEV-10189 - Bug: CLI Sync -file/folder with broken symlink will cause sync to fail
|
40
|
+
## Version v2.0.6
|
41
|
+
2021-07-18
|
42
|
+
* DEV-10209 - Bug: some experiments in grid failed on cnvrg-cli commands (docker container id was missing)
|
data/lib/cnvrg/cli.rb
CHANGED
@@ -3006,12 +3006,12 @@ module Cnvrg
|
|
3006
3006
|
method_option :job_slug, :type => :string, :aliases => ["-j", "--job"], :default => nil
|
3007
3007
|
method_option :job_type, :type => :string, :aliases => ["-jt", "--job_type"], :default => nil
|
3008
3008
|
method_option :files, :type => :string, :aliases => ["--files"], :default => nil
|
3009
|
-
method_option :output_dir, :type => :string, :aliases => ["--output_dir"], :default =>
|
3009
|
+
method_option :output_dir, :type => :string, :aliases => ["--output_dir"], :default => 'output'
|
3010
3010
|
method_option :git_diff, :type => :boolean, :aliases => ["--git_diff"], :default => false
|
3011
3011
|
method_option :suppress_exceptions, :type => :boolean, :aliases => ["--suppress-exceptions"], :default => true
|
3012
3012
|
method_option :debug_mode, :type => :boolean, :aliases => ["--debug-mode"], :default => false
|
3013
3013
|
method_option :chunk_size, :type => :numeric, :aliases => ["--chunk"], :default => 1000
|
3014
|
-
method_option :local, :type => :boolean, :aliases => ["--local"], :default =>
|
3014
|
+
method_option :local, :type => :boolean, :aliases => ["--local"], :default => true
|
3015
3015
|
|
3016
3016
|
def sync(direct = true)
|
3017
3017
|
verify_logged_in(true) if direct
|
@@ -5007,7 +5007,7 @@ module Cnvrg
|
|
5007
5007
|
end
|
5008
5008
|
end
|
5009
5009
|
|
5010
|
-
desc 'experiments', 'List project experiments'
|
5010
|
+
desc 'experiments', 'List project experiments'
|
5011
5011
|
method_option :id, :type => :string, :aliases => ["--id"], :desc => "Get info for specific experiments", :default => ""
|
5012
5012
|
method_option :tag, :type => :string, :aliases => ["-t"], :desc => "Get info for specific experiment tag", :default => ""
|
5013
5013
|
|
data/lib/cnvrg/files.rb
CHANGED
@@ -730,7 +730,11 @@ module Cnvrg
|
|
730
730
|
end
|
731
731
|
res = Cnvrg::API.request(@base_resource + "download_files", 'POST', {files: files, commit: commit})
|
732
732
|
unless Cnvrg::CLI.is_response_success(res, false)
|
733
|
-
|
733
|
+
begin
|
734
|
+
puts(res)
|
735
|
+
rescue
|
736
|
+
end
|
737
|
+
raise StandardError.new("Cant download files from the server.")
|
734
738
|
end
|
735
739
|
self.download_multiple_files_s3(res['result'], @project_home, postfix: postfix, progress: progress, threads: threads)
|
736
740
|
end
|
@@ -3,7 +3,7 @@ require 'cnvrg/helpers/agent'
|
|
3
3
|
class Cnvrg::Helpers::Executer
|
4
4
|
attr_reader :machine_activity, :agent_id, :main_id
|
5
5
|
MAIN_CONTAINER_PORT = ENV['MAIN_CONTAINER_PORT'].try(:to_i) || 4000
|
6
|
-
|
6
|
+
HAS_DOCKER = ENV['HAS_DOCKER'] == "true"
|
7
7
|
|
8
8
|
### this class represent a machine_activity. it will poll the commands, communicate with the
|
9
9
|
# server (poll commands) and let the server know the status of this executer.
|
@@ -84,7 +84,7 @@ class Cnvrg::Helpers::Executer
|
|
84
84
|
agent_id = nil
|
85
85
|
main_id = nil
|
86
86
|
timeout = 2
|
87
|
-
timeout = nil if !@is_new_main
|
87
|
+
timeout = nil if (!@is_new_main || HAS_DOCKER)
|
88
88
|
Timeout.timeout(timeout) do
|
89
89
|
while agent_id.blank? or main_id.blank?
|
90
90
|
grep_by = @job_id
|
data/lib/cnvrg/project.rb
CHANGED
@@ -328,15 +328,21 @@ module Cnvrg
|
|
328
328
|
end
|
329
329
|
|
330
330
|
def get_storage_client
|
331
|
-
|
332
|
-
|
333
|
-
|
331
|
+
client_params = nil
|
332
|
+
i = 0
|
333
|
+
begin
|
334
|
+
response = Cnvrg::API.request("users/#{@owner}/projects/#{@slug}/client", 'GET')
|
335
|
+
unless Cnvrg::CLI.is_response_success(response, false)
|
336
|
+
raise StandardError.new("Can't find project credentials")
|
337
|
+
end
|
334
338
|
client_params = response['client']
|
335
|
-
|
336
|
-
|
339
|
+
rescue StandardError
|
340
|
+
i += 1
|
341
|
+
sleep(5 * i)
|
342
|
+
retry if i < 10
|
337
343
|
client_params = get_storage_client_fallback
|
338
344
|
end
|
339
|
-
|
345
|
+
raise StandardError.new("Can't find project credentials") unless client_params
|
340
346
|
Cnvrg::Downloader::Client.factory(client_params)
|
341
347
|
end
|
342
348
|
|
@@ -381,10 +387,12 @@ module Cnvrg
|
|
381
387
|
def generate_output_dir(output_dir, local: false)
|
382
388
|
Cnvrg::Logger.log_info("Generating output dir for #{output_dir}")
|
383
389
|
upload_list = []
|
390
|
+
list = []
|
384
391
|
list = Dir.glob("/cnvrg/#{output_dir}/**/*", File::FNM_DOTMATCH)
|
385
392
|
if local
|
386
393
|
list += Dir.glob("#{output_dir}/**/*", File::FNM_DOTMATCH)
|
387
394
|
end
|
395
|
+
list.uniq!
|
388
396
|
Parallel.map(list, in_threads: IDXParallelThreads) do |e|
|
389
397
|
next if e.end_with? "/."
|
390
398
|
if File.directory? e
|
@@ -449,6 +457,10 @@ module Cnvrg
|
|
449
457
|
if list_ignore_new.include? label
|
450
458
|
next
|
451
459
|
end
|
460
|
+
if File.symlink?(e)
|
461
|
+
Cnvrg::Logger.log_info("Skipping symlink #{e}")
|
462
|
+
next
|
463
|
+
end
|
452
464
|
if File.directory? e
|
453
465
|
dir_name = (label.ends_with? "/") ? label : (label + "/")
|
454
466
|
tree_idx[dir_name] = nil
|
@@ -701,8 +713,11 @@ module Cnvrg
|
|
701
713
|
res = JSON.parse(resp['result']) rescue nil
|
702
714
|
return if res.blank?
|
703
715
|
config = self.get_config
|
704
|
-
config[:is_git] = res['git']
|
705
716
|
config[:project_name] = res['title']
|
717
|
+
config[:project_slug] = @slug
|
718
|
+
config[:owner] = @owner
|
719
|
+
config[:git] = res['git'] || false
|
720
|
+
config[:is_git] = res['git'] || false
|
706
721
|
self.set_config(config)
|
707
722
|
end
|
708
723
|
|
data/lib/cnvrg/version.rb
CHANGED
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cnvrg
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yochay Ettun
|
8
8
|
- Leah Kolben
|
9
9
|
- Omer Shacham
|
10
|
-
autorequire:
|
10
|
+
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2021-
|
13
|
+
date: 2021-07-20 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bundler
|
@@ -473,7 +473,7 @@ files:
|
|
473
473
|
homepage: https://cnvrg.io
|
474
474
|
licenses: []
|
475
475
|
metadata: {}
|
476
|
-
post_install_message:
|
476
|
+
post_install_message:
|
477
477
|
rdoc_options: []
|
478
478
|
require_paths:
|
479
479
|
- lib
|
@@ -488,8 +488,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
488
488
|
- !ruby/object:Gem::Version
|
489
489
|
version: '0'
|
490
490
|
requirements: []
|
491
|
-
rubygems_version: 3.
|
492
|
-
signing_key:
|
491
|
+
rubygems_version: 3.2.22
|
492
|
+
signing_key:
|
493
493
|
specification_version: 4
|
494
494
|
summary: A CLI tool for interacting with cnvrg.io.
|
495
495
|
test_files: []
|