| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
The url tag from the future tag lib, that was required with older django
versions, was removed from django1.9. So we add a compat tag library to
use the correct available variant.
|
|
|
|
|
|
| |
> Deprecated since version 1.8:
> You can also pass a dotted Python path to a view function, but this
> syntax is deprecated and will be removed in Django 1.10.
|
|
|
|
| |
This was missing in 84a83cab07853b83e91c40c440f65b911e3296a5.
|
|
|
|
| |
Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
|
|\
| |
| | |
Reporting: Do not fail, if no interactions found
|
| |
| |
| |
| |
| |
| | |
With the filter feature of bcfg2-reports it is possible that all
interactions of a client gets filtered. Now we simply skip those clients
without interactions and do not fail with an exception.
|
| |
| |
| |
| |
| | |
bcfg2-reports does not call sync_databases or migrate_databases before
making the database queries. So we need to initialize django here, too.
|
| |
| |
| |
| |
| | |
Django 1.8 introduced different template engines and droped the
get_template_from_string function as it does not support the new feature.
|
| |
| |
| |
| |
| |
| |
| | |
The _meta API was changed with django 1.8 and get_fields() now returns all
model fields even fields defined in related models. But while creating the
Entries we use this field list for construction and the list should only
contain local fields.
|
| |
| |
| |
| |
| |
| | |
The private API django.db.backend is deprecated in django 1.7 and removed in
django 1.8, so we use another way to get the DatabaseOperations from the
connection.
|
| |
| |
| |
| |
| |
| |
| | |
django.db.close_connection() is deprecated in django1.7 (and removed in 1.8).
The new django.db.close_old_connections() does not seem to work like the old
one (see http://stackoverflow.com/a/32614137), so we replace it with an own
implementation.
|
| | |
|
|/
|
|
|
|
| |
- reports.wsgi uses get_wsgi_application() now
- old south-based migrations have been moved
- manage.py has been updated
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| | |
Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
|
| |
| |
| |
| |
| | |
All bcfg2-reports subcommands, that work with specific interactions, can
now ignore interactions created by --dry-run or --only-important run.
|
| |
| |
| |
| |
| | |
Save the status of --dry-run and --only-important in the statistics,
so that the reports could be filtered to only respect "normal" runs.
|
| |
| |
| |
| |
| |
| |
| | |
The code before for extra packages only worked for rpms because it only
evaluated the version information of the contained <Instance> tag and
droped the package if no one was avilable. Now the handling of <Instance>
is optional and the package is imported everytime.
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |\ |
|
| | |
| | |
| | |
| | | |
used.
|
| | |
| | |
| | |
| | | |
pid.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This commit attempts to break the pidfilelock during startup in cases where the
process may have exited without successfully cleaning up the lockfile. It also
attempts to grab the lock before opening the context. Also applied to the
Collector module, which may have been looking for the wrong exception since it
does not rely on a timeout.
|
| | |
| | |
| | |
| | | |
Try to keep the try-except-blocks as small as possible.
|
| | |
| | |
| | |
| | |
| | |
| | | |
The regex match for the filter urls were to strict. They disallowed
some charaters, that are valid in group names and so the django reverse
mechanism for building urls failed.
|
| | | |
|
| | |
| | |
| | |
| | | |
Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
|
| |/
| |
| |
| | |
Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Add option to limit the count of child threads to import the transactions.
If the number is exceeded the next import will block until one thread is
ready.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The interaction entries have a isstale() method, we do not need a
template tag, that tries to figure out this on its own. The isstale()
method works even better: It knows, if the interaction is the current
interaction and compares the timestamp to the current time or (if it is
not the current one) it compares the timestamp to the timestamp of the
next interaction. So using the method of the model, you can browse the
interaction history and see, if the host was stale some time in the
past. Previously all interactions more than 24h ago were marked stale.
|
|\ \
| | |
| | |
| | | |
https://github.com/AlexanderS/bcfg2
|
| | |
| | |
| | |
| | |
| | | |
Highligh additional special hosts in the grid view. Stale hosts get a
grey background and clean hosts with extra packages get a blue background.
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
Add a new column "stale", that displays if a host is stale or not. It could be
determined by parsing the date column, but it would be more convenient to
have a separate column for that.
|
|/ /
| |
| |
| | |
Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
misc/bcfg2.spec
src/lib/Bcfg2/Client/Client.py
src/lib/Bcfg2/Client/Tools/APK.py
src/lib/Bcfg2/Client/Tools/MacPorts.py
src/lib/Bcfg2/Client/Tools/Pacman.py
src/lib/Bcfg2/Client/Tools/YUM.py
src/lib/Bcfg2/Server/Admin/Minestruct.py
src/lib/Bcfg2/Server/Admin/Pull.py
src/lib/Bcfg2/Server/Admin/Viz.py
src/lib/Bcfg2/Server/Core.py
src/lib/Bcfg2/Server/Plugins/Cfg/CfgEncryptedGenerator.py
src/lib/Bcfg2/Server/Plugins/Cfg/CfgPrivateKeyCreator.py
src/lib/Bcfg2/Server/Plugins/Properties.py
src/lib/Bcfg2/settings.py
src/sbin/bcfg2-crypt
src/sbin/bcfg2-info
src/sbin/bcfg2-lint
src/sbin/bcfg2-yum-helper
testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestCfg/TestCfgEncryptedGenerator.py
testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestProperties.py
|
| |
| |
| |
| | |
Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
Conflicts:
doc/appendix/guides/import-existing-ssh-keys.txt
misc/bcfg2.spec
src/lib/Bcfg2/Client/Tools/VCS.py
src/lib/Bcfg2/Client/Tools/YUM.py
src/lib/Bcfg2/Encryption.py
src/lib/Bcfg2/Reporting/Collector.py
src/lib/Bcfg2/Reporting/Storage/DjangoORM.py
src/lib/Bcfg2/Server/Core.py
src/lib/Bcfg2/Server/FileMonitor/__init__.py
src/lib/Bcfg2/Server/Lint/RequiredAttrs.py
src/lib/Bcfg2/Server/Plugin/helpers.py
src/lib/Bcfg2/Server/Plugins/Metadata.py
src/lib/Bcfg2/Server/Plugins/Packages/Yum.py
src/lib/Bcfg2/Server/Plugins/Packages/__init__.py
src/lib/Bcfg2/settings.py
src/sbin/bcfg2-crypt
src/sbin/bcfg2-reports
src/sbin/bcfg2-yum-helper
testsuite/Testsrc/Testlib/TestClient/TestTools/TestPOSIX/TestAugeas.py
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Close the db connection at the end of each DjangoORM import, not when
the reporting collector shuts down. The collector may not have even
opened a connection, in the case of a storage backend other than
DjangoORM.
Fixes #157
|