Qual è la differenza tra include e request in puppet


8

Ho una lezione di marionette se ho il seguente codice:

class A {
  require B

....
} 

Ottengo un errore di dipendenze circolari. Se ho:

class A {
  include B

....
} 

tutto funziona bene

Risposte:


18

Sono cose molto diverse, in realtà. Dire che i require Bmezzi Bdevono venire prima A(e, quindi, possono portare a dipendenze circolari se qualcosa dentroB si rivela require A). E se Bnon è affatto incluso, porterà a errori di dipendenze mancanti.

D'altra parte, include Bdice solo che Bverrà applicato ogni volta che Aviene applicato: non dice nulla dell'ordine tra di loro.


In require Brealtà non significa che Bdeve venire prima A?
Sebastian Krysmanski il

@SebastianKrysmanski Uh, sì. :)
Daniel C. Sobral,

10

Questo è stato appena richiesto (e risposto) sulla mailing list delle marionette:

La differenza è evidente quando è necessario applicare il catalogo. Con include hai valutato i suoi contenuti al momento dell'inclusione, ma qualsiasi risorsa deve essere dipesa esplicitamente dopo l'inclusione. Con un requisito - la dipendenza viene creata per te - ma devi stare attento e assicurarti che questo sia il risultato desiderato

- Ken Barber in Require vs Include?

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.