From f8e0fd7936c4440bb685e05abdcd087989903a9a 2018-11-24 15:13:00 From: Branko Majic Date: 2018-11-24 15:13:00 Subject: [PATCH] MAR-139: Switch to using Prosody stable branch nightlies: - Introduced additional parameter for specifying name of Prosody package to install. - Updated tests. --- diff --git a/roles/xmpp_server/defaults/main.yml b/roles/xmpp_server/defaults/main.yml index a5827c4d9333125de67d07acf7655ef787ac5bc6..93c51b693568ab15308dd98fb9d2e7691b88dbba 100644 --- a/roles/xmpp_server/defaults/main.yml +++ b/roles/xmpp_server/defaults/main.yml @@ -3,5 +3,6 @@ enable_backup: False xmpp_domains: - "{{ ansible_domain }}" +xmpp_prosody_package: "prosody-0.10" xmpp_tls_certificate: "{{ lookup('file', tls_certificate_dir + '/' + ansible_fqdn + '_xmpp.pem') }}" xmpp_tls_key: "{{ lookup('file', tls_private_key_dir + '/' + ansible_fqdn + '_xmpp.key') }}" diff --git a/roles/xmpp_server/playbook.yml b/roles/xmpp_server/playbook.yml index 628dfb77a17c9fd063c616d5069953b124c8dcf1..ae66e01e3146301669ee17dd94099abc23a9ae66 100644 --- a/roles/xmpp_server/playbook.yml +++ b/roles/xmpp_server/playbook.yml @@ -222,6 +222,7 @@ xmpp_ldap_base_dn: dc=local xmpp_ldap_password: prosodypassword xmpp_ldap_server: ldap-server + xmpp_prosody_package: prosody-0.9 xmpp_tls_certificate: "{{ lookup('file', 'tests/data/x509/parameters-optional_xmpp.cert.pem') }}" xmpp_tls_key: "{{ lookup('file', 'tests/data/x509/parameters-optional_xmpp.key.pem') }}" diff --git a/roles/xmpp_server/tasks/main.yml b/roles/xmpp_server/tasks/main.yml index 4b6a9bd0ffe993c55f819ae84730e7aa7a0fd103..e2dc3a62142ae2942a61b7379b6ca3ff6500d1a2 100644 --- a/roles/xmpp_server/tasks/main.yml +++ b/roles/xmpp_server/tasks/main.yml @@ -26,8 +26,10 @@ - name: Install Prosody apt: - name: prosody - state: installed + name: "{{ xmpp_prosody_package }}" + state: present + notify: + - Restart Prosody - name: Allow Prosody user to traverse the directory with TLS private keys user: diff --git a/roles/xmpp_server/tests/test_default.py b/roles/xmpp_server/tests/test_default.py index d96e4f25859a7a3dd5eb70351de9f51c2cbace49..e350a1f8ccaac89f2a27536f436e1631dd926491 100644 --- a/roles/xmpp_server/tests/test_default.py +++ b/roles/xmpp_server/tests/test_default.py @@ -5,15 +5,15 @@ testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner( '.molecule/ansible_inventory').get_hosts(['parameters-mandatory', 'parameters-optional']) -def test_installed_packages(Package): +def test_supporting_packages_installed(Package): """ - Tests if all the necessary packages have been installed. + Tests if all the necessary supporting packages have been + installed. """ assert Package('python-apt').is_installed assert Package('lua-sec').is_installed assert Package('lua-ldap').is_installed - assert Package('prosody').is_installed def test_prosody_apt_key(Command): diff --git a/roles/xmpp_server/tests/test_mandatory.py b/roles/xmpp_server/tests/test_mandatory.py index 25df2f459d23606a8c1c4b5804b7063f0a371fd3..6f0ebd1c487e547c6f8615838f308f5f27d6d0e3 100644 --- a/roles/xmpp_server/tests/test_mandatory.py +++ b/roles/xmpp_server/tests/test_mandatory.py @@ -65,3 +65,11 @@ Component "conference.domain1" "muc" restrict_room_creation = "local" Component "proxy.domain1" "proxy65" proxy65_acl = { "domain1" }""" in config.content + + +def test_correct_prosody_package_installed(Package): + """ + Tests if correct Prosody package has been installed. + """ + + assert Package('prosody-0.10').is_installed diff --git a/roles/xmpp_server/tests/test_optional.py b/roles/xmpp_server/tests/test_optional.py index b9ce8f6fd42a1b3b344f66fd6c431cb03b58e1c4..9ea99b8dda7af5aabba26afc58585d865cb386ce 100644 --- a/roles/xmpp_server/tests/test_optional.py +++ b/roles/xmpp_server/tests/test_optional.py @@ -71,3 +71,11 @@ Component "conference.domain3" "muc" restrict_room_creation = "local" Component "proxy.domain3" "proxy65" proxy65_acl = { "domain3" }""" in config.content + + +def test_correct_prosody_package_installed(Package): + """ + Tests if correct Prosody package has been installed. + """ + + assert Package('prosody-0.9').is_installed