Issue #8922 has been updated by James Turnbull. Status changed from Unreviewed to Duplicate
Duplicate of #6845 - this is fixed in 2.6.9. ---------------------------------------- Bug #8922: invalid mount entries created in Solaris /etc/vfstab https://projects.puppetlabs.com/issues/8922 Author: Mark Heily Status: Duplicate Priority: Normal Assignee: Category: Target version: Affected Puppet version: Keywords: Branch: The mount provider on Solaris appears to be creating entries in /etc/vfstab using the wrong syntax. Here is the resource definition that I used: <pre> mount { '/tmp': device => 'swap', atboot => 'true', blockdevice => '-', fstype => 'tmpfs', options => 'size=1024m', remounts => false, } </pre> Here is the puppet agent log: <pre> notice: /Stage[main]//Mount[/tmp]/device: defined 'device' as 'swap' notice: /Stage[main]//Mount[/tmp]/fstype: defined 'fstype' as 'tmpfs' notice: /Stage[main]//Mount[/tmp]/options: defined 'options' as 'size=1024m' notice: /Stage[main]//Mount[/tmp]/pass: defined 'pass' as '0' notice: /Stage[main]//Mount[/tmp]/dump: defined 'dump' as '0' </pre> Here is the entry it created. The syntax would be perfectly valid on Linux, but not on Solaris: <pre> swap /tmp tmpfs size=1024m 0 0 </pre> Here is what it should have created: <pre> swap - tmpfs size=1024m - yes - </pre> Specifically, it needs to do the following: * Add the 'device to fsck' column * Add the 'mount at boot' column * Use '-' instead of '0' for the dump column * Change the order of the 'mount options' column I'm running Puppet version 2.6.8 installed via RubyGems. The system is running Solaris 10 (SPARC). See below for the output when running with the --debug and --trace options. <pre> verne# puppet apply vfstab-bug.pp --debug --trace debug: Failed to load library 'selinux' for feature 'selinux' debug: Creating default schedules debug: Failed to load library 'shadow' for feature 'libshadow' debug: Puppet::Type::User::ProviderUseradd: file chage does not exist debug: Puppet::Type::User::ProviderLdap: true value when expecting false debug: Puppet::Type::User::ProviderPw: file pw does not exist debug: Puppet::Type::User::ProviderDirectoryservice: file /usr/bin/dscl does not exist debug: Puppet::Type::File::ProviderMicrosoft_windows: feature microsoft_windows is missing debug: Failed to load library 'ldap' for feature 'ldap' debug: /File[/var/lib/puppet/state/classes.txt]: Autorequiring File[/var/lib/puppet/state] debug: /File[/var/lib/puppet/client_data]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/log]: Autorequiring File[/var/lib/puppet] debug: /File[/etc/puppet/ssl/certs/ca.pem]: Autorequiring File[/etc/puppet/ssl/certs] debug: /File[/etc/puppet/ssl/certs]: Autorequiring File[/etc/puppet/ssl] debug: /File[/var/lib/puppet/run]: Autorequiring File[/var/lib/puppet] debug: /File[/etc/puppet/ssl/crl.pem]: Autorequiring File[/etc/puppet/ssl] debug: /File[/etc/puppet/ssl/certificate_requests]: Autorequiring File[/etc/puppet/ssl] debug: /File[/var/lib/puppet/facts]: Autorequiring File[/var/lib/puppet] debug: /File[/etc/puppet/ssl]: Autorequiring File[/etc/puppet] debug: /File[/var/lib/puppet/lib]: Autorequiring File[/var/lib/puppet] debug: /File[/etc/puppet/ssl/private]: Autorequiring File[/etc/puppet/ssl] debug: /File[/var/lib/puppet/state/graphs]: Autorequiring File[/var/lib/puppet/state] debug: /File[/etc/puppet/ssl/public_keys]: Autorequiring File[/etc/puppet/ssl] debug: /File[/etc/puppet/ssl/private_keys]: Autorequiring File[/etc/puppet/ssl] debug: /File[/etc/puppet/ssl/private_keys/verne.es.gwu.edu.pem]: Autorequiring File[/etc/puppet/ssl/private_keys] debug: /File[/etc/puppet/ssl/certs/verne.es.gwu.edu.pem]: Autorequiring File[/etc/puppet/ssl/certs] debug: /File[/var/lib/puppet/client_yaml]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/state/last_run_report.yaml]: Autorequiring File[/var/lib/puppet/state] debug: /File[/etc/puppet/ssl/public_keys/verne.es.gwu.edu.pem]: Autorequiring File[/etc/puppet/ssl/public_keys] debug: /File[/var/lib/puppet/state]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/state/state.yaml]: Autorequiring File[/var/lib/puppet/state] debug: /File[/var/lib/puppet/clientbucket]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/state/last_run_summary.yaml]: Autorequiring File[/var/lib/puppet/state] debug: Finishing transaction 8594212 debug: Loaded state in 0.10 seconds debug: Loaded state in 0.10 seconds debug: Prefetching parsed resources for mount debug: Puppet::Type::Mount::ProviderParsed: Executing '/usr/sbin/mount' info: Applying configuration version '1313073251' notice: /Stage[main]//Mount[/tmp]/device: defined 'device' as 'swap' notice: /Stage[main]//Mount[/tmp]/fstype: defined 'fstype' as 'tmpfs' notice: /Stage[main]//Mount[/tmp]/options: defined 'options' as 'size=1024m' notice: /Stage[main]//Mount[/tmp]/pass: defined 'pass' as '0' notice: /Stage[main]//Mount[/tmp]/dump: defined 'dump' as '0' debug: Flushing mount provider target /etc/vfstab debug: Finishing transaction 8008324 info: FileBucket adding {md5}454510c4f4b5bb5c28bdb7d71c86508f info: /Stage[main]//Mount[/tmp]: Scheduling refresh of Mount[/tmp] info: /Stage[main]//Mount[/tmp]: Scheduling refresh of Mount[/tmp] info: /Stage[main]//Mount[/tmp]: Scheduling refresh of Mount[/tmp] info: /Stage[main]//Mount[/tmp]: Scheduling refresh of Mount[/tmp] info: /Stage[main]//Mount[/tmp]: Scheduling refresh of Mount[/tmp] info: Mount[/tmp](provider=parsed): Remounting debug: Puppet::Type::Mount::ProviderParsed: Executing '/usr/sbin/umount /tmp' err: /Stage[main]//Mount[/tmp]: Failed to call refresh: Execution of '/usr/sbin/umount /tmp' returned 1: umount: /tmp busy /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/util.rb:365:in `execute' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/provider.rb:121:in `umount' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/provider.rb:128:in `umount' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/provider/mount.rb:36:in `unmount' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/provider/mount.rb:29:in `remount' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/type/mount.rb:229:in `refresh' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/transaction/event_manager.rb:80:in `process_callback' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/transaction/event_manager.rb:20:in `process_events' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/transaction/event_manager.rb:72:in `queued_events' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/transaction/event_manager.rb:71:in `queued_events' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/transaction/event_manager.rb:19:in `process_events' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/transaction.rb:95:in `eval_resource' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/transaction.rb:142:in `evaluate' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/util.rb:429:in `thinmark' /usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure' /usr/local/lib/ruby/1.8/benchmark.rb:307:in `realtime' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/util.rb:428:in `thinmark' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/transaction.rb:141:in `evaluate' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/transaction.rb:134:in `evaluate' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/resource/catalog.rb:144:in `apply' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/configurer.rb:150:in `run' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/util.rb:193:in `benchmark' /usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure' /usr/local/lib/ruby/1.8/benchmark.rb:307:in `realtime' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/util.rb:192:in `benchmark' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/configurer.rb:149:in `run' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/application/apply.rb:126:in `main' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/application/apply.rb:35:in `run_command' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/application.rb:305:in `run' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/application.rb:420:in `hook' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/application.rb:305:in `run' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/application.rb:411:in `exit_on_fail' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/application.rb:305:in `run' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/lib/puppet/util/command_line.rb:62:in `execute' /usr/local/lib/ruby/gems/1.8/gems/puppet-2.6.8/bin/puppet:4 /usr/local/bin/puppet:19 debug: Finishing transaction 8062156 debug: Storing state debug: Stored state in 0.62 seconds notice: Finished catalog run in 1.47 seconds </pre> -- 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.
