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.
MAR-122: Fixed handling of complex package versions for pip with Ansible 2.x:
- Use list for installing specific version of pip in the "pipreqcheck" virtual environment in common role. - Removed superficious (and incorrect) definition for application admin username in wsgi_website role. - Updated test playbook for wsgi_website role to test the fix. - Switched to passing-in package list for installing packages in virtual environment instead of using "with_items" in wsgi_website role.
MAR-118: Replaced handler with parametrised name in wsgi_website:
- Updated wsgi_website role. - Replaced handler with parametrised name used for restarting a single service with a generic handler that will restart zero or more services. - Updated test site roles to introduce explicit handler in them. - Updated usage instructions to include set-up of explicit handler for restarting the Wiki service.
MAR-117: Renamed ldap_entry and ldap_permissions modules:
- Renamed ldap_entry module to m_ldap_entry. - Renamed ldap_permissions module to m_ldap_permissions. - Renames done to avoid collisions with official modules (at least for ldap_entry).
MAR-114: Updated task syntax for bootstrap, preseed and xmpp roles:
- Updated web_server, php_website, and wsgi_website roles. - Added and removed quoting where it makes sense. - Switched to using expanded syntax (instead of one-liners). - Updated ordering of arguments in task definitions.
MAR-114: Updated task syntax for web server/application roles:
- Updated web_server, php_website, and wsgi_website roles. - Added and removed quoting where it makes sense. - Switched to using expanded syntax (instead of one-liners). - Updated ordering of arguments in task definitions.
- Updated mail_server and mail_forwarder roles. - Added and removed quoting where it makes sense. - Switched to using expanded syntax (instead of one-liners). - Updated ordering of arguments in task definitions.
- Updated ldap_client and ldap_server roles. - Added and removed quoting where it makes sense. - Switched to using expanded syntax (instead of one-liners).
- Updated database and database_server roles. - Added and removed quoting where it makes sense. - Switched to using expanded syntax (instead of one-liners).
- Updated backup, backup_client, and backup_server. - Added and removed quoting where it makes sense. - Switched to using expanded syntax (instead of one-liners). - Updated ordering of arguments in task definitions.
- Added quoting where it makes sense. - Switched to using expanded syntax (instead of one-liners). - Updated ordering of arguments in task definitions.
MAR-114: Moved set_fact for wsgi_website and php_website roles:
- Moved set_fact for setting application admin, user, and home directory into defaults/main.yml. - Updated test playbook for wsgi_website to fixate the ptpython and dnspython versions (including their dependencies). - Updated tests for wsgi_website to use new fixated versions for ptpython, dnspython, and their dependencies.
MAR-113: Added option for specifying relay port to mail_forwarder:
- Introduced new option "smtp_relay_host_port". - Updated the test playbook and tests to make sure new functionality works as expected. - Update role reference documentation. - Updated usage instructions.
- Updated mail_server role to deploy firewall rules that include redirection from TCP port 27 to TCP port 25. - Updated documentation to include references to the additional port. - Updated tests to cover the new functionality.
MAR-105: Added parameter for controlling firewall to mail_forwarder:
- Added new parameter smtp_from_relay_allowed. - Updated role reference documentation. - Added small note to usage instructions to mention the parameter's usability in case of NAT'ed machines or laptops. - Updated test playbook, adding another instance for testing the parameter, and added tests that cover new parameter. - Updated existing connectivity tests to be more specific and reliable.