You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
- hosts: localhost
|
|
|
|
vars:
|
|
|
|
ws_dir: '{{ lookup("env", "OUTPUT_DIR") }}/ansible-galaxy-webserver'
|
|
|
|
tasks:
|
|
|
|
- name: install git & OpenSSL
|
|
|
|
package:
|
|
|
|
name: git
|
|
|
|
when: ansible_distribution not in ["MacOSX", "Alpine"]
|
|
|
|
register: git_install
|
|
|
|
|
|
|
|
- name: install OpenSSL
|
|
|
|
package:
|
|
|
|
name: openssl
|
|
|
|
when: ansible_distribution not in ["MacOSX", "Alpine"]
|
|
|
|
register: openssl_install
|
|
|
|
|
|
|
|
- name: install OpenSSL
|
|
|
|
command: apk add openssl
|
|
|
|
when: ansible_distribution == "Alpine"
|
|
|
|
register: openssl_install
|
|
|
|
|
|
|
|
- name: setup webserver dir
|
|
|
|
file:
|
|
|
|
state: directory
|
|
|
|
path: "{{ ws_dir }}"
|
|
|
|
|
|
|
|
- name: copy webserver
|
|
|
|
copy:
|
|
|
|
src: testserver.py
|
|
|
|
dest: "{{ ws_dir }}"
|
|
|
|
|
|
|
|
- name: Create rand file
|
|
|
|
command: dd if=/dev/urandom of="{{ ws_dir }}/.rnd" bs=256 count=1
|
|
|
|
|
|
|
|
- name: Create self-signed cert
|
|
|
|
shell: RANDFILE={{ ws_dir }}/.rnd openssl req -x509 -newkey rsa:2048 \
|
|
|
|
-nodes -days 365 -keyout "{{ ws_dir }}/key.pem" -out "{{ ws_dir }}/cert.pem" \
|
|
|
|
-subj "/C=GB/O=Red Hat/OU=Ansible/CN=ansible-test-cert"
|
|
|
|
|
|
|
|
- name: start SimpleHTTPServer
|
|
|
|
shell: cd {{ ws_dir }} && {{ ansible_python.executable }} {{ ws_dir }}/testserver.py
|
|
|
|
async: 120 # this test set can take ~1m to run on FreeBSD (via Shippable)
|
|
|
|
poll: 0
|
|
|
|
|
|
|
|
- wait_for: port=4443
|
|
|
|
|
|
|
|
- name: save results
|
|
|
|
copy:
|
|
|
|
content: "{{ item.content }}"
|
|
|
|
dest: '{{ lookup("env", "OUTPUT_DIR") }}/{{ item.key }}.json'
|
|
|
|
loop:
|
|
|
|
- key: git_install
|
|
|
|
content: "{{ git_install }}"
|
|
|
|
- key: openssl_install
|
|
|
|
content: "{{ openssl_install }}"
|
|
|
|
- key: ws_dir
|
|
|
|
content: "{{ ws_dir | to_json }}"
|