From e6670fc4a090c68d001a985f66774792b5988f26 Mon Sep 17 00:00:00 2001 From: "Lane, Larry" Date: Thu, 21 May 2020 21:15:13 -0500 Subject: [PATCH 1/4] fix arg order --- provisioner/ansible/provisioner.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/provisioner/ansible/provisioner.go b/provisioner/ansible/provisioner.go index 2d9b73a0b..2a200b447 100644 --- a/provisioner/ansible/provisioner.go +++ b/provisioner/ansible/provisioner.go @@ -579,13 +579,14 @@ func (p *Provisioner) createCmdArgs(httpAddr, inventory, playbook, privKeyFile s args = append(args, "--ssh-extra-args", "-o IdentitiesOnly=yes") } - args = append(args, "-i", inventory, playbook) - args = append(args, p.config.ExtraArguments...) + if len(p.config.AnsibleEnvVars) > 0 { envVars = append(envVars, p.config.AnsibleEnvVars...) } + // This must be the last arg appended to args + args = append(args, "-i", inventory, playbook) return args, envVars } From de12432e6b12ba4fc4dacb6e3b59b600814a0f5d Mon Sep 17 00:00:00 2001 From: "Lane, Larry" Date: Fri, 22 May 2020 07:58:57 -0500 Subject: [PATCH 2/4] add test --- provisioner/ansible/provisioner_test.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/provisioner/ansible/provisioner_test.go b/provisioner/ansible/provisioner_test.go index 0f7e3bb7b..7f8f65296 100644 --- a/provisioner/ansible/provisioner_test.go +++ b/provisioner/ansible/provisioner_test.go @@ -594,10 +594,11 @@ func TestCreateCmdArgs(t *testing.T) { p.config.AnsibleEnvVars = tc.AnsibleEnvVars args, envVars := p.createCmdArgs(tc.callArgs[0], tc.callArgs[1], tc.callArgs[2], tc.callArgs[3]) - assert.ElementsMatch(t, args, tc.ExpectedArgs, "Args didn't match expected:\n\n expected: \n%s\n; recieved: \n%s\n", tc.ExpectedArgs, args) assert.ElementsMatch(t, envVars, tc.ExpectedEnvVars, "EnvVars didn't match expected:\n\n expected: \n%s\n; recieved: \n%s\n", tc.ExpectedEnvVars, envVars) + assert.ElementsMatch(t, args[len(args)-1], p.config.PlaybookFile, + "PlayBook File Not Returned as last element: expected \n%s\n; recieved: \n%s\n", args[len(args)-1], p.config.PlaybookFile) } } From c689eb9694f8a54bebe0372b8a863c4da9697bae Mon Sep 17 00:00:00 2001 From: "Lane, Larry" Date: Fri, 22 May 2020 08:07:25 -0500 Subject: [PATCH 3/4] added test --- provisioner/ansible/provisioner_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/provisioner/ansible/provisioner_test.go b/provisioner/ansible/provisioner_test.go index 7f8f65296..3104b223c 100644 --- a/provisioner/ansible/provisioner_test.go +++ b/provisioner/ansible/provisioner_test.go @@ -597,8 +597,8 @@ func TestCreateCmdArgs(t *testing.T) { assert.ElementsMatch(t, args, tc.ExpectedArgs, "Args didn't match expected:\n\n expected: \n%s\n; recieved: \n%s\n", tc.ExpectedArgs, args) assert.ElementsMatch(t, envVars, tc.ExpectedEnvVars, "EnvVars didn't match expected:\n\n expected: \n%s\n; recieved: \n%s\n", tc.ExpectedEnvVars, envVars) - assert.ElementsMatch(t, args[len(args)-1], p.config.PlaybookFile, - "PlayBook File Not Returned as last element: expected \n%s\n; recieved: \n%s\n", args[len(args)-1], p.config.PlaybookFile) + assert.EqualValues(t, args[len(args)-1], tc.callArgs[2], + "PlayBook File Not Returned as last element: \nexpected: %s\nrecieved: %s\n", args[len(args)-1], tc.callArgs[2]) } } From f4254e9cbf9c7fc3b7057e6dab7465616a876434 Mon Sep 17 00:00:00 2001 From: "Lane, Larry" Date: Fri, 22 May 2020 08:12:14 -0500 Subject: [PATCH 4/4] updated test --- provisioner/ansible/provisioner_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/provisioner/ansible/provisioner_test.go b/provisioner/ansible/provisioner_test.go index 3104b223c..d5b433684 100644 --- a/provisioner/ansible/provisioner_test.go +++ b/provisioner/ansible/provisioner_test.go @@ -597,8 +597,8 @@ func TestCreateCmdArgs(t *testing.T) { assert.ElementsMatch(t, args, tc.ExpectedArgs, "Args didn't match expected:\n\n expected: \n%s\n; recieved: \n%s\n", tc.ExpectedArgs, args) assert.ElementsMatch(t, envVars, tc.ExpectedEnvVars, "EnvVars didn't match expected:\n\n expected: \n%s\n; recieved: \n%s\n", tc.ExpectedEnvVars, envVars) - assert.EqualValues(t, args[len(args)-1], tc.callArgs[2], - "PlayBook File Not Returned as last element: \nexpected: %s\nrecieved: %s\n", args[len(args)-1], tc.callArgs[2]) + assert.EqualValues(t, tc.callArgs[2], args[len(args)-1], + "PlayBook File Not Returned as last element: \nexpected: %s\nrecieved: %s\n", tc.callArgs[2], args[len(args)-1]) } }