From 3b876a01db2f9ace88561a7489a906b54b20fce6 Mon Sep 17 00:00:00 2001 From: zhangning19 Date: Sat, 10 Aug 2024 19:28:23 +0800 Subject: [PATCH 01/10] fix error: in python3.12, AttributeError: 'FileFinder' object has no attribute 'find_module' --- .github/workflows/CI.yaml | 8 ++++---- skywalking/plugins/__init__.py | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/CI.yaml b/.github/workflows/CI.yaml index 1fd1268d..a971fe91 100644 --- a/.github/workflows/CI.yaml +++ b/.github/workflows/CI.yaml @@ -125,7 +125,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: # may support pypy in the future - python-version: [ "3.7-slim", "3.8-slim", "3.9-slim", "3.10-slim", "3.11-slim" ] + python-version: [ "3.7-slim", "3.8-slim", "3.9-slim", "3.10-slim", "3.11-slim", "3.12-slim" ] fail-fast: false env: BASE_PYTHON_IMAGE: ${{ matrix.python-version }} @@ -157,7 +157,7 @@ jobs: timeout-minutes: 20 strategy: matrix: - python-version: [ "3.7", "3.8", "3.9", "3.10", "3.11" ] + python-version: [ "3.7", "3.8", "3.9", "3.10", "3.11", "3.12" ] test-path: ${{fromJson(needs.prep-plugin-and-unit-tests.outputs.matrix)}} fail-fast: false env: @@ -195,7 +195,7 @@ jobs: timeout-minutes: 10 strategy: matrix: - python-image-variant: [ "3.7-slim", "3.8-slim", "3.9-slim", "3.10-slim", "3.11-slim" ] + python-image-variant: [ "3.7-slim", "3.8-slim", "3.9-slim", "3.10-slim", "3.11-slim", "3.12-slim" ] fail-fast: false env: BASE_PYTHON_IMAGE: ${{ matrix.python-image-variant }} @@ -226,7 +226,7 @@ jobs: timeout-minutes: 20 strategy: matrix: - python-image-variant: [ "3.7-slim", "3.8-slim", "3.9-slim", "3.10-slim", "3.11-slim" ] + python-image-variant: [ "3.7-slim", "3.8-slim", "3.9-slim", "3.10-slim", "3.11-slim", "3.12-slim" ] case: - name: gRPC-single-process path: tests/e2e/case/grpc/single/e2e.yaml diff --git a/skywalking/plugins/__init__.py b/skywalking/plugins/__init__.py index aa092bf8..cf367457 100644 --- a/skywalking/plugins/__init__.py +++ b/skywalking/plugins/__init__.py @@ -56,7 +56,7 @@ def install(): logger.info("plugin %s is disabled and thus won't be installed", modname) continue logger.debug('installing plugin %s', modname) - plugin = importer.find_module(modname).load_module(modname) + plugin = importer.find_spec(modname).loader.load_module() # todo: refactor the version checker, currently it doesn't really work as intended supported = pkg_version_check(plugin) From 4848ff4d9a8741e8edff17f52470e85dad7dfd99 Mon Sep 17 00:00:00 2001 From: zhangning19 Date: Sat, 10 Aug 2024 20:28:15 +0800 Subject: [PATCH 02/10] up py3.12 --- docker/Makefile | 7 +++++-- poetry.lock | 2 +- pyproject.toml | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/docker/Makefile b/docker/Makefile index c900c8bc..d2b14ff0 100644 --- a/docker/Makefile +++ b/docker/Makefile @@ -21,7 +21,7 @@ D := docker P := grpc http kafka -TARGETS := py3.7 py3.8 py3.9 py3.10 py3.7-slim py3.8-slim py3.9-slim py3.10-slim +TARGETS := py3.7 py3.8 py3.9 py3.10 py3.7-slim py3.8-slim py3.9-slim py3.10-slim py3.11-slim py3.12-slim py3.7: BASE_PYTHON_IMAGE = python:3.7 py3.8: BASE_PYTHON_IMAGE = python:3.8 @@ -33,6 +33,7 @@ py3.8-slim: BASE_PYTHON_IMAGE = python:3.8-slim py3.9-slim: BASE_PYTHON_IMAGE = python:3.9-slim py3.10-slim: BASE_PYTHON_IMAGE = python:3.10-slim py3.11-slim: BASE_PYTHON_IMAGE = python:3.11-slim +py3.12-slim: BASE_PYTHON_IMAGE = python:3.12-slim push-py3.7: BASE_PYTHON_IMAGE = python:3.7 push-py3.8: BASE_PYTHON_IMAGE = python:3.8 @@ -44,6 +45,7 @@ push-py3.8-slim: BASE_PYTHON_IMAGE = python:3.8-slim push-py3.9-slim: BASE_PYTHON_IMAGE = python:3.9-slim push-py3.10-slim: BASE_PYTHON_IMAGE = python:3.10-slim push-py3.11-slim: BASE_PYTHON_IMAGE = python:3.11-slim +push-py3.12-slim: BASE_PYTHON_IMAGE = python:3.12-slim push-py3.7: BUILDER_PYTHON_IMAGE = python:3.7 push-py3.8: BUILDER_PYTHON_IMAGE = python:3.8 @@ -55,6 +57,7 @@ push-py3.8-slim: BUILDER_PYTHON_IMAGE = python:3.8 push-py3.9-slim: BUILDER_PYTHON_IMAGE = python:3.9 push-py3.10-slim: BUILDER_PYTHON_IMAGE = python:3.10 push-py3.11-slim: BUILDER_PYTHON_IMAGE = python:3.11 +push-py3.12-slim: BUILDER_PYTHON_IMAGE = python:3.12 PUSH_TARGETS := $(TARGETS:%=push-%) @@ -92,4 +95,4 @@ $(PUSH_TARGETS): -t $(HUB)/$(PROJECT):${AGENT_VERSION}-$$p-${version} \ . ; \ done - docker buildx rm skywalking_python_main_$(version) || true; + docker buildx rm skywalking_python_main_$(version) || true; \ No newline at end of file diff --git a/poetry.lock b/poetry.lock index d0983077..6d4928cc 100644 --- a/poetry.lock +++ b/poetry.lock @@ -3729,5 +3729,5 @@ sync = ["kafka-python", "requests"] [metadata] lock-version = "2.0" -python-versions = ">=3.7, <3.12" +python-versions = ">=3.7" content-hash = "ae3cd5c63201383530bf2daac37be0ef9399bf4384dbe42048c81e945b70642a" diff --git a/pyproject.toml b/pyproject.toml index d0daf019..c19f3326 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -67,7 +67,7 @@ sw-python = 'skywalking.bootstrap.cli.sw_python:start' [tool.poetry.dependencies] -python = ">=3.7, <3.12" +python = ">=3.7" grpcio = '*' grpcio-tools = '*' packaging = '*' From 40aef8748717df069985d71dbf497c332afc76ec Mon Sep 17 00:00:00 2001 From: zhangning19 Date: Sat, 10 Aug 2024 20:57:35 +0800 Subject: [PATCH 03/10] fix docker build fail --- tests/e2e/base/Dockerfile.e2e | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/e2e/base/Dockerfile.e2e b/tests/e2e/base/Dockerfile.e2e index d646c0b1..99089ab0 100644 --- a/tests/e2e/base/Dockerfile.e2e +++ b/tests/e2e/base/Dockerfile.e2e @@ -29,10 +29,10 @@ RUN cd /skywalking-python && apt-get update && apt-get install -y make && make i # Extra dependencies for e2e services RUN apt-get update \ - && apt-get install -y --no-install-recommends gcc build-essential\ + && apt-get purge -y --auto-remove gcc build-essential\ && rm -rf /var/lib/apt/lists/* \ - && pip install uwsgi fastapi uvicorn aiohttp flask "Werkzeug<3" gunicorn \ - && apt-get purge -y --auto-remove gcc build-essential + && apt-get install -y --no-install-recommends gcc build-essential\ + && pip install uwsgi fastapi uvicorn aiohttp flask "Werkzeug<3" gunicorn # Entrypoint with agent attached WORKDIR /services From 5850ad02331d9c80a8d8de2f858f149c24cad7a4 Mon Sep 17 00:00:00 2001 From: zhangning19 Date: Sun, 11 Aug 2024 00:30:43 +0800 Subject: [PATCH 04/10] fix docker build fail --- pyproject.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index c19f3326..1f66d3bd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -42,6 +42,7 @@ classifiers=[ 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', + 'Programming Language :: Python :: 3.12', 'Topic :: System :: Monitoring', 'Topic :: Software Development', @@ -75,7 +76,7 @@ wrapt = '*' psutil = '<=5.9.5' requests = { version = ">=2.26.0", optional = true } kafka-python = { version = "*", optional = true } -uvloop = { version = "^0.17.0", optional = true } +uvloop = { version = "^0.19.0", optional = true } aiokafka = { version = "^0.8.0", optional = true } aiohttp = { version = "^3.7.4", optional = true } From 5e3e51d42eddd543c5818589cbcbd238af6f1ef2 Mon Sep 17 00:00:00 2001 From: zhangning19 Date: Sun, 11 Aug 2024 00:39:41 +0800 Subject: [PATCH 05/10] fix docker build fail --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 1f66d3bd..9b0ae74c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -76,7 +76,7 @@ wrapt = '*' psutil = '<=5.9.5' requests = { version = ">=2.26.0", optional = true } kafka-python = { version = "*", optional = true } -uvloop = { version = "^0.19.0", optional = true } +uvloop = { version = "^0.18.0", optional = true } aiokafka = { version = "^0.8.0", optional = true } aiohttp = { version = "^3.7.4", optional = true } From 1698ffd39ef37db44c838a7fca1d584f32c26a09 Mon Sep 17 00:00:00 2001 From: zhangning19 Date: Sun, 11 Aug 2024 00:51:54 +0800 Subject: [PATCH 06/10] fix docker build fail --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index 408d42b8..dc7bf764 100644 --- a/Makefile +++ b/Makefile @@ -27,6 +27,7 @@ endif .PHONY: env env: poetry gen + poetry lock [--no-update] poetry install --all-extras poetry run pip install --upgrade pip From 609472648f8dcb44fe2463a2cff967a713c1c0ab Mon Sep 17 00:00:00 2001 From: zhangning19 Date: Sun, 11 Aug 2024 00:58:02 +0800 Subject: [PATCH 07/10] fix docker build fail --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index dc7bf764..36dc5810 100644 --- a/Makefile +++ b/Makefile @@ -27,7 +27,7 @@ endif .PHONY: env env: poetry gen - poetry lock [--no-update] + poetry lock --no-update poetry install --all-extras poetry run pip install --upgrade pip From ffa937c57767e9191d264f5b58e28a613fa08e78 Mon Sep 17 00:00:00 2001 From: airbot-zn Date: Sun, 11 Aug 2024 01:08:17 +0800 Subject: [PATCH 08/10] fix docker build fail --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 9b0ae74c..5fb692a0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -68,7 +68,7 @@ sw-python = 'skywalking.bootstrap.cli.sw_python:start' [tool.poetry.dependencies] -python = ">=3.7" +python = ">=3.7, <4.0" grpcio = '*' grpcio-tools = '*' packaging = '*' From 4ff2466f461d3c708b801f41659ec8db2d765417 Mon Sep 17 00:00:00 2001 From: zhangning19 Date: Sun, 11 Aug 2024 01:24:05 +0800 Subject: [PATCH 09/10] fix docker build fail --- pyproject.toml | 2 +- tests/e2e/base/Dockerfile.e2e | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 5fb692a0..ad04ee20 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -126,7 +126,7 @@ requests = "*" [tool.poetry.group.plugins.dependencies] urllib3 = "1.26.7" aiohttp = "3.7.4" -celery = "5.1.2" +celery = "5.4.0" django = "3.2.8" elasticsearch = "7.15.1" flask = "2.0.2" diff --git a/tests/e2e/base/Dockerfile.e2e b/tests/e2e/base/Dockerfile.e2e index 99089ab0..a31db2fd 100644 --- a/tests/e2e/base/Dockerfile.e2e +++ b/tests/e2e/base/Dockerfile.e2e @@ -29,8 +29,6 @@ RUN cd /skywalking-python && apt-get update && apt-get install -y make && make i # Extra dependencies for e2e services RUN apt-get update \ - && apt-get purge -y --auto-remove gcc build-essential\ - && rm -rf /var/lib/apt/lists/* \ && apt-get install -y --no-install-recommends gcc build-essential\ && pip install uwsgi fastapi uvicorn aiohttp flask "Werkzeug<3" gunicorn From 731d2e53be6753d1519ebfda0680a4e2110c6f93 Mon Sep 17 00:00:00 2001 From: zhangning19 Date: Sun, 11 Aug 2024 01:34:44 +0800 Subject: [PATCH 10/10] celery dependencies python >=3.8 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index ad04ee20..cc1c7ab0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -68,7 +68,7 @@ sw-python = 'skywalking.bootstrap.cli.sw_python:start' [tool.poetry.dependencies] -python = ">=3.7, <4.0" +python = ">=3.8, <4.0" grpcio = '*' grpcio-tools = '*' packaging = '*'