The exit code of the test script is 1 on test failure.  The return code is 
0 on success.

I can definitely get the Packer build to fail on a failed test run - I've 
tested by altering the script so it'll always fail in a realistic way.  
It's just that after the test passes, I can't get the next step of pushing 
the Docker image to actually work - it instead fails with "Can only import 
from docker-import and docker-tag artifacts".

--
Nathan

On Tuesday, November 20, 2018 at 10:57:59 AM UTC-6, Alvaro Miranda Aguilera 
wrote:
>
> Hello.
>
> What is the exit code when the test fails ?
>
>
>
> On Tue, Nov 20, 2018 at 3:07 PM <[email protected] <javascript:>> wrote:
>
>> Thanks for the response!
>>
>> I did try that but the result was the same.  It occurs to me that a flag 
>> like "passthrough_input_artifact" would be useful in this case.  I briefly 
>> glanced at some of the post-processing code and it seems like it wouldn't 
>> be too difficult to write a plugin (or, modify the existing shell-local 
>> post-processor).  But, for now, I think I'll take the approach of running 
>> the test(s) outside of the Packer build/tag/push phase.  I'd rather not 
>> even push an image that doesn't pass the test(s) but it's not a hard 
>> requirement.
>>
>> I certainly will continue to welcome ideas/suggestions. 
>>
>> Regards,
>>
>> Nathan
>>
>> On Monday, November 19, 2018 at 1:50:27 PM UTC-6, Megan Marsh wrote:
>>>
>>> You may be able to get the behavior you want by setting 
>>> `keep_input_artifact` in your shell-local post-processor. 
>>> https://www.packer.io/docs/templates/post-processors.html#input-artifacts
>>>
>>> On Mon, Nov 19, 2018 at 7:49 AM <[email protected]> wrote:
>>>
>>>> I'm trying to get Packer to build a Docker image, then run a container 
>>>> from that image and execute a few tests against the running container 
>>>> _before_ pushing the image back to a Docker registry.  I want to _only_ 
>>>> push the image if tests pass.  Otherwise, I want the build to fail and 
>>>> _not_ push anything.  
>>>>
>>>> I've tried putting a "shell-local" post-processing step in between the 
>>>> "docker-tag" and the "docker-push" post-processing steps (pasted below).  
>>>> The tests run as expected, but then the build fails on "docker-push" with 
>>>> "Can only import from docker-import and docker-tag artifacts".  This makes 
>>>> sense I guess - I lose the Docker artifact once I run the shell-local step 
>>>> so it doesn't know what I'm asking it to push.  I've explored "manifest" 
>>>> and "artifice" post-processors among other things but I haven't yet 
>>>> figured 
>>>> out how to make it work the way I want.
>>>>
>>>> Is what I'm trying to do possible with Packer?
>>>>
>>>> Thanks!
>>>>
>>>> ...
>>>>     "builders": [
>>>>         {
>>>>             "type": "docker",
>>>>             "image": "{{user `base_image_repository`}}:latest",
>>>>             "commit": true,
>>>>             "ecr_login": true,
>>>>             "login_server": "{{user `ecr_login_server`}}",
>>>>             "changes": [
>>>>                 "CMD /opt/app/run.sh"
>>>>               ]
>>>>         }
>>>>     ],
>>>>     "provisioners": [
>>>>     ...
>>>>     ],
>>>>     "post-processors": [
>>>>         [
>>>>             {
>>>>                 "type": "docker-tag",
>>>>                 "repository": "{{user `docker_repository`}}",
>>>>                 "tag": "{{user `version`}}"
>>>>             },
>>>>             {
>>>>                 "type": "shell-local",
>>>>                 "script": "./test-container.sh",
>>>>                 "environment_vars": ["IMAGE_AND_TAG={{user 
>>>> `docker_repository`}}:{{user `version`}}", "LEVEL={{user `level`}}"]
>>>>             },
>>>>             {
>>>>                 "type": "docker-push",
>>>>                 "ecr_login": true,
>>>>                 "login_server": "{{user `ecr_login_server`}}"
>>>>             }
>>>>         ]
>>>>     ]
>>>> }
>>>>
>>>> -- 
>>>> This mailing list is governed under the HashiCorp Community Guidelines 
>>>> - https://www.hashicorp.com/community-guidelines.html. Behavior in 
>>>> violation of those guidelines may result in your removal from this mailing 
>>>> list.
>>>>  
>>>> GitHub Issues: https://github.com/mitchellh/packer/issues
>>>> IRC: #packer-tool on Freenode
>>>> --- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "Packer" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to [email protected].
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/packer-tool/08bec5d1-4c5e-4161-b0b6-cca6de9ae533%40googlegroups.com
>>>>  
>>>> <https://groups.google.com/d/msgid/packer-tool/08bec5d1-4c5e-4161-b0b6-cca6de9ae533%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>> -- 
>> This mailing list is governed under the HashiCorp Community Guidelines - 
>> https://www.hashicorp.com/community-guidelines.html. Behavior in 
>> violation of those guidelines may result in your removal from this mailing 
>> list.
>>  
>> GitHub Issues: https://github.com/mitchellh/packer/issues
>> IRC: #packer-tool on Freenode
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "Packer" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/packer-tool/608e6d9d-c72f-492d-8630-18bbf93ed1d1%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/packer-tool/608e6d9d-c72f-492d-8630-18bbf93ed1d1%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
> -- 
> Alvaro
>
>

-- 
This mailing list is governed under the HashiCorp Community Guidelines - 
https://www.hashicorp.com/community-guidelines.html. Behavior in violation of 
those guidelines may result in your removal from this mailing list.

GitHub Issues: https://github.com/mitchellh/packer/issues
IRC: #packer-tool on Freenode
--- 
You received this message because you are subscribed to the Google Groups 
"Packer" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/packer-tool/26ec3037-e9ce-423b-b9c6-f40c6f5f0317%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to