-
Notifications
You must be signed in to change notification settings - Fork 38
free5gc blueprint packages: align SMF's Kpt pipeline with AMF and UPF #110
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
Conversation
- add another call of Kpt function nfdeploy-fn to pkg-example-smf-bp
blueprint package
- this allows the package to undergo final updates, executed by the final
run of this function, immediately
- rather than relying on having another pipeline run triggered by Porch pushing
a change to shuffle Kptfile fields around
- a result of inconsistent Kptfile parsing being improved as part of Porch issue
nephio-project/nephio#615
|
/approve We prob should do a few verify runs of both free5gc and oai |
|
Thanks, @efiacor. I've run the TEST SUMMARY (click to expand)The |
|
/approve |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: efiacor, JamesMcDermott The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
- was dependent on debugging to find and fix an issue in a test artefact - see nephio-project/catalog#110 - resolved performance degradation in packagevariant_controller - added too many calls to re-read package revisions or resources - should have it pared down to the minimum to work OK - detection of pipeline now works as intended to set the "waiting for pipeline run" readiness condition only if the package has a pipeline that will do anything in the render nephio-project/nephio#615
As in the AMF and UPF blueprints, add one more call of the
nfdeploy-fnkpt function at the end of the Kpt pipeline to make it become ready more reliably.When deploying the SMF blueprint package through Porch (for example, in the case of the free5gc test flow), the final mutations for the resulting downstream package revision to be ready (and eligible for propose-and-approve) are done by one last run of
nfdeploy-fn.Currently this last run occurs in the course of a Kpt render triggered by Porch performing one last update to the package revision's Kptfile, to reorganise several sections (without any actual changes to the content) including the order of fields and the sorting of the readiness conditions in the
status.conditionssection.I suspect Porch's current inconsistent handling of Kptfile structure (field order, condition sorting, etc.) has been concealing the reliance on a final Kpt render, by making Porch update the package revision frequently enough that it regularly triggers a render anyway causes that render's first run of
nfdeploy-fnto perform the required updates.However, ongoing work on Porch issue 615 includes improvements to Porch to make its parsing of Kptfiles more consistent and unified. This results in significantly fewer such "busywork" updates to the Kptfile, and correspondingly less chance of having an update trigger the Kpt render and perform the final mutations. As a consequence, the SMF package's deployment effectively becomes increasingly flaky (with the few successful deployments requiring a wait of anything from 5 to 20 minutes or a restart of Porch pods), and the free5gc test flow along with it.