User story #2295
closedBREAKING CHANGE: Rename Policy Template, Policy Instance and Configuration Rules
Description
This is a BIG evolution in Rudder. The following renaming are going to be done, hopefully making the whole domain model clearer and easier to get.
New terme are in strong italic.
Policy Template => Technique¶
The policy template term is discarded in favor of Technique.
A technique is a technical thing, created and updated by configuration management and application/services experts.
It is used as a template to create your configuration management rules. It generally cover a given software or infrastructure service, like "Apache Server", or "Unix Passwords".
Metadata file for a technique is renamed from policy.xml into metadata.xml
Techniques are distributed in a library (the Technique Library) by these experts or reference institution (for example, "our local Rudder gurus").
In Rudder, in can choose to only use a subset of the technique Library. That subset is called Active techniques.
Policy Instance => Directive¶
A Directive is a business policy, generally comming down from the hierarchy, like "all our password must have at least 10 characters, with symbols, numbers and letters".
In Rudder, a directive is defined from a technique used as template, in which the functional parameter are filled.
For our password directive, we could use the "Unix password" technique example of the previous chapter.
Nodes => Nodes¶
Well, that one is simple :) We keep the well-established term Node to design "something on which we want to use configuration management", be it a server (most of the time), a desktop computer, a smartphone, a router, or anything else.
A set of nodes, somehow semantically grouped ("the servers used for the MySQL cluster", "all Debian Linux server in that plage of IPs", etc) is simply named a group (of nodes).
Configuration Rules => Rules¶
Finally, we want to applied set of directives to groups of nodes. That give us a Rule applied to our infrastructure.
Rudder work is to check that rules are correctly applied and take actions if they are not.
Other renaming in code¶
CFCPolicyInstance => Cfe3PolicyDraft¶
The object that bind a directive to a given node and other contextual variables, used to generate CFEngine3 promise file, will be called a Cfe3PolicyDraft.
Policy Server => RootServer and RelayServer¶
The generic term "policy server", designing the server on which Rudder is installed and/or to which nodes come getting there configurations will be split in two terms:
- RootServer for the main Rudder Server
- RelayServer for servers used to link two network zones.
Updated by François ARMAND almost 13 years ago
There is also the following remaning:
In UserPolicyTemplate => ActivatedTechnique- referencePolicyTemplateName => techniqueName
In all object: isActivated => isEnabled, to disambiguate with ActivatedTechnique (which can be enabled/disabled)
In code, "Active Techniques" is called "ActiveTechniqueLibrary" to desambiguate between the library and a list/set of active techniques.
ComponentCard => ReportComponent
Updated by François ARMAND almost 13 years ago
For the refactoring, we use a branch named refactoring/renaming_pt_pi_cr for Git projects.
Updated by François ARMAND almost 13 years ago
- Description updated (diff)
Update technique metadata file name into metadata.xml
Updated by François ARMAND almost 13 years ago
On the file system, in /var/rudder/configuration-repository
- configuration-rules => rules
- policy-templates => techniques
- policy-library => directives
- userPolicyTemplateSettings.xml => activeTechniqueSettings.xml
- policy.xml => metadata.xml
Updated by François ARMAND almost 13 years ago
- Status changed from 2 to In progress
Updated by Jonathan CLARKE over 12 years ago
- Status changed from In progress to Pending technical review
This is finished, closing this old ticket.
Updated by Jonathan CLARKE over 12 years ago
- Status changed from Pending technical review to 10
Exceptionnaly skipping Technical review - this code change has been around for a while, and is huge, and has been worked on by many many people since it was commited. It is practically impossible to review the whole change now, and any bugs have most likely been flattened out.