| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
| |
When legacy client tests fail during IPA installation, the legacy
client test produces an additional misleading error
(the real cause is reported as well). This happens due the fact
that we try to cleanup host that was not yet defined. We need to
check for this attribute being defined before unapplying fixes there.
https://fedorahosted.org/freeipa/ticket/4124
|
|
|
|
|
|
|
|
| |
Sudo calls are not necessary since we log in as a root. Additionally,
sudo requires tty in default configuration, which is not acquired
when using OpenSSH transport.
https://fedorahosted.org/freeipa/ticket/4125
|
|
|
|
| |
This may make debugging easier if the address is set incorrectly.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The framework had a concept of external hostnames,
which the controller uses to contact the test machines,
but they were not loaded from configuration.
Load external names from configuration.
This makes tests pass in setups where internal and external
hostnames are different, and the internal hostnames are not
initially resolvable from the controller.
|
|
|
|
|
|
| |
This change makes single_value consistent with the raw property.
https://fedorahosted.org/freeipa/ticket/3521
|
|
|
|
|
|
| |
Recent ipaldap work has made LDAPEntry incompatible with python-ldap's
LDIFWriter.
Convert entry to dict before printing debug output.
|
| |
|
|
|
|
| |
Part of: https://fedorahosted.org/freeipa/ticket/3833
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds support for host definition by a environment variables of the
following form:
ROLE_<keyword>_envX, where X is the number of the environment
for which host referenced by a role <keyword> should be defined.
Adds a required_extra_roles attribute to the IntegrationTest class,
which can test developer use to specify the extra roles that this
particular test requires. If not all required extra roles are
available, the test will be skipped.
All extra (and static) roles are accessible to the IntegrationTests
via the host_by_role method, which returns a host of given role.
Part of: https://fedorahosted.org/freeipa/ticket/3833
|
|
|
|
| |
Part of: https://fedorahosted.org/freeipa/ticket/3833
|
|
|
|
| |
Part of: https://fedorahosted.org/freeipa/ticket/3833
|
|
|
|
| |
Part of: https://fedorahosted.org/freeipa/ticket/3833
|
|
|
|
|
|
| |
When the directory directly under root (e.g. /etc) did not exist,
mkdir_recursive failed.
Fix the issue.
|
|
|
|
| |
https://fedorahosted.org/freeipa/ticket/3819
|
|
|
|
| |
Part of: https://fedorahosted.org/freeipa/ticket/3834
|
|
|
|
| |
Part of: https://fedorahosted.org/freeipa/ticket/3834
|
|
|
|
| |
Part of: https://fedorahosted.org/freeipa/ticket/3834
|
|
|
|
| |
Part of: https://fedorahosted.org/freeipa/ticket/3834
|
|
|
|
| |
Part of: https://fedorahosted.org/freeipa/ticket/3834
|
|
|
|
| |
Part of: https://fedorahosted.org/freeipa/ticket/3834
|
|
|
|
| |
Part of: https://fedorahosted.org/freeipa/ticket/3834
|
|
|
|
|
|
|
|
|
|
|
| |
The integration tests must wait for replication to happen before checking
results. In some cases, the tests have failed because the checks that
detect completed replication were insufficient.
This fixes the code to:
- Wait for replication to be completed on both servers
- In the case of an error, continue waiting -- it might be the case that
the DS is temporarily unreachable
|
|
|
|
|
|
|
|
|
|
| |
The --pin and --dirman-password options simplified ipa-certinstall
usage. Use them in tests.
Also add tests for the old way of calling the command.
https://fedorahosted.org/freeipa/ticket/3869
http://www.freeipa.org/page/V3/ipa-server-certinstall_CLI_cleanup
|
|
|
|
| |
The test installed the HTTP cert instead of the DS one.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
To differentiate between individual tests in BeakerLib output,
the argument needs to be added to the test name. Since Nose
doesn't provide a way to get the argument in a plugin,
a `test_argument` attribute must be added to the test function
to support this, simlarly to how `description` is used to set
individual "docstrings".
Add test_argument to the generated tests in the CA-less suite.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This adds a transport that uses /usr/bin/ssh calls to communicate
with remote hosts.
This transport is a bit slower and buffers output more than paramiko,
so it is only used if paramiko is not available, or forced with an
environment variable.
https://fedorahosted.org/freeipa/ticket/3890
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This will make it possible to use a different mechanism for cases like
- Paramiko is not available
- Hosts without SSH servers (e.g. Windows)
Add BaseHost, Transport & Command base classes that define the interface
and common functionality, and Host, ParamikoTransport & SSHCommand with
specific details.
The {get,put}_file_contents methods are left on Host for convenience;
all other Transport methods must be now accessed through the transport.
Part of the work for https://fedorahosted.org/freeipa/ticket/3890
|
|
|
|
|
|
|
|
| |
The search had an incorrect scope and therefore it didn't find any RUV.
This issue prevented removing of replica.
https://fedorahosted.org/freeipa/ticket/3876
|
|
|
|
|
|
|
| |
Add integration tests for the forced client re-enrollment feature:
http://www.freeipa.org/page/V3/Forced_client_re-enrollment#Test_Plan
https://fedorahosted.org/freeipa/ticket/3832
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Differences from the test plan at
http://www.freeipa.org/index.php?title=V3/CA-less_install&oldid=6669 are:
- The following tests are included in all applicable positive
install tests, rather than being standalone test cases:
- Verify CA certificate stored in LDAP
- Verify CA PEM file created by IPA server install
- Verify that IPA server install does not configure certmonger
- Verify CA PEM file created by IPA replica install
- Verify that IPA replica install does not configure certmonger
- Verify CA PEM file created by IPA client install
- PKI setup is done only once for each test class
- Master installation is done once for the IPA command tests, and
once for the certinstall tests
- Certificates are compared after base64 decoding to avoid failures
from formatting mismatches
- Minor changes necessary for automation (e.g. adding --unattended
and --password options, correcting error messages)
- Web UI tests are not included here
https://fedorahosted.org/freeipa/ticket/3830
|
|
|
|
|
|
|
|
| |
Add integration tests for the Kerberos Flags feature:
http://www.freeipa.org/page/V3/Kerberos_Flags#Test_Plan
(except the web UI tests).
https://fedorahosted.org/freeipa/ticket/3831
|
|
|
|
|
|
| |
The integration testing framework used Paramiko SFTP files as
context managers. This feature is only available in Paramiko 1.10+.
Use an explicit context manager so that we don't rely on the feature.
|
|
|
|
|
|
|
| |
Add ldap_connect() method to Host to allow executing querying LDAP from tests.
Use information in the mapping tree to poll until all replication is finished
(or failing) before checking that entries replicated successfully.
|
|
|
|
|
|
|
| |
This allows a cluster of replicas and clients to be installed
in a named topology.
Several named topologies are available (star, line, complete, tree,
tree2) and new ones can be defined as a simple function.
|
|
|
|
|
|
|
|
| |
- install_client
- connect_replica
- disconnect_replica
- prepare_host
- kinit_admin
|
|
|
|
|
| |
For complex topologies the CA needs to be available on most
replicas, since only servgers with a CA can prepare replica files.
|
|
|
|
| |
This allows collecting logs when a test context is not available.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Logs from Beaker jobs are normally very brief, with the standard
output/error containing detailed information. Make ipa-run-tests
with BeakerLib plugin follow this convention.
Only include INFO and higher level messages in the Beaker logs.
Downgrade several message levels to DEBUG.
Log to console using Python logging instead of showing the Beaker logs.
Since ipa-run-tests sets up its own logging, Nose's own log
handling just causes duplicate messages. Disable it with --nologcapture.
|
|
|
|
|
|
|
| |
Phase names are now in the format:
test-module-TestClass-test_method: First line of docstring
https://fedorahosted.org/freeipa/ticket/3723
|
|
|
|
|
|
|
|
|
|
| |
- Use the external hostname when connecting to remote hosts
- Make it possible to specify working directory for remote commands
- Move kinit calls to installation code
This allows tests where installation is done later
- Log at error level when a remote command fails unexpectedly
- Clean up test directory before testing
- Break infinite recursion in mkdir_recursive if dir can't be created
|
|
|
|
|
|
|
|
| |
Set up the hostname, /etc/resolv.conf, and /etc/hosts on remote
hosts in the test setup.
Undo the changes in test teardown.
Part of the work for https://fedorahosted.org/freeipa/ticket/3621
|
|
|
|
| |
Part of the work for https://fedorahosted.org/freeipa/ticket/3621
|
|
|
|
|
|
|
|
| |
After each test, and after class setups and teardowns, the BeakerLib
integration plugin now downloads log files from the remote masters
and submits them using rlFileSubmit.
Part of the work for: https://fedorahosted.org/freeipa/ticket/3621
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce a class inspired by subprocess.Popen that handles
running a command on a remote machine and handling its output.
To separate stdout & stderr streams of a remote command,
they need to be read in parallel, so that one of them doesn't
stall the runner when its buffer fills up. Accomplish this
by using a thread for each stream.
Part of the work for: https://fedorahosted.org/freeipa/ticket/3621
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add methods to run commands and copy files to Host objects.
Adds a base class for integration tests which can currently install
and uninstall IPA in a "star" topology with per-test specified number
of hosts.
A simple test for user replication between two masters is provided.
Log files from the remote hosts can be marked for collection, but the
actual collection is left to a Nose plugin.
Part of the work for: https://fedorahosted.org/freeipa/ticket/3621
|
|
Integration tests are configured via environment variables.
Add a framework for parsing these variables and storing them
in easy-to-use objects.
Add an `ipa-test-config` executable that loads the configuration
and prints out variables needed in shell scripts.
Part of the work for https://fedorahosted.org/freeipa/ticket/3621
|