--- - name: user check delegate_to: localhost block: - name: show user vars debug: msg: - "User email:" - "{{ jenkins_user}}" - "Jenkins Group:" - "{{ jenkins_group}}" - "SERVER_SUBNET_GROUP:" - "{{ SERVER_SUBNET_GROUP }}" - "subnet_group_check:" - "{{ subnet_group_check }}" - "Host IP:" - "{{ ansible_ssh_host }}" # Create venv Folder - name: create ip venv folder file: path: "{{ ip_check_folder }}" state: directory #mode: '0755' # Copy venv files - name: copy ip venv files copy: src: subnet_check/ dest: "{{ ip_check_folder }}" #mode: 0644 - name: extract venv unarchive: src: /var/jenkins_home/ansible-files/programs/ip_check_venv.tar.gz dest: "{{ ip_check_folder }}" #mode: 0644 ## build venv ## commenting and using pre-made archived env to save time #- name: build venv # pip: # virtualenv: "{{ ip_check_folder }}/venv" # requirements: "{{ ip_check_folder }}/requirements.txt" # virtualenv_command: python3 -m venv # state: present # check if IP is restricted - name: check for restricted IP shell: "{{ ip_check_folder }}/venv/bin/python {{ ip_check_folder }}/ip_check.py {{ ansible_ssh_host }}" args: chdir: "{{ ip_check_folder }}" register: restricted_ip_check - name: display output of this debug: msg: - "{{ restricted_ip_check.cmd }}" - "{{ restricted_ip_check.stdout_lines }}" - name: end play if not admin when: restricted_ip_check.stdout_lines[0] | bool block: - name: display warning debug: msg: "Warning: Your user account is not authorized to run playbooks on this subnet." - meta: end_play ...