MAR-132: Add support for Debian 9 (Stretch) to ldap_server role:
- Updated Molecule tests to cover Debian 9 as well. - Remove the ss utility instead of renaming it when preparing for tests, and make sure the netstat utility is available. - Duplicate private key/certificate for mandatory parameters testing.
- Dynamically obtain inventory hostnames (don't hard-code them). - Parametrise connectivity test, switching to using inventory hostnames along the way (instead of hard-coded IPs in tests. - Populate /etc/hosts with inventory hostnames in client machine (used for connectivity tests).
MAR-131: Use Python 3 in test site wsgihello2 role:
- Switch role to use Python 3 via meta dependency. - Fix the demo application to work with Python 3. - Update ipcalc dependency (so it would work with Python 3).
MAR-131: Added support for specifying Python version in wsgi_website role:
- Introduced additional role parameter for specifying the Python version. - Updated tests to verify new functionality. - Fixed existing tests to account for differences between Python 2 and Python 3 - including changes to WSGI test applications. - Updated documentation, documenting new parameter and fixing one minor typo. - Updated release notes. - Bumped default version of Gunicorn/futures used.
- Do not produce warnings in case no certificates have been configured for checking. - Only send out mails about certificates that are about to expire. - Include information in how many days a certificate is going to expire. - Include information on whether the certificates has already expired.
MAR-129: Update instructions to address a couple of issues:
- Improved formatting in a number of places. - Fixed a bunch of typos etc. - Improved wording where relevant. - Moved around a couple of steps related to adding users to specific LDAP groups - otherwise we try to add them before groups are created. - Fixed some deprecated syntax for including playbooks.
MAR-129: Update development documentation for testsite:
- Update versions of VirtualBox/Vagrant that have been tested. - Move notes about how the servers have been set-up to towards beginning of section describing the test site. - Put deployment of test site into a sub-section of its own.
MAR-129: Updated testsite configuration and playbooks:
- Specify path to inventory file in testsite Ansible configuration. - Set-up group memberships in LDAP groups via separate play (since state: append does not work with stock ldap_entry - which is now used instead of m_ldap_entry). - Replace deprecated use of include with import_playbook.
- Removed the custom m_ldap_entry module used for managing LDAP entries. - Replaced the module usage with official ldap_entry and ldap_attr modules. - Updated role reference documentation. - Updated usage instructions since we can't misuse the m_ldap_entry any longer for adding members to groups.
MAR-129: Updated preseed role for Ansible 2.5.x and new Molecule:
- Include top-level linting configuration in test configuration. - Fixed linting errors. - Moved test playbook variables into group_vars. - Updated how hosts are referenced in tests.
MAR-129: Updated bootstrap role for Ansible 2.5.x and new Molecule:
- Include top-level lint configuration file. - Fixed linting errors. - Moved test playbook parameters into group_vars. - Fixed Ansible deprecation warnings. - Updated how the hosts are referenced in tests.
MAR-129: Updated xmpp_server role for Ansible 2.5.x and new Molecule:
- Include top-level lint configuration in test configuration. - Fixed linting errors. - Moved test playbook variables into group_vars and host_vars. - Fixed deprecation warnings from Ansible. - Updated how hosts are referenced within tests.
MAR-129: Updated wsgi_website role for Ansible 2.5.x and new Molecule:
- Include top-level linting configuration in test configuration file. - Fixed linting errors. - Updated Ansible deprecation warnings related to use of state=installed with apt module. - Updated how hosts are being referenced in tests. - Rename the 'ss' utility in order to properly test socket connectivity as a workaround for Testinfra bug.
MAR-129: Updated php_website role for Ansible 2.5.x and new Molecule:
- Include global linting configuration file in tests. - Fixed linting issues. - Fix deprecation warnings from Ansible (for apt module and state=installed). - Updated how the hosts are being referenced within tests.
MAR-129: Updated web_server role for Ansible 2.5.x and new Molecule:
- Fixed linting errors. - Include global linting configuration file in the test configuration. - Moved variables from the test playbook into group variables. - Updated how hosts are referenced in tests. - Fixed deprecation warnings.
MAR-129: Updated backup role for new Ansible and Molecule:
- Fixed linting errors. - Include top-level linting configuration in tests. - Moved variables from test playbook into group_vars. - Updated how the hosts are referenced in tests.
MAR-129: Updated mail_forwarder role for new Ansible and Molecule versions:
- Moved variables out of test playbook into group_vars. - Fixed linting issues. - Use top-level linting configuration file in tests. - Updated how the hosts are referenced when executing the tests.
MAR-129: Updated mail_server role for new Molecule and Ansible:
- Moved variables from test playbooks into group/host vars. - Fixed linting errors. - Reference custom top-level linting configuration file in tests. - Fixed deprecation errors reported by Ansible. - Updated how the hosts on which the tests should be run are referenced.
MAR-129: Updated ldap_server role for new Molecule and Ansible:
- Fixed syntax warnings. - Moved test playbook variables into group_vars. - Optimised the invocation of test playbook. - Remove the 'ss' utility from test machines in order to properly test the unix sockets. - Fixed how the hosts are being referenced in tests.
MAR-129: Updated LDAP client role and its tests for new Molecule and Ansible:
- Fixed linting issues. - Moved test playbook variables into group_vars. - Include linting configuration for tests from top-level directory. - Updated how the target hosts are refenced in tests. - Fixed Ansible warnings.
MAR-129: Updated database role for new Molecule and Ansible versions:
- Fixed linting issues. - Moved test variables into group_vars. - Renamed the server which effectively tests the optional parameters (mainly the backup). - Updated tests to use correct mechanism for obtaining the list of hosts on top of which the tests should be run.
- Move the 'ss' utility out of place in order to be able to test if sockets are open (seehttps://github.com/philpep/testinfra/pull/320). - Updated tests to use correct mechanism for setting-up list of machines where the tests should be run.
- Update how the hosts are being referenced in tests (for limiting the test runs). - Use "state: present" for package presence/installation. - Break-up long lines in tasks so they are under 160 characters length. - Fixed YAML linting issues.
MAR-129: Updated Molecule configuration for the backup_client role:
- Updates necessary for use with Molecule version 2.14. - Reference custom yamllint configuration file with custom rules. - Fix YAML linting errors in Molecule's own files.
- Updated Molecule to version 2.12.0, alongside its requirements. - Fixed tests for preseed role to account for new paths on destination servers (change in Molecule). - Updated wsgi_website test for pacakges installed in Python virtual environment.
MAR-129: Minor preparation for updating Ansible version:
- Ignore the pytest_cache directory in Git. - Updated Ansible to latest 2.3.x version in requirements file. - Make sure the SSH client private keys have correct permissions when testing the backup_server role (must be 0600), otherwise we get errors from SSH due to insecure permissions during testing. - Updated test for testing installed packages in the wsgi_website Python virtual environment to test against up-to-date packages. Might be nice to fix this one with something less hacky in the long run.
MAR-128: Updated script for running tests and documentation:
- Updated script, removing parts related to separate platform testing from old version of Molecule. - Updated instructions for running the test script.
- Switch to new Molecule configuration. - Updated set-up playbook to use become: yes. - Moved some preparatory steps outside of the main playbook (eases idempotence tests). - Updated tests to reference the yml inventory file. - Updated tests to use new fixture (host instead of individual ones). - Switched to extracting hostname instead of hard-coding it in a couple of tests. - Renamed hosts to include the Debian version. - Updated names for some of the test data to cater to change in host names. - Switched to using more robust task for populating /etc/hosts.
- Switch to new Molecule configuration. - Updated set-up playbook to use become: yes. - Moved some preparatory steps outside of the main playbook (eases idempotence tests). - Updated tests to reference the yml inventory file. - Updated tests to use new fixture (host instead of individual ones). - Switched to extracting hostname instead of hard-coding it in a couple of tests. - Fixed some linting issues. - Updated one of the tests that depend on output of pip freeze due to new versions of packages coming out. - Updated hostname to include Debian version (for future expansion). - Renamded some test data to match new hostname.
- Switch to new Molecule configuration. - Updated set-up playbook to use become: yes. - Moved some preparatory steps outside of the main playbook (eases idempotence tests). - Updated tests to reference the yml inventory file. - Updated tests to use new fixture (host instead of individual ones). - Switched to extracting hostname instead of hard-coding it in a couple of tests. - Renamed hosts instances to include Debian version in their hostnames. - Fixed some linting issues.
- Switch to new Molecule configuration. - Updated set-up playbook to use become: yes. - Moved some preparatory steps outside of the main playbook (eases idempotence tests). - Updated tests to reference the yml inventory file. - Updated tests to use new fixture (host instead of individual ones). - Switched to extracting hostname instead of hard-coding it in a couple of tests. - Introduced additional hosts for testing on different Debian versions.
- Switch to new Molecule configuration. - Updated set-up playbook to use become: yes. - Moved some preparatory steps outside of the main playbook (eases idempotence tests). - Updated tests to reference the yml inventory file. - Updated tests to use new fixture (host instead of individual ones). - Switched to extracting hostname instead of hard-coding it in a couple of tests. - Fixed some linting issues. - Updated hostname to include Debian version.
- Switch to new Molecule configuration. - Updated set-up playbook to use become: yes. - Moved some preparatory steps outside of the main playbook (eases idempotence tests). - Updated tests to reference the yml inventory file. - Updated tests to use new fixture (host instead of individual ones). - Switched to extracting hostname instead of hard-coding it in a couple of tests. - Fixed some linting issues. - Renamed the hosts to make it easier to extend in future. - Renamed some data files to ensure they correspond correctly to new hostnames. - Rewrote logic behind setting-up the /etc/hosts a bit, and expanded the names to include the new hostnames. - Updated a couple of tests to correspond to correct filenames (that have been renamed). - Updated a couple of tests to address the new server naming. - Set explicitly the backup client username to avoid 32-charactr limitation on Linux usernames.
- Switch to new Molecule configuration. - Updated set-up playbook to use become: yes. - Moved some preparatory steps outside of the main playbook (eases idempotence tests). - Updated tests to reference the yml inventory file. - Updated tests to use new fixture (host instead of individual ones). - Switched to extracting hostname instead of hard-coding it in a couple of tests. - Fixed some linting issues. - Rearranged IP addresses for test instances a bit. - Expanded on available hosts for testing all OS/paramter combinations. - Switched to using a more resilient way to populate /etc/hosts during prepartion phase. - Expanded connectivity tests to include all the introduced hosts.
- Switch to new Molecule configuration. - Updated set-up playbook to use become: yes. - Moved some preparatory steps outside of the main playbook (eases idempotence tests). - Updated tests to reference the yml inventory file. - Updated tests to use new fixture (host instead of individual ones). - Fixed some linting issues. - Use localhost as backup client server name. This should make it simpler in future to cover more platforms. - Set-up the /etc/hosts for tests with correct entries (primarily aliases towards localhost to make it less important what the hostname is). - Renamed private key/certificate files for parameters-mandatory server since server got renamed as well. - Updated IP addresses used for testing to make it easier to test new platforms in the future. - Use inventory_hostname-based parameterisation of tests where appropriate. Currently hard-coded value for this because host.ansible.get_variables() produces errors.
- Switch to new Molecule configuration. - Updated set-up playbook to use become: yes. - Moved some preparatory steps outside of the main playbook (eases idempotence tests). - Updated tests to reference the yml inventory file. - Updated tests to use new fixture (host instead of individual ones).
- Switch to new Molecule configuration. - Updated set-up playbook to use become: yes. - Moved some preparatory steps outside of the main playbook (eases idempotence tests). - Updated tests to reference the yml inventory file. - Updated tests to use new fixture (host instead of individual ones). - Fixed some linting issues.
- Switch to new Molecule configuration. - Updated set-up playbook to use become: yes. - Moved some preparatory steps outside of the main playbook (eases idempotence tests). - Updated tests to reference the yml inventory file. - Updated tests to use new fixture (host instead of individual ones). - Updated backup_server and backup_client configuration in order to make the backup testing more generic (and easier to update for future).
- Switch to new Molecule configuration. - Updated set-up playbook to use become: yes. - Moved some preparatory steps outside of the main playbook (eases idempotence tests). - Updated tests to reference the yml inventory file. - Updated tests to use new fixture (host instead of individual ones).
- Switch to new Molecule configuration. - Updated set-up playbook to use become: yes. - Moved some preparatory steps outside of the main playbook (eases idempotence tests). - Updated tests to reference the yml inventory file. - Updated tests to use new fixture (host instead of individual ones).
- Switch to new Molecule configuration. - Updated set-up playbook to use become: yes. - Moved some preparatory steps outside of the main playbook (eases idempotence tests). - Updated tests to reference the yml inventory file. - Updated tests to use new fixture (host instead of individual ones). - Updated backup server SSH deployment to have chroot the users for a bit easier set-up, and updated relevants playbooks/tests for this purpose.
MAR-128: Fixed test for login mechanisms on backup_server role:
- Moved test back into test_default.py to be run against all servers. - Switch to using local ssh command that would reveal available mechanisms instead of using paramiko from the test host.
- Switch to new Molecule configuration. - Updated set-up playbook to use become: yes. - Moved some preparatory steps outside of the main playbook (eases idempotence tests). - Updated tests to reference the yml inventory file. - Updated tests to use new fixture (host instead of individual ones). - Switched to extracting IP address instead of hard-coding it in a couple of tests. - Moved test for checking available authentication mechanisms for backup SSH server to be part of testing of parameters_optional only for now (it was hard coded to that IP, and fails on parameters-mandatory due to iptables not opening correct ports).
- Switch to new Molecule configuration. - Updated set-up playbook to use become: yes. - Moved some preparatory steps outside of the main playbook (easies idempotence tests). - Updated tests to reference the yml inventory file. - Updated tests to use new fixture (host instead of individual ones). - Switched to extracting IP address instead of hard-coding it in a couple of tests. - Fixed invalid indentation on task responsible for creating the pipreqcheck Python virtual environment.
- Updated requirements and its input file, primarily for use of Molecule 2.4.x. - Updated gitignore to exclude some additional artefacts produced by Molecule 2.x.
MAR-127: Updated documentation and testsite configuration for NTP:
- Updated role reference documentation for common role to list the new functionality and documented the new parameter. - Updated usage instructions to mention NTP time synchronisation configuration. - Updated testsite configuration to set-up the NTP time synchronisation.
MAR-127: Implemented time synchronisation set-up in common role:
- Added new parameter ntp_servers for defining list of servers to use. - Deploy ntp and ntpdate packages and relevant configuration files. - Updated tests, fixing expected restriction lines in ntp configuration, and adding an additional test to make sure the ntp daemon has reread its configuration.
- Point to specific Debian release instructions for preseed file usage. - Use python-pexpect for installing The Bug Genie. - Added instructions for creating the handlers directory for wiki sample role.
- Use the file module when cleaning-up the /etc/duply/main/gnupg directory. - Mark the bind_password in m_ldap_entry and m_ldap_permissions as no_log parameters.
- Updated documentation to reference only Ansible 2.3.x, removing mentions of Ansible 1.9.x, and removing comments related to delayed switch to Ansible 2.x. - Updated usage instructions to use Ansible 2.3.x. - Updated pip requirements and its input file to use up-to-date versions of Ansible and Molecule. - Updated test site Ansible configuration to use pipelining. - Fixed missing brackets in test site tls.yml playbook for "with_items.