arvados-cli 0.1.20140807164620 → 0.1.20140808135152

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/bin/crunch-job +15 -14
  3. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e4cfcfb3b7d29ae96ca9b65c567f549d3b68c1d3
4
- data.tar.gz: b3d7a1194b800d3ad615ca4948e57c30f62b96c8
3
+ metadata.gz: be86bee39e46832415ed4640e405ee778a15330f
4
+ data.tar.gz: d4304fcf4fa668e4a3018db3ec2c7743bc69aa2d
5
5
  SHA512:
6
- metadata.gz: 5c20b291e5f1fc4920996eae6e37c6965e7dce03f3f144696dd87a6600104bfddb8027feb80dcfd898be04a154d908918d7d7bb647cc96196fccba1197d84641
7
- data.tar.gz: e363bc826b9224940fc740028f791c52f7329d29d84fe34b6b0272da5cf035ce1ca35ad2ee944be5b4754b6bab2607ddb189d5ac9c61af9bfc370b99e762872f
6
+ metadata.gz: e429f432db9046e3a0279377fd6f62d8875fcc423787f59cddf0964c5b18bbd8b4eb13bcc67b25dfefcdbb6e0a2abef30762328c80a9d319c25c0f5c25c5f62e
7
+ data.tar.gz: d7a73c64743d2a71c959cf5c7b91e0b981329f9574552efe5dbb92d23eeca01533e9ce51ed7d4552a864041a2bfdda3b9dc992ab1e7fec22a06c6a7db4484d3b
data/bin/crunch-job CHANGED
@@ -499,16 +499,17 @@ if (!$have_slurm)
499
499
 
500
500
  # If this job requires a Docker image, install that.
501
501
  my $docker_bin = "/usr/bin/docker.io";
502
- my ($docker_locator, $docker_hash);
502
+ my ($docker_locator, $docker_stream, $docker_hash);
503
503
  if ($docker_locator = $Job->{docker_image_locator}) {
504
- $docker_hash = find_docker_hash($docker_locator);
504
+ ($docker_stream, $docker_hash) = find_docker_image($docker_locator);
505
505
  if (!$docker_hash)
506
506
  {
507
507
  croak("No Docker image hash found from locator $docker_locator");
508
508
  }
509
+ $docker_stream =~ s/^\.//;
509
510
  my $docker_install_script = qq{
510
511
  if ! $docker_bin images -q --no-trunc | grep -qxF \Q$docker_hash\E; then
511
- arv-get \Q$docker_locator/$docker_hash.tar\E | $docker_bin load
512
+ arv-get \Q$docker_locator$docker_stream/$docker_hash.tar\E | $docker_bin load
512
513
  fi
513
514
  };
514
515
  my $docker_pid = fork();
@@ -1466,19 +1467,19 @@ sub must_lock_now
1466
1467
  }
1467
1468
  }
1468
1469
 
1469
- sub find_docker_hash {
1470
- # Given a Keep locator, search for a matching link to find the Docker hash
1471
- # of the stored image.
1470
+ sub find_docker_image {
1471
+ # Given a Keep locator, check to see if it contains a Docker image.
1472
+ # If so, return its stream name and Docker hash.
1473
+ # If not, return undef for both values.
1472
1474
  my $locator = shift;
1473
- my $links_result = $arv->{links}->{list}->execute(
1474
- filters => [["head_uuid", "=", $locator],
1475
- ["link_class", "=", "docker_image_hash"]],
1476
- limit => 1);
1477
- my $docker_hash;
1478
- foreach my $link (@{$links_result->{items}}) {
1479
- $docker_hash = lc($link->{name});
1475
+ if (my $image = $arv->{collections}->{get}->execute(uuid => $locator)) {
1476
+ my @file_list = @{$image->{files}};
1477
+ if ((scalar(@file_list) == 1) &&
1478
+ ($file_list[0][1] =~ /^([0-9A-Fa-f]{64})\.tar$/)) {
1479
+ return ($file_list[0][0], $1);
1480
+ }
1480
1481
  }
1481
- return $docker_hash;
1482
+ return (undef, undef);
1482
1483
  }
1483
1484
 
1484
1485
  __DATA__
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arvados-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.20140807164620
4
+ version: 0.1.20140808135152
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arvados Authors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-07 00:00:00.000000000 Z
11
+ date: 2014-08-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: arvados
@@ -166,7 +166,7 @@ dependencies:
166
166
  - - "<"
167
167
  - !ruby/object:Gem::Version
168
168
  version: 1.0.0
169
- description: This is the Arvados SDK CLI gem, git revision a15f61aef5f26dc6d0bb3e6ab02428b1d2a87ae8
169
+ description: This is the Arvados SDK CLI gem, git revision eef298a7cf58771583b255fb0e3e1cfcbcdb6e48
170
170
  email: gem-dev@curoverse.com
171
171
  executables:
172
172
  - arv