| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat(yrcli): let sandbox create configure access paths Sandbox creation from yrcli now carries the same image, port-forwarding, and reverse-tunnel controls exposed by the SDK while preserving quiet non-TTY exec output for scripted usage. The SDK path remains preferred so local tunnel clients can run on the caller host; the frontend fallback carries port forwarding only. Docker AIO now provides the runtime service payload through the configured sandbox rootfs for both py39 and py310, matching yrcli's default runtime and allowing port routes to be registered during local end-to-end verification. Constraint: reverse tunnel upstreams require a local TunnelClient and cannot be faithfully created by the remote frontend fallback Rejected: Pretend frontend fallback supports --upstream | it cannot reach the caller-local upstream service Confidence: high Scope-risk: moderate Tested: python3.10 -m pytest -q api/python/yr/tests/test_cli_scripts.py deploy/sandbox/docker/tests/test_aio_layout.py Tested: python3.10 -m py_compile api/python/yr/cli/exec.py api/python/yr/cli/scripts.py test/st/off_cluster/test_yrcli_sandbox_access_paths.py Tested: bash test/st/off_cluster/run_docker_verify.sh Not-tested: remote Kubernetes cluster verification for this final Docker AIO adjustment Signed-off-by: yuchaow <wangyuchao12@huawei.com> | 1 个月前 | |
test(sandbox): Prove off-cluster yrcli paths from built wheels Off-cluster verification was easy to run with a stale yrcli or the wrong Python interpreter when PATH, conda, and system Python all provided different entrypoints. Make the verification scripts create a clean uv venv from the freshly built output wheels by default, then run pytest and yrcli through that interpreter. The Docker AIO image build also needs the k8s control-plane start scripts staged under output before the build context is assembled, so the verification script can rebuild from a clean tree. FaaS coverage now bootstraps the required Python language runtime before deploying a user function, keeps plain-HTTP Docker AIO tests from inheriting HTTPS-only YR_INSECURE settings, and verifies deploy/query/invoke/delete instead of skipping unavailable functions. The ObjectRef and instance-argument off-cluster cases stay in the suite because Docker AIO verification now proves they are supported. FunctionName now preserves single-segment system runtime functions such as 0-system-faasExecutorPython3.10 instead of formatting them as None@None. Function API URLs intentionally keep the existing raw path construction because the frontend routes expect the current function-name shape. Constraint: Verification must exercise the generated wheels instead of the source tree or a preexisting yrcli executable. Rejected: Rely on PATH discovery for yrcli | it can pick a stale executable with a broken shebang or mismatched Python. Rejected: Quote function names in CLI URLs | existing frontend routes consume raw function path segments, and function names do not need quote escaping here. Confidence: high Scope-risk: moderate Directive: Keep off-cluster verification pinned to the freshly built wheels unless intentionally testing source-tree imports. Tested: docker exec -u "1000:1000" -e HOME=/home/wyc compile bash -lc "cd /home/wyc/code/sandbox && bash build.sh -P -p python3.10 -j 8" Tested: YR_ENABLE_TLS=false YR_LOG_LEVEL=INFO YR_OFF_CLUSTER_TEST_TIMEOUT=900 bash test/st/run_off_cluster_test.sh -a 127.0.0.1:38888 -p /usr/bin/python3.10 -- -q -rs Tested: python3 -m py_compile api/python/yr/cli/scripts.py test/st/python/test_off_cluster.py Tested: /tmp/yr-offcluster-venv/bin/python -m pytest -q api/python/yr/tests/test_cli_scripts.py Signed-off-by: yuchaow <wangyuchao12@huawei.com> | 1 个月前 | |
test(sandbox): Prove off-cluster yrcli paths from built wheels Off-cluster verification was easy to run with a stale yrcli or the wrong Python interpreter when PATH, conda, and system Python all provided different entrypoints. Make the verification scripts create a clean uv venv from the freshly built output wheels by default, then run pytest and yrcli through that interpreter. The Docker AIO image build also needs the k8s control-plane start scripts staged under output before the build context is assembled, so the verification script can rebuild from a clean tree. FaaS coverage now bootstraps the required Python language runtime before deploying a user function, keeps plain-HTTP Docker AIO tests from inheriting HTTPS-only YR_INSECURE settings, and verifies deploy/query/invoke/delete instead of skipping unavailable functions. The ObjectRef and instance-argument off-cluster cases stay in the suite because Docker AIO verification now proves they are supported. FunctionName now preserves single-segment system runtime functions such as 0-system-faasExecutorPython3.10 instead of formatting them as None@None. Function API URLs intentionally keep the existing raw path construction because the frontend routes expect the current function-name shape. Constraint: Verification must exercise the generated wheels instead of the source tree or a preexisting yrcli executable. Rejected: Rely on PATH discovery for yrcli | it can pick a stale executable with a broken shebang or mismatched Python. Rejected: Quote function names in CLI URLs | existing frontend routes consume raw function path segments, and function names do not need quote escaping here. Confidence: high Scope-risk: moderate Directive: Keep off-cluster verification pinned to the freshly built wheels unless intentionally testing source-tree imports. Tested: docker exec -u "1000:1000" -e HOME=/home/wyc compile bash -lc "cd /home/wyc/code/sandbox && bash build.sh -P -p python3.10 -j 8" Tested: YR_ENABLE_TLS=false YR_LOG_LEVEL=INFO YR_OFF_CLUSTER_TEST_TIMEOUT=900 bash test/st/run_off_cluster_test.sh -a 127.0.0.1:38888 -p /usr/bin/python3.10 -- -q -rs Tested: python3 -m py_compile api/python/yr/cli/scripts.py test/st/python/test_off_cluster.py Tested: /tmp/yr-offcluster-venv/bin/python -m pytest -q api/python/yr/tests/test_cli_scripts.py Signed-off-by: yuchaow <wangyuchao12@huawei.com> | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 |