main vs. mpf_main: just checking...

"[email protected]" <[email protected]> Thu, 23 Jan 2025 09:29:20 -0800 (PST)
Newsgroups gmane.comp.sysutils.cfengine.general
Message-ID <[email protected]>
------=_Part_43270_962169681.1737653360680
Content-Type: multipart/alternative; 
	boundary="----=_Part_43271_1327106512.1737653360680"

------=_Part_43271_1327106512.1737653360680
Content-Type: text/plain; charset="UTF-8"

We are now mostly 3.18 for binaries and for MPF.  We need to begin the 
journey to 3.21.

For local reasons, our local policy currently replaces the MPF 
"services/main.cf" file (which is where bundle "main" is defined) with our 
own small replacement.  The relevant part (currently for MPF<=3.18) looks 
like:

----------
bundle agent main
# User Defined Service Catalogue
{
  vars:
    any::
      "bundlesequence" slist => {
        "policy_channels",
        "dls_promises"
      };

  methods:
    # Activate your custom policies here
    any::
      "any" usebundle => "$(bundlesequence)";

}
----------
where it is vital that "policy_channels" comes first; and "dls_promises" is 
the entry point to our local policy.   (We do not use "autorun".  And for 
various local reasons, any proposal to do adopt this into our extensive, 
well-established local policy structure would probably meet significant 
resistance.)

Having read Nick Anderson's blog post 
https://cfengine.com/blog/2022/renaming-bundle-agent-main-in-mpf/ it seems 
that the bundle name (in our replacement "services/main.cf" file) must be:

   - "main" for client MPF 3.18 (and below)
   - "mpf_main" for client MPF 3.21 (and above)
   
My primary question: Is my understanding of this correct?

Secondary question (predicated on the first): to ensure resilient 
3.18->3.21 transition, does the following look reasonable?
----------
bundle agent main
{
  methods:
    any::
      "any" usebundle => "mpf_main";
}

bundle agent mpf_main
# User Defined Service Catalogue
{
  vars:
    any::
      "bundlesequence" slist => {
        "policy_channels",

        "dls_promises"
      };

  methods:
    # Activate your custom policies here
    any::
      "any" usebundle => "$(bundlesequence)";

}
----------
The intention here is that our common policy (starting at our "main.cf") 
can work reliably with potentially different client versions of MPF during 
this transitional phase.

(BTW, I am also aware that the 3.18->3.21 journey will involve some 
checking and reviewing of "rxdirs" on some "files:" promises, and I've got 
Nick's other blog post to hand for that. But that needn't distract us here.)

-- David Lee

-- 
You received this message because you are subscribed to the Google Groups "help-cfengine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To view this discussion visit https://groups.google.com/d/msgid/help-cfengine/0bfe2480-8f97-405a-8570-fb0416dfaa14n%40googlegroups.com.

------=_Part_43271_1327106512.1737653360680
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div>We are now mostly 3.18 for binaries and for MPF.=C2=A0 We need to begi=
n the journey to 3.21.</div><div><br /></div><div>For local reasons, our lo=
cal policy currently replaces the MPF "services/main.cf" file (which is whe=
re bundle "main" is defined) with our own small replacement.=C2=A0 The rele=
vant part (currently for MPF&lt;=3D3.18) looks like:</div><div><br /></div>=
<div>----------</div><div>bundle agent main<br /># User Defined Service Cat=
alogue<br />{<br />=C2=A0 vars:<br />=C2=A0 =C2=A0 any::<br />=C2=A0 =C2=A0=
 =C2=A0 "bundlesequence" slist =3D&gt; {<br />=C2=A0 =C2=A0 =C2=A0 =C2=A0 "=
policy_channels",<br />=C2=A0 =C2=A0 =C2=A0 =C2=A0 "dls_promises"<br />=C2=
=A0 =C2=A0 =C2=A0 };<br /><br />=C2=A0 methods:<br />=C2=A0 =C2=A0 # Activa=
te your custom policies here<br />=C2=A0 =C2=A0 any::<br />=C2=A0 =C2=A0 =
=C2=A0 "any" usebundle =3D&gt; "$(bundlesequence)";<br /><br />}</div><div>=
----------<br /></div><div>where it is vital that "policy_channels" comes f=
irst; and "dls_promises" is the entry point to our local policy.=C2=A0=C2=
=A0 (We do not use "autorun".=C2=A0 And for various local reasons, any prop=
osal to do adopt this into our extensive, well-established local policy str=
ucture would probably meet significant resistance.)<br /></div><div><br /><=
/div><div>Having read Nick Anderson's blog post https://cfengine.com/blog/2=
022/renaming-bundle-agent-main-in-mpf/ it seems that the bundle name (in ou=
r replacement "services/main.cf" file) must be:</div><div><ul><li>"main" fo=
r client MPF 3.18 (and below)</li><li>"mpf_main" for client MPF 3.21 (and a=
bove)<br /></li></ul></div><div>My primary question: Is my understanding of=
 this correct?</div><div><br /></div><div>Secondary question (predicated on=
 the first): to ensure resilient 3.18-&gt;3.21 transition, does the followi=
ng look reasonable?</div><div>----------</div><div>bundle agent main<br />{=
<br />=C2=A0 methods:<br />=C2=A0 =C2=A0 any::<br />=C2=A0 =C2=A0 =C2=A0 "a=
ny" usebundle =3D&gt; "mpf_main";<br />}<br /><br />bundle agent mpf_main<b=
r /># User Defined Service Catalogue<br />{<br />=C2=A0 vars:<br />=C2=A0 =
=C2=A0 any::<br />=C2=A0 =C2=A0 =C2=A0 "bundlesequence" slist =3D&gt; {<br =
/>=C2=A0 =C2=A0 =C2=A0 =C2=A0 "policy_channels",<br /><br />=C2=A0 =C2=A0 =
=C2=A0 =C2=A0 "dls_promises"<br />=C2=A0 =C2=A0 =C2=A0 };<br /><br />=C2=A0=
 methods:<br />=C2=A0 =C2=A0 # Activate your custom policies here<br />=C2=
=A0 =C2=A0 any::<br />=C2=A0 =C2=A0 =C2=A0 "any" usebundle =3D&gt; "$(bundl=
esequence)";<br /><br />}</div><div>----------<br /></div><div>The intentio=
n here is that our common policy (starting at our "main.cf") can work relia=
bly with potentially different client versions of MPF during this transitio=
nal phase.<br /></div><div><br /></div><div>(BTW, I am also aware that the =
3.18-&gt;3.21 journey will involve some checking and reviewing of "rxdirs" =
on some "files:" promises, and I've got Nick's other blog post to hand for =
that. But that needn't distract us here.)<br /></div><div><br /></div><div>=
-- David Lee<br /></div>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;help-cfengine&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:[email protected]">help-=
[email protected]</a>.<br />
To view this discussion visit <a href=3D"https://groups.google.com/d/msgid/=
help-cfengine/0bfe2480-8f97-405a-8570-fb0416dfaa14n%40googlegroups.com?utm_=
medium=3Demail&utm_source=3Dfooter">https://groups.google.com/d/msgid/help-=
cfengine/0bfe2480-8f97-405a-8570-fb0416dfaa14n%40googlegroups.com</a>.<br /=
>

------=_Part_43271_1327106512.1737653360680--

------=_Part_43270_962169681.1737653360680--