Skip to content
This repository was archived by the owner on Nov 24, 2025. It is now read-only.

Update Compose file versions to 3.8#6277

Merged
ocket8888 merged 1 commit intoapache:masterfrom
zrhoffman:compose-file-3.8
Oct 15, 2021
Merged

Update Compose file versions to 3.8#6277
ocket8888 merged 1 commit intoapache:masterfrom
zrhoffman:compose-file-3.8

Conversation

@zrhoffman
Copy link
Copy Markdown
Member

@zrhoffman zrhoffman commented Oct 13, 2021

This PR updates all of the Compose file versions in the project to version 3.8, which fixes #6276 because 3.8 is greater than the minimum compose file version necessary to support the target option (2.3).


Which Traffic Control components are affected by this PR?

  • Traffic Control Cache Config (T3C, formerly ORT)
  • Traffic Monitor
  • Traffic Ops
  • Traffic Portal
  • Traffic Router
  • CDN in a Box
  • Automation - build system, Ansible

What is the best way to verify this PR?

Test the various Compose files whose versions were updated to 3.8 in this PR:

  • cache-config/testing/docker/docker-compose.yml
  • experimental/graphql.sample/docker-compose.yml
  • infrastructure/ansible/sample.lab/docker-compose.yaml
  • infrastructure/cdn-in-a-box/docker-compose.yml
  • infrastructure/docker/build/docker-compose.yml
  • infrastructure/docker/traffic_ops/docker-compose.yml
  • test/fakeOrigin/docker-compose.yml
  • tools/golang/docker-compose.yml
  • traffic_monitor/tests/_integration/docker-compose.yml
  • traffic_ops/app/bin/tests/docker-compose.yml
  • traffic_ops_db/test/docker/docker-compose.yml
  • traffic_portal/docker/docker-compose.yml
  • traffic_router/tests/docker-compose.yml

If this is a bugfix, which Traffic Control versions contained the bug?

  • 5.1.3
  • 6.0.0
  • master

PR submission checklist

@zrhoffman zrhoffman added tests related to tests and/or testing infrastructure cdn-in-a-box related to the Docker-based CDN-in-a-Box system build related to the build process automation related to automated testing/deployment/packaging etc. labels Oct 13, 2021
@ocket8888
Copy link
Copy Markdown
Contributor

ocket8888 commented Oct 13, 2021

Also I currently can't build CiaB because of target being unsupported; I've already verified on my own that this change will fix that.

Turns out I was just describing #6276 - I was gonna open an issue for that but it looks like you beat me to it.

@zrhoffman
Copy link
Copy Markdown
Member Author

Rebased to get and update the compose files added in #6252

@zrhoffman
Copy link
Copy Markdown
Member Author

Rebased to fix #6283 for the TP GHA now that #6284 is merged

@zrhoffman
Copy link
Copy Markdown
Member Author

Rebased again to get #6290

@ocket8888 ocket8888 self-assigned this Oct 15, 2021
Copy link
Copy Markdown
Contributor

@ocket8888 ocket8888 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM: Actions pass, indicating the ones we depend on work, and I've already manually verified this fixes the issue (which I was also experiencing).

@ocket8888 ocket8888 merged commit 8cb7117 into apache:master Oct 15, 2021
@zrhoffman zrhoffman deleted the compose-file-3.8 branch October 15, 2021 14:54
@rawlinp
Copy link
Copy Markdown
Contributor

rawlinp commented Nov 23, 2021

I can't seem to find the magical docker versions required to use docker-compose files at version 3.8:

$ yum list installed docker*
docker-ce.x86_64                                                                          3:20.10.8-3.el7                                                           @docker-ce-stable
docker-ce-cli.x86_64                                                                      1:20.10.8-3.el7                                                           @docker-ce-stable
docker-ce-rootless-extras.x86_64                                                          20.10.8-3.el7                                                             @docker-ce-stable
docker-scan-plugin.x86_64                                                                 0.8.0-3.el7                                                               @docker-ce-stable

$ docker-compose version
docker-compose version 1.29.2, build 5becea4c
docker-py version: 5.0.0
CPython version: 3.7.10
OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019

$ sudo docker version
Client: Docker Engine - Community
 Version:           20.10.8
 API version:       1.41
 Go version:        go1.16.6
 Git commit:        3967b7d
 Built:             Fri Jul 30 19:55:49 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.8
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.6
  Git commit:       75249d8
  Built:            Fri Jul 30 19:54:13 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.12
  GitCommit:        7b11cfaabd73bb80907dd23182b9347b4245eb5d
 runc:
  Version:          1.0.2
  GitCommit:        v1.0.2-0-g52b36a2
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

These are fairly recent versions, but I still get this error:

Version in "././infrastructure/docker/build/docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version ("2.0", "2.1", "3.0") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/

The thing is, https://docs.docker.com/compose/compose-file/compose-versioning/ seems to indicate that these versions should be fine.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

automation related to automated testing/deployment/packaging etc. build related to the build process cdn-in-a-box related to the Docker-based CDN-in-a-Box system tests related to tests and/or testing infrastructure

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CDN in a Box: services.edge.build contains unsupported option: 'target'

3 participants