[arvados] updated: 2.1.0-2943-gbd1e6372a
git repository hosting
git at public.arvados.org
Fri Oct 21 20:29:17 UTC 2022
Summary of changes:
doc/_config.yml | 1 +
doc/api/methods/groups.html.textile.liquid | 2 +-
doc/api/projects.html.textile.liquid | 2 +-
doc/api/properties.html.textile.liquid | 50 ++++++++++++++++++++++++++++++
sdk/cwl/tests/test_container.py | 5 +++
sdk/go/arvados/vocabulary.go | 2 ++
6 files changed, 60 insertions(+), 2 deletions(-)
create mode 100644 doc/api/properties.html.textile.liquid
via bd1e6372a91fe31dd0a5d9b112b1026013f9a887 (commit)
from a7caca5452e7ece2ea3f6efd3ab4bb992c1f31fb (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 bd1e6372a91fe31dd0a5d9b112b1026013f9a887
Author: Peter Amstutz <peter.amstutz at curii.com>
Date: Fri Oct 21 16:28:56 2022 -0400
19466: Add an API documentation page about properties
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <peter.amstutz at curii.com>
diff --git a/doc/_config.yml b/doc/_config.yml
index 148e1a166..b0b2c29a0 100644
--- a/doc/_config.yml
+++ b/doc/_config.yml
@@ -131,6 +131,7 @@ navbar:
- api/keep-s3.html.textile.liquid
- api/keep-web-urls.html.textile.liquid
- api/projects.html.textile.liquid
+ - api/properties.html.textile.liquid
- api/methods/collections.html.textile.liquid
- api/methods/repositories.html.textile.liquid
- Container engine:
diff --git a/doc/api/methods/groups.html.textile.liquid b/doc/api/methods/groups.html.textile.liquid
index db0aac3c7..72fca4856 100644
--- a/doc/api/methods/groups.html.textile.liquid
+++ b/doc/api/methods/groups.html.textile.liquid
@@ -38,7 +38,7 @@ table(table table-bordered table-condensed).
|is_trashed|datetime|True if @trash_at@ is in the past, false if not.||
|frozen_by_uuid|string|For a frozen project, indicates the user who froze the project; null in all other cases. When a project is frozen, no further changes can be made to the project or its contents, even by admins. Attempting to add new items or modify, rename, move, trash, or delete the project or its contents, including any subprojects, will return an error.||
-h3. Frozen projects
+h3(#frozen). Frozen projects
A user with @manage@ permission can set the @frozen_by_uuid@ attribute of a @project@ group to their own user UUID. Once this is done, no further changes can be made to the project or its contents, including subprojects.
diff --git a/doc/api/projects.html.textile.liquid b/doc/api/projects.html.textile.liquid
index 9aa3d85d4..5cb630c43 100644
--- a/doc/api/projects.html.textile.liquid
+++ b/doc/api/projects.html.textile.liquid
@@ -27,7 +27,7 @@ In this command, `zzzzz-tpzed-123456789012345` is a @user@ uuid, which is unusua
Because the home project is a virtual project, other operations via the @groups@ API are not supported.
-h2. Filter groups
+h2(#filtergroups). Filter groups
Filter groups are another type of virtual project. They are implemented as an Arvados @group@ object with @group_class@ set to the value "filter".
diff --git a/doc/api/properties.html.textile.liquid b/doc/api/properties.html.textile.liquid
new file mode 100644
index 000000000..2c675f2e1
--- /dev/null
+++ b/doc/api/properties.html.textile.liquid
@@ -0,0 +1,50 @@
+---
+layout: default
+navsection: api
+title: "Metadata properties"
+...
+{% comment %}
+Copyright (C) The Arvados Authors. All rights reserved.
+
+SPDX-License-Identifier: CC-BY-SA-3.0
+{% endcomment %}
+
+Arvados allows you to attach arbitrary properties to @collection@, @container_request@, @link@ and @group@ records that have a @properties@ field. These are key-value pairs, where the value is a valid JSON type (string, number, null, boolean, array, object).
+
+Searching for records using properties is described in "Filtering on subproperties":methods.html#subpropertyfilters .
+
+h2. Reserved properties
+
+The following properties are set by Arvados components.
+
+table(table table-bordered table-condensed).
+|_. Property name|_. Appears on|_. Value type|_.Description|
+|type|collection|string|Appears on collections to indicates the contents or usage. See below for details.|
+|container_request|collection|string|The UUID of the container request that produced an output or log collection.|
+|docker-image-repo-tag|collection|string|For collections containing a Docker image, the repo/name:tag identifier|
+|container_uuid|collection|string|The UUID of the container that produced a collection (set on collections with type=log)|
+|cwl_inputs|object|container_request|On an intermediate container request, the CWL workflow-level input parameters used to generate the container request|
+|cwl_outputs|object|container_request|On an intermediate container request, the CWL workflow-level output parameters collected from the container request|
+|template_uuid|string|container_request|For a workflow runner container request, the workflow record that was used to launch it.|
+|username|string|link|For a "can_login":permission-model.html#links permission link, the unix username on the VM that the user will have.|
+|groups|array of string|link|For a "can_login":permission-model.html#links permission link, the unix groups on the VM that the user will be added to.|
+|image_timestamp|string|link|When resolving a Docker image name and multiple links are found with @link_class=docker_image_repo+tag@ and same @link_name@, the @image_timestamp@ is used to determine precedence (most recent wins).|
+|filters|array of array of string|group|Used to define "filter groups":projects.html#filtergroup|
+
+h3. Collection "type" values
+
+Meaningful values of the @type@ property.
+
+table(table table-bordered table-condensed).
+|_. Type|_.Description|
+|log|The collection contains log files from a container run.|
+|output|The collection contains the output of a top-level container run (this is a container request where @requesting_container_uuid@ is null).|
+|intermediate|The collection contains the output of a child container run (this is a container request where @requesting_container_uuid@ is non-empty).|
+
+h2. Controlling user-supplied properties
+
+Arvados can be configured with a vocabulary file that lists valid properties and the range of valid values for those properties. This is described in "Metadata vocabulary":{{site.baseurl}}/admin/metadata-vocabulary.html .
+
+Arvados offers options to set properties automatically and/or prevent certain properties, once set, from being changed by non-admin users. This is described in "Configuring collection's managed properties":{{site.baseurl}}/admin/collection-managed-properties.html .
+
+The admin can require that certain properties must be non-empty before "freezing a project":methods/groups.html#frozen .
diff --git a/sdk/cwl/tests/test_container.py b/sdk/cwl/tests/test_container.py
index 0ce8e265b..ae3eab6ed 100644
--- a/sdk/cwl/tests/test_container.py
+++ b/sdk/cwl/tests/test_container.py
@@ -534,6 +534,7 @@ class TestContainer(unittest.TestCase):
arvjob.successCodes = [0]
arvjob.outdir = "/var/spool/cwl"
arvjob.output_ttl = 3600
+ arvjob.uuid = "zzzzz-xvhdp-zzzzzzzzzzzzzz1"
arvjob.collect_outputs.return_value = {"out": "stuff"}
@@ -554,6 +555,10 @@ class TestContainer(unittest.TestCase):
arvjob.output_callback.assert_called_with({"out": "stuff"}, "success")
runner.add_intermediate_output.assert_called_with("zzzzz-4zz18-zzzzzzzzzzzzzz2")
+ runner.api.container_requests().update.assert_called_with(uuid="zzzzz-xvhdp-zzzzzzzzzzzzzz1",
+ body={'container_request': {'properties': {'cwl_output': {'out': 'stuff'}}}})
+
+
# Test to make sure we dont call runtime_status_update if we already did
# some where higher up in the call stack
@mock.patch("arvados_cwl.util.get_current_container")
diff --git a/sdk/go/arvados/vocabulary.go b/sdk/go/arvados/vocabulary.go
index bb1bec789..17e63964f 100644
--- a/sdk/go/arvados/vocabulary.go
+++ b/sdk/go/arvados/vocabulary.go
@@ -37,6 +37,8 @@ func (v *Vocabulary) systemTagKeys() map[string]bool {
"docker-image-repo-tag": true,
"filters": true,
"container_request": true,
+ "cwl_inputs": true,
+ "cwl_outputs": true,
}
}
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list