arvados-cli 0.1.20140807164620 → 0.1.20140808135152

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