Changeset - 398dcbce5d84
[Not reviewed]
1 7 0
Branko Majic (branko) - 4 years ago 2020-05-05 22:59:01
branko@majic.rs
MAR-152: Drop support for Debian 8 Jessie from the php_website role.
8 files changed with 10 insertions and 62 deletions:
0 comments (0 inline, 0 general)
docs/rolereference.rst
Show inline comments
 
@@ -1602,13 +1602,12 @@ Parameters
 

	
 
Distribution compatibility
 
~~~~~~~~~~~~~~~~~~~~~~~~~~
 

	
 
Role is compatible with the following distributions:
 

	
 
- Debian 8 (Jessie)
 
- Debian 9 (Stretch)
 

	
 

	
 
Examples
 
~~~~~~~~
 

	
roles/php_website/defaults/main.yml
Show inline comments
 
@@ -15,10 +15,9 @@ website_mail_recipients: "root"
 
environment_indicator: null
 

	
 
# Internal parameters.
 
admin: "admin-{{ fqdn | replace('.', '_') }}"
 
user: "web-{{ fqdn | replace('.', '_') }}"
 
home: "/var/www/{{ fqdn }}"
 
php_fpm_pool_directory: "{% if ansible_distribution_release == 'jessie' %}/etc/php5/fpm/pool.d\
 
{% elif ansible_distribution_release == 'stretch' %}/etc/php/7.0/fpm/pool.d{% endif %}"
 
php_fpm_binary: "{% if ansible_distribution_release == 'jessie' %}php5-fpm{% elif ansible_distribution_release == 'stretch' %}php-fpm7.0{% endif %}"
 
php_fpm_service_name: "{% if ansible_distribution_release == 'jessie' %}php5-fpm{% elif ansible_distribution_release == 'stretch' %}php7.0-fpm{% endif %}"
 
php_fpm_pool_directory: "/etc/php/7.0/fpm/pool.d"
 
php_fpm_binary: "php-fpm7.0"
 
php_fpm_service_name: "php7.0-fpm"
roles/php_website/molecule/default/molecule.yml
Show inline comments
 
@@ -11,21 +11,12 @@ lint:
 
  name: yamllint
 
  options:
 
    config-file: ../../.yamllint.yml
 

	
 
platforms:
 

	
 
  - name: php-website-jessie64
 
    groups:
 
      - parameters-mandatory
 
      - parameters-optional
 
      - jessie
 
    box: debian/contrib-jessie64
 
    memory: 512
 
    cpus: 1
 

	
 
  - name: php-website-stretch64
 
    groups:
 
      - parameters-mandatory
 
      - parameters-optional
 
      - stretch
 
    box: debian/contrib-stretch64
roles/php_website/molecule/default/playbook.yml
Show inline comments
 
@@ -43,16 +43,15 @@
 
        - ^/rewrite1/(.*)$ /rewrite.myphp?url=$1 last
 
        - ^/rewrite2/(.*)$ /rewrite.myphp?url=$1 last
 
      rewrites:
 
        - '^/rewrite_to_index1/(.*) /myindex.php last'
 
        - '^/rewrite_to_index2/(.*) /myindex.php last'
 
      packages:
 
        - "{% if ansible_distribution_release == 'jessie' %}php5-ldap{% elif ansible_distribution_release == 'stretch' %}php-ldap{% endif %}"
 
        - "{% if ansible_distribution_release == 'jessie' %}php5-json{% elif ansible_distribution_release == 'stretch' %}php-json{% endif %}"
 
        - "{% if ansible_distribution_release == 'jessie' %}libmariadb-client-lgpl-dev-compat\
 
{% elif ansible_distribution_release == 'stretch' %}libmariadbclient-dev-compat{% endif %}"
 
        - "php-ldap"
 
        - "php-json"
 
        - "libmariadbclient-dev-compat"
 
      uid: 5001
 
      website_mail_recipients: user
 

	
 
- hosts: all
 
  become: true
 
  tasks:
roles/php_website/molecule/default/tests/test_parameters_mandatory.py
Show inline comments
 
@@ -134,18 +134,13 @@ def test_mail_forwarding(host):
 

	
 
def test_php_fpm_configuration_file(host):
 
    """
 
    Tests if PHP FPM configuration file has been correctly deployed.
 
    """
 

	
 
    ansible_facts = host.ansible("setup")["ansible_facts"]
 

	
 
    if ansible_facts['ansible_distribution_release'] == 'jessie':
 
        config_file_path = '/etc/php5/fpm/pool.d/parameters-mandatory.conf'
 
    elif ansible_facts['ansible_distribution_release'] == 'stretch':
 
        config_file_path = '/etc/php/7.0/fpm/pool.d/parameters-mandatory.conf'
 
    config_file_path = '/etc/php/7.0/fpm/pool.d/parameters-mandatory.conf'
 

	
 
    with host.sudo():
 

	
 
        config = host.file(config_file_path)
 
        assert config.is_file
 
        assert config.user == 'root'
roles/php_website/molecule/default/tests/test_parameters_optional.py
Show inline comments
 
@@ -134,26 +134,15 @@ def test_mail_forwarding(host):
 

	
 
def test_installed_packages(host):
 
    """
 
    Tests if additional packages are installed.
 
    """
 

	
 
    ansible_facts = host.ansible("setup")["ansible_facts"]
 

	
 
    if ansible_facts['ansible_distribution_release'] == 'jessie':
 
        php_ldap_package = 'php5-ldap'
 
        php_json_package = 'php5-json'
 
        mariadb_compat_package = 'libmariadb-client-lgpl-dev-compat'
 
    elif ansible_facts['ansible_distribution_release'] == 'stretch':
 
        php_ldap_package = 'php-ldap'
 
        php_json_package = 'php-json'
 
        mariadb_compat_package = 'libmariadbclient-dev-compat'
 

	
 
    assert host.package(php_ldap_package).is_installed
 
    assert host.package(php_json_package).is_installed
 
    assert host.package(mariadb_compat_package).is_installed
 
    assert host.package('php-ldap').is_installed
 
    assert host.package('php-json').is_installed
 
    assert host.package('libmariadbclient-dev-compat').is_installed
 

	
 

	
 
def test_nginx_tls_files(host):
 
    """
 
    Tests if TLS private key and certificate have been deployed correctly.
 
    """
roles/php_website/molecule/default/tests/test_parameters_optional_jessie.py
Show inline comments
 
deleted file
roles/php_website/tasks/main.yml
Show inline comments
 
@@ -59,19 +59,12 @@
 

	
 
- name: Install extra packages for website
 
  apt:
 
    name: "{{ packages }}"
 
    state: present
 

	
 
- name: Set-up MariaDB mysql_config symbolic link for compatibility on Jessie (workaround for Debian bug 766996)
 
  file:
 
    src: "/usr/bin/mariadb_config"
 
    dest: "/usr/bin/mysql_config"
 
    state: link
 
  when: "'libmariadb-client-lgpl-dev-compat' in packages and ansible_distribution_release == 'jessie'"
 

	
 
- name: Deploy PHP FPM configuration file for website
 
  template:
 
    src: "fpm_site.conf.j2"
 
    dest: "{{ php_fpm_pool_directory }}/{{ fqdn }}.conf"
 
    validate: "{{ php_fpm_binary }} -t -y %s"
 
    owner: root
0 comments (0 inline, 0 general)