The Simple Deploy- and Managment (SDM) framework is an environment that is designed to configure and manage entire IT infrastructures, regardless of what software or system it runs. It is based on the configuration management system Ansible and the version control system (VCS) Git. It is developed by Martin Pietsch at the Technische Universität Dresden / School of Science.
The main goals are:
We believe the goals are necessary to provide secure, stable and fexible IT infrastructures.
Ansible is a powerful environment for automation and orchestration and SDM Framework is entirely based on it. One goal of the framework is to minimize the development effort and to maximize the reuse of Ansible code. To achieve this, it introduces some plugins that handle roles like classes or submodules in modern programming languages.
Now the next step into the future of the framework has been taken with the improvement of the plugins that handle the behavior of Object-Oriented Roles. In the new version 2.0 of the SDM OOR Ansible collection, the inheritance model has been redesigned, which breaks with the philosophy of the original approach.
But the improvement does not change all features. So it is still possible to use
directly from a role in another role without transferring or modifying code.
The new plugins implement some new features that simplify the work with roles and increase their capabilities. These are:
An introduction of the Object-Oriented Roles of the SDM Framework can be found here:
Simple examples demonstrating the operating principle can be found here:
The Ansible collection with the Framework plugins is located here:
The 2nd German-speaking “Ansible Anwendertreffen”! After the first edition of this event in October 2020 was a great success, we hereby announce the next meeting. Again, we offer German-speaking Ansible users the opportunity to learn from other Ansible users how they have automated complex tasks and what experiences they have gained with Ansible. In addition, there will be an update on the new features coming to Ansible in 2021.
More information can be found here.
The SDM framework is now ready for Ansible 3.0. This means that all plugins provided by the framework have moved to separate Ansible collections. These are currently:
Futhermore, the framework uses the FQCN syntax for all modules and plugins, no matter if these are SDM-specific or not. Playbooks and roles can still be used in the traditional way.
The video recording of the Meetup is now available on YouTube:
The presentation and all data of the practical part are available under the following internet address:
The lecture will take place on February 18th 2021 at 6 pm.
The agenda includes the following topics:
Review: Evolution of the DDOSUG
Talk: Object-oriented roles with Ansible
Roles are a great base for the object-oriented approach of Ansible. That is not natively applicable without changing the base role or having some other restrictions. This talk will show how it is possible to use the object-oriented approach of Ansible roles with few plugins.
Please use one of the following links for participation:
If you are interested, please register for this event via the Meetup or LinkedIn platform or send me a message via
This should guarantee that there are enough ressources provided.
For further information please use the following links:
The SDM framework supports now the Linux operation system. It abstracts all distributions that are based on Linux. The first Linux distribution currently supported is ArchLinux. Others will follow.
The roles for these systems are:
Some features are also missing in the named role. These are:
These will come in the near future.
The framework also provides an unified installer for all Linux distributions. A detailed description about this installer can be found here.
Two new plugins have been added,
discover_interpreter. The first ensures that variables are always merged and eliminates the need to set sdm related variables in group_vars/all. That also solves the
hash_behaviour=merge problem by making this setting obsolete. The second invokes the (re)discovery of a special interpreter for Ansible.
The SDM framework now provides two additional plugins for object oriented handling of Ansible roles. These allow to set (set_role_fact) or load (load_role_vars) role variables within the task list. The variables that are loaded in this way are only usable in the scope of a role. Detailed information about this feature can be found in the SDM Guide.
The project provides now five new package roles and two new function roles.
The package roles are:
package.lighttpdwhich is not longer maintained.
package.tftp-hpawhich is not longer maintained.
The function roles are:
All Git repositories now have a
devel and a
stable branch. The
stable branch contains the last stable version and the
devel branch the developer version of a repository. The
master branch is still existing, but is not longer maintained.