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

Splitting up deployment play»book« into roles and smaller playbooks #616

Open
7 tasks
mfocko opened this issue Nov 28, 2024 · 0 comments
Open
7 tasks
Assignees
Labels
complexity/epic Lost of work ahead, planning/design required. kind/refactor Technical debt - the code needs love.

Comments

@mfocko
Copy link
Member

mfocko commented Nov 28, 2024

Outcome of the arch discussion from today.

Separate points of discussion

  • Fedora-source-git & stream deployments are no longer used, since they are not deployed and we currently don't even plan on deploying them (we would need to request another CMDB entry, ESS, MP+ namespaces, etc.) let's remove them
    • the files will be kept in the history anyways
    • we can also simplify the structure of our variables
  • «Wait for …» — currently somewhat broken, expects the CLI to be switched to the correct project + does not really make sense to be present in the playbook?
    • Testing Farm deployment tests depend on this, could be just moved around
    • Usefulness during manual deployments is questionable…
    • We could probably keep it as an optional thing via tag / variable, such as wait/blocking
  • Variable mess — they should be, ideally, tied to the related k8s objects, but they’re global…
    • global variables (API, project, etc.) should be global…
    • deployment-specific variables (resources for workers, scaling of workers, etc.) should be deployment-specific; related to the next point
  • Tight coupling of k8s definitions — right now everything per deployment is in one file (deployment, route, volume, etc.); splitting up could result in less frequent redeployment on the OpenShift side when deploying manually (also allows for better “monitoring” ok/changed), but at the same time implodes the amount of k8s definitions in the repository (better directory structure would be definitely needed)

TODO

Notes

  • Keep in mind testing on the TF when refactoring.
  • Create PRs against deployment's upstream (so that we can test changes on the Testing Farm; for security reasons, it is required to have the branch in a repo where team has write access)
@mfocko mfocko added complexity/epic Lost of work ahead, planning/design required. kind/refactor Technical debt - the code needs love. labels Nov 28, 2024
@mfocko mfocko self-assigned this Nov 28, 2024
@mfocko mfocko moved this from new to backlog in Packit Kanban Board Nov 28, 2024
@mfocko mfocko changed the title Splitting up deployment play**book** into roles and smaller playbooks Splitting up deployment play»book« into roles and smaller playbooks Nov 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
complexity/epic Lost of work ahead, planning/design required. kind/refactor Technical debt - the code needs love.
Projects
Status: backlog
Development

No branches or pull requests

1 participant