Vagrante / stream di lavoro fantoccio

Sono nuovo al fantoccio e al vagante, ma sto sviluppando i miei manifesti Puppet che intendono creare una scatola vagante. Cioè, il manifesto di fantoccio è nella mia directory Vagrant sulla macchina host e il vagabondo invoca il burattino – non esiste un server fantoccio.

La cosa è che il mio stream di lavoro è:

  • Loop attraverso hash nel fantoccio definire
  • Puppet e templates: come eseguire loop in sequenza e non in modo random
  • Vagrant ha condiviso le cartelle e gli events di modifica dei file
  • Installare singolo tasto SSH più volte su un'unica macchina tramite fantoccio
  • Migrare i clienti del burattino a un nuovo burattinaio
  • Evita la dichiarazione delle istruzioni if ​​regex durante l'utilizzo delle risorse esportte in Puppet
  • while(not working as desired) { vagrant destroy amend manifest vagrant up } 

    … e questo significa molto attesa in giro.

    Qual è il modo migliore per lavorare?

    3 Solutions collect form web for “Vagrante / stream di lavoro fantoccio”

    Perché continua a ricreare la vm? Perché non ssh in esso, e lavorare sul manifesto fino a quando non funziona?

    A proposito, la puppet parser validate è un buon modo per catturare gli errori primari prima di mettere in prova anche quello che fa il burattino.

    Personalmente, vado a una VM pulita o una VM che è una copia di ciò che voglio cambiare, copiare tutti i moduli richiesti in sotto /root/modules , creare un nuovo module e quindi eseguire questo:

     puppet apply --modulepath /root/modules file.pp 

    Dove file.pp include qualunque cosa necessaria e il mio module si trova all'interno di una sottodirectory di /root/modules , nella configuration del module standard.

    Ora, ci sono situazioni in cui la creazione del vm è fondamentale, come fare la configuration iniziale o validationre la configuration che hai finora. Ma non vedo alcuna ragione per fare tutto il lavoro su un vm di nuova concezione tutto il tempo.

    Puoi anche applicare nuovamente le modifiche manifestate eseguendo

     vagrant provision 

    Così il tuo stream di lavoro diventa

     vagrant up while(not working as desired) { amend manifest vagrant provision } 

    Vorrei raccomandare l'installazione di sahara . Poi il tuo stream di lavoro diventa:

     vagrant up vagrant sandbox on vagrant ssh *do some stuff that doesn't work vagrant sandbox rollback vagrant ssh * do some stuff that does work vagrant sandbox commit 

    Preferisco piuttosto che eseguire il commit per eseguire un rollback e aggiungere ciò che hai mai cambiato nei tuoi script di provisioning preferito (burattino, chef, ssh ecc)

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.