Changeset - a668b3669853
[Not reviewed]
0 7 0
Branko Majic (branko) - 7 years ago 2017-08-21 15:43:39
branko@majic.rs
MAR-125: Switching to Ansible 2.3.x:

- Updated documentation to reference only Ansible 2.3.x, removing mentions of
Ansible 1.9.x, and removing comments related to delayed switch to Ansible 2.x.
- Updated usage instructions to use Ansible 2.3.x.
- Updated pip requirements and its input file to use up-to-date versions of
Ansible and Molecule.
- Updated test site Ansible configuration to use pipelining.
- Fixed missing brackets in test site tls.yml playbook for "with_items.
7 files changed with 28 insertions and 47 deletions:
0 comments (0 inline, 0 general)
docs/about.rst
Show inline comments
 
@@ -16,18 +16,7 @@ Roles are mainly written for use with *Debian 8 Jessie*, although some support
 
compatibility in :ref:`rolereference`.
 

	
 
At the moment, the roles have been written for and tested against **Ansible
 
1.9.x**.
 

	
 
Roles should work for the most part with **Ansible 2.0.x** and **Ansible
 
2.1.x**, but due to bugs in those releases they should not be used for
 
production purposes. Roles are kept forward-compatible as much as possible until
 
a couple of breaking bugs get fixed in **Ansible 2.x** series. The main blockers
 
are:
 

	
 
* Inability to use dynamic name handlers (handlers that include variables in
 
  their name).
 
* Referencing non-existing handlers does not produce error.
 
* Referencing non-existing tags does not produce error.
 
2.3.x**.
 

	
 
The role also utilises the ``dig`` lookup plugin which requires ``dnspython``
 
package to be installed. Make sure you have the package available on controller
docs/index.rst
Show inline comments
 
@@ -16,18 +16,7 @@ Roles are mainly written for use with *Debian 8 Jessie*, although some support
 
compatibility in :ref:`rolereference`.
 

	
 
At the moment, the roles have been written for and tested against **Ansible
 
1.9.x**.
 

	
 
Roles should work for the most part with **Ansible 2.0.x** and **Ansible
 
2.1.x**, but due to bugs in those releases they should not be used for
 
production purposes. Roles are kept forward-compatible as much as possible until
 
a couple of breaking bugs get fixed in **Ansible 2.x** series. The main blockers
 
are:
 

	
 
* Inability to use dynamic name handlers (handlers that include variables in
 
  their name).
 
* Referencing non-existing handlers does not produce error.
 
* Referencing non-existing tags does not produce error.
 
2.3.x**.
 

	
 
The role also utilises the ``dig`` lookup plugin which requires ``dnspython``
 
package to be installed. Make sure you have the package available on controller
docs/usage.rst
Show inline comments
 
@@ -129,7 +129,7 @@ packages, and to prepare the environment a bit on the Ansible server:
 
     mkdir ~/mysite/
 
     mkvirtualenv -a ~/mysite/ mysite
 
     pip install -U pip setuptools
 
     pip install 'ansible~=1.9.0' dnspython
 
     pip install 'ansible~=2.3.0' dnspython
 

	
 
.. warning::
 
   The ``dnspython`` package is important since it is used internally via
requirements.in
Show inline comments
 
ansible~=1.9.0
 
ansible~=2.3.0
 
dnspython
 
molecule~=1.18.0
 
molecule~=1.25.0
 
paramiko
 
pip-tools
 
python-vagrant
 
\ No newline at end of file
requirements.txt
Show inline comments
 
@@ -4,49 +4,49 @@
 
#
 
#    pip-compile --output-file requirements.txt requirements.in
 
#
 
ansible-lint==3.4.8       # via molecule
 
ansible==1.9.6
 
ansible-lint==3.4.12      # via molecule
 
ansible==2.3.2.0
 
anyconfig==0.7.0          # via molecule
 
arrow==0.10.0             # via jinja2-time
 
asn1crypto==0.22.0        # via cryptography
 
binaryornot==0.4.4        # via cookiecutter
 
cffi==1.10.0              # via cryptography
 
chardet==3.0.4            # via binaryornot
 
click==6.7                # via cookiecutter, pip-tools
 
click==6.7                # via cookiecutter, molecule, pip-tools
 
colorama==0.3.7           # via molecule
 
configparser==3.5.0       # via flake8
 
cookiecutter==1.4.0       # via molecule
 
cookiecutter==1.5.1       # via molecule
 
cryptography==2.0.3       # via paramiko
 
dnspython==1.15.0
 
enum34==1.1.6             # via cryptography, flake8
 
first==2.0.1              # via pip-tools
 
flake8==3.0.4             # via molecule
 
flake8==3.3.0             # via molecule
 
future==0.16.0            # via cookiecutter
 
idna==2.6                 # via cryptography
 
ipaddress==1.0.18         # via cryptography
 
jinja2-time==0.2.0        # via cookiecutter
 
jinja2==2.8               # via ansible, cookiecutter, jinja2-time, molecule
 
jinja2==2.9.6             # via ansible, cookiecutter, jinja2-time, molecule
 
markupsafe==1.0           # via jinja2
 
mccabe==0.5.3             # via flake8
 
molecule==1.18.1
 
paramiko==2.0.2
 
pbr==1.10.0               # via molecule
 
mccabe==0.6.1             # via flake8
 
molecule==1.25.0
 
paramiko==2.1.2
 
pbr==2.1.0                # via molecule
 
pexpect==4.2.1            # via molecule
 
pip-tools==1.9.0
 
poyo==0.4.1               # via cookiecutter
 
ptyprocess==0.5.2         # via pexpect
 
py==1.4.34                # via pytest
 
pyasn1==0.3.2             # via paramiko
 
pycodestyle==2.0.0        # via flake8
 
pycodestyle==2.3.1        # via flake8
 
pycparser==2.18           # via cffi
 
pycrypto==2.6.1           # via ansible
 
pyflakes==1.2.3           # via flake8
 
pyflakes==1.5.0           # via flake8
 
pytest==3.2.1             # via testinfra
 
python-dateutil==2.6.1    # via arrow
 
python-vagrant==0.5.15
 
pyyaml==3.12              # via ansible, ansible-lint, molecule
 
sh==1.11                  # via molecule
 
sh==1.12.13               # via molecule
 
six==1.10.0               # via ansible-lint, cryptography, pip-tools, python-dateutil, testinfra
 
tabulate==0.7.5           # via molecule
 
testinfra==1.4.5          # via molecule
 
tabulate==0.7.7           # via molecule
 
testinfra==1.5.5          # via molecule
 
whichcraft==0.4.1         # via cookiecutter
testsite/ansible.cfg
Show inline comments
 
@@ -2,4 +2,7 @@
 

	
 
roles_path=../roles
 
force_handlers = True
 
retry_files_save_path = ./retry
 
\ No newline at end of file
 
retry_files_save_path = ./retry
 

	
 
[ssh_connection]
 
pipelining = True
 
\ No newline at end of file
testsite/playbooks/tls.yml
Show inline comments
 
@@ -30,7 +30,7 @@
 
  tasks:
 
    - name: Create GnuTLS certificate templates for all hosts
 
      template: src="../tls/gnutls_server_certificate.cfg.j2" dest="../tls/{{ item.hostname }}.{{ testsite_domain }}_{{ item.service }}.cfg"
 
      with_items: host_tls_info
 
      with_items: "{{ host_tls_info }}"
 
    - name: Create the CA key
 
      command: certtool --sec-param high --generate-privkey --outfile ../tls/ca.key
 
      args:
 
@@ -41,7 +41,7 @@
 
        creates: ../tls/ca.pem
 
    - name: Create private keys for all hosts
 
      command: certtool --sec-param normal --generate-privkey --outfile "../tls/{{ item.hostname }}.{{ testsite_domain }}_{{ item.service }}.key"
 
      with_items: host_tls_info
 
      with_items: "{{ host_tls_info }}"
 
      args:
 
        creates: "../tls/{{ item.hostname }}.{{ testsite_domain }}_{{ item.service }}.key"
 
    - name: Issue certificates for all hosts
 
@@ -50,6 +50,6 @@
 
             --template "../tls/{{ item.hostname }}.{{ testsite_domain }}_{{ item.service }}.cfg"
 
             --load-privkey "../tls/{{ item.hostname }}.{{ testsite_domain }}_{{ item.service }}.key"
 
             --outfile "../tls/{{ item.hostname }}.{{ testsite_domain }}_{{ item.service }}.pem"
 
      with_items: host_tls_info
 
      with_items: "{{ host_tls_info }}"
 
      args:
 
        creates: "../tls/{{ item.hostname }}.{{ testsite_domain }}_{{ item.service }}.pem"
 
\ No newline at end of file
 
        creates: "../tls/{{ item.hostname }}.{{ testsite_domain }}_{{ item.service }}.pem"
0 comments (0 inline, 0 general)