Issue #14399 has been updated by Andrew Parker.
Jacob, I just want to say thank you, thank you, thank you for such a well written and fully fleshed out bug report. This will help a lot in trying to figure this out. ---------------------------------------- Bug #14399: Can not override define parameter https://projects.puppetlabs.com/issues/14399#change-62904 Author: Jacob McCann Status: Investigating Priority: Normal Assignee: Andrew Parker Category: Target version: Affected Puppet version: 2.7.14 Keywords: Branch: When inheriting another class and trying to override a parameter for a define, the new value does not get set. What I am doing: oracle_db/manifests/init.pp <pre> class oracle_db { etc_sysctl_conf { 'kernel.shmall': value => '1', } } </pre> oracle_db/manifests/etc_sysctl_conf.pp <pre> define oracle_db::etc_sysctl_conf ( $attr = $name, $value ) { notify{"${attr}:${value}": } } </pre> oracle_db/manifests/hugepages.pp <pre> class oracle_db::hugepages inherits oracle_db { Oracle_db::Etc_sysctl_conf['kernel.shmall'] { value => '2', } oracle_db::etc_sysctl_conf { "vm.nr_hugepages": value => '3'; } } </pre> So I am trying to override oracle_db::etc_sysctl_conf['kernel.shmall'] resource in oracle_db::hugepages to change value parameter from 1 (set in oracle_db) to 2. I then have oracle_db and oracle_db::hugepages assigned to the system via an ENC. I've also tested with just having oracle_db::hugepages assigned via ENC. The results I get are: <pre> notice: kernel.shmall:1 notice: /Stage[main]/Oracle_db/Oracle_db::Etc_sysctl_conf[kernel.shmall]/Notify[kernel.shmall:1]/message: defined 'message' as 'kernel.shmall:1' notice: vm.nr_hugepages:3 notice: /Stage[main]/Oracle_db::Hugepages/Oracle_db::Etc_sysctl_conf[vm.nr_hugepages]/Notify[vm.nr_hugepages:3]/message: defined 'message' as 'vm.nr_hugepages:3' </pre> And what I would expect is for kernel.shmall to have a value of 2 instead (the following is hand-edited to show what I would expect): <pre> notice: kernel.shmall:2 notice: /Stage[main]/Oracle_db/Oracle_db::Etc_sysctl_conf[kernel.shmall]/Notify[kernel.shmall:2]/message: defined 'message' as 'kernel.shmall:2' notice: vm.nr_hugepages:3 notice: /Stage[main]/Oracle_db::Hugepages/Oracle_db::Etc_sysctl_conf[vm.nr_hugepages]/Notify[vm.nr_hugepages:3]/message: defined 'message' as 'vm.nr_hugepages:3' </pre> Complete output from a run: <pre> hostA:~ # puppet agent --test info: Retrieving plugin info: Loading facts in usps_bu_eth info: Loading facts in usps_puppet_db_server info: Loading facts in usps_syslog_client_ip info: Loading facts in usps_puppet_master_host info: Loading facts in hcs_service info: Loading facts in packages info: Loading facts in usps_patch_bundle info: Loading facts in usps_bu_net_zone info: Loading facts in memorysize info: Loading facts in usps_puppet_basedir info: Loading facts in usps_os_dist info: Loading facts in usps_is_dmz info: Loading facts in network info: Loading facts in usps_os_version info: Loading facts in jumpver_facts info: Loading facts in usps_bu_macaddress info: Loading facts in usps_patch_repo info: Loading facts in usps_public_int info: Loading facts in usps_patch_status info: Loading facts in concat_basedir info: Loading facts in usps_bu_int info: Loading facts in usps_is_ctm_server info: Loading facts in usps_is_puppet_master info: Loading facts in usps_puppet_env info: Loading facts in usps_puppet_ca_server info: Loading facts in usps_puppet_report_server info: Loading facts in usps_bu_net info: Loading facts in usps_puppet_is_ca info: Loading facts in usps_bu_ip info: Loading facts in usps_patch_env info: Loading facts in usps_bootloader info: Loading facts in usps_patch_date info: Loading facts in usps_bu_eth info: Loading facts in usps_puppet_db_server info: Loading facts in usps_syslog_client_ip info: Loading facts in usps_puppet_master_host info: Loading facts in hcs_service info: Loading facts in packages info: Loading facts in usps_patch_bundle info: Loading facts in usps_bu_net_zone info: Loading facts in memorysize info: Loading facts in usps_puppet_basedir info: Loading facts in usps_os_dist info: Loading facts in usps_is_dmz info: Loading facts in network info: Loading facts in usps_os_version info: Loading facts in jumpver_facts info: Loading facts in usps_bu_macaddress info: Loading facts in usps_patch_repo info: Loading facts in usps_public_int info: Loading facts in usps_patch_status info: Loading facts in concat_basedir info: Loading facts in usps_bu_int info: Loading facts in usps_is_ctm_server info: Loading facts in usps_is_puppet_master info: Loading facts in usps_puppet_env info: Loading facts in usps_puppet_ca_server info: Loading facts in usps_puppet_report_server info: Loading facts in usps_bu_net info: Loading facts in usps_puppet_is_ca info: Loading facts in usps_bu_ip info: Loading facts in usps_patch_env info: Loading facts in usps_bootloader info: Loading facts in usps_patch_date Could not retrieve macaddress_eth2: undefined method `[]' for nil:NilClass Could not retrieve macaddress_eth3: undefined method `[]' for nil:NilClass Could not retrieve macaddress_eth8: undefined method `[]' for nil:NilClass Could not retrieve macaddress_eth9: undefined method `[]' for nil:NilClass Could not retrieve macaddress_eth12: undefined method `[]' for nil:NilClass Could not retrieve macaddress_eth13: undefined method `[]' for nil:NilClass Could not retrieve macaddress_eth14: undefined method `[]' for nil:NilClass Could not retrieve macaddress_eth15: undefined method `[]' for nil:NilClass info: Caching catalog for hostA info: Applying configuration version '1336591539' notice: kernel.shmall:1 notice: /Stage[main]/Oracle_db/Oracle_db::Etc_sysctl_conf[kernel.shmall]/Notify[kernel.shmall:1]/message: defined 'message' as 'kernel.shmall:1' notice: vm.nr_hugepages:3 notice: /Stage[main]/Oracle_db::Hugepages/Oracle_db::Etc_sysctl_conf[vm.nr_hugepages]/Notify[vm.nr_hugepages:3]/message: defined 'message' as 'vm.nr_hugepages:3' notice: Finished catalog run in 17.88 seconds </pre> This has been tested using 2.7.9 and 2.7.14. Some discussion on this in @ <a href='https://groups.google.com/forum/?fromgroups#!topic/puppet-users/buQxiN6Hlj4'>https://groups.google.com/forum/?fromgroups#!topic/puppet-users/buQxiN6Hlj4</a> -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
