Browse Source

Add progress bar in apt configuration

Emmanuel Bouthenot 8 years ago
parent
commit
c5d472da34

+ 71 - 61
roles/common/tasks/base.yml

@@ -1,20 +1,36 @@
-- name: Install hosts file
+- name: 'Install hosts file'
   template: src=hosts.j2 dest=/etc/hosts owner=root group=root mode=0644
   notify:
-    - Update motd
+    - 'Update motd'
 
-- name: Install hosts.deny file
+- name: 'Install hosts.deny file'
   template: src=hosts.deny.j2 dest=/etc/hosts.deny owner=root group=root mode=0644
 
-- name: Write /etc/apt/sources.list
+- name: 'Write /etc/apt/sources.list'
   template: src=apt/sources.{{ ansible_lsb.codename }}.list.j2 dest=/etc/apt/sources.list owner=root group=root mode=0644
   notify:
-    - Reload apt cache
+    - 'Reload apt cache'
 
-- name: Write /etc/apt/apt.conf.d configuration files
-  template: src=apt/apt-options.j2 dest=/etc/apt/apt.conf.d/90local owner=root group=root mode=0644
+- name: 'Remove deprecated apt options files'
+  file:
+    path: '/etc/apt/apt.conf.d/{{ item }}'
+    state: 'absent'
+  with_items:
+    - '90local'
+
+- name: 'Write /etc/apt/apt.conf.d configuration files'
+  template:
+    src: 'apt/apt-{{ item }}.j2'
+    dest: '/etc/apt/apt.conf.d/99{{ item }}'
+    owner: 'root'
+    group: 'root'
+    mode: '0644'
+  with_items:
+    - 'nopdiffs'
+    - 'norecommends'
+    - 'progressbar'
 
-- name: Install apt key for custom Debian repositories
+- name: 'Install apt key for custom Debian repositories'
   apt_key:
     id: '{{ item.id }}'
     url: '{{ item.url }}'
@@ -22,107 +38,101 @@
   with_items: '{{ apt_keys }}'
   when: apt_keys
 
-- name: Add apt sources for custom Debian repositories
+- name: 'Add apt sources for custom Debian repositories'
   apt_repository:
     repo: 'deb {{ item.uri }} {{ item.suite }} {{ item.sections }}'
     state: 'present'
   with_items: '{{ apt_repositories }}'
   when: apt_repositories
 
-- name: Remove deprecated apt options files
-  file: path=/etc/apt/apt.conf.d/{{ item }} state=absent
-  with_items:
-    - local-recommends
-    - local-pdiffs
-
-- name: Install base packages
+- name: 'Install base packages'
   apt: pkg={{ item }} install_recommends=no state=installed update_cache=yes
   with_items:
-    - apticron
-    - locales-all
-    - locales
-    - lsb-release
-    - toilet
-    - toilet-fonts
-    - facter
-    - zsh
-    - git-core
-    - tig
-    - vim-nox
-    - ccze
-    - tree
-    - pydf
-    - htop
-    - sudo
-    - sysfsutils
-    - tmux
-    - rsync
-    - ca-certificates
-    - sysstat
-    - etckeeper
-    - sharutils
-    - ncdu
-
-- name: Install additional packages
+    - 'apticron'
+    - 'locales-all'
+    - 'locales'
+    - 'lsb-release'
+    - 'toilet'
+    - 'toilet-fonts'
+    - 'facter'
+    - 'zsh'
+    - 'git-core'
+    - 'tig'
+    - 'vim-nox'
+    - 'ccze'
+    - 'tree'
+    - 'pydf'
+    - 'htop'
+    - 'sudo'
+    - 'sysfsutils'
+    - 'tmux'
+    - 'rsync'
+    - 'ca-certificates'
+    - 'sysstat'
+    - 'etckeeper'
+    - 'sharutils'
+    - 'ncdu'
+
+- name: 'Install additional packages'
   apt: pkg={{ item }} install_recommends=no state=installed update_cache=yes
   with_items: '{{ apt_additional_packages }}'
   when: apt_additional_packages
 
-- name: Install ntp daemon
+- name: 'Install ntp daemon'
   apt: pkg=ntp install_recommends=no state=installed update_cache=yes
   when: with_ntp
 
-- name: Configure default locale and timezone
+- name: 'Configure default locale and timezone'
   debconf: name="{{item.name}}" question="{{item.question}}" value="{{item.value}}" vtype="{{item.vtype}}"
   with_items:
     - { name: 'locales', question: 'locales/default_environment_locale', value: '{{ locale }}', vtype: 'select' }
     - { name: 'tzdata', question: 'tzdata/Areas', value: '{{ timezone_area }}', vtype: 'select' }
     - { name: 'tzdata', question: 'tzdata/Zones/{{ timezone_area }}', value: '{{ timezone_city }}', vtype: 'select' }
   notify:
-    - Reconfigure locales
-    - Reconfigure timezone
+    - 'Reconfigure locales'
+    - 'Reconfigure timezone'
 
-- name: Override logrotate configuration for rsyslog
+- name: 'Override logrotate configuration for rsyslog'
   template: src=logrotate/rsyslog.j2 dest=/etc/logrotate.d/rsyslog owner=root group=root mode=0644
 
-- name: Install kernel configuration (proc)
+- name: 'Install kernel configuration (proc)'
   template: src=kernel/sysctl.d/{{ item }}.j2 dest=/etc/sysctl.d/{{ item }} owner=root group=root mode=0644
   with_items:
-      - 10-increase-file-descriptors.conf
+      - '10-increase-file-descriptors.conf'
   notify:
-    - Apply kernel configuration (proc)
+    - 'Apply kernel configuration (proc)'
 
-- name: Create sysfs configuration directory - /etc/sysfs.d
+- name: 'Create sysfs configuration directory - /etc/sysfs.d'
   file: path=/etc/sysfs.d state=directory owner=root group=root mode=0755
 
-- name: Install kernel configuration (sys)
+- name: 'Install kernel configuration (sys)'
   template: src=kernel/sysfs.d/{{ item }}.j2 dest=/etc/sysfs.d/{{ item }} owner=root group=root mode=0644
   with_items:
-      - 00-sysfs-prolog.conf
+      - '00-sysfs-prolog.conf'
   notify:
-    - Refresh sysfs configuration
+    - 'Refresh sysfs configuration'
 
-- name: Install kernel configuration (sys) for disks
+- name: 'Install kernel configuration (sys) for disks'
   template: src=kernel/sysfs.d/{{ item }}.j2 dest=/etc/sysfs.d/{{ item }} owner=root group=root mode=0644
   with_items:
-      - 10-disks.conf
+      - '10-disks.conf'
   notify:
-    - Refresh sysfs configuration
+    - 'Refresh sysfs configuration'
 
-- name: Install sudo configuration
+- name: 'Install sudo configuration'
   template: src=sudo/local-admin.j2 dest=/etc/sudoers.d/local-admin owner=root group=root mode=0440
 
-- name: Install unprivileged user
+- name: 'Install unprivileged user'
   user: name="{{item.user}}" comment="{{item.fullname}}" groups=adm,operator,sudo append=yes shell=/bin/zsh state=present
   with_items: '{{ admins }}'
   when: admins
 
-- name: Install SSH key for unprivileged user
+- name: 'Install SSH key for unprivileged user'
   authorized_key: user="{{item.user}}" key="{{lookup('file', 'data/users/' + item.user + '/id_rsa.pub')}}" state=present
   with_items: '{{ admins }}'
   when: admins
 
-- name: Install SSH key for root
+- name: 'Install SSH key for root'
   authorized_key: user=root key="{{lookup('file', 'data/users/' + item.user + '/id_rsa.pub')}}" state=present
   with_items: '{{ admins }}'
   when: admins

+ 5 - 0
roles/common/templates/apt/apt-nopdiffs.j2

@@ -0,0 +1,5 @@
+{% if ansible_prolog -%}
+{% from 'templates/ansible/prolog.j2' import prolog with context %}
+{{ prolog('//') }}
+{% endif -%}
+Acquire::Pdiffs "false";

+ 0 - 1
roles/common/templates/apt/apt-options.j2 → roles/common/templates/apt/apt-norecommends.j2

@@ -2,6 +2,5 @@
 {% from 'templates/ansible/prolog.j2' import prolog with context %}
 {{ prolog('//') }}
 {% endif -%}
-Acquire::Pdiffs "false";
 APT::Install-Recommends "false";
 APT::Install-Suggests "false";

+ 5 - 0
roles/common/templates/apt/apt-progressbar.j2

@@ -0,0 +1,5 @@
+{% if ansible_prolog -%}
+{% from 'templates/ansible/prolog.j2' import prolog with context %}
+{{ prolog('//') }}
+{% endif -%}
+Dpkg::Progress-Fancy "1";