From f20bbde88468b1c5cc4b952527e9fd19ee0c14ca Mon Sep 17 00:00:00 2001 From: Phil Porada Date: Fri, 8 Apr 2016 16:43:26 -0400 Subject: [PATCH 1/4] Users can now set the apt/yum module 'state' to be 'installed, latest, present' etc. This allows a user to test php55, swap a variable to enable the php56 repo, then re-run the ansible play to get different PHP packages. --- defaults/main.yml | 3 +++ tasks/setup-Debian.yml | 2 +- tasks/setup-RedHat.yml | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/defaults/main.yml b/defaults/main.yml index 8d2a6be..00c60ed 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -2,6 +2,9 @@ # Pass in a comma-separated list of repos to use (e.g. "remi,epel"). php_enablerepo: "" +# State that the system package installer should use for PHP the enabled repo (e.g. "installed,latest") +php_repostate: installed + # Set this to false if you're not using PHP with Apache/Nginx/etc. php_enable_webserver: true diff --git a/tasks/setup-Debian.yml b/tasks/setup-Debian.yml index a43684d..7cbcc04 100644 --- a/tasks/setup-Debian.yml +++ b/tasks/setup-Debian.yml @@ -5,7 +5,7 @@ - name: Ensure PHP packages are installed. apt: name: "{{ item }}" - state: installed + state: "{{ php_repostate }}" with_items: "{{ php_packages }}" register: php_package_install notify: restart webserver diff --git a/tasks/setup-RedHat.yml b/tasks/setup-RedHat.yml index e2e0e43..15dd8fd 100644 --- a/tasks/setup-RedHat.yml +++ b/tasks/setup-RedHat.yml @@ -2,7 +2,7 @@ - name: Ensure PHP packages are installed. yum: name: "{{ item }}" - state: installed + state: "{{ php_repostate }}" enablerepo: "{{ php_enablerepo }}" with_items: "{{ php_packages }}" notify: restart webserver From 021441e17bf1adcebfb8194f11047ef305123312 Mon Sep 17 00:00:00 2001 From: Phil Porada Date: Fri, 8 Apr 2016 16:48:44 -0400 Subject: [PATCH 2/4] Updated readme for the php_repostate var --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index b6dfad5..cf61e11 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,10 @@ The default values for the HTTP server deamon are `httpd` (used by Apache) for R (RedHat/CentOS only) If you have enabled any additional repositories (might I suggest [geerlingguy.repo-epel](https://github.com/geerlingguy/ansible-role-repo-epel) or [geerlingguy.repo-remi](https://github.com/geerlingguy/ansible-role-repo-remi)), those repositories can be listed under this variable (e.g. `remi-php56,epel`). This can be handy, as an example, if you want to install the latest version of PHP 5.6, which is in the Remi repository. + php_repostate: "" + +If you have enabled any additional repositories such as [geerlingguy.repo-epel](https://github.com/geerlingguy/ansible-role-repo-epel) or [geerlingguy.repo-remi](https://github.com/geerlingguy/ansible-role-repo-remi), you may want an easy way to swap PHP versions on the fly. By default, this is set to 'installed'. You can now override this variable to 'latest'. Combined with php_enablerepo, a user now doesn't need to manually uninstall the existing PHP packages before installing them from a different repository. + php_executable: "php" The executable to run when calling PHP from the command line. You should only change this if running `php` on your server doesn't target the correct executable, or if you're using software collections on RHEL/CentOS and need to target a different version of PHP. From 4f2676b6b2b0013242019ea9ff36ce7d5e888930 Mon Sep 17 00:00:00 2001 From: Phil Porada Date: Fri, 8 Apr 2016 16:49:32 -0400 Subject: [PATCH 3/4] Updated readme for the php_repostate var --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cf61e11..53c71b6 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ The default values for the HTTP server deamon are `httpd` (used by Apache) for R (RedHat/CentOS only) If you have enabled any additional repositories (might I suggest [geerlingguy.repo-epel](https://github.com/geerlingguy/ansible-role-repo-epel) or [geerlingguy.repo-remi](https://github.com/geerlingguy/ansible-role-repo-remi)), those repositories can be listed under this variable (e.g. `remi-php56,epel`). This can be handy, as an example, if you want to install the latest version of PHP 5.6, which is in the Remi repository. - php_repostate: "" + php_repostate: "installed" If you have enabled any additional repositories such as [geerlingguy.repo-epel](https://github.com/geerlingguy/ansible-role-repo-epel) or [geerlingguy.repo-remi](https://github.com/geerlingguy/ansible-role-repo-remi), you may want an easy way to swap PHP versions on the fly. By default, this is set to 'installed'. You can now override this variable to 'latest'. Combined with php_enablerepo, a user now doesn't need to manually uninstall the existing PHP packages before installing them from a different repository. From 11ed2172dee62f0fa5c1c9d19eeccfba111a3003 Mon Sep 17 00:00:00 2001 From: Phil Porada Date: Mon, 2 May 2016 08:57:32 -0400 Subject: [PATCH 4/4] Per comments on PR106 --- README.md | 2 +- defaults/main.yml | 2 +- tasks/setup-Debian.yml | 2 +- tasks/setup-RedHat.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 53c71b6..ee4f7a6 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ The default values for the HTTP server deamon are `httpd` (used by Apache) for R (RedHat/CentOS only) If you have enabled any additional repositories (might I suggest [geerlingguy.repo-epel](https://github.com/geerlingguy/ansible-role-repo-epel) or [geerlingguy.repo-remi](https://github.com/geerlingguy/ansible-role-repo-remi)), those repositories can be listed under this variable (e.g. `remi-php56,epel`). This can be handy, as an example, if you want to install the latest version of PHP 5.6, which is in the Remi repository. - php_repostate: "installed" + php_packages_state: "installed" If you have enabled any additional repositories such as [geerlingguy.repo-epel](https://github.com/geerlingguy/ansible-role-repo-epel) or [geerlingguy.repo-remi](https://github.com/geerlingguy/ansible-role-repo-remi), you may want an easy way to swap PHP versions on the fly. By default, this is set to 'installed'. You can now override this variable to 'latest'. Combined with php_enablerepo, a user now doesn't need to manually uninstall the existing PHP packages before installing them from a different repository. diff --git a/defaults/main.yml b/defaults/main.yml index 00c60ed..236d85a 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -3,7 +3,7 @@ php_enablerepo: "" # State that the system package installer should use for PHP the enabled repo (e.g. "installed,latest") -php_repostate: installed +php_packages_state: installed # Set this to false if you're not using PHP with Apache/Nginx/etc. php_enable_webserver: true diff --git a/tasks/setup-Debian.yml b/tasks/setup-Debian.yml index 7cbcc04..65d9629 100644 --- a/tasks/setup-Debian.yml +++ b/tasks/setup-Debian.yml @@ -5,7 +5,7 @@ - name: Ensure PHP packages are installed. apt: name: "{{ item }}" - state: "{{ php_repostate }}" + state: "{{ php_packages_state }}" with_items: "{{ php_packages }}" register: php_package_install notify: restart webserver diff --git a/tasks/setup-RedHat.yml b/tasks/setup-RedHat.yml index 15dd8fd..6cfde8c 100644 --- a/tasks/setup-RedHat.yml +++ b/tasks/setup-RedHat.yml @@ -2,7 +2,7 @@ - name: Ensure PHP packages are installed. yum: name: "{{ item }}" - state: "{{ php_repostate }}" + state: "{{ php_packages_state }}" enablerepo: "{{ php_enablerepo }}" with_items: "{{ php_packages }}" notify: restart webserver