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 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