[Geoserver-devel] TeamEngine Docker (was GeoServer 2019 budget)

I took a look at the docker tools, and it looks like we can build an “everything” docker image, or a docker image per test suite. The process is slightly annoying, perhaps we want to publish our versions of the tests to an OSGEO Maven repo.

We don’t really care about “everything” in terms of ETS, so it might help to narrow the problem if we can exclude and prioritise tests suites (either for the "everything" case, or for per-suite docker images).

As a starting point for discussion, here is my opinion, noting that some of the DGIWG and NSG stuff might be "special case". From (one of) the pom.xml:

<ets-wcs10.version>1.13</ets-wcs10.version> - Priority 2

<ets-wcs11.version>1.12</ets-wcs11.version> - Priority 2

<ets-wcs20.version>1.12</ets-wcs20.version> - Priority 2

<ets-wfs10.version>1.12</ets-wfs10.version> - Priority 2

<ets-wfs11.version>1.32</ets-wfs11.version> - Priority 2

<ets-wfs20.version>1.29</ets-wfs20.version> - Priority 1

<ets-wfs30.version>0.1-SNAPSHOT</ets-wfs30.version> - Priority 4

<ets-wms11.version>1.16</ets-wms11.version> - Priority 1

<ets-wms13.version>1.24</ets-wms13.version> - Priority 1

<ets-wmts10.version>1.1</ets-wmts10.version> - Priority 3

<ets-csw202.version>1.17</ets-csw202.version> - Priority 3

<ets-cat30.version>1.1</ets-cat30.version> - No support?

<ets-gml32.version>1.25</ets-gml32.version> - Priority 4

<ets-gpkg10.version>1.0</ets-gpkg10.version> - Priority 3

<ets-gpkg12.version>0.3</ets-gpkg12.version> - Priority 4

<ets-kml22.version>1.12</ets-kml22.version> - Priority 3

<ets-kml2.version>0.5</ets-kml2.version> - No support?

<ets-owc10.version>0.1</ets-owc10.version> - No support?

<ets-sensorml10.version>0.8</ets-sensorml10.version> - No support

<ets-sensorml20.version>0.8</ets-sensorml20.version> - No support

<ets-sfs11.version>1.6</ets-sfs11.version> - No support

<ets-sfs12.version>1.4</ets-sfs12.version> - No support

<ets-sos10.version>1.13</ets-sos10.version> - No support

<ets-sos20.version>1.13</ets-sos20.version> - No support

<ets-sps10.version>1.7</ets-sps10.version> - No support

<ets-sps20.version>1.10</ets-sps20.version> - No support

<ets-sta10.version>1.0</ets-sta10.version> - No support

<ets-wms-client13.version>1.3</ets-wms-client13.version> - Priority 4

<ets-wps10.version>0.6</ets-wps10.version> - Priority 3

<ets-wfs20-dgiwg.version>0.4</ets-wfs20-dgiwg.version> - No support?

<ets-wms13-dgiwg.version>0.4</ets-wms13-dgiwg.version> - No support?

<ets-wms13-nsg.version>0.1</ets-wms13-nsg.version> - No support?

<ets-wfs20-nsg.version>0.3</ets-wfs20-nsg.version> - No support?

<ets-wmts10-nsg.version>0.2</ets-wmts10-nsg.version> - No support?

<ets-gpkg12-nsg.version>0.3</ets-gpkg12-nsg.version> - No support?

<ets-cat20-dgiwg10.version>0.1-SNAPSHOT</ets-cat20-dgiwg10.version> - No support?

We definitely don’t want to run every test. But do we have to?
If building a custom docker image takes work, how bad would it be to build an image with everything, deploy it, and run just the tests we want?
I tried and the build failed due to lack of deps, I’ve inquired with OGC about their availability:
https://github.com/opengeospatial/teamengine-docker/issues/26

Anyhow, thinking out loud (and let’s verify if feasible):

  • We build the full VM (or a custom one), ideally with a Jenkins build that updates, builds, and redeploys the image, possibly adding a well known user into it.

  • The image could be left running, or started up on demand

  • The tests are run periodically using the REST API
    The advantage of using our own image are, in my mind:

  • No network latency, faster tests

  • No dependency on remote server avalability (think downtimes, upgrades, maintenance)

  • Better control on what we run, and have liberty on eventually using a custom version of some suite (version numbers are properties)
    Control is an important bit for the feasibility of this approach, as we can do the upgrades when we can allocate time to also handle the fixes/adjustments to our code, the deploy data and configuaration, and the eventual CITE tests fixes

Cheers
Andrea

···

GeoServer Professional Services from the experts! Visit http://goo.gl/it488V for more information. == Ing. Andrea Aime @geowolf Technical Lead GeoSolutions S.A.S. Via di Montramito 3/A 55054 Massarosa (LU) phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549 http://www.geo-solutions.it http://twitter.com/geosolutions_it ------------------------------------------------------- Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni circostanza inerente alla presente email (il suo contenuto, gli eventuali allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le sarei comunque grato se potesse darmene notizia. This email is intended only for the person or entity to which it is addressed and may contain information that is privileged, confidential or otherwise protected from disclosure. We remind that - as provided by European Regulation 2016/679 “GDPR” - copying, dissemination or use of this e-mail or the information herein by anyone other than the intended recipient is prohibited. If you have received this email by mistake, please notify us immediately by telephone or e-mail.

Thanks for raising the ticket, but I think the missing deps were expected (noted in the teamengine-docker README).

I also hit the lack of deps so wanted to simplify the docker image build if possible, but also some prioritisation / narrowing of the tests might help us to focus the effort. If you had to pick a top 3 or 5, what tests are most important?

Brad

From: Andrea Aime andrea.aime@anonymised.com
Sent: Sunday, 13 January 2019 7:45 PM
To: Brad Hards bradh@anonymised.com
Cc: Jody Garnett <jody.garnett@anonymised.com…>; GeoServer geoserver-devel@lists.sourceforge.net
Subject: Re: TeamEngine Docker (was GeoServer 2019 budget)

On Sat, Jan 12, 2019 at 11:50 PM <bradh@anonymised.com> wrote:

I took a look at the docker tools, and it looks like we can build an “everything” docker image, or a docker image per test suite. The process is slightly annoying, perhaps we want to publish our versions of the tests to an OSGEO Maven repo.

We don’t really care about “everything” in terms of ETS,

We definitely don’t want to run every test. But do we have to?

If building a custom docker image takes work, how bad would it be to build an image with everything, deploy it, and run just the tests we want?

I tried and the build failed due to lack of deps, I’ve inquired with OGC about their availability:

https://github.com/opengeospatial/teamengine-docker/issues/26

Anyhow, thinking out loud (and let’s verify if feasible):

  • We build the full VM (or a custom one), ideally with a Jenkins build that updates, builds, and redeploys the image, possibly adding a well known user into it.
  • The image could be left running, or started up on demand
  • The tests are run periodically using the REST API

The advantage of using our own image are, in my mind:

  • No network latency, faster tests
  • No dependency on remote server avalability (think downtimes, upgrades, maintenance)
  • Better control on what we run, and have liberty on eventually using a custom version of some suite (version numbers are properties)

Control is an important bit for the feasibility of this approach, as we can do the upgrades when we can allocate time to also handle the fixes/adjustments to our code, the deploy data and configuaration, and the eventual CITE tests fixes

Cheers

Andrea

==

GeoServer Professional Services from the experts! Visit http://goo.gl/it488V for more information. == Ing. Andrea Aime @geowolf Technical Lead GeoSolutions S.A.S. Via di Montramito 3/A 55054 Massarosa (LU) phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549 http://www.geo-solutions.it http://twitter.com/geosolutions_it ------------------------------------------------------- Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni circostanza inerente alla presente email (il suo contenuto, gli eventuali allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le sarei comunque grato se potesse darmene notizia. This email is intended only for the person or entity to which it is addressed and may contain information that is privileged, confidential or otherwise protected from disclosure. We remind that - as provided by European Regulation 2016/679 “GDPR” - copying, dissemination or use of this e-mail or the information herein by anyone other than the intended recipient is prohibited. If you have received this email by mistake, please notify us immediately by telephone or e-mail.

Thanks for raising the ticket, but I think the missing deps were expected (noted in the teamengine-docker README).

Yep, I’ve seen it, the intent of that ticket is to make them show us the goods, or argue to stand up a repo (I cannot do it right now,
but I’m participating a bit more in OGC lately, so have occasions to reiterate) :-p

I also hit the lack of deps so wanted to simplify the docker image build if possible, but also some prioritisation / narrowing of the tests might help us to focus the effort. If you had to pick a top 3 or 5, what tests are most important?

Depends on the objective. If you just want to give the machinery a try, I’d go for WMS 1.3, WFS 2.0 and WCS 2.0.
Eventually we’ll need a VM with all the protocols and formats we implement, starting with the protocols we already test for daily on the build server.

Cheers
Andrea

···

GeoServer Professional Services from the experts! Visit http://goo.gl/it488V for more information. == Ing. Andrea Aime @geowolf Technical Lead GeoSolutions S.A.S. Via di Montramito 3/A 55054 Massarosa (LU) phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549 http://www.geo-solutions.it http://twitter.com/geosolutions_it ------------------------------------------------------- Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni circostanza inerente alla presente email (il suo contenuto, gli eventuali allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le sarei comunque grato se potesse darmene notizia. This email is intended only for the person or entity to which it is addressed and may contain information that is privileged, confidential or otherwise protected from disclosure. We remind that - as provided by European Regulation 2016/679 “GDPR” - copying, dissemination or use of this e-mail or the information herein by anyone other than the intended recipient is prohibited. If you have received this email by mistake, please notify us immediately by telephone or e-mail.

Something is moving: https://github.com/opengeospatial/teamengine-docker/issues/26#issuecomment-453945703
:smiley:

Cheers
Andrea

···

GeoServer Professional Services from the experts! Visit http://goo.gl/it488V for more information. == Ing. Andrea Aime @geowolf Technical Lead GeoSolutions S.A.S. Via di Montramito 3/A 55054 Massarosa (LU) phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549 http://www.geo-solutions.it http://twitter.com/geosolutions_it ------------------------------------------------------- Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni circostanza inerente alla presente email (il suo contenuto, gli eventuali allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le sarei comunque grato se potesse darmene notizia. This email is intended only for the person or entity to which it is addressed and may contain information that is privileged, confidential or otherwise protected from disclosure. We remind that - as provided by European Regulation 2016/679 “GDPR” - copying, dissemination or use of this e-mail or the information herein by anyone other than the intended recipient is prohibited. If you have received this email by mistake, please notify us immediately by telephone or e-mail.