From 0c86313e1586087f9bff9a3ec595b93ee12469d3 Mon Sep 17 00:00:00 2001
From: Piotr Rogowski <piotr.rogowski@creativestyle.pl>
Date: Wed, 25 May 2022 13:29:08 +0200
Subject: [PATCH 1/2] Refactor to eliminate php instalation twice

---
 group_vars/all.yml                     | 3 +++
 roles/cs.php-fpm/meta/main.yml         | 2 --
 roles/cs.php-fpm/tasks/000-install.yml | 4 ++++
 roles/cs.php-fpm/tasks/main.yml        | 3 +++
 roles/cs.php/defaults/main.yml         | 1 -
 roles/cs.php/tasks/main.yml            | 4 +---
 6 files changed, 11 insertions(+), 6 deletions(-)
 create mode 100644 roles/cs.php-fpm/tasks/000-install.yml

diff --git a/group_vars/all.yml b/group_vars/all.yml
index 557bad81..671ee3b0 100644
--- a/group_vars/all.yml
+++ b/group_vars/all.yml
@@ -1292,6 +1292,9 @@ php_fpm_service: php-fpm
 # Enable the separate PHP-FPM pool with xdebug support (among others)
 php_fpm_debug_pool_enable: yes
 
+# It's required to use the same value
+php_debug_ini_enable: "{{ php_fpm_debug_pool_enable }}"
+
 # Special XDebug directive overrides for debugging PHP-FPM pool
 php_fpm_debug_pool_xdebug_remote_host: "{{ mageops_xdebug_proxy_remote_connection_to_loadbalancer | ternary(mageops_varnish_host, 'localhost') }}"
 php_fpm_debug_pool_xdebug_remote_port: "{{ php_xdebug_remote_port }}"
diff --git a/roles/cs.php-fpm/meta/main.yml b/roles/cs.php-fpm/meta/main.yml
index be97805a..d28262ac 100644
--- a/roles/cs.php-fpm/meta/main.yml
+++ b/roles/cs.php-fpm/meta/main.yml
@@ -1,4 +1,2 @@
 dependencies:
   - role: cs.php
-    php_install_fpm_package: yes
-    php_debug_ini_enable: "{{ php_fpm_debug_pool_enable }}"
diff --git a/roles/cs.php-fpm/tasks/000-install.yml b/roles/cs.php-fpm/tasks/000-install.yml
new file mode 100644
index 00000000..56c2046d
--- /dev/null
+++ b/roles/cs.php-fpm/tasks/000-install.yml
@@ -0,0 +1,4 @@
+- name: Install PHP and dependency packages
+  yum:
+    name: "{{ php_fpm_package }}"
+    state: present
diff --git a/roles/cs.php-fpm/tasks/main.yml b/roles/cs.php-fpm/tasks/main.yml
index a64ec98a..08429805 100644
--- a/roles/cs.php-fpm/tasks/main.yml
+++ b/roles/cs.php-fpm/tasks/main.yml
@@ -27,6 +27,9 @@
 - debug:
     msg: "Will use {{ php_fpm_pm_max_children }} workers, autodetected default: {{ php_fpm_pm_max_children_default }}"
 
+- name: Install packages
+  include_tasks: 000-install.yml
+
 - name: Configure daemons
   include_tasks: 001-daemon.yml
 
diff --git a/roles/cs.php/defaults/main.yml b/roles/cs.php/defaults/main.yml
index 67735479..a75dd6a0 100644
--- a/roles/cs.php/defaults/main.yml
+++ b/roles/cs.php/defaults/main.yml
@@ -9,7 +9,6 @@ php_packages:
   - php-intl
   - php-opcache
 
-php_install_fpm_package: no
 php_fpm_package: 'php-fpm'
 
 # --- Basic default PHP INI configuration ---
diff --git a/roles/cs.php/tasks/main.yml b/roles/cs.php/tasks/main.yml
index 10ba55bf..1ae186a3 100644
--- a/roles/cs.php/tasks/main.yml
+++ b/roles/cs.php/tasks/main.yml
@@ -4,7 +4,6 @@
       {{
           (
             php_packages + php_extra_packages | default([])
-              + php_install_fpm_package | ternary([php_fpm_package], [])
               + php_debug_ini_enable | ternary([php_xdebug_package], [])
           ) | unique
       }}
@@ -124,10 +123,9 @@
     enabled: no
     daemon_reload: yes
   when: php_tmpfiles_service_config is changed
-  
+
 - name: Ensure tmpfiles maintenance service is enabled
   systemd:
     name: php-tmpfiles
     state: started
     enabled: yes
-    

From 1e87df2622f4efdcb6d5964b41a87156cc926cfa Mon Sep 17 00:00:00 2001
From: Piotr Rogowski <piotr.rogowski@creativestyle.pl>
Date: Mon, 30 May 2022 13:45:32 +0200
Subject: [PATCH 2/2] Move php-fpm package name to cs.php-fpm role

---
 roles/cs.php-fpm/defaults/main.yml | 4 +++-
 roles/cs.php/defaults/main.yml     | 2 --
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/roles/cs.php-fpm/defaults/main.yml b/roles/cs.php-fpm/defaults/main.yml
index 10af8baa..89021839 100644
--- a/roles/cs.php-fpm/defaults/main.yml
+++ b/roles/cs.php-fpm/defaults/main.yml
@@ -1,5 +1,7 @@
 # --- Base configuration ---
-  
+
+php_fpm_package: 'php-fpm'
+
 php_fpm_daemon_conf_file_path: "/etc/php-fpm.conf"
 php_fpm_pid_file_path: "{{ php_fpm_run_dir_path }}/php-fpm.pid"
 php_fpm_pool_conf_dir_path: "/etc/php-fpm.d"
diff --git a/roles/cs.php/defaults/main.yml b/roles/cs.php/defaults/main.yml
index a75dd6a0..6b117fd5 100644
--- a/roles/cs.php/defaults/main.yml
+++ b/roles/cs.php/defaults/main.yml
@@ -9,8 +9,6 @@ php_packages:
   - php-intl
   - php-opcache
 
-php_fpm_package: 'php-fpm'
-
 # --- Basic default PHP INI configuration ---
 
 php_date_timezone: "Europe/Berlin"