Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug: Docker Compose test is broken #570

Closed
Tranquility2 opened this issue May 12, 2024 · 4 comments
Closed

Bug: Docker Compose test is broken #570

Tranquility2 opened this issue May 12, 2024 · 4 comments

Comments

@Tranquility2
Copy link
Contributor

Describe the bug

It seems that with the latest version of docker compose installed the test_compose_logs fails

To Reproduce

  1. Update docker (Linux machine)
    *My guess is docker-compose-plugin
  2. Pull main branch of testcontainers-python
  3. Run the tests
    Can be as simple as
pytest core/tests/test_compose.py

** Example **

=================================================== test session starts ====================================================
platform linux -- Python 3.9.18, pytest-7.4.3, pluggy-1.4.0
rootdir: /home/roy/projects/testcontainers-python
configfile: pyproject.toml
plugins: anyio-4.3.0, asyncio-0.23.5, cov-4.1.0
asyncio: mode=strict
collected 11 items

core/tests/test_compose.py::test_compose_no_file_name PASSED                                                         [  9%]
core/tests/test_compose.py::test_compose_str_file_name PASSED                                                        [ 18%]
core/tests/test_compose.py::test_compose_list_file_name PASSED                                                       [ 27%]
core/tests/test_compose.py::test_compose_stop PASSED                                                                 [ 36%]
core/tests/test_compose.py::test_compose_start_stop PASSED                                                           [ 45%]
core/tests/test_compose.py::test_compose PASSED                                                                      [ 54%]
core/tests/test_compose.py::test_compose_logs FAILED                                                                 [ 63%]
core/tests/test_compose.py::test_compose_ports
------------------------------------------------------ live log call -------------------------------------------------------
INFO     testcontainers.core.waiting_utils:waiting_utils.py:54 Waiting for DockerCompose(context=PosixPath('/home/roy/projects/testcontainers-python/core/tests/compose_fixtures/port_single'), compose_file_name=None, pull=False, build=False, wait=True, env_file=None, services=None, docker_command_path=None) to be ready ...
PASSED                                                                                                               [ 72%]
core/tests/test_compose.py::test_compose_multiple_containers_and_ports PASSED                                        [ 81%]
core/tests/test_compose.py::test_exec_in_container
------------------------------------------------------ live log call -------------------------------------------------------
INFO     testcontainers.core.waiting_utils:waiting_utils.py:54 Waiting for DockerCompose(context=PosixPath('/home/roy/projects/testcontainers-python/core/tests/compose_fixtures/port_single'), compose_file_name=None, pull=False, build=False, wait=True, env_file=None, services=None, docker_command_path=None) to be ready ...
PASSED                                                                                                               [ 90%]
core/tests/test_compose.py::test_exec_in_container_multiple
------------------------------------------------------ live log call -------------------------------------------------------
INFO     testcontainers.core.waiting_utils:waiting_utils.py:54 Waiting for DockerCompose(context=PosixPath('/home/roy/projects/testcontainers-python/core/tests/compose_fixtures/port_multiple'), compose_file_name=None, pull=False, build=False, wait=True, env_file=None, services=None, docker_command_path=None) to be ready ...
PASSED                                                                                                               [100%]

========================================================= FAILURES =========================================================
____________________________________________________ test_compose_logs _____________________________________________________
core/tests/test_compose.py:89: in test_compose_logs
    assert not stderr
E   assert not 'time="2024-05-12T19:50:00Z" level=warning msg="/home/roy/projects/testcontainers-python/core/tests/compose_fixtures/basic/docker-compose.yaml: `version` is obsolete"\n'
================================================= short test summary info ==================================================
FAILED core/tests/test_compose.py::test_compose_logs - assert not 'time="2024-05-12T19:50:00Z" level=warning msg="/home/roy/projects/testcontainers-python/core/tests/compose_...
============================================== 1 failed, 10 passed in 17.75s ===============================================

Runtime environment

  • Linux (Ubuntu) Linux bow 5.15.0-100-generic #110-Ubuntu SMP Wed Feb 7 13:27:48 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
  • Python 3.9 Python 3.9.18
alabaster==0.7.16
annotated-types==0.6.0
anyio==4.3.0
argon2-cffi==23.1.0
argon2-cffi-bindings==21.2.0
asn1crypto==1.5.1
asttokens==2.4.1
async-timeout==4.0.3
attrs==23.2.0
Authlib==1.3.0
azure-core==1.30.1
azure-storage-blob==12.19.1
Babel==2.14.0
backoff==2.2.1
bcrypt==4.1.2
black==24.4.2
boto3==1.34.59
botocore==1.34.59
cachetools==5.3.3
cassandra-driver==3.29.1
certifi==2024.2.2
cffi==1.16.0
cfgv==3.4.0
charset-normalizer==3.3.2
chromadb-client==0.4.25.dev0
click==8.1.7
clickhouse-driver==0.2.7
coverage==7.4.3
cryptography==42.0.5
decorator==5.1.1
Deprecated==1.2.14
deprecation==2.1.0
distlib==0.3.8
dnspython==2.6.1
docker==7.0.0
docutils==0.20.1
exceptiongroup==1.2.0
executing==2.0.1
filelock==3.13.1
geomet==0.2.1.post1
google-api-core==2.17.1
google-auth==2.28.2
google-cloud-core==2.4.1
google-cloud-datastore==2.19.0
google-cloud-pubsub==2.20.1
googleapis-common-protos==1.62.0
greenlet==3.0.3
grpc-google-iam-v1==0.13.0
grpcio==1.62.1
grpcio-health-checking==1.62.1
grpcio-status==1.62.1
grpcio-tools==1.62.1
h11==0.14.0
h2==4.1.0
hpack==4.0.0
httpcore==1.0.5
httpx==0.27.0
hvac==2.1.0
hyperframe==6.0.1
identify==2.5.35
idna==3.6
imagesize==1.4.1
importlib_metadata==7.0.2
influxdb==5.3.1
influxdb-client==1.41.0
iniconfig==2.0.0
ipython==8.18.1
isodate==0.6.1
jaraco.classes==3.3.1
jedi==0.19.1
jeepney==0.8.0
Jinja2==3.1.3
jmespath==1.0.1
jwcrypto==1.5.6
kafka-python-ng==2.2.0
keyring==24.3.1
kubernetes==29.0.0
markdown-it-py==3.0.0
MarkupSafe==2.1.5
matplotlib-inline==0.1.7
mdurl==0.1.2
minio==7.2.5
monotonic==1.6
more-itertools==10.2.0
msgpack==1.0.8
mypy==1.7.1
mypy-extensions==1.0.0
nats-py==2.7.2
neo4j==5.18.0
nh3==0.2.15
nodeenv==1.8.0
numpy==1.26.4
oauthlib==3.2.2
opensearch-py==2.4.2
opentelemetry-api==1.16.0
opentelemetry-exporter-otlp-proto-grpc==1.16.0
opentelemetry-proto==1.16.0
opentelemetry-sdk==1.16.0
opentelemetry-semantic-conventions==0.37b0
oracledb==2.1.1
orjson==3.10.0
outcome==1.3.0.post0
overrides==7.7.0
packaging==24.0
parso==0.8.4
pathspec==0.12.1
pexpect==4.9.0
pg8000==1.30.5
pika==1.3.2
pkginfo==1.10.0
platformdirs==4.2.0
pluggy==1.4.0
portalocker==2.8.2
posthog==3.5.0
pre-commit==3.6.2
prompt-toolkit==3.0.43
proto-plus==1.23.0
protobuf==4.25.3
psycopg==3.1.18
psycopg2-binary==2.9.9
ptyprocess==0.7.0
pure-eval==0.2.2
pyasn1==0.5.1
pyasn1-modules==0.3.0
pycparser==2.21
pycryptodome==3.20.0
pydantic==2.6.4
pydantic_core==2.16.3
Pygments==2.17.2
PyJWT==2.8.0
pymongo==4.6.2
pymssql==2.2.11
PyMySQL==1.1.0
PySocks==1.7.1
pytest==7.4.3
pytest-asyncio==0.23.5
pytest-cov==4.1.0
python-arango==7.9.1
python-dateutil==2.9.0.post0
python-keycloak==3.9.1
pytz==2024.1
PyYAML==6.0.1
qdrant-client==1.8.2
reactivex==4.0.4
readme_renderer==43.0
redis==5.0.3
requests==2.31.0
requests-oauthlib==1.4.0
requests-toolbelt==1.0.0
rfc3986==2.0.0
rich==13.7.1
rsa==4.9
s3transfer==0.10.0
scramp==1.4.4
SecretStorage==3.3.3
selenium==4.18.1
six==1.16.0
sniffio==1.3.1
snowballstemmer==2.2.0
sortedcontainers==2.4.0
Sphinx==7.2.6
sphinxcontrib-applehelp==1.0.8
sphinxcontrib-devhelp==1.0.6
sphinxcontrib-htmlhelp==2.0.5
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.7
sphinxcontrib-serializinghtml==1.1.10
SQLAlchemy==2.0.28
stack-data==0.6.3
tenacity==8.2.3
-e git+ssh://git@github.com/Tranquility2/testcontainers-python.git@690b9b4526dcdf930c0733c227009af208f47cda#egg=testcontainers
tomli==2.0.1
traitlets==5.14.3
trio==0.24.0
trio-websocket==0.11.1
twine==4.0.2
typing_extensions==4.11.0
tzlocal==5.2
urllib3==1.26.18
validators==0.22.0
virtualenv==20.25.1
wcwidth==0.2.13
weaviate-client==4.5.4
websocket-client==1.7.0
wrapt==1.16.0
wsproto==1.2.0
zipp==3.17.0
  • Docker
Client: Docker Engine - Community
 Version:    26.1.2
 Context:    rootless
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.14.0
    Path:     /usr/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.27.0
    Path:     /usr/libexec/docker/cli-plugins/docker-compose

Server:
 Containers: 3
  Running: 1
  Paused: 0
  Stopped: 2
 Images: 7
 Server Version: 25.0.4
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: false
  userxattr: true
 Logging Driver: json-file
 Cgroup Driver: systemd
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: ae07eda36dd25f8a1b98dfbf587313b99c0190bb
 runc version: v1.1.12-0-g51d5e94
 init version: de40ad0
 Security Options:
  seccomp
   Profile: builtin
  rootless
  cgroupns
 Kernel Version: 5.15.0-100-generic
 Operating System: Ubuntu 22.04.4 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 7.752GiB
 Name: bow
 ID: 76ee101e-0272-4884-925b-467f3395fa5f
 Docker Root Dir: /home/roy/.local/share/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

WARNING: No cpu cfs quota support
WARNING: No cpu cfs period support
WARNING: No cpu shares support
WARNING: No cpuset support
WARNING: No io.weight support
WARNING: No io.weight (per device) support
WARNING: No io.max (rbps) support
WARNING: No io.max (wbps) support
WARNING: No io.max (riops) support
WARNING: No io.max (wiops) support
@alexanderankin
Copy link
Member

alexanderankin commented May 12, 2024 via email

@Tranquility2
Copy link
Contributor Author

Understood, PR is up (just removing those lines, if you prefer something else please update me)

alexanderankin pushed a commit that referenced this issue May 12, 2024
This would address #570
Removing the version from the compose.yaml files used in tests.

Please see
https://forums.docker.com/t/docker-compose-yml-version-is-obsolete/141313
@alexanderankin
Copy link
Member

alexanderankin commented May 12, 2024 via email

@Tranquility2
Copy link
Contributor Author

I agree, in any case I'll be happy to update the test to something more robust if/when needed.
(right now this just blocked me from working on some other stuff 😅)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants