> Un des trucs les pires avec Puppet: c'est la partie cliente qui télécharge tout (enfin pas tout, j'exagère) et qui décide ce qui lui est destiné ou pas, qui gère les variables et le reste.
Oui, c'est le principe du "pull" (je tire), par opposition au "push" (je pousse) de la configuration... sauf que... c'est pareil avec cfengine (auquel je me suis mis depuis deux bons mois)... ou alors, j'ai vraiment loupé quelque chose ?
A priori, lorsque tu fais un cfrun sur un serveur (ou plus généralement, une machine qui a un "grant" vers les cfagent des clients qui t'intéressent et qui sont dans le cfhost), la seule chose que tu fais, c'est faire que les clients exécutent leur cfagent, en "pullant" leur config à partir d'un serveur...
Après, tu mets des barrières avec des ACL (via les "grant", justement), mais à ce niveau, c'est kif-kif entre les deux... c'est peut-être chiant de bien séparer (surtout pour des clés uniques à chaque machine), mais pour ça, le principe est le même entre les deux applis...
Le plus lourd, c'est de faire les bons "grant" sur le cfservd qui a les politiques du site... après, tu peux passer par le même cfagent.conf, très générique, mais lequel va faire venir un import.conf qui va dépendre du nom de domaine ou d'hôte, par exemple : ainsi, pas d'exposition inutile de données sensibles (si, dans ce cas, on fait confiance à son DNS)...
Sinon, tu peux aussi passer par un rsync ou assimilé, pour faire ton "push"... mais techniquement, même si ça y ressemble avec cfrun, cfengine n'en fait pas, de "push"...
Alors, certes : c'est lourd... mais le "push", c'est dangereux - imagine que le réseau tombe pendant que tu es en train de forcer l'envoi de ta config... c'est la ca-ca, c'est la ca-ta, c'est la : ca-ta-strophe... la config est à moitié appliquée, et ton système client est mal, très mal. Maintenant, pour les clés d'hôtes SSH, backuppc, et cie, si quelqu'un a une meilleure manière de faire qu'un "grant" par hôte, je suis preneur.
Non, au final, il y a de bons trucs dans puppet (expressivité du ruby, grosse abstraction, même si elle peut être lourde à redéfinir, auquel cas revenir à bash/perl est plus simple pour cfengine, modularité, ...), mais reste que je le trouve bloaté jusqu'à l'os (occupation/allocation mémoire, plantages aux erreurs imbitables - et puis, qu'est-ce que c'est que cette mode des démons lourds en langage interprété ?) et beaucoup trop jeune (pas d'itération sur les variables dans les exécutions de commande dans un terminal, ou test logique un poil avancé qui viennent tout juste d'être intégrés... ah ouais : super pour étendre le bousin, tiens... et j'en passe)... même si je veux bien lui reconnaître qu'il apporte quelques bonnes idées et de la diversité où il en manque, ça ne transforme certes pas la comparaison puppet/cfengine, sur le site du premier, par son auteur, en autre chose qu'un troll éhonté, ridicule et auto-masturbatoire (oui, je sais : faut bien vendre, m'enfin)...
... quand à bcfg2, sa conf en XML suffit à me faire saigner des yeux... je ne comprends toujours pas comment on peut avoir l'idée de demander aux gens d'éditer ce genre de trucs... ou alors, faudrait générer la conf bcfg2 avec quelque chose de plus haut niveau, et de lisible ? Je préfère ne pas savoir... sinon, je crois qu'il est plus "push" que "pull", mais je ne saurais en jurer... "XML ma tuer" avant.
Bref, vivement cfengine, mon préféré, en v3,... Ah, tiens, d'ailleurs, ce seront ses 16 ans, cette année.
[^] # Re: Cfengine v3...
Posté par Aefron . En réponse au journal vos prévisions 2009 ... Évalué à 3.
Oui, c'est le principe du "pull" (je tire), par opposition au "push" (je pousse) de la configuration... sauf que... c'est pareil avec cfengine (auquel je me suis mis depuis deux bons mois)... ou alors, j'ai vraiment loupé quelque chose ?
A priori, lorsque tu fais un cfrun sur un serveur (ou plus généralement, une machine qui a un "grant" vers les cfagent des clients qui t'intéressent et qui sont dans le cfhost), la seule chose que tu fais, c'est faire que les clients exécutent leur cfagent, en "pullant" leur config à partir d'un serveur...
Après, tu mets des barrières avec des ACL (via les "grant", justement), mais à ce niveau, c'est kif-kif entre les deux... c'est peut-être chiant de bien séparer (surtout pour des clés uniques à chaque machine), mais pour ça, le principe est le même entre les deux applis...
Le plus lourd, c'est de faire les bons "grant" sur le cfservd qui a les politiques du site... après, tu peux passer par le même cfagent.conf, très générique, mais lequel va faire venir un import.conf qui va dépendre du nom de domaine ou d'hôte, par exemple : ainsi, pas d'exposition inutile de données sensibles (si, dans ce cas, on fait confiance à son DNS)...
Sinon, tu peux aussi passer par un rsync ou assimilé, pour faire ton "push"... mais techniquement, même si ça y ressemble avec cfrun, cfengine n'en fait pas, de "push"...
Alors, certes : c'est lourd... mais le "push", c'est dangereux - imagine que le réseau tombe pendant que tu es en train de forcer l'envoi de ta config... c'est la ca-ca, c'est la ca-ta, c'est la : ca-ta-strophe... la config est à moitié appliquée, et ton système client est mal, très mal. Maintenant, pour les clés d'hôtes SSH, backuppc, et cie, si quelqu'un a une meilleure manière de faire qu'un "grant" par hôte, je suis preneur.
Non, au final, il y a de bons trucs dans puppet (expressivité du ruby, grosse abstraction, même si elle peut être lourde à redéfinir, auquel cas revenir à bash/perl est plus simple pour cfengine, modularité, ...), mais reste que je le trouve bloaté jusqu'à l'os (occupation/allocation mémoire, plantages aux erreurs imbitables - et puis, qu'est-ce que c'est que cette mode des démons lourds en langage interprété ?) et beaucoup trop jeune (pas d'itération sur les variables dans les exécutions de commande dans un terminal, ou test logique un poil avancé qui viennent tout juste d'être intégrés... ah ouais : super pour étendre le bousin, tiens... et j'en passe)... même si je veux bien lui reconnaître qu'il apporte quelques bonnes idées et de la diversité où il en manque, ça ne transforme certes pas la comparaison puppet/cfengine, sur le site du premier, par son auteur, en autre chose qu'un troll éhonté, ridicule et auto-masturbatoire (oui, je sais : faut bien vendre, m'enfin)...
... quand à bcfg2, sa conf en XML suffit à me faire saigner des yeux... je ne comprends toujours pas comment on peut avoir l'idée de demander aux gens d'éditer ce genre de trucs... ou alors, faudrait générer la conf bcfg2 avec quelque chose de plus haut niveau, et de lisible ? Je préfère ne pas savoir... sinon, je crois qu'il est plus "push" que "pull", mais je ne saurais en jurer... "XML ma tuer" avant.
Bref, vivement cfengine, mon préféré, en v3,... Ah, tiens, d'ailleurs, ce seront ses 16 ans, cette année.