summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Client
Commit message (Collapse)AuthorAgeFilesLines
* Client/Tools/Systemd: Do not stop services if status is set to ignoreAlexander Sulfrian2015-07-271-1/+1
|
* Utils: Generalize is_string from POSIX/FileAlexander Sulfrian2015-07-221-17/+3
| | | | | | is_string from POSIX/File could be used in other situations, too. So we move it to Utils, use it from Lint/MergeFiles and replace a custom is_binary function.
* Merge branch 'maint'Alexander Sulfrian2015-06-123-22/+42
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: debian/changelog doc/conf.py misc/bcfg2-selinux.spec misc/bcfg2.spec osx/Makefile osx/macports/Portfile solaris-ips/MANIFEST.bcfg2-server.header solaris-ips/MANIFEST.bcfg2.header solaris-ips/Makefile solaris-ips/pkginfo.bcfg2 solaris-ips/pkginfo.bcfg2-server solaris/Makefile solaris/pkginfo.bcfg2 solaris/pkginfo.bcfg2-server src/lib/Bcfg2/Client/Tools/APT.py src/lib/Bcfg2/Client/Tools/FreeBSDInit.py src/lib/Bcfg2/Client/Tools/__init__.py src/lib/Bcfg2/Options.py src/lib/Bcfg2/Reporting/Collector.py src/lib/Bcfg2/Reporting/templates/base.html src/lib/Bcfg2/Server/CherrypyCore.py src/lib/Bcfg2/Server/Core.py src/lib/Bcfg2/Server/FileMonitor/__init__.py src/lib/Bcfg2/Server/Lint/Validate.py src/lib/Bcfg2/Server/Lint/__init__.py src/lib/Bcfg2/Server/MultiprocessingCore.py src/lib/Bcfg2/Server/Plugin/__init__.py src/lib/Bcfg2/Server/Plugins/GroupPatterns.py src/lib/Bcfg2/Server/Plugins/Metadata.py src/lib/Bcfg2/Server/Plugins/Packages/Source.py src/lib/Bcfg2/Server/Plugins/Packages/Yum.py src/lib/Bcfg2/Server/Plugins/SSHbase.py src/lib/Bcfg2/Server/Plugins/SSLCA.py src/lib/Bcfg2/version.py src/sbin/bcfg2-info src/sbin/bcfg2-test testsuite/requirements.txt
| * handle filesystem secontexts properly for contextless filesystemsRoss Smith2015-04-161-19/+23
| | | | | | | | | | | | | | | | - adds 'secontext_ignore' under POSIX in the configuration file - short circuits on filesystems that are known not to support file labels - defaults to filesystems that have a genfs command in selinux reference policy - checks for Operation not supported while setting a file label - fixes #275
| * FreeBSDInit: Fix __init__ callSol Jerome2015-04-091-1/+1
| | | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
| * APT.py: Fix syntax error introduced in cae39b7Sol Jerome2015-03-191-1/+1
| | | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
| * Fix pylint errorsChris St. Pierre2015-02-255-30/+27
| | | | | | | | | | | | | | | | | | This also pins pylint to <= 0.28 so we don't have to keep playing whack-a-mole with it. Also removes unnecessary suppression of apt warnings. This is no longer necessary in 12.04, so should be safe to remove. If you're on Ubuntu < 12.04, upgrade for heaven's sake.
* | Reporting: Add dry_run and only_important flagsAlexander Sulfrian2015-05-121-0/+5
| | | | | | | | | | Save the status of --dry-run and --only-important in the statistics, so that the reports could be filtered to only respect "normal" runs.
* | Merge branch 'fix-extra-packages' of https://github.com/AlexanderS/bcfg2Sol Jerome2015-03-183-5/+6
|\ \
| * | Client/Tools: Report the version of extra packages as current_version.Alexander Sulfrian2015-02-193-5/+6
| | | | | | | | | | | | | | | The version of extra packages should be reported as current_version and not as target_version.
* | | Fix long line for test suite.Gordon Messmer2015-03-031-1/+2
| | |
* | | Add newline to fix test suite.Gordon Messmer2015-03-031-1/+1
| | |
* | | Fix long lines and additional changes for readability.Gordon Messmer2015-03-031-23/+27
| | |
* | | Improve systemd module so that it resembles more mature modules.Gordon Messmer2015-03-031-13/+45
| | |
* | | Client/Tools/APT: Fix regression of ee4111fcAlexander Sulfrian2015-02-231-1/+1
| | | | | | | | | | | | | | | In ee4111fc we removed the wrong continue (the one after the if/else block for newapi) and now we get an error that 'auto' is not an available version.
* | | Client/Tools/Pkgng: No auto-update on pkg-search.Alexander Sulfrian2015-02-191-1/+1
|/ / | | | | | | | | | | By default pkg search will update the local copy of the repository catalogue from remote. We are executing a lot of searches and do not want to update the catalogue every time.
* | Add homebrew package managementJimmy Tang2015-02-181-0/+54
| | | | | | | | Signed-off-by: Jimmy Tang <jcftang@gmail.com>
* | Remove unnecessary suppression of apt warningsChris St. Pierre2015-02-171-5/+0
| | | | | | | | | | This is no longer necessary in 12.04, so should be safe to remove. If you're on Ubuntu < 12.04, upgrade for heaven's sake.
* | more pylint fixesChris St. Pierre2015-02-172-8/+12
| |
* | one more pylint fixChris St. Pierre2015-02-171-2/+2
| |
* | Pylint fixes for pylint 0.28Chris St. Pierre2015-02-175-14/+16
| | | | | | | | | | This also pins Pylint to 0.28 or older so that we don't have to do this again. At some point we should look at upgrading to Pylint 1.x.
* | Merge branch 'bundle-modification-deps' of https://github.com/AlexanderS/bcfg2Sol Jerome2015-01-032-12/+81
|\ \ | | | | | | | | | | | | Conflicts: src/lib/Bcfg2/Client/__init__.py
| * | Bundler: add modification support to Bundle dependenciesAlexander Sulfrian2014-11-252-12/+81
| | | | | | | | | | | | | | | | | | Bundle dependencies are now realized with RequiredBundle and support inheritance of the modification flag. This requires new client support and will only work with clients >= 1.4.0pre2.
* | | Bcfg2/Client: do not catch KeyboardInterruptAlexander Sulfrian2014-11-252-0/+12
|/ / | | | | | | | | Wildcard excepts should explicitly exclude KeyboardInterrupt, so that the process exits if the user wants it.
* | Client/Tools/APT: some syntax cleanupAlexander Sulfrian2014-11-161-15/+13
| |
* | Client/Tools/APT: use more modern python-apt APIAlexander Sulfrian2014-11-161-9/+2
| | | | | | | | python-apt provides a public API for all required steps.
* | Client/Tools/APT: use "pkg in cache" everywhereAlexander Sulfrian2014-11-161-3/+3
| | | | | | | | | | The "in syntax" is supported instead of the cache.has_key(pkg) syntax at least since python-apt-0.7.91.
* | Revert "APT: add backwards compatibility for python-apt 0.6"Alexander Sulfrian2014-11-161-9/+2
| | | | | | | | This reverts commit 81cc9e874928ee97283cbf501b4ffd3917f1f476.
* | Client/Tools/APT: remove all the stuff for the old APIAlexander Sulfrian2014-11-161-54/+17
| |
* | Merge branch 'maint'Alexander Sulfrian2014-11-126-71/+122
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: debian/changelog doc/conf.py doc/releases/index.txt doc/server/database.txt doc/server/plugins/generators/cfg.txt doc/server/plugins/generators/sslca.txt man/bcfg2.conf.5 misc/bcfg2-selinux.spec misc/bcfg2.spec osx/Makefile osx/macports/Portfile schemas/packages.xsd solaris-ips/MANIFEST.bcfg2-server.header solaris-ips/MANIFEST.bcfg2.header solaris-ips/Makefile solaris-ips/pkginfo.bcfg2 solaris-ips/pkginfo.bcfg2-server solaris/Makefile solaris/pkginfo.bcfg2 solaris/pkginfo.bcfg2-server src/lib/Bcfg2/Client/Client.py src/lib/Bcfg2/Client/Proxy.py src/lib/Bcfg2/Client/Tools/APT.py src/lib/Bcfg2/Client/Tools/Action.py src/lib/Bcfg2/Client/Tools/SYSV.py src/lib/Bcfg2/Client/Tools/YUM.py src/lib/Bcfg2/Client/Tools/__init__.py src/lib/Bcfg2/Options.py src/lib/Bcfg2/Reporting/Collector.py src/lib/Bcfg2/Reporting/templates/base.html src/lib/Bcfg2/Server/Admin/__init__.py src/lib/Bcfg2/Server/BuiltinCore.py src/lib/Bcfg2/Server/Core.py src/lib/Bcfg2/Server/Plugins/Packages/Apt.py src/lib/Bcfg2/Server/Plugins/Probes.py src/lib/Bcfg2/settings.py src/lib/Bcfg2/version.py testsuite/Testsrc/Testlib/TestClient/TestTools/Test_init.py testsuite/Testsrc/test_code_checks.py
| * Client/Tools/APT: fix pylint errors, enable checkAlexander Sulfrian2014-11-101-62/+81
| | | | | | | | | | | | Previously pep8/pylint checks were disable for the APT tool because there were to many errors. This fix the pylint errors and enables the code style checks.
| * Client/Tools/APT: fix exception nameAlexander Sulfrian2014-11-101-1/+1
| |
| * Merge branch 'SYSV-use-simplefile' of https://github.com/fennm/bcfg2 into maintSol Jerome2014-11-081-6/+5
| |\
| | * SYSV: change instances of simplename to simplefileMichael Fenn2014-11-061-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is to better match the schema since simplefile already exists. The previous simplename attribute would fail validation. Since pkgmgr already helpfully constructs url for you if simplefile exists, the tool no longer needs to do the concatenation itself. Given the low usage rate of SYSV.py and that the original functionality was introduced in a late 1.3 release, changing the name w/o providing backwards compatiblity seems reasonable.
| * | Client/Tools/APT: handle exceptions gracefullyAlexander Sulfrian2014-11-051-1/+5
| |/ | | | | | | | | | | Exceptions during cache update (in kevlar mode) should not prevent the client tool from initializing. In the worst case the old cache would be used for the client run.
| * Tools: Fix install of non-whitelisted servicesSol Jerome2014-10-292-21/+23
| | | | | | | | | | | | | | Previously, a service restart would occur even when running in whitelist mode without the service being present in the whitelist. Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
| * Merge branch 'ssl-protocol-fix' of github.com:solj/bcfg2 into maintSol Jerome2014-10-211-1/+2
| |\
| | * Proxy.py: Pass through SSL protocol optionSol Jerome2014-10-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we were not passing through the SSL protocol specified in the client's bcfg2.conf which caused it to unconditionally be set to xmlrpc/ssl. While this appears to automagically work with newer versions of openssl, the version in e.g. centos5 will fail if the server is set to use TLSv1. This commit passes through the setting from the client's bcfg2.conf so that older clients can talk to servers which are set to TLSv1 (in order to mitigate the effects of POODLE). Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
| * | YUM: Add options to enable and disable Yum pluginsJonathan Billings2014-10-171-0/+10
| |/ | | | | | | | | | | | | | | | | | | | | Adds two options you can define: * disabled_plugins: A comma-separated list of plugins to disable * enabled_plugins: A comma-separated list of plugins to enable This allows you to run bcfg2 with certain plugins enabled or disabled when they're not set that way in the yum configuration. This is useful because the Bcfg2 YUM plugin is initialized before it can read in any files that might overwrite yum plugin configuration.
| * Merge branch 'sysv-http' of https://github.com/nathanolla/bcfg2 into maintSol Jerome2014-08-261-2/+42
| |\
| | * Log when downloading packages via HTTPNathan Olla2014-08-191-0/+2
| | |
| | * Check for origpkgtool attribute to prevent things that subclass SYSV from ↵Nathan Olla2014-07-161-6/+8
| | | | | | | | | | | | breaking
| | * Remove unused import of copyNathan Olla2014-07-161-1/+0
| | |
| | * Implement _get_package_command and append _sysv_pkg_path attributeNathan Olla2014-07-161-33/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of doing a partially complete Install() method for SYSV, implements a custom _get_package_command that will use the _sysv_pkg_path attribute added by the pkgmogrify call. This will allow the installs to complete. Unfortunately, the single-pass install will still fail if there are any packages with an http:// URL. The pkgadd invocation for 'device' sources doesn't take multiple packages and the 'datastream' invocation doesn't handle packages with an HTTP URL. Finally, there is no reliable standard naming convention for SYSV datastream files, so the simplename attribute is re-used. There is a known issue with this patch - if any packages specified in the PackageList have an http url, the single-pass install will produce an error like: Trying single pass package install for pkgtype sysv pkgadd: ERROR: Failure occurred with http(s) negotiation: <'Peername' doesn't match 'host' or no matching entry> pkgadd: ERROR: unable to download package datastream from <http://install1.d.stor.en.desres.deshaw.com/jumpstart10U10/packages>. Single Pass Failed because the command that results isn't valid syntax for pkgadd. A workaround would be to add code to skip the single-pass install if any packages had the simplename attribute, or by checking the url for the presence of 'http'. I'm not sure if that should be fixed or if this is reasonable in this case.
| | * Fix indentingNathan Olla2014-07-141-5/+4
| | |
| | * Add urlretrieve to Compat and documentNathan Olla2014-07-141-2/+2
| | |
| | * SYSV: Implement downloading and installing SYSV packages from HTTPNathan Olla2014-07-141-2/+46
| | | | | | | | | | | | | | | | | | | | | | | | pkgadd has different syntax for different sources (datastream and file system format) which makes using a single pkgtool variable difficult. Also, SYSV packages in datastream format don't necessarily have uniform names. Therefore, use the existing 'simplename' attribute to specify the datastream file name.
| * | POSIXUsers.py: Allow supplementary group = primarySol Jerome2014-07-181-1/+1
| |/ | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
| * debsums: read output from stderr instead of stdoutArach2014-07-051-1/+1
| |
* | Merge branch 'yum-fix-syntax' of https://github.com/AlexanderS/bcfg2Sol Jerome2014-11-091-5/+6
|\ \