Hierarchies

Warning:
Some parts on this site are outdated and will be revised.

The SDM framework uses two different hierarchies to organise roles: the horizontal and the vertical hierarchy. This section describes the two hierarchy types.

Horizontal hierarchy

The horizontal hierarchy of the SDM framework is comparable with the hierarchy of classes or submodules of many programming languages. The base of each role chain in the hierarchy is a so-called root role. It defines basic variables and tasks that are typical for all derived roles. All derived roles can also defines variables and tasks that can be used by their derived roles. But the horizontal hierarchy has some restriction:

The following figures show the relations between a root role and its derived roles.

horizontal hierarchy (task access)

Access mechanisms for tasks between a role and its derived roles

horizontal hierarchy (variable access)

Access mechanisms for variables between a role and its derived roles

Vertical hierarchy

As in the general consideration, the SDM framework has the goal to manage entire infrastructures. To achieve this goal, it is necessary to abstract an infrastructure in multiple levels. SDM defines for this purpose three levels:

Each level has its own root role which provides tasks that are abstracted by Ansible itself. Like the horizontal hierarchy the vertical hierarchy has also some restrictions:

Variable access in vertical direction means that the role uses a variable for its procedures. It does not mean that superordinated roles can not set variables for a special role before this is executed. But it is neither allowed to use these variables in its own procedures.

The following figures show the relations between the roles in the vertical direction.

vertictal hierarchy (task access)

Access mechanisms for tasks between roles in vertical direction

vertical hierarchy (varaible access)

Access mechanisms for variables between roles in vertical direction