[ARVADOS] updated: aba01982549102659a7c49a3241544c9f27892b9

git at public.curoverse.com git at public.curoverse.com
Thu Jun 12 14:52:55 EDT 2014


Summary of changes:
 .../app/controllers/application_controller.rb      | 168 ++++++++++++
 apps/workbench/app/helpers/application_helper.rb   |  52 +++-
 .../app/views/application/_show_metadata.html.erb  |  12 +
 apps/workbench/app/views/users/_tables.html.erb    |  51 +++-
 .../test/functional/application_controller_test.rb | 299 +++++++++++++++++++++
 sdk/cli/bin/crunch-job                             |   7 +-
 sdk/python/arvados/commands/keepdocker.py          |  25 +-
 .../v1/api_client_authorizations_controller.rb     |   6 +
 .../controllers/arvados/v1/schema_controller.rb    |   3 +-
 .../src/arvados.org/crunchstat/crunchstat.go       |  78 ++++--
 10 files changed, 632 insertions(+), 69 deletions(-)
 create mode 100644 apps/workbench/test/functional/application_controller_test.rb

       via  aba01982549102659a7c49a3241544c9f27892b9 (commit)
       via  6062f43df197e6e5bf0290d4ba3560c6ed57cc9e (commit)
       via  557b0b0e61a16c098785f66e5f10b0b72973d822 (commit)
       via  638f03c78abf5b16fb263bbcb970de6c3f033422 (commit)
       via  79c7c4737db1426f46e37be8b98a37c8476f3035 (commit)
       via  6089a56c4a50d48f87d6c43ec505863abdaeec6a (commit)
       via  abbb31362b5fee5763cb9afa56fe1c3f372721aa (commit)
       via  ade6281bfee602253f2d42c8337f5c63373f0429 (commit)
       via  13254dc054d9f2f50cc0c5f878f6ecfb6fcbed7f (commit)
       via  40cedbe09d7e8fe3223ebe3da14d7d6983b22df1 (commit)
       via  bba95a22451284c2d4d6787cd2e3fa98c3c21cdf (commit)
       via  7e57f7b23f2580894e183ddb33c36e1556336a69 (commit)
       via  a9beb0e51fdd2782c4aeaa1f5c2d20d6ad7dd435 (commit)
       via  9bda231180fc58e67b0c322c16be223154965b66 (commit)
       via  85ce092000d72c5dda03bd4763c9613bb9a46437 (commit)
       via  5da7bddd63790e524e4b22a6944a92065409241d (commit)
       via  7ccba0ea6cb9916a1bad55f13cc45029f0bc37bd (commit)
       via  eaa312ea7c35e35c64dbef9624be1d9c7df034ef (commit)
       via  3692a4ac4d8f76d2e704af5e504652650b4a00cc (commit)
       via  73c0b152d18774266e72916d6f8cedb3199b535c (commit)
       via  2cdc648b5367efd4c8e7b2ede93a2b3ba0871c17 (commit)
       via  97a1da1dfde9ef3ef195f7513309da8c6bb17978 (commit)
       via  a2bcc06c1bda757ed8c869d7f9ad235f56abdcf4 (commit)
       via  dd6e25d53f9cf02f91b419584ff4c331e0618a24 (commit)
       via  400829b3835f0a129116a2eed926d12a0636aeab (commit)
       via  f6e5ba4510e2072415a8d6b5369b11b8003ddafa (commit)
       via  55b94087ff4590c54cf1f43d941c6cb24153dded (commit)
       via  408649cc0e9ad3d30296b0750680fb62fefe6d82 (commit)
       via  1bd85c64fbf485acceac4711ff06e6b2f548d40a (commit)
       via  f3da69fb1b882c7fe8feb765ad0558f13706931a (commit)
       via  620a10bed55b85294baad9dba965ea8dad59e884 (commit)
       via  f3b4b263d8c656e15993ea71146747e8cf102bf9 (commit)
       via  16cc50a4161448f9987635e06fe3d772ee0321ab (commit)
       via  25f3a23bc8794b77a1b5fa1e5e7f9c38a152dd8f (commit)
       via  33fed6bb30180c9dedb046d6266acbbc48dcfcd4 (commit)
       via  87dc5129e903cb7452e06c936d8e5e581c4d2481 (commit)
       via  bc784d9eeadfc04aedea9772bb8913f5e8b86cd1 (commit)
       via  10486fd2453c92a62c0a97491259d1391e5cb872 (commit)
       via  cdc46777d33cc341969ba791175a8ca0925e77dc (commit)
       via  570201300b90a676b4bc49ea02627d1057386615 (commit)
       via  3674d731b92e091811872eef0b909171d3574614 (commit)
       via  03812184bfa1ab7f17960ef48ff30798333bdd54 (commit)
       via  6b13646940de2e5a62e600f2d7d82c72e3a4ae59 (commit)
       via  dfe74093596d3d7378e6f0d3e5f843f44d987074 (commit)
       via  ca77755f57b0478e3f4fbe3e6a6d7ade95012808 (commit)
       via  66da5859254325690a78512d03b6b02e3f69a237 (commit)
       via  349ab8f9e11d462c878cd6be6d24bf5790af3d50 (commit)
       via  8c9fa09deea0cb68b68f110fdbb1b1daa50a618c (commit)
       via  161478d5be79e83f3e200b46f0d8d003caa2ffe0 (commit)
       via  ec08a1b9aefcd801d1f0c0b282b268cbee6939bc (commit)
       via  2f1baf225599d7ae5dec4611696774e6a7100d58 (commit)
       via  f10a7f68c6ef25cf4ba87045201b17093a11249e (commit)
      from  c5a9ca239af3326a0eb4c37d538b33f5b4ab83aa (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit aba01982549102659a7c49a3241544c9f27892b9
Merge: 6062f43 557b0b0
Author: Brett Smith <brett at curoverse.com>
Date:   Thu Jun 12 14:53:05 2014 -0400

    Merge branch 'master' into 2879-docker-image-installer-wip


commit 6062f43df197e6e5bf0290d4ba3560c6ed57cc9e
Author: Brett Smith <brett at curoverse.com>
Date:   Thu Jun 12 14:51:23 2014 -0400

    2879: Clarify Docker image search behavior in Keep installer.

diff --git a/sdk/python/arvados/commands/keepdocker.py b/sdk/python/arvados/commands/keepdocker.py
index 318f730..c04885c 100644
--- a/sdk/python/arvados/commands/keepdocker.py
+++ b/sdk/python/arvados/commands/keepdocker.py
@@ -82,11 +82,17 @@ def docker_images():
     list_proc.stdout.close()
     check_docker(list_proc, "images")
 
-def find_image_hash(image_name, image_tag):
-    hash_search = image_name.lower()
+def find_image_hash(image_search, image_tag=None):
+    # Given one argument, search for one Docker image with a matching hash,
+    # and return its full hash.
+    # Given two arguments, also search for a Docker image with the same
+    # repository and tag.  If one is found, return its hash; otherwise,
+    # fall back to the one-argument hash search.
+    # Returns None if no match is found, or a hash search is ambiguous.
+    hash_search = image_search.lower()
     hash_matches = set()
     for image in docker_images():
-        if (image.repo == image_name) and (image.tag == image_tag):
+        if (image.repo == image_search) and (image.tag == image_tag):
             return image.hash
         elif image.hash.startswith(hash_search):
             hash_matches.add(image.hash)
@@ -143,7 +149,7 @@ def main(arguments=None):
 
     # Pull the image if requested, unless the image is specified as a hash
     # that we already have.
-    if args.pull and (find_image_hash(args.image, None) is None):
+    if args.pull and (find_image_hash(args.image) is None):
         pull_image(args.image, args.tag)
 
     image_hash = find_image_hash(args.image, args.tag)

commit 638f03c78abf5b16fb263bbcb970de6c3f033422
Author: Brett Smith <brett at curoverse.com>
Date:   Thu Jun 12 14:44:55 2014 -0400

    2879: Docker Keep installer returns 0 if image already installed.

diff --git a/sdk/python/arvados/commands/keepdocker.py b/sdk/python/arvados/commands/keepdocker.py
index 0c4930e..318f730 100644
--- a/sdk/python/arvados/commands/keepdocker.py
+++ b/sdk/python/arvados/commands/keepdocker.py
@@ -161,7 +161,7 @@ def main(arguments=None):
                 format(image_hash)]
             message.extend(link['head_uuid'] for link in existing_links)
             print >>sys.stderr, "\n".join(message)
-            sys.exit(1)
+            sys.exit(0)
 
     # Open a file for the saved image, and write it if needed.
     outfile_name = '{}.tar'.format(image_hash)

commit 79c7c4737db1426f46e37be8b98a37c8476f3035
Author: Brett Smith <brett at curoverse.com>
Date:   Thu Jun 12 14:28:36 2014 -0400

    2879: Docker Keep installer doesn't cache `docker images` output.
    
    This caching actually introduces a bug, since we want to pull new
    information after `docker pull`.  I could've invalidated the cache,
    but we don't really need it, so better to just cut the code out.

diff --git a/sdk/python/arvados/commands/keepdocker.py b/sdk/python/arvados/commands/keepdocker.py
index 39dc664..0c4930e 100644
--- a/sdk/python/arvados/commands/keepdocker.py
+++ b/sdk/python/arvados/commands/keepdocker.py
@@ -20,7 +20,6 @@ STAT_CACHE_ERRORS = (IOError, OSError, ValueError)
 
 DockerImage = namedtuple('DockerImage',
                          ['repo', 'tag', 'hash', 'created', 'vsize'])
-_docker_image_list = None
 
 opt_parser = argparse.ArgumentParser(add_help=False)
 opt_parser.add_argument(
@@ -68,7 +67,7 @@ def check_docker(proc, description):
         raise DockerError("docker {} returned status code {}".
                           format(description, proc.returncode))
 
-def _get_docker_images():
+def docker_images():
     # Yield a DockerImage tuple for each installed image.
     list_proc = popen_docker(['images', '--no-trunc'], stdout=subprocess.PIPE)
     list_output = iter(list_proc.stdout)
@@ -83,12 +82,6 @@ def _get_docker_images():
     list_proc.stdout.close()
     check_docker(list_proc, "images")
 
-def docker_images():
-    global _docker_image_list
-    if _docker_image_list is None:
-        _docker_image_list = list(_get_docker_images())
-    return _docker_image_list
-
 def find_image_hash(image_name, image_tag):
     hash_search = image_name.lower()
     hash_matches = set()

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list