[ 
https://issues.apache.org/jira/browse/SOLR-15335?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris M. Hostetter updated SOLR-15335:
--------------------------------------
    Attachment: SOLR-15335.patch
        Status: Open  (was: Open)


Ok ... the last patch wasn't working for a bit while SOLR-15361 got reverted, 
but now that GPG signing works in the build again, we can revist things.

With this latest patch, all the core bits of "templatizing" the Dockerfiles 
still work, and the super simple smoke testing i alluded to is all functional 
and easy...

Assuming you have your GPG key in your {{gradle.properties}} file, you can run:

{noformat}
gradle testDockerOfficial
{noformat}

And gradle will smoke test that:
* you can generate a {{Dockerfile.official}} (populated with the SHA512 of the 
tgz, and your release key assuming you are the release manager)
* you can {{docker build}} the {{Dockerfile.official}} (starting from an empty 
context) using a mock HTTPD server for downloading the {{solr.tgz}} and 
{{solr.tgz.asc}} (built using your gpg key)
* our existing docker image tests pass against the generated "official" image

...the only external expectation is that your Gpg key can be found in one of 
the public keyservers hardcoded i nthe Dockerfile (which we can pursue changing 
to a KEYS file in a future issue)

---

I've resolved most of the nocommits that were in the previous patch regarding 
cleanup -- The only outstanding nocommit in this patch is the question of 
wether the {{solr.docker.tests.include}} and {{solr.docker.tests.exclude}} 
properties that {{testDocker}} currently supports should also be supported by 
{{testDockerOfficial}} ... my gut says no: i suspect these exist largely so 
that downstream devs can enable/disable only a subset of the tests if they know 
the've made customizations to the image that violate some of our "official" 
tests ... but our "official" image should be able to pass all tests (or we 
should delete the test)

Houston: does that sound right to you?


> templated (header + body) approach for building Dockerfile.local + 
> Dockerfile.official w/common guts
> ----------------------------------------------------------------------------------------------------
>
>                 Key: SOLR-15335
>                 URL: https://issues.apache.org/jira/browse/SOLR-15335
>             Project: Solr
>          Issue Type: Sub-task
>            Reporter: Chris M. Hostetter
>            Assignee: Chris M. Hostetter
>            Priority: Major
>         Attachments: SOLR-15335.patch, SOLR-15335.patch, SOLR-15335.patch, 
> SOLR-15335.patch, SOLR-15335.patch, SOLR-15335.patch
>
>
> Goals:
>  * "generate" a Dockerfile.official at release time that will satisfy the 
> process/tooling of docker-library for 'official' docker images
>  ** use a templated approach to fill in things like version, sha512, and GPG 
> fingerprint
>  * ensure that the generated Dockerfile.official and the Dockerfile.local 
> included in solr.tgz are identical in terms of the "operational" aspects of a 
> Solr docker image (ie: what the disk layout looks like, and how it runs)
>  ** they should only differ in how they get the contents of a solr.tgz into 
> the docker image (and how much they trust it before unpacking it)
>  * minimize the amount of overhead needed to make changes that exist in in 
> both dockerfiles



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to