| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New method named calculate_prereqs() handles pre-req calculation.
Existing validate_structure() method now only handles memoization of
the prereqs and use of the prereqs to update the configuration.
Also added a sort_order value to cause this plugin to run after
Packages, so we can use Deps to add dependencies to implicitly added
Packages. NOTE: This doesn't work yet, as Packages adds BoundPackage
entries, and Deps doesn't yet realize they are equivalent to the
Package entries it knows about. This will be fixed in a future commit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replaced many list comprehensions in Core.py with a new method named
plugins_by_type(), which does the same thing with an added twist: this
new method also sorts the list of plugins by a new field named
sort_order. It also uses the name of the plugin where the sort_order
values are the same.
This lets us control the processing sequence of plugins that need to
build on the results of a plugin that runs prior to them. The
immediate example is Deps, which should run after Packages has
generated the full list of packages to be installed. Prior to this
commit, it was impossible to control the order in which they ran. A
future commit will (hopefully) take advantage of this capability.
This commit also splits the Core.validate_data() method into two: one
for validate_structures() and one for validate_goals(), instead of
passing in a base class and using if logic. This approach seemed a
little clearer to me.
|
|
|
|
|
|
|
|
|
|
|
| |
3291a875339a7e5569d4.
The changes to the INode.Match() function in changeset
3291a875339a7e5569d4 caused breakage in the Deps plugin, as it
inherits from INode. This commit adjusts the definition of the
predicate function in Deps.py to mirror the changes made to INode in
Plugin.py, eliminating the error about the wrong number of parameters
being passed to the lambda function.
|
|
|
|
| |
Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
|
|
|
|
| |
Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
|
|
|
|
|
|
| |
* Fixed mode argument parsing when a config file is supplied
* Fixed loading help messages when Reports is not configured
* Improved option parsing; used Bcfg2.Options.OptionParser
|
|
|
|
| |
piping stderr to /dev/null to prevent failure
|
| |
|
|
|
|
| |
altsrc'd files
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This reverts commit 146a7a633bc3a36de21f589af0eec10755b0cae5.
We don't really need this since we have already solved the version bits
using sys.hexversion where needed. Also, this won't work on python3, so
we won't be able to use it there.
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Remove the --raw option from the "bcfg2-admin viz" documentation. The
option has been superseeded by the --outfile option which allows for
specifying arbitrary output types since commit 476cb9ac76.
|
|/
|
|
|
|
| |
Includes Pyversion() class which simplifies getting the Python version
that Bcfg2 is running under. It is mostly useful for Python 2 and under,
since Python 3 has the handy sys.version_info.{major,minor,...} object.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
The command "bcfg2-info generators" didn't spit out anything useful,
just an unexpanded $Id$ keyword for each of the current generators.
It's been that way for quite some time now, and nobody seemed to miss
the command.
|
| |
| |
| |
| |
| | |
Also switched to use __longhelp__ instead of __shorthelp__, as
__shorthelp__ isn't actually very helpful.
|
|/
|
|
|
|
|
|
|
|
| |
By default, bcfg2-admin viz creates a diagram that shows the complete
contents of the repository: all Groups, Bundles, and (optionally)
Hosts/Clients. In a complicated configuration, this can be an
overwhelming amount of information.
This change adds an --only-client option that can be used to limit the
elements on the diagram to those that apply to the named host.
|
|
|
|
| |
Indent all output in a consistent way.
|
|
|
|
|
| |
When the "-r" flag is used, check for files which are present in the old
directory but not in the new directory (not just the other way round).
|
|
|
|
| |
Fix the messages which are spit out when the "-r" flag is used.
|
|
|
|
| |
... in the compareSpecifications() method.
|
|
|
|
|
| |
Check for bundles specified in the old configuration but not in the new
configuration (not just the other way round).
|
|
|
|
|
| |
If the configuration specifications contain multiple <Independent> tags,
compare all of them, not only the first one.
|
|
|
|
|
| |
Iterate only once over the entries of a bundle and print a single
two-line message for each differing or missing entry.
|
|
|
|
|
| |
Removing elements from a list while iterating over it (forwards) leads
to unexpected results.
|
|
|
|
|
| |
The if statement which checks whether a given tag is known was declared
the wrong way round.
|
|
|
|
|
|
|
|
| |
Let "bcfg2-admin compare" handle POSIX <Path> tags instead of the
old-style entries.
While at it, add support for all attributes which might show up in
configuration specifications.
|
|
|
|
|
| |
The __call__() method now calls self.compareSpecifications() instead of
effectively doing nothing.
|
|
|
|
| |
This wasn't originally anticipated, but if a repository is updated via rsync, HandleEvent() receives 'changed' actions for directories as well. Directories aren't present in self.entries and consequently caused KeyErrors.
|
| |
|
|
|
|
|
|
| |
Let the Statistics plugin raise a PluginExecutionError if a "sensitive"
entry is requested by "bcfg2-admin pull". This is how the DBStats
plugin behaves already.
|
|
|
|
|
| |
The internal database version must be incremented due to the new
"is_sensitive" column.
|
|
|
|
| |
Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
|
|\ |
|
| |
| |
| |
| |
| | |
Catch I/O errors which might occur while reading a file specified as
argument to --badentry, --extraentry, or --modifiedentry.
|
| |
| |
| |
| |
| | |
On getopt errors, print a proper usage message instead of spitting out a
traceback.
|
| |
| |
| |
| |
| |
| | |
The new "entry.reason.is_sensitive" flag indicates whether the file
contents/diffs were omitted from the database due to the "sensitive"
<Path> attribute.
|
|/
|
|
|
|
| |
The contents/diffs of <Path>s which are marked as "sensitive" are now
omitted from the reports transmitted to the server, so that they won't
end up in the statistics database.
|
|\ |
|
| |\ |
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | | |
Replaces PluginExecutionError with Bcfg2.Server.Plugin.PluginExecutionError. Reported by emias.
|
| | | | |
|
| | | | |
|
| | | | |
|