User story #4720
openMake it possible to use an "ignore_interfaces.rx" in Rudder to speed-up agent DNS resolution
Description
We can prevent the agent from doing dns resolution on some interface, and so wasting a lot of time there, by adding a "ignore_interfaces.rx" file in the policies. Rudder should allow the possibility to add that file (with the correct content for each node), or perhaps have a technique to manage it.
For information, the opened report text was:
The file ignore_interfaces.rx can be required on machines which have some special network interfaces (vmnet0 for example). This file is located at /var/rudder/cfengine-community/inputs/ which is managed by Rudder and will be erased if not set into the Techniques.
Updated by Nicolas PERRON over 10 years ago
It should be made in two repositories: rudder-techniques be adding a minimal ignore_interfaces.st and in rudder-packages to modify rudder-upgrade script.
Updated by Nicolas PERRON over 10 years ago
Nicolas PERRON wrote:
It should be made in two repositories: rudder-techniques be adding a minimal ignore_interfaces.st and in rudder-packages to modify rudder-upgrade script.
The issue #4872 is for the rudder-upgrade script.
Updated by Nicolas PERRON over 10 years ago
- Status changed from New to Pending technical review
- Assignee set to Jonathan CLARKE
- % Done changed from 0 to 100
- Pull Request set to https://github.com/Normation/rudder-techniques/pull/371
PR URL added: https://github.com/Normation/rudder-techniques/pull/371
Jon, are you OK with the approach and can you review it please ?
Updated by Jonathan CLARKE over 10 years ago
- Status changed from Pending technical review to Discussion
- Assignee changed from Jonathan CLARKE to Nicolas PERRON
Nicolas PERRON wrote:
The file ignore_interfaces.rx can be required on machines which have some special network interfaces (vmnet0 for example). This file is located at /var/rudder/cfengine-community/ which is managed by Rudder and will be erased if not set into the Techniques.
I don't understand this bug - you seem to be confusing /var/rudder/cfengine-community/inputs/ (which, yes, is under control of Rudder) and /var/rudder/cfengine-community/ (it's parent directory) which is not controlled by Rudder.
What makes you think the ignore_interfaces.rx file is being removed by Rudder?
It may not be a bad idea to add a default file with Rudder, to avoid quirky interfaces from being looked at, but this would have consequences (such as not being able to read or configure them) and deserves some thought. But it looks like this is not what you're proposing, since you're talking about a bug. What is it?
Updated by Nicolas PERRON over 10 years ago
- Assignee changed from Nicolas PERRON to Jonathan CLARKE
- % Done changed from 100 to 0
Jonathan CLARKE wrote:
Nicolas PERRON wrote:
The file ignore_interfaces.rx can be required on machines which have some special network interfaces (vmnet0 for example). This file is located at /var/rudder/cfengine-community/ which is managed by Rudder and will be erased if not set into the Techniques.
I don't understand this bug - you seem to be confusing /var/rudder/cfengine-community/inputs/ (which, yes, is under control of Rudder) and /var/rudder/cfengine-community/ (it's parent directory) which is not controlled by Rudder.
What makes you think the ignore_interfaces.rx file is being removed by Rudder?
It may not be a bad idea to add a default file with Rudder, to avoid quirky interfaces from being looked at, but this would have consequences (such as not being able to read or configure them) and deserves some thought. But it looks like this is not what you're proposing, since you're talking about a bug. What is it?
By default, no file ignore_interfaces.rx exist with Rudder.
On some machines, this file is mandatory as CFEngine is too long to analyze somes interfaces which slow down their boot process. But adding these files on a machine is useless since at each update of CFEngine promises, the file is erased.
The only way to have permanent file is to add it into the System Techniques which will add the specificity of some machines to all of them.
However during an upgrade, the local System Techniques are replaced by the released version System Techniques. The result now is that everything about ignore_interfaces.rx is erased.
With a minimal ignore_interfaces.st (#4720), the part handling ignore_interfaces.rx will not be erased at each upgrade and it will still to the user to determine which interfaces to ignore (the minimal file could have no interface to ignore or just some known to be problematic).
Updated by Nicolas PERRON over 10 years ago
- Description updated (diff)
Jonathan CLARKE wrote:
I don't understand this bug - you seem to be confusing /var/rudder/cfengine-community/inputs/ (which, yes, is under control of Rudder) and /var/rudder/cfengine-community/ (it's parent directory) which is not controlled by Rudder.
Yes, this is a mistake. I was talking about /var/rudder/cfengine-community/inputs/
Updated by Nicolas PERRON over 10 years ago
Jonathan CLARKE wrote:
It may not be a bad idea to add a default file with Rudder, to avoid quirky interfaces from being looked at, but this would have consequences (such as not being able to read or configure them) and deserves some thought. But it looks like this is not what you're proposing, since you're talking about a bug. What is it?
What I was proposing was to add a minimal file here (#4720) and to avoid its replacement at each upgrade on #4872
Updated by Nicolas CHARLES over 10 years ago
I'm not fully sure of this approach; the content of the file should be configurable.
What about a technique that creates this file (as a temporary solution?)
Updated by François ARMAND almost 10 years ago
- Assignee changed from Jonathan CLARKE to Benoît PECCATTE
- Target version set to 2.10.10
Benoit, could take a fresh eye on that one: trying to understand the problem, and then trying to understand the solution :) (see also #4872)
Updated by Nicolas CHARLES almost 10 years ago
Giving some context:
Nicolas modified an installation to change the system technique to generate automatically an "ignore_interface" file
The goal of this file is to prevent the agent from doing dns resolution on some interface, and so wasting a lot of time there
The consequence of this file is great, but the implementation (having hard coded ignore interface file with hard coded interface) is wrong.
We should have a config parameter for this (and maybe even configurable per host), but not hard coding this in no way
Updated by Vincent MEMBRÉ almost 10 years ago
- Target version changed from 2.10.10 to 2.10.11
Updated by Vincent MEMBRÉ almost 10 years ago
- Target version changed from 2.10.11 to 2.10.12
Updated by Benoît PECCATTE almost 10 years ago
- Category set to System integration
Updated by Vincent MEMBRÉ almost 10 years ago
- Target version changed from 2.10.12 to 2.10.13
Updated by Vincent MEMBRÉ over 9 years ago
- Target version changed from 2.10.13 to 2.10.14
Updated by Vincent MEMBRÉ over 9 years ago
- Target version changed from 2.10.14 to 2.10.15
Updated by Vincent MEMBRÉ over 9 years ago
- Target version changed from 2.10.15 to 2.10.16
Updated by Vincent MEMBRÉ over 9 years ago
- Target version changed from 2.10.16 to 2.10.17
Updated by Vincent MEMBRÉ about 9 years ago
- Target version changed from 2.10.17 to 2.10.18
Updated by Vincent MEMBRÉ about 9 years ago
- Target version changed from 2.10.18 to 2.10.19
Updated by Vincent MEMBRÉ about 9 years ago
- Target version changed from 2.10.19 to 2.10.20
Updated by Benoît PECCATTE about 9 years ago
- Priority changed from 1 (highest) to N/A
Updated by Vincent MEMBRÉ about 9 years ago
- Target version changed from 2.10.20 to 277
Updated by Vincent MEMBRÉ about 9 years ago
- Target version changed from 277 to 2.11.18
Updated by Vincent MEMBRÉ almost 9 years ago
- Target version changed from 2.11.18 to 2.11.19
Updated by Vincent MEMBRÉ almost 9 years ago
- Target version changed from 2.11.19 to 2.11.20
Updated by Vincent MEMBRÉ over 8 years ago
- Target version changed from 2.11.20 to 2.11.21
Updated by Vincent MEMBRÉ over 8 years ago
- Target version changed from 2.11.21 to 2.11.22
Updated by Vincent MEMBRÉ over 8 years ago
- Target version changed from 2.11.22 to 2.11.23
Updated by Vincent MEMBRÉ over 8 years ago
- Target version changed from 2.11.23 to 2.11.24
Updated by Alexis Mousset over 8 years ago
- Subject changed from Rudder does not take into account the file ignore_interfaces.rx which should be added in the System Techniques and erase it at each upgrade of Rudder to The ignore_interfaces.rx file is erased it at each upgrade of Rudder
Updated by Vincent MEMBRÉ over 8 years ago
- Target version changed from 2.11.24 to 308
Updated by Vincent MEMBRÉ over 8 years ago
- Target version changed from 308 to 3.1.14
Updated by Vincent MEMBRÉ about 8 years ago
- Target version changed from 3.1.14 to 3.1.15
Updated by Vincent MEMBRÉ about 8 years ago
- Target version changed from 3.1.15 to 3.1.16
Updated by Vincent MEMBRÉ about 8 years ago
- Target version changed from 3.1.16 to 3.1.17
Updated by Vincent MEMBRÉ about 8 years ago
- Target version changed from 3.1.17 to 3.1.18
Updated by Vincent MEMBRÉ almost 8 years ago
- Target version changed from 3.1.18 to 3.1.19
Updated by François ARMAND over 7 years ago
- Tracker changed from Bug to User story
- Subject changed from The ignore_interfaces.rx file is erased it at each upgrade of Rudder to Make it possible to use an "ignore_interfaces.rx" in Rudder to speed-up agent DNS resolution
- Description updated (diff)
- Category changed from System integration to Performance and scalability
- Status changed from Discussion to New
- Assignee deleted (
Benoît PECCATTE)
Nicolas, thanks for the (oups, missed!) explanation.
So this is in not the least way a bug. It is a user story, asking for the possibility to manage an "ignore_interfaces.rx" to speed up DNS resolution. I'm requalifying it like that.
Updated by Vincent MEMBRÉ over 7 years ago
- Target version changed from 3.1.19 to 3.1.20
Updated by Vincent MEMBRÉ over 7 years ago
- Target version changed from 3.1.20 to 3.1.21
Updated by Benoît PECCATTE over 7 years ago
Sample code and comment : https://github.com/Normation/rudder-techniques/pull/371
Updated by Vincent MEMBRÉ over 7 years ago
- Target version changed from 3.1.21 to 3.1.22
Updated by Vincent MEMBRÉ over 7 years ago
- Target version changed from 3.1.22 to 3.1.23
Updated by Vincent MEMBRÉ over 7 years ago
- Target version changed from 3.1.23 to 3.1.24
Updated by Vincent MEMBRÉ about 7 years ago
- Target version changed from 3.1.24 to 3.1.25
Updated by Benoît PECCATTE about 7 years ago
- Target version changed from 3.1.25 to 4.1.9
Updated by Vincent MEMBRÉ about 7 years ago
- Target version changed from 4.1.9 to 4.1.10
Updated by Benoît PECCATTE almost 7 years ago
- Target version changed from 4.1.10 to Ideas (not version specific)