URL: https://github.com/freeipa/freeipa/pull/1377
Author: pvomacka
Title: #1377: Extend ui_driver to support geckodriver log_path
Action: opened
PR body:
"""
Geckodriver automatically logs into geckodriver.log file which
is placed in the same directory from which tests are run. In case
of running tests using ipa-run-tests the current working directory is
/usr/lib/python*/site-packages/ipatests where most of users cannot
write because of priviledges.
By adding "geckodriver_log_path" into test configuration we allow to
set path where user who run tests have priviledges to write.
Config file can be seen here:
https://www.freeipa.org/page/Web_UI_Integration_Tests#Running_tests
Fixes: https://pagure.io/freeipa/issue/7311
"""
To pull the PR as Git branch:
git remote add ghfreeipa https://github.com/freeipa/freeipa
git fetch ghfreeipa pull/1377/head:pr1377
git checkout pr1377
URL: https://github.com/freeipa/freeipa/pull/1379
Author: tiran
Title: #1379: Prevent set_directive from clobbering other keys / safe directive setter
Action: opened
PR body:
"""
This PR combines @frasertweedale PR #1347 with a safe directive setter (https://pagure.io/freeipa/issue/7312)
## Original PR message
`set_directive` only looks for a prefix of the line matching the
given directive (key). If a directive is encountered for which the
given key is prefix, it will be vanquished.
This occurs in the case of `{ca,kra}.sslserver.cert[req]`; the
`cert` directive gets updated after certificate renewal, and the
`certreq` directive gets clobbered. This can cause failures later
on during KRA installation, and possibly cloning.
Match the whole directive to avoid this issue.
Fixes: https://pagure.io/freeipa/issue/7288
-----
Cause: corner case.
How to test:
1. ensure `ca.sslserver.certreq=<base64 CSR>` exists in `ca/CS.cfg`.
2. resubmit Certmonger tracking request for `Server-Cert cert-pki-ca` Dogtag system cert.
3. verify that `ca.sslserver.certreq=<base64 CSR>` still exists in `ca/CS.cfg`.
## safe DirectiveSetter
The new context manager ``DirectiveSetter`` avoids several possible issues that can lead to destroyed configuration files.
"""
To pull the PR as Git branch:
git remote add ghfreeipa https://github.com/freeipa/freeipa
git fetch ghfreeipa pull/1379/head:pr1379
git checkout pr1379
URL: https://github.com/freeipa/freeipa/pull/1385
Author: tiran
Title: #1385: [Backport][ipa-4-6] Run server upgrade in ipactl start/restart
Action: opened
PR body:
"""
This PR was opened automatically because PR #1227 was pushed to master and backport to ipa-4-6 is required.
"""
To pull the PR as Git branch:
git remote add ghfreeipa https://github.com/freeipa/freeipa
git fetch ghfreeipa pull/1385/head:pr1385
git checkout pr1385
URL: https://github.com/freeipa/freeipa/pull/1384
Author: tiran
Title: #1384: [Backport][ipa-4-6] make fastcheck -- run linters and tests in 30 seconds
Action: opened
PR body:
"""
This PR was opened automatically because PR #1380 was pushed to master and backport to ipa-4-6 is required.
"""
To pull the PR as Git branch:
git remote add ghfreeipa https://github.com/freeipa/freeipa
git fetch ghfreeipa pull/1384/head:pr1384
git checkout pr1384
URL: https://github.com/freeipa/freeipa/pull/1380
Author: tiran
Title: #1380: make fastcheck -- run linters and tests in 30 seconds
Action: opened
PR body:
"""
Are you also annoyed by the fact that you have waited an hour for CI to finish -- only to find out that your PR has a PEP 8 violation in a file? ``make fastcheck`` to your rescue! It checks pylint, pep8 and ipatests' unit tests in about 30 seconds on both (!) Python 2 and 3:
```
$ time make fastcheck
...
real 0m29,417s
user 1m18,018s
sys 0m2,637s
```
## Add make targets for fast linting and testing
Fast linting only needs modified files with pylint and diff with
pycodestyle. It's good enough to detect most code errors very fast. It
typically takes less than 10 seconds. A complete full pylint run uses
all CPU cores for several minutes. PEP 8 violations are typically
reported after 30 minutes to several hours on Travis CI.
Fast lintings uses git diff and git merge-base to find all modified
files in a branch or working tree. There is no easy way to find the
branch source. On Travis the information is provided by Travis. For
local development it's a new variable IPA_GIT_BRANCH in VERSION.m4.
Fast testing execute all unit tests that do not depend on ipalib.api.
In total it takes about 30-40 seconds (!) to execute linting, PEP 8 checks
and unittests for both Python 2 and 3.
## Add marker needs_ipaapi and option to skip tests
The new marker needs_ipaapi is used to mark tests that needs an
initialized API (ipalib.api) or some sort of other API services (running
LDAP server) to work. Some packages use api.Command or api.Backend on
module level. They are not marked but rather skipped entirely.
A new option ``skip-ipaapi`` is added to skip all API based tests. With
the option, only simple unit tests are executed. As of now, freeIPA
contains more than 500 unit tests that can be executed in about 5
seconds.
"""
To pull the PR as Git branch:
git remote add ghfreeipa https://github.com/freeipa/freeipa
git fetch ghfreeipa pull/1380/head:pr1380
git checkout pr1380
URL: https://github.com/freeipa/freeipa/pull/1383
Author: tiran
Title: #1383: [Backport][ipa-4-6] Add python_requires to Python package metadata
Action: opened
PR body:
"""
This PR was opened automatically because PR #1361 was pushed to master and backport to ipa-4-6 is required.
"""
To pull the PR as Git branch:
git remote add ghfreeipa https://github.com/freeipa/freeipa
git fetch ghfreeipa pull/1383/head:pr1383
git checkout pr1383
URL: https://github.com/freeipa/freeipa/pull/1360
Author: tiran
Title: #1360: Drop Python 3 from package metadata
Action: opened
PR body:
"""
freeIPA 4.5 requires Python 2.7 and doesn't work correctly with Python
3. Drop Python 3 from classifiers and add python_requires for ~= 2.7.5.
https://pagure.io/freeipa/issue/7294
Signed-off-by: Christian Heimes <cheimes(a)redhat.com>
Python 2.7.5 is for RHEL 7.
"""
To pull the PR as Git branch:
git remote add ghfreeipa https://github.com/freeipa/freeipa
git fetch ghfreeipa pull/1360/head:pr1360
git checkout pr1360