Optimise apt cache update task
The update of the apt cache and the package installation can all be handled in a single task by providing the package action plugin with the right parameters. This removes an extra task to optimise execution. Also, Ansible 2.x allows the package module to consume the package list in the name parameter instead of using a with_items loop which further optimises the execution. The minimum Ansible version is raised to 2.2 due to a known bug [1] in Ansible's apt module which does not update the cache properly if the cache update and the install are combined in a single task. [1] https://github.com/ansible/ansible-modules-core/issues/1497 Change-Id: Ia15e468a70f1ac90d8b7ce88f930f81e01afa3d4
This commit is contained in:
parent
73b47f723f
commit
c35cacbf4c
@ -18,7 +18,7 @@ galaxy_info:
|
|||||||
description: Installation and setup of horizon
|
description: Installation and setup of horizon
|
||||||
company: Rackspace
|
company: Rackspace
|
||||||
license: Apache2
|
license: Apache2
|
||||||
min_ansible_version: 2.0
|
min_ansible_version: 2.2
|
||||||
platforms:
|
platforms:
|
||||||
- name: Ubuntu
|
- name: Ubuntu
|
||||||
versions:
|
versions:
|
||||||
|
@ -13,13 +13,6 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
- name: Ensure apt cache is up to date
|
|
||||||
apt:
|
|
||||||
update_cache: yes
|
|
||||||
cache_valid_time: "{{ cache_timeout }}"
|
|
||||||
when:
|
|
||||||
- ansible_pkg_mgr == 'apt'
|
|
||||||
|
|
||||||
- name: Create horizon dir
|
- name: Create horizon dir
|
||||||
file:
|
file:
|
||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
@ -46,13 +39,14 @@
|
|||||||
|
|
||||||
- name: Install distro packages
|
- name: Install distro packages
|
||||||
package:
|
package:
|
||||||
name: "{{ item }}"
|
name: "{{ horizon_distro_packages }}"
|
||||||
state: "{{ horizon_package_state }}"
|
state: "{{ horizon_package_state }}"
|
||||||
|
update_cache: "{{ (ansible_pkg_mgr == 'apt') | ternary('yes', omit) }}"
|
||||||
|
cache_valid_time: "{{ (ansible_pkg_mgr == 'apt') | ternary(cache_timeout, omit) }}"
|
||||||
register: install_packages
|
register: install_packages
|
||||||
until: install_packages|success
|
until: install_packages|success
|
||||||
retries: 5
|
retries: 5
|
||||||
delay: 2
|
delay: 2
|
||||||
with_items: "{{ horizon_distro_packages }}"
|
|
||||||
|
|
||||||
- name: Create developer mode constraint file
|
- name: Create developer mode constraint file
|
||||||
copy:
|
copy:
|
||||||
|
Loading…
Reference in New Issue
Block a user