|
@@ -0,0 +1,55 @@
|
|
|
|
|
+---
|
|
|
|
|
+- name: Install CUPS and create a print queue
|
|
|
|
|
+ hosts: clients
|
|
|
|
|
+ gather_facts: no
|
|
|
|
|
+ become: yes
|
|
|
|
|
+ vars:
|
|
|
|
|
+ print_packages:
|
|
|
|
|
+ - cups
|
|
|
|
|
+ - avahi
|
|
|
|
|
+ print_services:
|
|
|
|
|
+ - avahi-daemon
|
|
|
|
|
+ - cups
|
|
|
|
|
+ print_ports:
|
|
|
|
|
+ - mdns
|
|
|
|
|
+ queue_name: "my-printer"
|
|
|
|
|
+ dev_uri: "ipp://serverc.lab.example.com:631/printers/rht-printer"
|
|
|
|
|
+ tasks:
|
|
|
|
|
+ - name: Install the CUPS and Avahi packages
|
|
|
|
|
+ yum:
|
|
|
|
|
+ name: "{{ print_packages }}"
|
|
|
|
|
+ state: latest
|
|
|
|
|
+
|
|
|
|
|
+ - name: Enable and start the CUPS and Avahi services
|
|
|
|
|
+ service:
|
|
|
|
|
+ name: "{{ item }}"
|
|
|
|
|
+ state: started
|
|
|
|
|
+ enabled: yes
|
|
|
|
|
+ loop: "{{ print_services }}"
|
|
|
|
|
+
|
|
|
|
|
+ - name: Open the mDNS firewall port
|
|
|
|
|
+ firewalld:
|
|
|
|
|
+ service: "{{ item }}"
|
|
|
|
|
+ state: enabled
|
|
|
|
|
+ permanent: yes
|
|
|
|
|
+ immediate: yes
|
|
|
|
|
+ loop: "{{ print_ports }}"
|
|
|
|
|
+
|
|
|
|
|
+ - name: Check if print queue already exists
|
|
|
|
|
+ command: lpstat -p "{{ queue_name }}"
|
|
|
|
|
+ register: cmdout
|
|
|
|
|
+ ignore_errors: true
|
|
|
|
|
+ changed_when: false
|
|
|
|
|
+
|
|
|
|
|
+ - name: Create the print queue
|
|
|
|
|
+ command: lpadmin -p "{{ queue_name }}" -v "{{ dev_uri }}" -m everywhere -E
|
|
|
|
|
+ when: cmdout.rc != 0
|
|
|
|
|
+
|
|
|
|
|
+ - name: Check default print queue
|
|
|
|
|
+ command: lpstat -d
|
|
|
|
|
+ register: curr_dest
|
|
|
|
|
+ changed_when: false
|
|
|
|
|
+
|
|
|
|
|
+ - name: Make the new print queue the default
|
|
|
|
|
+ command: lpadmin -d "{{ queue_name }}"
|
|
|
|
|
+ when: curr_dest['stdout'] | regex_replace('^(.*):.') != queue_name
|