For a pure TSM/SP client solution, beyond what can be done with an inclexcl file or server-side client option sets as you and Skylar have already noted, I think you're out of luck.
You probably have several options from the Puppet side, though... You could use file_line resource in Pupppet's stdlib (carefully, if you're trying to manage multi-line content such as a server stanza) to manage a subset of the content of the dsm.sys file. You could also look at the concat module to generate the dsm.sys file from component files, as long as you manage all the components in Puppet as well. (If you don't, it can still work, but can also have unexpected behavior. It sounds like this is what you're actually looking for, but I would generally recommend you manage the "local" content with Puppet as well. In particular, with a local-only component, I believe concat would only rebuild the composite file if one of the Puppet-managed components changed. But there are a couple different ways to use concat.) Or if you're feeling ambitious, you could write an Augeas lens for TSM/SP config files... :-) (If you do, please contribute back to the community!) Depending on how your existing dsm.sys template is (or could be) defined, and how you would manage "local" content in Puppet (if you're willing/able to do so), it should also be possible to get the template to pull in the "local" bits when and where you need. (When using Puppet to manage dsm.sys in a SP replication setting, I would expect things to get even more interesting, since the client wants to manage some of the dsm.sys content itself. You can end up with the SP client and Puppet fighting over the file.) On 2/27/19 5:11 PM, Skylar Thompson wrote: > I don't know that this approach would work - Puppet would see that the file > differs from the deployed file, and would just overwrite it the next time > the agent runs. Puppet would need to manage dsm.sys completely[1] with > Rick's desired changes, or those options would have to be taken out of > dsm.sys and placed server-side. > > [1] I think there might be a way to have Puppet only manage a block in a > file, but this would be pretty complicated and prone to error. > > On Wed, Feb 27, 2019 at 11:04:43PM +0000, Harris, Steven wrote: >> Rick >> >> The m4 macro processor is a standard unix offering and can do anything from >> simple includes and variable substitutions to lisp-like processing that will >> boggle your mind. An m4 macro with some include files and a makefile with a >> cron job to build your dsm.sys might do the job. >> >> Cheers >> >> Steve >> >> -----Original Message----- >> From: ADSM: Dist Stor Manager [mailto:ADSM-L@VM.MARIST.EDU] On Behalf Of >> Skylar Thompson >> Sent: Thursday, 28 February 2019 6:10 AM >> To: ADSM-L@VM.MARIST.EDU >> Subject: Re: [ADSM-L] dsm.sys question >> >> Hi Rick, >> >> I'm not aware of a mechanism that allows one to do that with dsmc/dsm.sys, >> but Puppet does have the ability to include arbitrary lines in a file, >> either via a template or directly in a rule definition. >> >> Another option would be to use server-side client option sets: >> >> https://www.ibm.com/support/knowledgecenter/en/SSGSG7_7.1.1/com.ibm.itsm.srv.doc/t_mgclinod_mkclioptsets.html >> >> These options mirror what can be set in dsm.sys, and can either be >> overridden by the client, or enforced by the server. >> >> On Wed, Feb 27, 2019 at 06:58:30PM +0000, Rhodes, Richard L. wrote: >>> Hello, >>> >>> Our Unix team in implementing a management application named Puppet. >>> They are running into a problem using Puppet to setup/maintain the TSM >>> client dsm.sys files. They create/maintain the dsm.sys as per a >>> template of some kind. If you change a dsm.sys with a unique option, >>> it gets overwritten by the standard template when Puppet >>> refreshes/checks the file. The inclexcl option pulls include/excludes >>> from a separate local file so this works fine for local specific needs. >>> But some systems need other settings or whole servername stanzas that >>> are unique. I've looked through the BA client manual and see no way >>> to include arbitrary lines from some other file into dsm.sys. >>> >>> Q) Is there a way to source options from another file into the dsm.sys, >>> kind of like the inclexcl option does? >>> >>> >>> Thanks >>> >>> Rick > -- Hello World. David Bronder - Systems Architect Segmentation Fault ITS-EI, Univ. of Iowa Core dumped, disk trashed, quota filled, soda warm. david-bron...@uiowa.edu