summaryrefslogtreecommitdiff
path: root/yarns
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2018-02-07 18:54:13 +0200
committerLars Wirzenius <liw@liw.fi>2018-02-09 19:11:02 +0200
commit5cf3781ad4beddfab5aa7181c0990a5462ffe06f (patch)
treea50a769bc8b6cc7e31f28466002c7dc15f2433b4 /yarns
parent4b6fd81e121935f60f29b8314bc7c44726bf6fd7 (diff)
downloadick2-5cf3781ad4beddfab5aa7181c0990a5462ffe06f.tar.gz
Change: make all .service units be conditional on config
If the config file is missing, the unit won't start.
Diffstat (limited to 'yarns')
-rw-r--r--yarns/100-projects.yarn1
-rw-r--r--yarns/150-pipelines.yarn1
-rw-r--r--yarns/200-version.yarn4
-rw-r--r--yarns/300-workers.yarn3
-rw-r--r--yarns/400-build.yarn2
-rw-r--r--yarns/500-build-fail.yarn1
-rw-r--r--yarns/600-unauthz.yarn1
-rw-r--r--yarns/900-local.yarn13
8 files changed, 24 insertions, 2 deletions
diff --git a/yarns/100-projects.yarn b/yarns/100-projects.yarn
index 63572e7..7c18952 100644
--- a/yarns/100-projects.yarn
+++ b/yarns/100-projects.yarn
@@ -55,6 +55,7 @@ building them. We start by starting an instance of the controller.
... uapi_projects_id_put
... uapi_projects_id_delete
AND controller config uses statedir at the state directory
+ AND controller config uses https://blobs.example.com as blob service
AND a running ick controller
WHEN user makes request GET /projects
diff --git a/yarns/150-pipelines.yarn b/yarns/150-pipelines.yarn
index 7169dd5..feda6d0 100644
--- a/yarns/150-pipelines.yarn
+++ b/yarns/150-pipelines.yarn
@@ -63,6 +63,7 @@ running them. We start by starting an instance of the controller.
... uapi_pipelines_id_put
... uapi_pipelines_id_delete
AND controller config uses statedir at the state directory
+ AND controller config uses https://blobs.example.com as blob service
AND a running ick controller
WHEN user makes request GET /pipelines
diff --git a/yarns/200-version.yarn b/yarns/200-version.yarn
index fe92b34..2f87ac7 100644
--- a/yarns/200-version.yarn
+++ b/yarns/200-version.yarn
@@ -1,6 +1,6 @@
<!--
-Copyright 2017 Lars Wirzenius
+Copyright 2017-2018 Lars Wirzenius
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
@@ -26,11 +26,13 @@ The Ick controller reports is version upon request.
AND an access token for user with scopes
... uapi_version_get
AND controller config uses statedir at the state directory
+ AND controller config uses https://blobs.example.com as blob service
AND a running ick controller
WHEN user makes request GET /version
THEN result has status code 200
AND version in body matches version from setup.py
+ AND blob service URL is https://blobs.example.com
FINALLY stop ick controller
diff --git a/yarns/300-workers.yarn b/yarns/300-workers.yarn
index c94f47c..2cc7ea2 100644
--- a/yarns/300-workers.yarn
+++ b/yarns/300-workers.yarn
@@ -1,6 +1,6 @@
<!--
-Copyright 2017 Lars Wirzenius
+Copyright 2017-2018 Lars Wirzenius
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
@@ -60,6 +60,7 @@ controller API. It doesn't actually talk to the worker itself.
... uapi_workers_id_put
... uapi_workers_id_delete
AND controller config uses statedir at the state directory
+ AND controller config uses https://blobs.example.com as blob service
AND a running ick controller
WHEN user makes request GET /workers
diff --git a/yarns/400-build.yarn b/yarns/400-build.yarn
index e0af107..5de9768 100644
--- a/yarns/400-build.yarn
+++ b/yarns/400-build.yarn
@@ -27,6 +27,7 @@ Set up the controller.
GIVEN an RSA key pair for token signing
AND controller config uses statedir at the state directory
+ AND controller config uses https://blobs.example.com as blob service
AND an access token for user with scopes
... uapi_pipelines_post
... uapi_projects_post
@@ -639,6 +640,7 @@ Set up the controller.
GIVEN an RSA key pair for token signing
AND controller config uses statedir at the state directory
+ AND controller config uses https://blobs.example.com as blob service
AND an access token for user with scopes
... uapi_pipelines_post
... uapi_projects_post
diff --git a/yarns/500-build-fail.yarn b/yarns/500-build-fail.yarn
index cde859f..dcc551d 100644
--- a/yarns/500-build-fail.yarn
+++ b/yarns/500-build-fail.yarn
@@ -28,6 +28,7 @@ Set up the controller.
GIVEN an RSA key pair for token signing
AND controller config uses statedir at the state directory
+ AND controller config uses https://blobs.example.com as blob service
AND an access token for user with scopes
... uapi_pipelines_post
... uapi_projects_post
diff --git a/yarns/600-unauthz.yarn b/yarns/600-unauthz.yarn
index e8d9664..0a602af 100644
--- a/yarns/600-unauthz.yarn
+++ b/yarns/600-unauthz.yarn
@@ -28,6 +28,7 @@ Set up the controller.
GIVEN an RSA key pair for token signing
AND controller config uses statedir at the state directory
+ AND controller config uses https://blobs.example.com as blob service
AND an access token for user with scopes
... uapi_projects_post
... uapi_projects_id_pipelines_id_put
diff --git a/yarns/900-local.yarn b/yarns/900-local.yarn
index 2739542..5efad69 100644
--- a/yarns/900-local.yarn
+++ b/yarns/900-local.yarn
@@ -46,6 +46,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
IMPLEMENTS GIVEN controller config uses (\S+) at the state directory
vars['statedir'] = get_next_match()
+ IMPLEMENTS GIVEN controller config uses (\S+) as blob service
+ vars['blob_service'] = get_next_match()
+
## Start and stop the controller
IMPLEMENTS GIVEN a running ick controller
@@ -64,6 +67,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
},
],
'statedir': vars['statedir'],
+ 'blob-service': vars['blob_service'],
}
env = dict(os.environ)
env['ICK_CONTROLLER_CONFIG'] = 'ick_controller.yaml'
@@ -103,6 +107,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
filename = os.path.join(vars['statedir'], 'workers', basename + '.yaml')
assertTrue(os.path.exists(filename))
+## Check version result
+
+ IMPLEMENTS THEN blob service URL is (\S+)
+ expected = get_next_match()
+ body = vars['body']
+ obj = json.loads(body)
+ actual = obj['blob_service']
+ assertEqual(actual, expected)
+
## Start and stop blob service
IMPLEMENTS GIVEN blob service config uses (\S+) at the blob directory