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

Replace Go model generation for openshift-model-config #6258

Closed
manusa opened this issue Aug 14, 2024 · 1 comment · Fixed by #6330 or #6383
Closed

Replace Go model generation for openshift-model-config #6258

manusa opened this issue Aug 14, 2024 · 1 comment · Fixed by #6330 or #6383
Assignees
Labels
component/openshift-model Deals with Red Hat OpenShift Model
Milestone

Comments

@manusa
Copy link
Member

manusa commented Aug 14, 2024

Description

Part of #6130

Replace model generation for openshift-model-config module with new OpenAPI approach.

Note

For OpenShift models there are going to be multiple conflicts with the previously generated code.
The openapi-generator won't reuse some of the types since OpenShift's OpenAPI spec hasn't got shared references and model types are defined inline.

Tasks

  • Remove build-helper-maven-plugin
  • Remove maven-antrun-plugin from the generate profile
  • Add openapi-model-generator-maven-plugin to the generate profile
  • Configure the plugin to generate the specific classes
  • Remove the go-related files and directories (Makefile, cmd)
  • Remove invocation from the generateModel.sh script
@manusa manusa added the component/kubernetes-model Deals with the kubernetes-model label Aug 14, 2024
@manusa manusa added this to the 7.0.0 milestone Aug 14, 2024
@manusa manusa added component/openshift-model Deals with Red Hat OpenShift Model and removed component/kubernetes-model Deals with the kubernetes-model labels Aug 14, 2024
@manusa manusa moved this to In Progress in Eclipse JKube Aug 30, 2024
@manusa manusa self-assigned this Aug 30, 2024
@manusa
Copy link
Member Author

manusa commented Aug 30, 2024

Problems with Sundrio generation (same as for kubernetes-model-kustomize #6189/#6312 and kubernetes-model-resource #6188/#6257).

Some fields have no type and get declared as private KubernetesResource fieldName;.
When Sundrio generates the builder for these classes, some builder methods (withXxxx) get duplicate (besides the amount of time it takes to generate).
In this case, it's specially disturbing since some of this fields include the generic spec and status field. (for example in APIServer, ClusterServer, and a few others)

We can try to fix this downstream just like we did for kutomize and model-resource. However, in this case it might not be that easy and will probably limit the functionality of the builder.
A solution should be found upstream.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment