Skip to content

Commit c5f122d

Browse files
committed
Merge pull request #39 from totem/develop
0.3.5 Release
2 parents acc2667 + 0887ce5 commit c5f122d

File tree

4 files changed

+29
-9
lines changed

4 files changed

+29
-9
lines changed

conf/appconfig.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@
7373

7474
DEFAULT_DEPLOYER_CONFIG = {
7575
'url': os.getenv('CLUSTER_DEPLOYER_URL', DEFAULT_DEPLOYER_URL),
76-
'enabled': True,
76+
'enabled': False,
7777
'proxy': {},
7878
'templates': {
7979
'app': {
@@ -121,7 +121,7 @@
121121
}
122122
},
123123
'deployers': {
124-
'default': DEFAULT_DEPLOYER_CONFIG
124+
'__defaults__': DEFAULT_DEPLOYER_CONFIG
125125
},
126126
'hooks': {
127127
'ci': {

orchestrator/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from celery.signals import setup_logging
33
import orchestrator.logger
44

5-
__version__ = '0.3.4'
5+
__version__ = '0.3.5'
66
__author__ = 'sukrit'
77

88
orchestrator.logger.init_logging()

orchestrator/services/config.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
from jsonschema.exceptions import SchemaError
1414
import repoze.lru
1515
from conf.appconfig import CONFIG_PROVIDERS, CONFIG_PROVIDER_LIST, \
16-
BOOLEAN_TRUE_VALUES, DEFAULT_DEPLOYER_CONFIG, API_PORT, CONFIG_NAMES
16+
BOOLEAN_TRUE_VALUES, API_PORT, CONFIG_NAMES
1717
from orchestrator.cluster_config.default import DefaultConfigProvider
1818
from orchestrator.cluster_config.effective import MergedConfigProvider
1919
from orchestrator.cluster_config.etcd import EtcdConfigProvider
@@ -317,7 +317,14 @@ def evaluate_value(value, variables={}, location='/'):
317317
return value
318318

319319
else:
320+
if '__defaults__' in value:
321+
defaults = value.get('__defaults__')
322+
del(value['__defaults__'])
323+
else:
324+
defaults = None
320325
for each_k, each_v in value.items():
326+
if defaults and hasattr(each_v, 'items'):
327+
each_v = dict_merge(each_v, defaults)
321328
value[each_k] = evaluate_value(each_v, variables,
322329
'%s%s/' % (location, each_k))
323330
return {
@@ -386,8 +393,6 @@ def evaluate_config(config, default_variables={}, var_key='variables'):
386393

387394
for deployer_name, deployer in \
388395
list(updated_config.get('deployers').items()):
389-
updated_config['deployers'][deployer_name] = dict_merge(
390-
deployer, DEFAULT_DEPLOYER_CONFIG)
391396
updated_config['deployers'][deployer_name].setdefault(
392397
'variables', {})
393398
updated_config['deployers'][deployer_name]['variables']\

tests/unit/orchestrator/services/test_config.py

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
from jsonschema import ValidationError
1212
from mock import patch
1313
from nose.tools import eq_, raises
14-
from conf.appconfig import DEFAULT_DEPLOYER_URL
14+
from conf.appconfig import DEFAULT_DEPLOYER_URL, DEFAULT_DEPLOYER_CONFIG
1515
from orchestrator.cluster_config.effective import MergedConfigProvider
1616
from orchestrator.cluster_config.etcd import EtcdConfigProvider
1717
from orchestrator.cluster_config.github import GithubConfigProvider
@@ -194,7 +194,15 @@ def test_evaluate_value_with_nested_variables():
194194
'var1': {
195195
'value': '{{ var1 }}-modified'
196196
}
197+
},
198+
'nested-key-2': {},
199+
'__defaults__': {
200+
'default1': {
201+
'value': '{{ var1 }} ',
202+
'template': True
203+
}
197204
}
205+
198206
},
199207
'list-key': [
200208
'list-value1',
@@ -224,7 +232,10 @@ def test_evaluate_value_with_nested_variables():
224232
'str-key': '{{ var1 }}',
225233
'int-key': 2,
226234
'nested-key': {
227-
'nested-key1': 'var1-value-modified'
235+
'nested-key1': 'var1-value-modified',
236+
'nested-key-2': {
237+
'default1': 'var1-value-modified'
238+
},
228239
},
229240
'list-key': [
230241
'list-value1',
@@ -334,7 +345,10 @@ def test_evaluate_config_with_deployers():
334345
'template': True
335346
},
336347
'deployers': {
337-
'default': {},
348+
'__defaults__': DEFAULT_DEPLOYER_CONFIG,
349+
'default': {
350+
'enabled': True
351+
},
338352
'deployer2': {
339353
'url': 'deployer2-url',
340354
'enabled': True,
@@ -519,6 +533,7 @@ def test_load_config(m_validate_schema, m_get_provider):
519533
'mockkey': 'mockvalue',
520534
8080: 'number-key',
521535
'deployers': {
536+
'__defaults__': DEFAULT_DEPLOYER_CONFIG,
522537
'deployer1': {
523538
'enabled': False,
524539
'variables': {}

0 commit comments

Comments
 (0)