shellcheck does not do deep inspection and so does not see that
we use the EXPECTED variable. Let's help it understand this is
valid. This doesn't really cost us something, but it helps us
enforce useful policies (in many other cases this may be a valid
error indication).
Test was originally only executed when root tests were enabled,
which routinely was not the case. There was not even a hard reason
to handle it that way. Also, the test had a couple of defects which
have also been fixed.
closes https://github.com/rsyslog/rsyslog/issues/3064
A change in the inode was not detected under all circumstances,
most importantly not in some logrotate cases.
Includes new tests made by Andre Lorbach. They now use the
logrotate tool natively to reproduce the issue.
kafka tests are plagued by brokers failing to start, which then causes
(false positive) test failures.
We now to detect missing brokers, and do a kafka/zookeepr shutdown and
restart in this case. If that fails again, let's skip the test instead
of failing it - after all, it's not the issue of the to-be-checked code.
see also https://github.com/rsyslog/rsyslog/issues/3057
Added touch command in all imfile wildcard tests which should make sure
directories exist before files are created in it.
Changed content checking in some tests by using "content_check_with_count"
instead of sleeptimes.
Topic creation was racy: it can happen that the brokers have not
been synced. This causes follow-on errors and ultimately causes
the test to hang in rsyslog shutdown.
This PR introduces a method to ensure the brokers are acutally
up and running before the rest of the test is carried out. I
assume this fixes the problems we have seen. However, only
practice will show if this really is the case because the
problem happened relatively infrequently (so a couple of good
tests do not necessarily indicate "problem solved").
As such, we close the issue with this commit, but may need
to re-open it if the issue is seen again.
closes https://github.com/rsyslog/rsyslog/issues/3045
These suppressions are always used, as they can never be caused by
actual program code. So it doesn't hurt to always use them.
Also add some support for CodeCov tool.
Python3 writes to stderr immediately, and this caused the
captured output to differ with respect to Python2. Simplified
the test to do a single write to stderr. Also a cast to int
was needed when calculating 'numRepeats'.
closes#3030
- Removed all sleeps where possible.
- Moved all kafka start/stop/download logic into functions.
- Moved kafka/zookeeper stop into error_exit and exit_test.
- Kafka/Zookeeper cleanup only done on success now.
- Kafka/Zookeeper logfiles automatically dumped on error_exit only now.
- Added cleanup for Kafka/Zookeeper instances into CI/buildbot_cleanup.sh
The plugin was not handling 404 Not Found correctly when looking
up pods and namespaces. In this case, we assume the pod/namespace
was deleted, annotate the record with whatever metadata we have,
and cache the fact that the pod/namespace is missing so we don't
attempt to look it up again.
In addition, the plugin was not handling error 429 Busy correctly.
In this case, it should also annotate the record with whatever
metadata it has, and _not_ cache anything. By default the plugin
will retry every 5 seconds to connect to Kubernetes. This
behavior is controlled by the new config param `busyretryinterval`.
This commit also adds impstats counters so that admins can
view the state of the plugin to see if the lookups are working
or are returning errors. The stats are reported per-instance
or per-action to facilitate using multiple different actions
for different Kubernetes servers.
This commit also adds support for client cert auth to
Kubernetes via the two new config params `tls.mycert` and
`tls.myprivkey`.