Closed paulbadcock closed 9 years ago
a few questions before i try to reproduce this:
seems like somehow there's no file resource for dsm.sys in the catalog, so the the service cannot depend on it....
thanks toni
I think the config_hash below is formatted incorrect but those are the exact values I'm using. To explain these are the puppet class parameters as set in Katello and it's not a 1:1 relation.
class tsm {
tcp_server_address => 'tsm.domain.tld',
set_initial_password => true,
service_manage => true,
initial_password => 'password',
config_replace => true,
config_hash => [
errorlogname: /opt/tivoli/tsm/client/ba/bin/dsmerror.log
passwordaccess: generate
],
}
Thanks again for a prompt response!
ok. i'll try to reproduce this asap.
hm, i think you got the puppet syntax for using the tsm class wrong, this works for me:
class { 'tsm':
tcp_server_address => 'tsm.domain.tld',
set_initial_password => true,
service_manage => true,
initial_password => 'password',
config_replace => true,
config_hash => {
errorlogname => '/opt/tivoli/tsm/client/ba/bin/dsmerror.log',
passwordaccess => 'generate'
},
}
try to use the tsm class with the code above, if it works the issue must be within katello. especially config_hash is wrong, [] is used for arrays not for hashes and when using a hash ({}) key/values a separated by =>.
hth toni
Yeah I think it's the way Katello is evaluating the hash and presenting it to Puppet, when I use:
{ errorlogname => '/opt/tivoli/tsm/client/ba/bin/dsmerror.log', passwordaccess => 'generate' }
The output dsm.sys results in:
* standard options
SErvername tsm
COMMMethod TCPip
TCPPort 1500
TCPServeraddress tsm.domain.tld
INCLExcl /opt/tivoli/tsm/client/ba/bin/InclExcl.local
* additional options
errorlogname => '/opt/tivoli/tsm/client/ba/bin/dsmerror.log'
passwordaccess => 'generate'
* settings included from dsm.sys.local (if any)
If I use
errorlogname: /opt/tivoli/tsm/client/ba/bin/dsmerror.log
passwordaccess: generate
The output dsm.sys results in:
* standard options
SErvername tsm
COMMMethod TCPip
TCPPort 1500
TCPServeraddress tsm.domain.tld
INCLExcl /opt/tivoli/tsm/client/ba/bin/InclExcl.local
* additional options
errorlogname /opt/tivoli/tsm/client/ba/bin/dsmerror.log
passwordaccess generate
* settings included from dsm.sys.local (if any)
For a FYI these are the settings I've used in Katello as a smart variable. It's just curious it's only RHEL6 but fine for RHEL7.
An update, I've been testing out the module with RHEL6/7 and commenting out line 33 in manifests/service/redhat.pp has corrected the issue.
I think there still is an issue with the module. I'm going to test the setup today using a notify on the file and let you know the results.
the thing is that the concat module should create a file resource for dsm.sys. so if i understand correctly dsm.sys gets created, but there's no file resource. what's the value of $::tsm::config? the default?
another question: what version of the tsm client are you using?
dsm.sys isn't created but if I touch the file on the filesystem it still won't complete because the file resource isn't in existence according to the puppet run. $::tsm::config is the default.
7.1.2 here's the packages installed: TIVsm-BA-7.1.2-0.x86_64 TIVsm-API64-7.1.2-0.x86_64
hm, the question is: why is there no dsm.sys? according to the code in config.pp it should create a new one from the template. to really find the root cause you should try the code i've posted above and run puppet apply with --debug. please post the output or better create a gist that includes a detailed descripton of every step you've taken and the complete output of the commands you where running.
i'll try to reproduce this with tsm 7.1.2, but i don't think it's an issue with the package.
Yeah it should. From my testing I was able to fix the issue with Katello with the following changes: https://github.com/paulbadcock/puppet-tsm/commit/8ced2e2cdf662739a4393a72359d39c6a42109e9
I don't think it's an ideal solution as your keeping the service as an option but it fixed my issues.
ah, ok. maybe thats the better solution for restarting the dsmsched service. could you open a pull request for this change? i'm going to releases a bugfix...
what version of puppet are you running?
3.6.2 (Standard version in Satellite6/Katello RHEL repos) Package version is: puppet-3.6.2-1.el6sat.noarch
The only thing I worry about is by introducing the notify to service might fail if your using service_manage => false on the parameter. I put in the pull request here: https://github.com/nosolutions/puppet-tsm/pull/17
Some days I really hate Puppet's dependencies :)
could you try to run puppet agent --debug
? maybe i find a clue why there's no File resource for dsm.sys in you catalog...
Using the module on RHEL6.6 I receive the following error when running the tsm class:
This is with the parameter service_manage set to true. If the service_manage is set to false the module will run but the service will not be obviously managed. It seems a require might be required on the package before attempting to manage the service?
Thanks!