2
0
mirror of https://github.com/xcat2/confluent.git synced 2026-09-29 00:31:09 +00:00

Put out some concept autonode attributes

Something to put forth as a framework for the derivation
of generated node attributes.  One key gap is handling at
least one level of recursion so that a generated enclosure
manager can generate nodes.  Will probably steer clear of
arbitrarily deep recursion (switch can generate switch, etc).
This commit is contained in:
Jarrod Johnson
2016-09-01 17:46:51 -04:00
parent 4505e582b2
commit edeef69ae9
2 changed files with 31 additions and 2 deletions
@@ -71,7 +71,6 @@ user = {
node = {
'groups': {
'type': list,
'default': 'all',
'description': ('List of static groups for which this node is '
'considered a member'),
},
@@ -81,6 +80,36 @@ node = {
#'id': {
# 'description': ('Numeric identifier for node')
#},
# autonode is the feature of generating nodes based on connectivity to
# current node. Interisting point, need to think hard about recursive
# autonode (switch generates an enclosure manager, which in turn generates
# nodes, perhaps even having the enclosure manager be ephemeral?
'autonode.nametemplate': {
'description': ('Template for creating nodenames for automatic '
'creation of nodes detected as children of '
'this node. For example, a node in a server '
'enclosure bay or a server connected to a switch or '
'an enclosure manager connected to a switch. Certain '
'special template parameters are available and can '
'be used alongside usual config template directives. '
'"discovered.nodenumber" will be replaced with the '
'bay or port number where the child node is connected.'
),
},
'autonode.nodegroups': {
'type': list,
'description': ('A list of groups to which discovered nodes will '
'belong to. As in nametemplate, "discovered." '
'namespace values will be substituted')
},
'autonode.copyattribs': {
'type': list,
'description': ('A list of attributes to copy from the node generator '
'to the generated node. Expressions will be copied '
'over without evaluation, so will be evaluated '
'in the context of the generated node, rather than the'
'parent node.')
},
'location.room': {
'description': 'Room description for the node',
},
@@ -60,7 +60,7 @@ import re
# a potential exception would be pulling in things
# that are fundamentally network equipment,
# where significant ambiguity may exist.
# While in a 'host' scenario, there is some ambiguity
# While in a 'host' scenario, there is ambiguity
# it is more controlled (virtual machines are given
# special treatment, and strategies exist for
# disambiguating shared management/data port, and