cnvrg 0.0.9 → 0.0.10
Sign up to get free protection for your applications and to get access to all the features.
- 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
|