From 06be4f87c8154939afae803deb58a8806a9b267e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kathrin=20Kl=C3=A4s?= Date: Wed, 6 Dec 2017 11:53:05 +0100 Subject: [PATCH 1/2] Fix handling of extra_vars Fixes #1 --- assets/out | 4 ++-- tests/out.json | 4 ++++ tests/playbook.yml | 8 ++++++++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/assets/out b/assets/out index 01a508c..bdede04 100755 --- a/assets/out +++ b/assets/out @@ -119,7 +119,7 @@ class PlaybookCLI(CLI): # Ansible 2.3.x variable_manager = VariableManager() if extra_vars: - variable_manager.extra_vars = load_extra_vars(loader=loader, options=extra_vars) + variable_manager.extra_vars = load_extra_vars(loader=loader, options=self.options) variable_manager.options_vars = load_options_vars(self.options) if host_vars: variable_manager.host_vars_files = host_vars @@ -362,7 +362,7 @@ class AnsiblePlaybook(Resource): # Extra vars (just a dictionary) extra_vars = config.get("extra_vars", {}) extra_vars.update(source.get("extra_vars", {})) - config['extra_vars'] = extra_vars + config['extra_vars'] = [extra_vars] # Private key private_key = source.get("private_key") if private_key: diff --git a/tests/out.json b/tests/out.json index e86e336..67fde53 100644 --- a/tests/out.json +++ b/tests/out.json @@ -5,6 +5,10 @@ "inventory": { "path": "inventory", "file": "inventory.ini" + }, + "extra_vars": { + "var1": "hello, world!", + "var2": 42 } }, "source": { } diff --git a/tests/playbook.yml b/tests/playbook.yml index 8aede98..e97bf7f 100644 --- a/tests/playbook.yml +++ b/tests/playbook.yml @@ -12,3 +12,11 @@ - name: ping2 ping: + + - name: print var1 + debug: + var: var1 + + - name: print var2 + debug: + var: var2 From a78c43404728203c46e72a5e4300746fb6dc9186 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kathrin=20Kl=C3=A4s?= Date: Wed, 6 Dec 2017 17:32:31 +0100 Subject: [PATCH 2/2] Update to python 3.6 Otherwise, extra_vars are empty --- Dockerfile | 10 +++++----- assets/out | 2 +- requirements.txt | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index 4175335..6a415cc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Pull base image -FROM alpine:3.4 +FROM alpine:3.6 LABEL Description="Concourse Ansible resource" Vendor="SpringerNature Platform Engineering" Version="1.0" MAINTAINER SpringerNature Platform Engineering platform-engineering@springernature.com @@ -16,7 +16,7 @@ RUN ln -s /lib /lib64 \ xmlsec \ yaml \ libc6-compat \ - python \ + python3 \ libxml2 \ py-lxml \ py-pip \ @@ -28,7 +28,7 @@ RUN ln -s /lib /lib64 \ apk --upgrade add --no-cache --virtual \ build-dependencies \ build-base \ - python-dev \ + python3-dev \ libffi-dev \ openssl-dev \ linux-headers \ @@ -36,12 +36,12 @@ RUN ln -s /lib /lib64 \ # Ansible installation ADD requirements.txt /opt/ -RUN pip install --upgrade --no-cache-dir -r /opt/requirements.txt +RUN pip3 install --upgrade --no-cache-dir -r /opt/requirements.txt RUN apk del \ build-dependencies \ build-base \ - python-dev \ + python3-dev \ libffi-dev \ openssl-dev \ linux-headers \ diff --git a/assets/out b/assets/out index bdede04..14c1102 100755 --- a/assets/out +++ b/assets/out @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # -*- encoding: utf-8 -*- """ Concourse out resource diff --git a/requirements.txt b/requirements.txt index 2786b87..ef8bfdb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,7 @@ dopy==0.3.7 pysphere==0.1.7 python-consul==0.7.1 f5-sdk==2.3.3 -bigsuds==1.0.4 +bigsuds==1.0.6 netaddr==0.7.19 boto==2.48.0 azure==2.0.0