cnvrg 0.0.9 → 0.0.10
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 +4 -4
- data/cnvrg.gemspec +1 -0
- data/lib/cnvrg/cli.rb +48 -13
- data/lib/cnvrg/version.rb +1 -1
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5356c9b6d15b9420d34a2de292ff4f4603cba459
|
4
|
+
data.tar.gz: 3551dd77cb7f4a530be06e362d4775abf9f68ede
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a151a8e04c64d7e5950ac3b2673deb0a1c4785b2742831ab676865988cddf88a94d9c115c73206ee37151652d1687bb3edb217d4eed1c5c55c217931fdbc4aad
|
7
|
+
data.tar.gz: b96a3fba90aece28aef6b494db1624e5ffd2f4dc934657f19fb38c9f14e470c4b1f4a50c5948e8131c65fcabb66550a60d223ce59af7e6cfb417bd96f1a76652
|
data/cnvrg.gemspec
CHANGED
data/lib/cnvrg/cli.rb
CHANGED
@@ -20,8 +20,7 @@ require 'cnvrg/experiment'
|
|
20
20
|
require 'etc'
|
21
21
|
require 'logstash-logger'
|
22
22
|
require 'cnvrg/job'
|
23
|
-
require '
|
24
|
-
|
23
|
+
require 'docker'
|
25
24
|
|
26
25
|
# DEV VERSION
|
27
26
|
#
|
@@ -29,12 +28,22 @@ module Cnvrg
|
|
29
28
|
class CLI < Thor
|
30
29
|
|
31
30
|
INSTALLATION_URLS = {docker: "https://docs.docker.com/engine/installation/", jupyter: "http://jupyter.readthedocs.io/en/latest/install.html"}
|
31
|
+
desc 'test', 'Prints cnvrg current version'
|
32
|
+
|
33
|
+
def test
|
34
|
+
verify_software_installed("docker")
|
35
|
+
container = Docker::Container.create( 'Image' => 'cnvrgio/python2')
|
36
|
+
# container = Docker::Container.create("1e4e23560813")
|
37
|
+
container.start
|
38
|
+
puts container.exec(['bash'], stdin: StringIO.new("python --version"))
|
32
39
|
|
40
|
+
end
|
33
41
|
|
34
42
|
desc 'version', 'Prints cnvrg current version'
|
35
43
|
|
36
44
|
def version
|
37
45
|
puts Cnvrg::VERSION
|
46
|
+
|
38
47
|
end
|
39
48
|
map %w(-v --version) => :version
|
40
49
|
|
@@ -222,6 +231,25 @@ module Cnvrg
|
|
222
231
|
clean = options["clean"]
|
223
232
|
docker_image = options["docker_image"]
|
224
233
|
if !docker_image.nil? and !docker_image.empty?
|
234
|
+
# local_images = Docker::Image.all
|
235
|
+
# docker_image_local = local_images.map{|x| x.info["RepoTags"]}.select{|y| y[0].include? docker_image}.flatten
|
236
|
+
# if docker_image_local.size == 0
|
237
|
+
# if yes? "Image wasn't found locally, pull image from cnvrg repository?"
|
238
|
+
# pull_image(docker_image)
|
239
|
+
# else
|
240
|
+
# say "Could not create a new project with docker, image was not found", Thor::Shell::Color::RED
|
241
|
+
# exit(1)
|
242
|
+
#
|
243
|
+
# end
|
244
|
+
# elsif docker_image_local.size == 1
|
245
|
+
# say "found image: #{docker_image_local[0]}, creating a container.."
|
246
|
+
# container = Docker::Container.create('Image' => '#{docker_image_local[0]}')
|
247
|
+
#
|
248
|
+
#
|
249
|
+
#
|
250
|
+
#
|
251
|
+
#
|
252
|
+
# end
|
225
253
|
pull_image(docker_image)
|
226
254
|
end
|
227
255
|
say "Creating #{project_name}", Thor::Shell::Color::BLUE
|
@@ -252,7 +280,8 @@ module Cnvrg
|
|
252
280
|
say "/nAborting"
|
253
281
|
exit(1)
|
254
282
|
end
|
255
|
-
|
283
|
+
end
|
284
|
+
|
256
285
|
|
257
286
|
|
258
287
|
desc 'link', 'Link current directory to a cnvrg project'
|
@@ -1190,7 +1219,6 @@ module Cnvrg
|
|
1190
1219
|
|
1191
1220
|
|
1192
1221
|
desc 'pull_image', 'downloads and loads a custom image'
|
1193
|
-
|
1194
1222
|
def pull_image(image_name)
|
1195
1223
|
begin
|
1196
1224
|
verify_logged_in(false)
|
@@ -1442,6 +1470,7 @@ module Cnvrg
|
|
1442
1470
|
end
|
1443
1471
|
|
1444
1472
|
def verify_software_installed(software)
|
1473
|
+
begin
|
1445
1474
|
install_url = Cnvrg::CLI::INSTALLATION_URLS[software.to_sym]
|
1446
1475
|
installed = `which #{software}`
|
1447
1476
|
if installed.empty? or installed.nil?
|
@@ -1451,18 +1480,24 @@ module Cnvrg
|
|
1451
1480
|
installed.strip!
|
1452
1481
|
case software
|
1453
1482
|
when "docker"
|
1454
|
-
is_running =
|
1455
|
-
if is_running
|
1483
|
+
is_running = system("#{installed} images>/dev/null 2>&1")
|
1484
|
+
if not is_running
|
1456
1485
|
if Helpers.mac?
|
1457
|
-
|
1458
|
-
|
1459
|
-
|
1460
|
-
|
1461
|
-
|
1462
|
-
|
1486
|
+
say "docker isn't running. run:\ndocker-machine start default 2>/dev/null & eval `docker-machine env default`", Thor::Shell::Color::BLUE
|
1487
|
+
exit(1)
|
1488
|
+
elsif Helpers.ubuntu?
|
1489
|
+
#TODO: change here
|
1490
|
+
say "docker isn't running. run:\ndocker-machine start default 2>/dev/null & eval `docker-machine env default`", Thor::Shell::Color::BLUE
|
1491
|
+
exit(1)
|
1492
|
+
end
|
1463
1493
|
end
|
1464
1494
|
end
|
1495
|
+
|
1465
1496
|
return installed
|
1497
|
+
rescue
|
1498
|
+
exit(1)
|
1499
|
+
end
|
1500
|
+
|
1466
1501
|
end
|
1467
1502
|
|
1468
1503
|
def get_local_time(time_to_update)
|
@@ -1476,7 +1511,7 @@ module Cnvrg
|
|
1476
1511
|
|
1477
1512
|
end
|
1478
1513
|
end
|
1479
|
-
end
|
1480
1514
|
|
1481
1515
|
|
1482
1516
|
|
1517
|
+
end
|
data/lib/cnvrg/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cnvrg
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yochay Ettun
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-01-
|
12
|
+
date: 2017-01-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -259,6 +259,20 @@ dependencies:
|
|
259
259
|
- - ">="
|
260
260
|
- !ruby/object:Gem::Version
|
261
261
|
version: '0'
|
262
|
+
- !ruby/object:Gem::Dependency
|
263
|
+
name: docker-api
|
264
|
+
requirement: !ruby/object:Gem::Requirement
|
265
|
+
requirements:
|
266
|
+
- - ">="
|
267
|
+
- !ruby/object:Gem::Version
|
268
|
+
version: '0'
|
269
|
+
type: :runtime
|
270
|
+
prerelease: false
|
271
|
+
version_requirements: !ruby/object:Gem::Requirement
|
272
|
+
requirements:
|
273
|
+
- - ">="
|
274
|
+
- !ruby/object:Gem::Version
|
275
|
+
version: '0'
|
262
276
|
description: A CLI tool for interacting with cnvrg.io.
|
263
277
|
email:
|
264
278
|
- info@cnvrg.io
|