Project

General

Profile

Actions

User story #3117

closed

Implement an "expert technique" that let use the power of cfengine

Added by Nicolas CHARLES about 11 years ago. Updated almost 4 years ago.

Status:
Rejected
Priority:
2
Assignee:
-
Category:
Techniques
UX impact:
Suggestion strength:
User visibility:
Effort required:
Name check:
Fix check:
Regression:

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 :
  1. everything : every type of text as a right hand side; but I'm not really fine with that
  2. only some special function, in a dropdown list, and the user would have to define the content of the function
Actions #1

Updated by Nicolas PERRON about 11 years ago

  • Target version changed from 2.5.0~beta1 to 2.5.0~rc1
Actions #2

Updated by Nicolas PERRON about 11 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

Actions #3

Updated by François ARMAND about 11 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 !

Actions #4

Updated by Jonathan CLARKE about 11 years ago

  • Project changed from Rudder to 24
  • Category deleted (Techniques)
Actions #5

Updated by Nicolas PERRON almost 11 years ago

  • Target version changed from 2.6.0~beta1 to 2.6.0~rc1
Actions #6

Updated by Matthieu CERDA almost 11 years ago

  • Target version changed from 2.6.0~rc1 to 2.6.0
Actions #7

Updated by Jonathan CLARKE almost 11 years ago

  • Target version changed from 2.6.0 to 2.6.1
Actions #8

Updated by Nicolas PERRON almost 11 years ago

  • Target version changed from 2.6.1 to 2.6.2
Actions #9

Updated by Nicolas PERRON almost 11 years ago

  • Target version changed from 2.6.2 to 2.6.3
Actions #10

Updated by Nicolas PERRON over 10 years ago

  • Status changed from New to 8
  • Target version changed from 2.6.3 to Ideas (not version specific)
Actions #11

Updated by Benoît PECCATTE about 9 years ago

  • Project changed from 24 to Rudder
  • Category set to Techniques
Actions #12

Updated by Benoît PECCATTE almost 9 years ago

  • Status changed from 8 to New
Actions #13

Updated by François ARMAND almost 4 years ago

  • Status changed from New to Rejected

The path forward is with rudder lang for that.

Actions

Also available in: Atom PDF