Skip to content

Commit 125d499

Browse files
committed
Merge pull request #535 from kmala/storage
feat(slugrunner): pass storage parameters to slugrunner
2 parents 0bc8ae7 + bfa5843 commit 125d499

2 files changed

Lines changed: 35 additions & 25 deletions

File tree

rootfs/scheduler/__init__.py

Lines changed: 33 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -41,24 +41,24 @@
4141
"value":"$image"
4242
},
4343
{
44-
"name": "DOCKERIMAGE",
45-
"value":"1"
44+
"name": "BUILDER_STORAGE",
45+
"value":"$storagetype"
4646
}
4747
],
4848
"volumeMounts":[
4949
{
50-
"name":"minio-user",
51-
"mountPath":"/var/run/secrets/object/store",
50+
"name":"objectstorage-keyfile",
51+
"mountPath":"/var/run/secrets/deis/objectstore/creds",
5252
"readOnly":true
5353
}
5454
]
5555
}
5656
],
5757
"volumes":[
5858
{
59-
"name":"minio-user",
59+
"name":"objectstorage-keyfile",
6060
"secret":{
61-
"secretName":"minio-user"
61+
"secretName":"objectstorage-keyfile"
6262
}
6363
}
6464
],
@@ -194,14 +194,22 @@
194194
"value":"$appversion"
195195
},
196196
{
197-
"name": "DOCKERIMAGE",
198-
"value":"1"
197+
"name": "BUILDER_STORAGE",
198+
"value":"$storagetype"
199+
},
200+
{
201+
"name": "DEIS_MINIO_SERVICE_HOST",
202+
"value":"$mHost"
203+
},
204+
{
205+
"name": "DEIS_MINIO_SERVICE_PORT",
206+
"value":"$mPort"
199207
}
200208
],
201209
"volumeMounts":[
202210
{
203-
"name":"minio-user",
204-
"mountPath":"/var/run/secrets/object/store",
211+
"name":"objectstorage-keyfile",
212+
"mountPath":"/var/run/secrets/deis/objectstore/creds",
205213
"readOnly":true
206214
}
207215
]
@@ -210,9 +218,9 @@
210218
"nodeSelector": {},
211219
"volumes":[
212220
{
213-
"name":"minio-user",
221+
"name":"objectstorage-keyfile",
214222
"secret":{
215-
"secretName":"minio-user"
223+
"secretName":"objectstorage-keyfile"
216224
}
217225
}
218226
]
@@ -438,9 +446,9 @@ def create(self, namespace, **kwargs):
438446
self._create_namespace(namespace)
439447

440448
try:
441-
self._get_secret(namespace, 'minio-user')
449+
self._get_secret(namespace, 'objectstorage-keyfile')
442450
except KubeException:
443-
self._create_minio_secret(namespace)
451+
self._create_objectstore_secret(namespace)
444452

445453
try:
446454
self._get_service(namespace, namespace)
@@ -477,6 +485,7 @@ def run(self, namespace, name, image, entrypoint, command, **kwargs):
477485
'id': name,
478486
'version': self.apiversion,
479487
'image': imgurl,
488+
'storagetype': os.getenv("APP_STORAGE")
480489
}
481490

482491
if image.startswith('http://') or image.startswith('https://'):
@@ -842,6 +851,7 @@ def _create_rc(self, namespace, name, image, command, **kwargs): # noqa
842851
container_name = namespace + '-' + app_type
843852
args = command.split()
844853
imgurl = self.registry + "/" + image
854+
storageType = os.getenv("APP_STORAGE")
845855
TEMPLATE = RCD_TEMPLATE
846856

847857
l = {
@@ -853,6 +863,9 @@ def _create_rc(self, namespace, name, image, command, **kwargs): # noqa
853863
"replicas": kwargs.get("replicas", 0),
854864
"containername": container_name,
855865
"type": app_type,
866+
"storagetype": storageType,
867+
"mHost": os.getenv("DEIS_MINIO_SERVICE_HOST"),
868+
"mPort": os.getenv("DEIS_MINIO_SERVICE_PORT"),
856869
}
857870

858871
# Check if it is a slug builder image.
@@ -972,15 +985,12 @@ def _healthcheck(self, controller, path='/', port=8080, delay=30, timeout=1):
972985

973986
# SECRETS #
974987
# http://kubernetes.io/v1.1/docs/api-reference/v1/definitions.html#_v1_secret
975-
976-
def _create_minio_secret(self, namespace):
977-
secret = self._get_secret('deis', 'minio-user').json() # fetch from deis namespace
978-
979-
data = {
980-
'access-key-id': base64.b64decode(secret['data']['access-key-id']),
981-
'access-secret-key': base64.b64decode(secret['data']['access-secret-key'])
982-
}
983-
self._create_secret(namespace, 'minio-user', data)
988+
def _create_objectstore_secret(self, namespace):
989+
secret = self._get_secret('deis', 'objectstorage-keyfile').json()
990+
data = {}
991+
for key, value in secret['data'].items():
992+
data[key] = base64.b64decode(value)
993+
self._create_secret(namespace, 'objectstorage-keyfile', data)
984994

985995
def _get_secret(self, namespace, name):
986996
url = self._api("/namespaces/{}/secrets/{}", namespace, name)

rootfs/scheduler/mock.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -412,13 +412,13 @@ def __init__(self):
412412
self._create_namespace('deis')
413413

414414
try:
415-
self._get_secret('deis', 'minio-user')
415+
self._get_secret('deis', 'objectstorage-keyfile')
416416
except KubeHTTPException:
417417
secrets = {
418418
'access-key-id': 'i am a key',
419419
'access-secret-key': 'i am a secret'
420420
}
421-
self._create_secret('deis', 'minio-user', secrets)
421+
self._create_secret('deis', 'objectstorage-keyfile', secrets)
422422

423423
try:
424424
self._get_namespace('duplicate')

0 commit comments

Comments
 (0)