[Salt-fr] Quelques questions - best practices salt

Anthony Martinet anthony at alkivi.fr
Mer 18 Nov 21:11:07 CET 2015


Fin de journée, je vais peut être dire des bétises ^^
Tu as pensé à prendre ton problème à l'envers ?

pillar/dev_appli1/apache.sls
pillar/dev_appli1/database.sls
pillar/dev_appli1/cron.sls
pillar/dev_appli1/init.sls (avec les includes approprié ex :

cat init.sls
include:
  -.cron
  -.apache
  -.database

T'as ensuite juste à faire include le bon pillar avec ton match grain

my 2 cents.


-- Anthony Martinet

alkivi.fr <https://www.alkivi.fr/>

2015-11-18 16:36 GMT+01:00 Adnan Aita <adnan.aita at gmail.com>:

>
> Hello,
>
> je bute sur un petit soucis d'ordre idéologique.
>
> J'ai des formules qui me gère proprement mes installs BDD et Apache, etc.
>
> j'essaie maintenant de m'assurer que les bonnes bases sont déployées au
> bon endroit en fonction des applicatifs et des versions d'environnement
> sachant que :
>  * en dev, j'ai souvent les bases et les httpd sur la même machine
>  * en test, c'est mixed
>  * en prod c'est toujours séparés
>
> Ce que j'ai fait :
>
> * dans mes pillar, j'ai un folder apache (c'est pareil pour les BDD) qui
> contient les données de confs pour mon vhost ou pour la base en question.
> ils sont tous du type <env>_<nom appli>.
>
> ex : $> ls /srv/salt/pillar/apache :
> dev_appli1.sls
> dev_appli2.sls
> ...
>         $> ls /srv/salt/pillar/database:
> dev_appli1.sls
> dev_appli2.sls
>
> * Dans les /etc/salt/grains de mes minions, je defini webenv:<env>_<nom
> appli> en fonction de ce dont j'ai besoin, ainsi que le ou les roles
> (webserver, database ou les deux comme pour les serveurs de tests par
> exemple)
>
> Ex de grain :
> roles:
>   - webserver
>   - database
>
> webenv:
>   - dev_appli1
>   - dev_appli2
>
> Ça fonctionne bien aujourd'hui si dans le top.sls je fait un match grain,
> sur webenv:<env>_<nom appli> pour définir à chaque fois ce que je veux, le
> soucis c'est que j'ai bcp bcp d'applications, et je trouve le top file bien
> trop gros.
>
> exemple : $> cat top.sls
> base:
>   [...]
>   'webenv:dev_appli1':
>     - match: grain
>     - apache.dev_appli1
>     - databases.dev_appli1
>     - crons.dev_appli1
>
>   'webenv:dev_appli2':
>     - match: grain
>     - apache.dev_appli2
>    [...]
>
> Voici donc mes questions :
> 1/ J'ai essayé de faire en sorte de "déporter" les match grain pour les
> vhosts par exemple dans un apache.sls dans mes pillar, le soucis est que je
> n'arrive pas à inclure correctement quand je mix un 'include' avec un
> (match grain). Si quelqu'un l'a déjà fait, je veux bien un exemple
>
>
> 2/ j'ai essayé de passer via jinja pour inclure les env via une boucle
>
>     {% for env in salt['grains.get']('webenv', {}) %}
>     - apache.{{ env }}
>     {% endfor %}   ## LOOP : Install the Vhosts based on grains
>
> C'est top, ca marche, mais j'ai le pb suivant :
> * Toutes les applis n'ont pas de base, donc quand je fais pareil avec mes
> bases, il n'est pas content des fichiers .sls non existant pour ces bases
> qui n'existent pas.
> * Si je crée un fichier vide avec par exemple juste (## No database) dans
> le fichier, j'ai le même soucis. Et à supposer que ca soit la solution, ca
> va me faire créer un packet de fichier vide car je compte gérer de la même
> facon le déploiement des crons, etc.
>
> 3/ J'ai regardé pour utiliser les env de salt directement, mais je suis
> pas très fan, car je me perd vite vu le nombre de state, je trouve la
> feature topissime mais que si on a que quelques chaines très correctement
> identifiées (et aujourd'hui c'est encore un peu le KO) donc je met cette
> option de coté.
>
> Je suis aussi preneur d'une autre idée.
>
> bref, si certains d'entre vous on déjà eu cette problématique, je suis
> preneur d'un retour d’expérience et d'un peu d'info.
>
> Merci
>
> Adnan
>
>
>
> _______________________________________________
> Salt-fr mailing list
> Salt-fr at lists.afpy.org
> http://lists.afpy.org/listinfo/salt-fr
>
>
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://lists.afpy.org/pipermail/salt-fr/attachments/20151118/0a5391e9/attachment.html>


Plus d'informations sur la liste de diffusion Salt-fr