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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 496681d6eef33bf3a628234cce27bc4ad7ad8ade
4
- data.tar.gz: 3b63e71e5cbe3f12e8754ca8ed0c243c9a8e11df
3
+ metadata.gz: 5356c9b6d15b9420d34a2de292ff4f4603cba459
4
+ data.tar.gz: 3551dd77cb7f4a530be06e362d4775abf9f68ede
5
5
  SHA512:
6
- metadata.gz: ea24653cfa006ea02c2702cf24219e99669e4db48c423b116f67003b00379d1ded3f2bf0badc95d74978e270129cf64fc176b3d83b88c8c72451cf035a8fe63c
7
- data.tar.gz: 950a88a8e3bb820ac1c4bb66f81eeeb142e231a51c504d82c19ceb540835c01b2061e56536c334f8beb87ed8ec50b271934cd8fc996924ee74a98fdaf9ef2d92
6
+ metadata.gz: a151a8e04c64d7e5950ac3b2673deb0a1c4785b2742831ab676865988cddf88a94d9c115c73206ee37151652d1687bb3edb217d4eed1c5c55c217931fdbc4aad
7
+ data.tar.gz: b96a3fba90aece28aef6b494db1624e5ffd2f4dc934657f19fb38c9f14e470c4b1f4a50c5948e8131c65fcabb66550a60d223ce59af7e6cfb417bd96f1a76652
@@ -35,6 +35,7 @@ Gem::Specification.new do |spec|
35
35
  spec.add_runtime_dependency 'sucker_punch', '~> 2.0'
36
36
  spec.add_runtime_dependency 'urlcrypt', '~> 0.1.1'
37
37
  spec.add_runtime_dependency 'logstash-logger'
38
+ spec.add_runtime_dependency 'docker-api'
38
39
 
39
40
  end
40
41
 
@@ -20,8 +20,7 @@ require 'cnvrg/experiment'
20
20
  require 'etc'
21
21
  require 'logstash-logger'
22
22
  require 'cnvrg/job'
23
- require 'pry'
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
- end
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 = `#{installed} images`
1455
- if is_running.include? "Cannot connect to the Docker daemon"
1483
+ is_running = system("#{installed} images>/dev/null 2>&1")
1484
+ if not is_running
1456
1485
  if Helpers.mac?
1457
- system("open -a Docker")
1458
- else
1459
- #is linux
1460
-
1461
-
1462
- end
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
@@ -1,4 +1,4 @@
1
1
  module Cnvrg
2
- VERSION = '0.0.9'
2
+ VERSION = '0.0.10'
3
3
  end
4
4
 
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.9
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-19 00:00:00.000000000 Z
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