Yes it is corrected on a subsequent activation, but that mean that between two 
activation my configuration is false, and I don't want that.
I have fix my trouble with "-m 666" mknod option, so that the device are 
created directly with the right permission, but my question is to understand 
the normal ordering and the 3 passes and why this doesn't work as I expected.

Output for this bundle (bundle have more action that what I have copied in my 
post, but are not revelant for my "trouble"):



cf3> *****************************************************************
cf3> BUNDLE config_bind9
cf3> *****************************************************************
cf3>
cf3>
cf3>    =========================================================
cf3>    vars in bundle config_bind9 (1)
cf3>    =========================================================
cf3>
cf3>
cf3>    =========================================================
cf3>    classes in bundle config_bind9 (1)
cf3>    =========================================================
cf3>
cf3> Initiate variable convergence...
cf3>
cf3>      +  Private classes augmented:
cf3>      +       cdev_random
cf3>      +       cdev_null
cf3>
cf3>      -  Private classes diminished:
cf3>
cf3>
cf3>
cf3>    =========================================================
cf3>    files in bundle config_bind9 (1)
cf3>    =========================================================
cf3>
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: /etc/default/bind9
cf3>
cf3>     Comment:  Set bind9 options
cf3>     .........................................................
cf3>
cf3>  -> Using literal pathtype for /etc/default/bind9
cf3>  -> File "/etc/default/bind9" exists as promised
cf3>  -> Handling file existence constraints on /etc/default/bind9
cf3>  -> Build file model from a blank slate (emptying)
cf3>  -> Handling file edits in edit_line bundle default_bind9
cf3>
cf3>       * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
cf3>       BUNDLE default_bind9( {'NO','bind','/DATA/chroot_named'} )
cf3>       * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
cf3>
cf3> Initiate variable convergence...
cf3>     ? Augment scope default_bind9 with resolvconf (s)
cf3>     ? Augment scope default_bind9 with buser (s)
cf3>     ? Augment scope default_bind9 with cdir (s)
cf3>      ??  Private class context
cf3>
cf3>
cf3>       = = = = = = = = = = = = = = = = = = = = = = = = = = = =
cf3>       insert_lines in bundle default_bind9
cf3>       = = = = = = = = = = = = = = = = = = = = = = = = = = = =
cf3>
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: #### This file is managed by cfengine, do not edit by 
hands
cf3>     .........................................................
cf3>
cf3>  -> Inserting the promised line "#### This file is managed by cfengine, do 
not edit by hands" into /etc/default/bind9 after locator
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: # run resolvconf?
cf3>     .........................................................
cf3>
cf3>  -> Inserting the promised line "# run resolvconf?" into 
/etc/default/bind9 after locator
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: RESOLVCONF=NO
cf3>     .........................................................
cf3>
cf3>  -> Inserting the promised line "RESOLVCONF=NO" into /etc/default/bind9 
after locator
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: # startup options for the server
cf3>     .........................................................
cf3>
cf3>  -> Inserting the promised line "# startup options for the server" into 
/etc/default/bind9 after locator
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: OPTIONS="-u bind -t /DATA/chroot_named"
cf3>     .........................................................
cf3>
cf3>  -> Inserting the promised line "OPTIONS="-u bind -t /DATA/chroot_named"" 
into /etc/default/bind9 after locator
cf3>      ??  Private class context
cf3>
cf3>
cf3>       = = = = = = = = = = = = = = = = = = = = = = = = = = = =
cf3>       insert_lines in bundle default_bind9
cf3>       = = = = = = = = = = = = = = = = = = = = = = = = = = = =
cf3>
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: #### This file is managed by cfengine, do not edit by 
hands
cf3>     .........................................................
cf3>
cf3>  -> This promise has already been verified
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: # run resolvconf?
cf3>     .........................................................
cf3>
cf3>  -> This promise has already been verified
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: RESOLVCONF=NO
cf3>     .........................................................
cf3>
cf3>  -> This promise has already been verified
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: # startup options for the server
cf3>     .........................................................
cf3>
cf3>  -> This promise has already been verified
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: OPTIONS="-u bind -t /DATA/chroot_named"
cf3>     .........................................................
cf3>
cf3>  -> This promise has already been verified
cf3>      ??  Private class context
cf3>
cf3>
cf3>       = = = = = = = = = = = = = = = = = = = = = = = = = = = =
cf3>       insert_lines in bundle default_bind9
cf3>       = = = = = = = = = = = = = = = = = = = = = = = = = = = =
cf3>
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: #### This file is managed by cfengine, do not edit by 
hands
cf3>     .........................................................
cf3>
cf3>  -> This promise has already been verified
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: # run resolvconf?
cf3>     .........................................................
cf3>
cf3>  -> This promise has already been verified
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: RESOLVCONF=NO
cf3>     .........................................................
cf3>
cf3>  -> This promise has already been verified
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: # startup options for the server
cf3>     .........................................................
cf3>
cf3>  -> This promise has already been verified
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: OPTIONS="-u bind -t /DATA/chroot_named"
cf3>     .........................................................
cf3>
cf3>  -> This promise has already been verified
cf3>  -> No edit changes to file /etc/default/bind9 need saving
cf3>  -> Handling file existence constraints on /etc/default/bind9
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: /DATA/chroot_named/.
cf3>
cf3>     Comment:  Make sure chroot dir exist
cf3>     .........................................................
cf3>
cf3>  -> Using literal pathtype for /DATA/chroot_named/.
cf3>  -> File "/DATA/chroot_named/." exists as promised
cf3>  -> Handling file existence constraints on /DATA/chroot_named
cf3>  -> File permissions on /DATA/chroot_named as promised
cf3>  -> Handling file existence constraints on /DATA/chroot_named
cf3>  -> File permissions on /DATA/chroot_named as promised
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: /DATA/chroot_named/dev/.
cf3>
cf3>     Comment:  Make sure chroot dir exist
cf3>     .........................................................
cf3>
cf3>  -> Using literal pathtype for /DATA/chroot_named/dev/.
cf3>  -> File "/DATA/chroot_named/dev/." exists as promised
cf3>  -> Handling file existence constraints on /DATA/chroot_named/dev
cf3>  -> File permissions on /DATA/chroot_named/dev as promised
cf3>  -> Handling file existence constraints on /DATA/chroot_named/dev
cf3>  -> File permissions on /DATA/chroot_named/dev as promised
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: /DATA/chroot_named/etc/.
cf3>
cf3>     Comment:  Make sure chroot dir exist
cf3>     .........................................................
cf3>
cf3>  -> Using literal pathtype for /DATA/chroot_named/etc/.
cf3>  -> File "/DATA/chroot_named/etc/." exists as promised
cf3>  -> Handling file existence constraints on /DATA/chroot_named/etc
cf3>  -> File permissions on /DATA/chroot_named/etc as promised
cf3>  -> Handling file existence constraints on /DATA/chroot_named/etc
cf3>  -> File permissions on /DATA/chroot_named/etc as promised
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: /DATA/chroot_named/etc/bind/.
cf3>
cf3>     Comment:  Make sure chroot dir exist
cf3>     .........................................................
cf3>
cf3>  -> Using literal pathtype for /DATA/chroot_named/etc/bind/.
cf3>  -> File "/DATA/chroot_named/etc/bind/." exists as promised
cf3>  -> Handling file existence constraints on /DATA/chroot_named/etc/bind
cf3>  -> File permissions on /DATA/chroot_named/etc/bind as promised
cf3>  -> Handling file existence constraints on /DATA/chroot_named/etc/bind
cf3>  -> File permissions on /DATA/chroot_named/etc/bind as promised
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: /DATA/chroot_named/etc/bind/zones/.
cf3>
cf3>     Comment:  Make sure chroot dir exist
cf3>     .........................................................
cf3>
cf3>  -> Using literal pathtype for /DATA/chroot_named/etc/bind/zones/.
cf3>  -> File "/DATA/chroot_named/etc/bind/zones/." exists as promised
cf3>  -> Handling file existence constraints on 
/DATA/chroot_named/etc/bind/zones
cf3>  -> File permissions on /DATA/chroot_named/etc/bind/zones as promised
cf3>  -> Handling file existence constraints on 
/DATA/chroot_named/etc/bind/zones
cf3>  -> File permissions on /DATA/chroot_named/etc/bind/zones as promised
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: /DATA/chroot_named/etc/bind/zones/primary/.
cf3>
cf3>     Comment:  Make sure chroot dir exist
cf3>     .........................................................
cf3>
cf3>  -> Using literal pathtype for /DATA/chroot_named/etc/bind/zones/primary/.
cf3>  -> File "/DATA/chroot_named/etc/bind/zones/primary/." exists as promised
cf3>  -> Handling file existence constraints on 
/DATA/chroot_named/etc/bind/zones/primary
cf3>  -> File permissions on /DATA/chroot_named/etc/bind/zones/primary as 
promised
cf3>  -> Handling file existence constraints on 
/DATA/chroot_named/etc/bind/zones/primary
cf3>  -> File permissions on /DATA/chroot_named/etc/bind/zones/primary as 
promised
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: /DATA/chroot_named/var/.
cf3>
cf3>     Comment:  Make sure chroot dir exist
cf3>     .........................................................
cf3>
cf3>  -> Using literal pathtype for /DATA/chroot_named/var/.
cf3>  -> File "/DATA/chroot_named/var/." exists as promised
cf3>  -> Handling file existence constraints on /DATA/chroot_named/var
cf3>  -> File permissions on /DATA/chroot_named/var as promised
cf3>  -> Handling file existence constraints on /DATA/chroot_named/var
cf3>  -> File permissions on /DATA/chroot_named/var as promised
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: /DATA/chroot_named/var/cache/.
cf3>
cf3>     Comment:  Make sure chroot dir exist
cf3>     .........................................................
cf3>
cf3>  -> Using literal pathtype for /DATA/chroot_named/var/cache/.
cf3>  -> File "/DATA/chroot_named/var/cache/." exists as promised
cf3>  -> Handling file existence constraints on /DATA/chroot_named/var/cache
cf3>  -> File permissions on /DATA/chroot_named/var/cache as promised
cf3>  -> Handling file existence constraints on /DATA/chroot_named/var/cache
cf3>  -> File permissions on /DATA/chroot_named/var/cache as promised
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: /DATA/chroot_named/var/cache/bind/.
cf3>
cf3>     Comment:  Make sure chroot dir exist
cf3>     .........................................................
cf3>
cf3>  -> Using literal pathtype for /DATA/chroot_named/var/cache/bind/.
cf3>  -> File "/DATA/chroot_named/var/cache/bind/." exists as promised
cf3>  -> Handling file existence constraints on 
/DATA/chroot_named/var/cache/bind
cf3>  -> File permissions on /DATA/chroot_named/var/cache/bind as promised
cf3>  -> Handling file existence constraints on 
/DATA/chroot_named/var/cache/bind
cf3>  -> File permissions on /DATA/chroot_named/var/cache/bind as promised
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: /DATA/chroot_named/var/cache/bind/slave/.
cf3>
cf3>     Comment:  Make sure chroot dir exist
cf3>     .........................................................
cf3>
cf3>  -> Using literal pathtype for /DATA/chroot_named/var/cache/bind/slave/.
cf3>  -> File "/DATA/chroot_named/var/cache/bind/slave/." exists as promised
cf3>  -> Handling file existence constraints on 
/DATA/chroot_named/var/cache/bind/slave
cf3>  -> File permissions on /DATA/chroot_named/var/cache/bind/slave as promised
cf3>  -> Handling file existence constraints on 
/DATA/chroot_named/var/cache/bind/slave
cf3>  -> File permissions on /DATA/chroot_named/var/cache/bind/slave as promised
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: /DATA/chroot_named/var/log/.
cf3>
cf3>     Comment:  Make sure chroot dir exist
cf3>     .........................................................
cf3>
cf3>  -> Using literal pathtype for /DATA/chroot_named/var/log/.
cf3>  -> File "/DATA/chroot_named/var/log/." exists as promised
cf3>  -> Handling file existence constraints on /DATA/chroot_named/var/log
cf3>  -> File permissions on /DATA/chroot_named/var/log as promised
cf3>  -> Handling file existence constraints on /DATA/chroot_named/var/log
cf3>  -> File permissions on /DATA/chroot_named/var/log as promised
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: /DATA/chroot_named/var/run/.
cf3>
cf3>     Comment:  Make sure chroot dir exist
cf3>     .........................................................
cf3>
cf3>  -> Using literal pathtype for /DATA/chroot_named/var/run/.
cf3>  -> File "/DATA/chroot_named/var/run/." exists as promised
cf3>  -> Handling file existence constraints on /DATA/chroot_named/var/run
cf3>  -> File permissions on /DATA/chroot_named/var/run as promised
cf3>  -> Handling file existence constraints on /DATA/chroot_named/var/run
cf3>  -> File permissions on /DATA/chroot_named/var/run as promised
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: /DATA/chroot_named/var/run/named/.
cf3>
cf3>     Comment:  Make sure chroot dir exist
cf3>     .........................................................
cf3>
cf3>  -> Using literal pathtype for /DATA/chroot_named/var/run/named/.
cf3>  -> File "/DATA/chroot_named/var/run/named/." exists as promised
cf3>  -> Handling file existence constraints on /DATA/chroot_named/var/run/named
cf3>  -> File permissions on /DATA/chroot_named/var/run/named as promised
cf3>  -> Handling file existence constraints on /DATA/chroot_named/var/run/named
cf3>  -> File permissions on /DATA/chroot_named/var/run/named as promised
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: /DATA/chroot_named/dev/null
cf3>
cf3>     Comment:  Fix null device permission
cf3>     .........................................................
cf3>
cf3>  -> Using literal pathtype for /DATA/chroot_named/dev/null
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: /DATA/chroot_named/dev/random
cf3>
cf3>     Comment:  Fix random device permission
cf3>     .........................................................
cf3>
cf3>  -> Using literal pathtype for /DATA/chroot_named/dev/random
cf3>
cf3>    =========================================================
cf3>    commands in bundle config_bind9 (1)
cf3>    =========================================================
cf3>
cf3>  -> Promiser string contains a valid executable (/bin/mknod) - ok
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: /bin/mknod /DATA/chroot_named/dev/null c 1 3 -m 666
cf3>     .........................................................
cf3>
cf3>  -> Executing '/bin/mknod /DATA/chroot_named/dev/null c 1 3 -m 666' 
...(timeout=-678,owner=-1,group=-1)
cf3>  -> (Setting umask to 77)
cf3>  -> Finished command related to promiser "/bin/mknod 
/DATA/chroot_named/dev/null c 1 3 -m 666" -- succeeded
cf3>  ?> defining promise result class cbind9_devs_null_repaired
cf3>  -> Completed execution of /bin/mknod /DATA/chroot_named/dev/null c 1 3 -m 
666
cf3>  -> Promiser string contains a valid executable (/bin/mknod) - ok
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: /bin/mknod /DATA/chroot_named/dev/random c 1 8 -m 666
cf3>     .........................................................
cf3>
cf3>  -> Executing '/bin/mknod /DATA/chroot_named/dev/random c 1 8 -m 666' 
...(timeout=-678,owner=-1,group=-1)
cf3>  -> (Setting umask to 77)
cf3>  -> Finished command related to promiser "/bin/mknod 
/DATA/chroot_named/dev/random c 1 8 -m 666" -- succeeded
cf3>  ?> defining promise result class cbind9_devs_random_repaired
cf3>  -> Completed execution of /bin/mknod /DATA/chroot_named/dev/random c 1 8 
-m 666
cf3>
cf3>    =========================================================
cf3>    reports in bundle config_bind9 (1)
cf3>    =========================================================
cf3>
cf3>
cf3> . . . . . . . . . . . . . . . . . . . . . . . . . . . .
cf3> Skipping whole next promise (File /etc/default/bind9 have been repaired), 
as context file_default_bind9_repaired is not relevant
cf3> . . . . . . . . . . . . . . . . . . . . . . . . . . . .
cf3>
cf3> . . . . . . . . . . . . . . . . . . . . . . . . . . . .
cf3> Skipping whole next promise (Directory /DATA/chroot_named have been 
repaired), as context cbind9_repaired is not relevant
cf3> . . . . . . . . . . . . . . . . . . . . . . . . . . . .
cf3>
cf3> . . . . . . . . . . . . . . . . . . . . . . . . . . . .
cf3> Skipping whole next promise (Bind9 chroot environement directory 
repaired), as context env_cbind9_repaired is not relevant
cf3> . . . . . . . . . . . . . . . . . . . . . . . . . . . .
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: Bind9 chroot device null repaired
cf3>     .........................................................
cf3>
cf3> Report: Bind9 chroot device null repaired
cf3> R: Bind9 chroot device null repaired
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: Bind9 chroot device random repaired
cf3>     .........................................................
cf3>
cf3> Report: Bind9 chroot device random repaired
cf3> R: Bind9 chroot device random repaired
cf3>
cf3>    =========================================================
cf3>    vars in bundle config_bind9 (2)
cf3>    =========================================================
cf3>
cf3>
cf3>    =========================================================
cf3>    classes in bundle config_bind9 (2)
cf3>    =========================================================
cf3>
cf3> Initiate variable convergence...
cf3>
cf3>      +  Private classes augmented:
cf3>      +       cdev_random
cf3>      +       cdev_null
cf3>
cf3>      -  Private classes diminished:
cf3>
cf3>
cf3>
cf3>    =========================================================
cf3>    files in bundle config_bind9 (2)
cf3>    =========================================================
cf3>
cf3>
cf3>    =========================================================
cf3>    commands in bundle config_bind9 (2)
cf3>    =========================================================
cf3>
cf3>
cf3>    =========================================================
cf3>    reports in bundle config_bind9 (2)
cf3>    =========================================================
cf3>
cf3>
cf3> . . . . . . . . . . . . . . . . . . . . . . . . . . . .
cf3> Skipping whole next promise (File /etc/default/bind9 have been repaired), 
as context file_default_bind9_repaired is not relevant
cf3> . . . . . . . . . . . . . . . . . . . . . . . . . . . .
cf3>
cf3> . . . . . . . . . . . . . . . . . . . . . . . . . . . .
cf3> Skipping whole next promise (Directory /DATA/chroot_named have been 
repaired), as context cbind9_repaired is not relevant
cf3> . . . . . . . . . . . . . . . . . . . . . . . . . . . .
cf3>
cf3> . . . . . . . . . . . . . . . . . . . . . . . . . . . .
cf3> Skipping whole next promise (Bind9 chroot environement directory 
repaired), as context env_cbind9_repaired is not relevant
cf3> . . . . . . . . . . . . . . . . . . . . . . . . . . . .
cf3>
cf3>    =========================================================
cf3>    vars in bundle config_bind9 (3)
cf3>    =========================================================
cf3>
cf3>
cf3>    =========================================================
cf3>    classes in bundle config_bind9 (3)
cf3>    =========================================================
cf3>
cf3> Initiate variable convergence...
cf3>
cf3>      +  Private classes augmented:
cf3>      +       cdev_random
cf3>      +       cdev_null
cf3>
cf3>      -  Private classes diminished:
cf3>
cf3>
cf3>
cf3>    =========================================================
cf3>    files in bundle config_bind9 (3)
cf3>    =========================================================
cf3>
cf3>
cf3>    =========================================================
cf3>    commands in bundle config_bind9 (3)
cf3>    =========================================================
cf3>
cf3>
cf3>    =========================================================
cf3>    reports in bundle config_bind9 (3)
cf3>    =========================================================
cf3>
cf3>
cf3> . . . . . . . . . . . . . . . . . . . . . . . . . . . .
cf3> Skipping whole next promise (File /etc/default/bind9 have been repaired), 
as context file_default_bind9_repaired is not relevant
cf3> . . . . . . . . . . . . . . . . . . . . . . . . . . . .
cf3>
cf3> . . . . . . . . . . . . . . . . . . . . . . . . . . . .
cf3> Skipping whole next promise (Directory /DATA/chroot_named have been 
repaired), as context cbind9_repaired is not relevant
cf3> . . . . . . . . . . . . . . . . . . . . . . . . . . . .
cf3>
cf3> . . . . . . . . . . . . . . . . . . . . . . . . . . . .
cf3> Skipping whole next promise (Bind9 chroot environement directory 
repaired), as context env_cbind9_repaired is not relevant
cf3> . . . . . . . . . . . . . . . . . . . . . . . . . . . .
cf3> Outcome of version STH ns3 Promises.cf 1.0.0 (agent-0): Promises observed 
to be kept 92%, Promises repaired 8%, Promises not repaired 0%
cf3>  -> Checked 22 objects with 75 promises, efficiency 22.68
cf3>  -> No lock purging scheduled

_________________________________________________________________________________________________________________________

Ce message et ses pieces jointes peuvent contenir des informations 
confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce 
message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages 
electroniques etant susceptibles d'alteration,
France Telecom - Orange decline toute responsabilite si ce message a ete 
altere, deforme ou falsifie. Merci.

This message and its attachments may contain confidential or privileged 
information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete 
this message and its attachments.
As emails may be altered, France Telecom - Orange is not liable for messages 
that have been modified, changed or falsified.
Thank you.

_______________________________________________
Help-cfengine mailing list
Help-cfengine@cfengine.org
https://cfengine.org/mailman/listinfo/help-cfengine

Reply via email to