This page describes a new configuration system that will be added to VCL that can be used to dynamically configure deployed systems.
config:
configtype:
configinstance:This is similar to the config table, but is for deployed systems.* id - id of record
configinstancevariable:This is similar to the configvariable table, but is for deployed systems.* configinstanceid - config instance this is associated with (references configinstance.id)
configmap:This is for mapping configs to various resources or other items in VCL.* configid - config being mapped (references config.id)
configmaptype:
This example shows how to assign a VLAN to an image.
For this example, we'll use the following values from other tables:
configtype:
id |
name |
moduleid |
---|---|---|
5 |
VLAN |
67 |
config:
id |
name |
ownerid |
configtypeid |
data |
optional |
---|---|---|---|---|---|
77 |
VLAN 30 |
54 |
5 |
30 |
0 |
configvariable:
id |
name |
configid |
value |
required |
ask |
key |
datatype |
---|---|---|---|---|---|---|---|
486 |
VLAN |
77 |
30 |
1 |
0 |
(empty) |
int |
configmaptype:
id |
name |
---|---|
1 |
image |
configmap:
configid |
subid |
configmaptypeid |
affiliationid |
disabled |
stage |
---|---|---|---|---|---|
77 |
524 |
1 |
6 |
0 |
post_load |
configinstance:
id |
reservationid |
configid |
status |
---|---|---|---|
6854 |
2748 |
77 |
new |
configinstancevariable:
configinstanceid |
configvariableid |
value |
---|---|---|
6854 |
486 |
30 |
This example shows how a hadoop cluster can be requested with 5-10 slave nodes. It can be useful to have the variable amount because 10 nodes may be desired, but you may want to cluster anyway if only 5 nodes are available or if 10 are requested, but 2 of them fail at deploy time.
For this example, we'll use the following values from other tables:
configtype:
id |
name |
moduleid |
---|---|---|
2 |
subimage |
58 |
config:
id |
name |
ownerid |
configtypeid |
data |
optional |
---|---|---|---|---|---|
59 |
hadoop cluster |
9 |
2 |
(empty) |
0 |
configvariable:
id |
name |
configid |
value |
required |
ask |
key |
datatype |
---|---|---|---|---|---|---|---|
146 |
subimage |
59 |
454 |
1 |
0 |
(empty) |
int |
147 |
min |
59 |
1 |
1 |
1 |
(empty) |
int |
148 |
max |
59 |
50 |
1 |
1 |
(empty) |
int |
configmaptype:
id |
name |
---|---|
1 |
image |
configmap:
configid |
subid |
configmaptypeid |
affiliationid |
disabled |
stage |
---|---|---|---|---|---|
59 |
453 |
1 |
5 |
0 |
start_load |
configinstance:
id |
reservationid |
configid |
status |
---|---|---|---|
5023 |
2351 |
59 |
new |
configinstancevariable:
configinstanceid |
configvariableid |
value |
---|---|---|
5023 |
146 |
2352 |
5023 |
146 |
2353 |
5023 |
146 |
2354 |
5023 |
146 |
2355 |
5023 |
146 |
2356 |
5023 |
146 |
2357 |
5023 |
146 |
2358 |
5023 |
146 |
2359 |
5023 |
146 |
2360 |
5023 |
146 |
2361 |
5023 |
147 |
5 |
5023 |
148 |
10 |
This example shows how to configure a SAS cluster of 3 nodes: meta, midtier, and apps so that they are all deployed and then started in the correct order.
For this example, we'll use the following values from other tables:
configtype:
id |
name |
moduleid |
---|---|---|
1 |
puppet |
57 |
2 |
subimage |
58 |
3 |
shellcommand |
59 |
config:
id |
name |
ownerid |
configtypeid |
data |
optional |
---|---|---|---|---|---|
76 |
SAS apps |
15 |
2 |
(empty) |
0 |
77 |
SAS midtier |
15 |
2 |
(empty) |
0 |
78 |
SAS meta config |
15 |
1 |
(puppet manifest) |
0 |
79 |
SAS apps config |
15 |
1 |
(puppet manifest) |
0 |
80 |
SAS midtier config |
15 |
1 |
(puppet manifest) |
0 |
81 |
SAS meta start |
15 |
3 |
(startup commands) |
0 |
82 |
SAS apps start |
15 |
3 |
(startup commands) |
0 |
83 |
SAS midtier start |
15 |
3 |
(startup commands) |
0 |
configvariable:
id |
name |
configid |
value |
required |
ask |
key |
datatype |
---|---|---|---|---|---|---|---|
268 |
subimage |
76 |
729 |
1 |
0 |
(empty) |
int |
269 |
subimage |
77 |
730 |
1 |
0 |
(empty) |
int |
270 |
runafter |
78 |
268,269 |
1 |
0 |
(empty) |
int |
271 |
runafter |
79 |
270 |
1 |
0 |
(empty) |
int |
272 |
runafter |
80 |
271 |
1 |
0 |
(empty) |
int |
273 |
runafter |
81 |
272 |
1 |
0 |
(empty) |
int |
274 |
runafter |
82 |
273 |
1 |
0 |
(empty) |
int |
275 |
runafter |
83 |
274 |
1 |
0 |
(empty) |
int |
configmaptype:
id |
name |
---|---|
1 |
image |
configmap:
configid |
subid |
configmaptypeid |
affiliationid |
disabled |
stage |
---|---|---|---|---|---|
76 |
728 |
1 |
7 |
0 |
start_load |
77 |
728 |
1 |
7 |
0 |
start_load |
78 |
728 |
1 |
7 |
0 |
post_load |
79 |
728 |
1 |
7 |
0 |
post_load |
80 |
728 |
1 |
7 |
0 |
post_load |
81 |
728 |
1 |
7 |
0 |
post_load |
82 |
728 |
1 |
7 |
0 |
post_load |
83 |
728 |
1 |
7 |
0 |
post_load |
configinstance:
id |
reservationid |
configid |
status |
---|---|---|---|
6005 |
2466 |
76 |
new |
6006 |
2466 |
77 |
new |
6007 |
2466 |
78 |
new |
6008 |
2466 |
79 |
new |
6009 |
2466 |
80 |
new |
6010 |
2466 |
81 |
new |
6011 |
2466 |
82 |
new |
6012 |
2466 |
83 |
new |
configinstancevariable:
configinstanceid |
configvariableid |
value |
---|---|---|
6005 |
268 |
2467 |
6006 |
269 |
2468 |
6007 |
270 |
6005,6006 |
6008 |
271 |
6007 |
6009 |
272 |
6008 |
6010 |
273 |
6009 |
6011 |
274 |
6010 |
6012 |
275 |
6011 |