User story #3117
closedImplement an "expert technique" that let use the power of cfengine
Description
We could really benefit from an "expert" technique, for expert only, that would allow for special or complex computation, like executing CFEngine special functions
For instance, if we are on a fairly complex infrastructure where each nodes have a "paired" system, where they send files every night, and the pair is based on the last bytes of the ip address, there is currently no way to deal with it easily, except create groups based on the last bytes of the ip address, define a directive based on generic variable definition for each with the last byte of the address within, and then create a many rules as there are bytes...
An more common solution would be to be able to define a variable based on
lastnode("$(sys.ipv4)", ".")
and use this variable in a more generic directive and rule I'm not sute of what should be allowed :
- everything : every type of text as a right hand side; but I'm not really fine with that
- only some special function, in a dropdown list, and the user would have to define the content of the function
Updated by Nicolas PERRON almost 12 years ago
- Target version changed from 2.5.0~beta1 to 2.5.0~rc1
Updated by Nicolas PERRON almost 12 years ago
Example of user case:
Make a symlink for kernel versions.
ln -s /boot/vmlinuz /boot/vmlinuz-3.5.0-21-generic
It will need to use a variable to know which version is currently used by the system, like this:
kernel_label=`/bin/uname -r` kernel_version=`/usr/bin/expr ${kernel_label} : '\(.*\)-[a-z]*'` ln -s /boot/vmlinuz /boot/vmlinuz-${kernel_version}-generic
Updated by François ARMAND almost 12 years ago
- Target version changed from 2.5.0~rc1 to 2.6.0~beta1
This is an user story, not a bug => next major version !
Updated by Jonathan CLARKE almost 12 years ago
- Project changed from Rudder to 24
- Category deleted (
Techniques)
Updated by Nicolas PERRON over 11 years ago
- Target version changed from 2.6.0~beta1 to 2.6.0~rc1
Updated by Matthieu CERDA over 11 years ago
- Target version changed from 2.6.0~rc1 to 2.6.0
Updated by Jonathan CLARKE over 11 years ago
- Target version changed from 2.6.0 to 2.6.1
Updated by Nicolas PERRON over 11 years ago
- Target version changed from 2.6.1 to 2.6.2
Updated by Nicolas PERRON over 11 years ago
- Target version changed from 2.6.2 to 2.6.3
Updated by Nicolas PERRON over 11 years ago
- Status changed from New to 8
- Target version changed from 2.6.3 to Ideas (not version specific)
Updated by Benoît PECCATTE over 9 years ago
- Project changed from 24 to Rudder
- Category set to Techniques
Updated by François ARMAND over 4 years ago
- Status changed from New to Rejected
The path forward is with rudder lang for that.