| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| | |
2.6.next
Manually Resolved Conflicts:
spec/unit/provider/mount/parsed_spec.rb
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When one wants to use the parsedfile provider for a type with more than
one key_attribute (e.g. a type for entries in /etc/services with name
and protocol as key_attributes) the provider will not store all
key_attributes in property_hash and not all keyattributes will be
visible in the to_line function.
The create method of parsedfile will only put validproperties into the
propertyhash. As result :name and all the other key_attributes will not
be set.
In the flush method however the :name parameter is put in the
property_hash but the method does not handle other keyattributes.
This patch modifies flush to put all key_attributes into the property
hash
(Note: @resource.name is basically just an alias for @resource[:name])
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
On Red Hat, Ubuntu, Debian and deriatives the -r flag
allows creation of "system" users with a UID below that
defined in /etc/login.defs.
This commit adds support for a system parameter and a
system_users feature which can be used like so:
user { "foo":
system => true,
ensure => present,
}
This will create a user with a lower UID.
The system parameter defaults to false.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
There were two problems:
* In lib/puppet/type/mount.rb, we were calling provider.mounted? to
determine whether we needed to execute "mount" after updating the
in-memory fstab record. This wasn't working properly because
provider.mounted? makes its decision based on the data stored in the
in-memory fstab record. Since the fstab record had just been
updated, provider.mounted? was incorrectly returning true even
though the device wasn't actually mounted. Fixed this by checking
provider.mounted? before updating the in-memory fstab record.
* Calling mount from this point in lib/puppet/type/mount.rb is
actually too early, because even though the in-memory fstab record
has been created, its contents have not been written to `/etc/fstab`
yet. Fixed this by storing a :needs_mount entry in the
property_hash and checking it at the end of the flush() method.
Reviewed-by: Jacob Helwig <jacob@puppetlabs.com>
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* ticket/2.6.next/4914:
Revert "(#6309) Ensure the correct device is mounted when managing mounts"
(#4914) Improved stubbing in mount/parsed_spec tests.
(#4914) Improved parsed_spec for mount
(#4914) Remove mount specs
(#4914) Specs for mounted? match new behaviour
(#4914) Add specs for modified mount provider
(#4914) Add specs for modified mount type
(#4914) Update property blocks
(#4914) Query property_hash for mountstate
(#4914) Prefetch mountstate
(#4914) Join lines for better readability
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* ticket/2.6.x/4914:
(#4914) Improved stubbing in mount/parsed_spec tests.
(#4914) Improved parsed_spec for mount
(#4914) Remove mount specs
(#4914) Specs for mounted? match new behaviour
(#4914) Add specs for modified mount provider
(#4914) Add specs for modified mount type
(#4914) Update property blocks
(#4914) Query property_hash for mountstate
(#4914) Prefetch mountstate
(#4914) Join lines for better readability
Conflicts:
lib/puppet/provider/mount.rb
lib/puppet/provider/mount/parsed.rb
spec/unit/provider/mount/parsed_spec.rb
spec/unit/provider/mount_spec.rb
spec/unit/type/mount_spec.rb
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Add specs for the new prefetching and the correct parsing of vfstab on
Solaris and fstab on other systems
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change mounted? to query the property_hash so we don't have to run the
mountcommand for every specified mount but rely on the prefetched state
Also update the prefetched property_hash[:ensure] after mount or umount.
This is important if we query mounted? later (most obvious when refresh
is called. We dont want to remount a resource that was umounted before)
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Add a method mountinstances that returns a list of currently mounted
filesystems and overwrite prefetch to update the :ensure state of a
mount resource to either
- :absent => not in fstab and not mounted
- :unmounted => in fstab but not mounted
- :mounted => in fstab and mounted
- :ghost => not in fstab but mounted
This is just one step towards 4914. Next will be query the property_hash
when asking mounted? and update the insync? methods to handle the
different states.
|
| | | |/
| | |/| |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This reverts commit 6cb365a887d47606bdfae0ff540038b0c49b7451, which
fixed bug #6309 but introduced bug #6411. In addition, it conflicts
with a significant patch to the mount provider that addresses #4914.
After merging in the fix for #4914 I will determine whether bug #6309
still exists, and if so work on an improved fix for it.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
* ticket/2.6.next/maint-remove_version_control_tags:
(#6338) Remove unused version control tags
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Older version control systems like CVS and SVN used to use these $Id$
tags for version information.
Paired-with: Nick Lewis
|
| | | |
| | | |
| | | |
| | | | |
for computer type
|
| | | |
| | | |
| | | |
| | | | |
Lists need a leading linebreak.
|
|/ / / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously the mount type would only check if anything was mounted at the
desired point, when 'ensure => mounted' was specified. Now we check not
only whether something is mounted at the desired point, but also that it
is the thing we wish to be mounted there.
There is also a chance that the mount point directory could be
"automagically" removed for us, when unmounting incorrect devices, so we
attempt to re-create the directory after unmounting to give the mount of
the correct device a better chance at succeeding.
Paired-with: Matt Robinson <matt@puppetlabs.com>
Paired-with: Nick Lewis <nick@puppetlabs.com>
Paired-with: Jesse Wolfe <jesse@puppetlabs.com>
|
| |/
|/|
| |
| | |
Paired-with: Jesse Wolfe <jesse@puppetlabs.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The commit to simplify the regex used to parse the output from the mount
command on AIX (50c12e55b6f8462f6904ae061e661d1d10c7590a) mis-translated
it.
The original regex was grabbing the 3rd space-separated element, not the
2nd. This mis-translation caused the provider to grab the device
information instead of the mount point, and compare that to the desired
mount point. This would cause Puppet to think that the mount was never
actually mounted under normal circumstances.
The code from 50c12e5 was passing the tests because the fixture data did
not include the mandatory leading whitespace that the original regex was
looking for. The updated fixture data is pulled from the mount manpage
from AIX v6r1.
Reviewed-by: Paul Berry <paul@puppetlabs.com>
|
| |
| |
| |
| | |
Making a simplified fix to find mount name in AIX mount command output.
|
| |
| |
| |
| |
| |
| |
| | |
- Modified the Puppet::Provider::Mount (lib/puppet/provider/mount.rb) to parse
AIX mount command output
- Modified lib/puppet/type/mount.rb to set remount to false by default in AIX
and fix small typo
|
| |
| |
| |
| |
| |
| |
| |
| | |
Qualify 'withenv' in the provider, since it is part of an entirely different
part of puppet, not a method on this provider. This closes #5855.
Signed-off-by: fredrik-eriksson <fredrik.eriksson@loopia.se>
Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The Directory Service group (and user) provider behaves erratically if members
is a nested list; this happens with the following manifest:
$r = ["root"]
$a = ["daemon", "crc"]
$n = ["nobody"]
group { "testgroup":
ensure => present,
members => [$r, $a, $n]
}
This resolves the issue by flattening the list at the time we are using it;
while a more general solution might be desirable this resolves the specific
issue cleanly enough.
Original patch from Clay Caviness.
Tests by Daniel Pittman <daniel@puppetlabs.com>
Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>
Signed-off-by: James Turnbull <james@lovedthanlost.net>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Created a method safe_insync? which first checks whether the property
has a "should" value of nil, and if so returns true. Most insync?
methods were already doing this, but a few were not, leading to bugs
if a property was being audited but not set.
Types should continue to override the insync? method, but callers of
insync? should call safe_insync? instead.
Paired-with: Jesse Wolfe <jesse@puppetlabs.com>
|
|/
|
|
|
|
|
| |
This method actually checks whether the file owner is in sync.
Renamed to is_owner_insync?
Paired-with: Jesse Wolfe <jesse@puppetlabs.com>
|
|
|
|
|
|
|
|
|
|
|
| |
We've switched to using list_lists --bare which shows the internal_name
rather than "real_name", which is the authoritative identifier.
Doing this also means we have less output to scrub, so the code is simpler.
Modified by Markus as-per discussion with Nigel.
Signed-off-by: Nigel Kersten <nigel@puppetlabs.com>
|
|
|
|
| |
This reverts commit 779fea867a9e23ad48cd877a88756cc5792e9e0c.
|
|
|
|
|
|
|
|
|
| |
We've switched to using list_lists --bare which shows the internal_name
rather than "real_name", which is the authoritative identifier.
Doing this also means we have less output to scrub, so the code is simpler.
Signed-off-by: Nigel Kersten <nigel@puppetlabs.com>
|
|
|
|
|
| |
This is based on the discussion on ticket, simplified slightly and with test
adjustment.
|
|
|
|
|
|
|
| |
The query methods for the newly added password age properties didn't have the
same name as the properties, and thus the default retrieve method wan't finding
them and never got the current value from the provider. They were therefore
always seen as :absent and puppet always thought they needed to be set.
|
|
|
|
|
|
| |
We already had an internal implementation of which hiding under an assumed
name (Puppet::Util.binary); this commit calls it out of hiding and uses it
consisantly.
|
|
|
|
|
| |
This commit implements the base path-to-source functionality and adds an
(adapted) version of Matt's code on top of it.
|
|
|
|
|
|
|
|
|
|
|
| |
This commit removes code contributed by Ryan McBride, an author we have been
unable to contact to sign a Contributor License Agreement. It also removes
code writen by Matt Robinson (a Puppet Labs employee) which only made sense
in the context of the removed code. The code in question comes from these
commits:
6ac36eb4 Matt Robinson
55a9009c Ryan McBride
|
|
|
|
|
|
|
|
|
|
|
|
| |
Running "/etc/rc.d/SERVICE rcvar" outputs different formats for
different versions of FreeBSD. This patch adds support for those
formats, as well as tests.
Based on patches from:
o Joost van Beurden
o Russell Jackson
Paired-With: Matt Robinson
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Just to follow up on 5112 I have a dirty patch that appears to work.
Nominally tested it on 10.4, 10.5, & 10.6. 10.4 now applies catalogs
instead of failing. All versions successfully manage a test services
state as well.
Does anyone have a better suggestion than '-o /dev/stdout'? Seems a
mite hacky to me.
Also I think that the 10.4 machines are going to a have a \ ( slash )
file in whatever puppets working dir was. plutil seems to have been
interpreting as literal file name.
|
|
|
|
|
| |
This is intended to be a minimal fix, with tests, to prevent chage from running
unless needed.
|
|
|
|
|
| |
This fixes the command / option issues of #4963 as suggested on the ticket; the
setting-expiry when not needed aspects are deferred to #4975.
|
|
|
|
| |
This fix for #3707 was incorrect & just moved the problem (see #4929).
|
|
|
|
|
|
|
| |
This adds a new feature to user providers "manages_password_age", along
with properties password_min_age and password_max_age to the user type.
These represent password min and max age in days. The useradd and
user_role_add providers now support these new properties.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Modified the launchd provider to use OSX's "plutil" command to read
plists. This allows it to handle properly lists in both XML format
and binary format.
Launchd continues to write out propertly lists in XML format. This is
not a problem because the operating system is able to understand both
formats.
|
|
|
|
|
| |
This change just forces a file to be written to the filebucket before we
drop the permissions necessary to do so.
|
|
|
|
| |
Fredrik Eriksson's suggested change, from the ticket.
|
|
|
|
|
|
|
|
|
|
| |
Returning
nil in this provider had the effect that on every run, puppet would end
up calling yum erase . Returning the correct data structure
resolves this.
Thanks to Stephen Gran for the patch
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Updated defaults.rb to Markdown
Migrated report documentation to Markdown
Migrated Naginator doco to Markdown
Updated provider documentation to Markdown
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replaced 106806 occurances of ^( +)(.*$) with
The ruby community almost universally (i.e. everyone but Luke, Markus, and the other eleven people
who learned ruby in the 1900s) uses two-space indentation.
3 Examples:
The code:
end
# Tell getopt which arguments are valid
def test_get_getopt_args
element = Setting.new :name => "foo", :desc => "anything", :settings => Puppet::Util::Settings.new
assert_equal([["--foo", GetoptLong::REQUIRED_ARGUMENT]], element.getopt_args, "Did not produce appropriate getopt args")
becomes:
end
# Tell getopt which arguments are valid
def test_get_getopt_args
element = Setting.new :name => "foo", :desc => "anything", :settings => Puppet::Util::Settings.new
assert_equal([["--foo", GetoptLong::REQUIRED_ARGUMENT]], element.getopt_args, "Did not produce appropriate getopt args")
The code:
assert_equal(str, val)
assert_instance_of(Float, result)
end
# Now test it with a passed object
becomes:
assert_equal(str, val)
assert_instance_of(Float, result)
end
# Now test it with a passed object
The code:
end
assert_nothing_raised do
klass[:Yay] = "boo"
klass["Cool"] = :yayness
end
becomes:
end
assert_nothing_raised do
klass[:Yay] = "boo"
klass["Cool"] = :yayness
end
|