Repository navigation
CH-300 feat: Upgrade official Argo chart, runtime and Python client - #888
Merged
Merged
Conversation
| created.append(result.name) | ||
| return result.name | ||
|
|
||
| def wait(name): |
| assert deleted.status_code in (200, 204, 404), deleted.text | ||
|
|
||
|
|
||
| def wait_for_success(api, name): |
afonsobspinto
marked this pull request as ready for review
October 28, 2026 14:51
filippomc
approved these changes
Nov 6, 2026
Collaborator
|
@copilot resolve the merge conflicts in this pull request |
# Conflicts: # tools/deployment-cli-tools/tests/test_helm.py Co-authored-by: filippomc <46561561+filippomc@users.noreply.github.com>
Contributor
Resolved the merge conflict and merged |
| from test import typing_utils | ||
|
|
||
|
|
||
| def _deserialize(data, klass): |
| @@ -0,0 +1,41 @@ | |||
| # coding: utf-8 | |||
|
|
|||
| import sys | |||
| @@ -0,0 +1,28 @@ | |||
| import unittest | |||
|
|
|||
| from flask import json | |||
| @@ -0,0 +1,28 @@ | |||
| import unittest | |||
|
|
|||
| from flask import json | |||
| import os | ||
| from pprint import pprint | ||
| import schemathesis as st | ||
| from schemathesis.checks import response_schema_conformance, not_a_server_error |
| import schemathesis as st | ||
| from schemathesis.checks import response_schema_conformance, not_a_server_error | ||
|
|
||
| from cloudharness_test import apitest_init # include to perform default authorization |
| @@ -0,0 +1,28 @@ | |||
| import unittest | |||
|
|
|||
| from flask import json | |||
| @@ -0,0 +1,147 @@ | |||
| import datetime | |||
|
|
|||
| import typing | |||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Disclaimer: Done by Codex
Closes https://metacell.atlassian.net/browse/CH-300
Closes https://metacell.atlassian.net/browse/CH-283
Changes
argo-serveraddress,argo-workflowsworkflow service account, namespace scope, server authentication mode and legacy pod-naming default. Explicit environment overrides still take precedence.getaccess for private-image entrypoint discovery without adding Secretlist/watch. Existing CloudHarness workflow service-account bindings remain unchanged.kubectl applyis needed with the default settings.--pod-workers.The PR also contains a separate commit correcting a pre-existing deployment CLI syntax error that blocked checks. A separate sample-task fix changes its command to
python /main.py $a $b: the sum script is copied to/main.py, while the inherited image working directory is/usr/src/app. The old command failed without Argo too.Deployment
Let existing PNS workflows finish before switching to Emissary. Generate and deploy through the normal CloudHarness flow, keeping Helm hooks enabled unless CRDs are managed externally.
Review consuming deployment values for old component image pins and removed executor settings. Update controller, server and executor together. In particular, MNP #1452's old image pins need a separate consuming-repository change before adopting this upgrade.
Self-reported progress
Self-reporting is optional. A task can publish a
completed/totalratio, for example:When using this feature, the file must contain the ratio format. Argo normally reports updates about once a minute; the result appears in
status.nodes[...].progressthrough the existing Workflow API. Reconciliation and application caching can add latency.How to test
ARGO_PROGRESS_FILE, keep the task running for at least a minute, and inspect its Workflow status.To run the samples application tests against a dedicated deployment generated from this branch, use
harness-test . -i samples -aandharness-test . -i samples -e -hl. Deploy its normal authentication, events, workflows and storage dependencies first. The new tests requireAPP_URLand use the configured test user; they skip when no deployment URL is provided.The live Kubernetes tests are opt-in. Setup and environment variables are in the test guide.
Validation
Tested with a disposable kind Kubernetes 1.31.9 cluster using the generated CloudHarness parent chart:
1/10and7/10at default reporting intervals, file output, success/failure exit handlers, logs and implicit image entrypoints.These checks exercise the existing CloudHarness contract. They do not exhaust every downstream custom Workflow or deployment-value override. Existing application deployments were not modified for this chart test.
Full local samples deployment
Built and deployed this branch's actual sample application, workflow service, task images, accounts, PostgreSQL, Kafka and common service in a disposable kind cluster. The deployed sample reported SDK 6.7.18 and used the official Argo 4.1.6 components.
2 + 3 = 5and-4 + 1 = -3.Local setup used single-node storage, a bounded Kafka CPU/memory limit and preloaded Docker images. Their commands were read from the built images and supplied through the official chart's
emissary.imagessetting; production registry access was not exercised by this run. These overrides remain outside the repository. The pre-existing NFS failover/multi-node suite was excluded, and no NFS code was changed.