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

[Epic] Managing data across deployments #2513

Open
5 of 6 tasks
Tracked by #2216
fridex opened this issue Apr 12, 2022 · 7 comments
Open
5 of 6 tasks
Tracked by #2216

[Epic] Managing data across deployments #2513

fridex opened this issue Apr 12, 2022 · 7 comments
Labels
kind/feature Categorizes issue or PR as related to a new feature. lifecycle/active Indicates that an issue or PR is actively being worked on by a contributor. sig/devsecops Categorizes an issue or PR as relevant to SIG DevSecOps. triage/accepted Indicates an issue or PR is ready to be actively worked on.

Comments

@fridex
Copy link
Contributor

fridex commented Apr 12, 2022

Is your feature request related to a problem? Please describe.

As Thoth operator, I would like to make sure data are properly managed across deployments. As of now, we use a staging environment to compute data (given the resources available) and propagate a database dump to prod environments. This situation proved to be not scalable long-term as production can write into the database as well and we can get out of sync easily. If we overwrite the prod environment with staging data, we can also lose some information.

One of the proposed solutions discussed was to do updates per-table. This solution can introduce overhead and possible inconsistencies we should avoid (ex. package entries in the database created by solvers can be overwritten by packages detected using container image analyses).


Another solution is to let syncs happen on the programming level. In other words, we could keep our background jobs that copy data from staging environment to production running (document-sync-job). In that case, the job places documents on ceph in the production environment. A subsequent graph-sync job can sync these data into the database so that they are available in prod (even if they were computed in the staging environment). This approach seems to be scalable and might require less maintenance.

Additional Info:
Epic: #2216

@fridex fridex added the kind/feature Categorizes issue or PR as related to a new feature. label Apr 12, 2022
@sesheta sesheta added the needs-triage Indicates an issue or PR lacks a `triage/...` label and requires one. label Apr 12, 2022
@fridex
Copy link
Contributor Author

fridex commented Apr 12, 2022

CC @Gregory-Pereira @harshad16

@harshad16
Copy link
Member

Thank you @fridex for the issue with all details

@harshad16
Copy link
Member

/label sig-devsecops

@sesheta
Copy link
Member

sesheta commented Apr 12, 2022

@harshad16: The label(s) /label sig-devsecops cannot be applied. These labels are supported: community/discussion, community/group-programming, community/maintenance, community/question, deployment_name/ocp4-stage, deployment_name/ocp4-test, deployment_name/moc-prod, hacktoberfest, hacktoberfest-accepted, kind/cleanup, kind/demo, kind/deprecation, kind/documentation, kind/question, sig/advisor, sig/build, sig/cyborgs, sig/devops, sig/documentation, sig/indicators, sig/investigator, sig/knowledge-graph, sig/slo, sig/solvers, thoth/group-programming, thoth/human-intervention-required, thoth/potential-observation, tide/merge-method-merge, tide/merge-method-rebase, tide/merge-method-squash, triage/accepted, triage/duplicate, triage/needs-information, triage/not-reproducible, triage/unresolved, lifecycle/submission-accepted, lifecycle/submission-rejected

In response to this:

/label sig-devsecops

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@harshad16
Copy link
Member

/label sig/devops
/triage accepted

@sesheta
Copy link
Member

sesheta commented Apr 12, 2022

@harshad16: The label(s) sig/devops cannot be applied, because the repository doesn't have them.

In response to this:

/label sig/devops
/triage accepted

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@sesheta sesheta added triage/accepted Indicates an issue or PR is ready to be actively worked on. and removed needs-triage Indicates an issue or PR lacks a `triage/...` label and requires one. labels Apr 12, 2022
@harshad16 harshad16 added the sig/devsecops Categorizes an issue or PR as relevant to SIG DevSecOps. label Apr 12, 2022
@Gregory-Pereira
Copy link
Member

* [ ]  make sure the sync-job uses the adjusted method and we can turn the job into a cronworkflow that periodically syncs data into the database (multiple sync jobs can be part of the cronworkflow to support parallel syncs)

I think Maya's current PR should update everything in such a way in storages that the only changes needed in the sync-job are to bump the version for storages once it goes through, and construct a CronWorkflow from the CronJob template in openshift.yaml.

@harshad16 harshad16 changed the title Managing data across deployments [13pt] Managing data across deployments Apr 28, 2022
@harshad16 harshad16 added the lifecycle/active Indicates that an issue or PR is actively being worked on by a contributor. label Apr 28, 2022
@harshad16 harshad16 changed the title [13pt] Managing data across deployments [Epic] Managing data across deployments May 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. lifecycle/active Indicates that an issue or PR is actively being worked on by a contributor. sig/devsecops Categorizes an issue or PR as relevant to SIG DevSecOps. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
Status: 🔖 Next
Status: 🗺 Epics
Development

No branches or pull requests

4 participants