{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":662724564,"defaultBranch":"main","name":"rhods-operator","ownerLogin":"red-hat-data-services","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2023-07-05T18:44:16.000Z","ownerAvatar":"https://github.com/avatars/u/72153467?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726537986.0","currentOid":""},"activityList":{"items":[{"before":"b9a1b3d91fcd6ce774bcf9f4eeddaf1f13932749","after":"166cc19a85ae1eef5f2eff303af13f69fc64ccd7","ref":"refs/heads/rhoai-2.14","pushedAt":"2024-09-27T01:32:37.000Z","pushType":"push","commitsCount":16,"pusher":{"login":"rhods-devops-app[bot]","name":null,"path":"/apps/rhods-devops-app","primaryAvatarUrl":"https://github.com/avatars/in/323671?s=80&v=4"},"commit":{"message":"Update config/monitoring/prometheus/apps/prometheus-configs.yaml\n\nCo-authored-by: Dhiraj Bokde ","shortMessageHtmlLink":"Update config/monitoring/prometheus/apps/prometheus-configs.yaml"}},{"before":"b9a1b3d91fcd6ce774bcf9f4eeddaf1f13932749","after":"166cc19a85ae1eef5f2eff303af13f69fc64ccd7","ref":"refs/heads/rhoai-2.15","pushedAt":"2024-09-27T01:32:36.000Z","pushType":"push","commitsCount":16,"pusher":{"login":"rhods-devops-app[bot]","name":null,"path":"/apps/rhods-devops-app","primaryAvatarUrl":"https://github.com/avatars/in/323671?s=80&v=4"},"commit":{"message":"Update config/monitoring/prometheus/apps/prometheus-configs.yaml\n\nCo-authored-by: Dhiraj Bokde ","shortMessageHtmlLink":"Update config/monitoring/prometheus/apps/prometheus-configs.yaml"}},{"before":"b9a1b3d91fcd6ce774bcf9f4eeddaf1f13932749","after":"166cc19a85ae1eef5f2eff303af13f69fc64ccd7","ref":"refs/heads/rhoai-2.16","pushedAt":"2024-09-27T01:32:34.000Z","pushType":"push","commitsCount":16,"pusher":{"login":"rhods-devops-app[bot]","name":null,"path":"/apps/rhods-devops-app","primaryAvatarUrl":"https://github.com/avatars/in/323671?s=80&v=4"},"commit":{"message":"Update config/monitoring/prometheus/apps/prometheus-configs.yaml\n\nCo-authored-by: Dhiraj Bokde ","shortMessageHtmlLink":"Update config/monitoring/prometheus/apps/prometheus-configs.yaml"}},{"before":"b9a1b3d91fcd6ce774bcf9f4eeddaf1f13932749","after":"166cc19a85ae1eef5f2eff303af13f69fc64ccd7","ref":"refs/heads/main","pushedAt":"2024-09-26T17:23:10.000Z","pushType":"pr_merge","commitsCount":16,"pusher":{"login":"openshift-merge-bot[bot]","name":null,"path":"/apps/openshift-merge-bot","primaryAvatarUrl":"https://github.com/avatars/in/412865?s=80&v=4"},"commit":{"message":"Update config/monitoring/prometheus/apps/prometheus-configs.yaml\n\nCo-authored-by: Dhiraj Bokde ","shortMessageHtmlLink":"Update config/monitoring/prometheus/apps/prometheus-configs.yaml"}},{"before":"e6de652364dfd59d9fdebe35734115a6afdc7472","after":"b9a1b3d91fcd6ce774bcf9f4eeddaf1f13932749","ref":"refs/heads/rhoai-2.16","pushedAt":"2024-09-26T02:16:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rhods-devops-app[bot]","name":null,"path":"/apps/rhods-devops-app","primaryAvatarUrl":"https://github.com/avatars/in/323671?s=80&v=4"},"commit":{"message":"fix: update DSC/DSCI .status.release not depend on other's reconcile (#1248)\n\n- when we do not have e.g dependent operators installed, we should have .status.release info as well\n- previous problem is, status update is in the end when reconcile on DSC/DSCI is finished, which can\n lead to a init value 0.0.0 and dashboard set to 0.0.0 to \"About Modal\"\n\nSigned-off-by: Wen Zhou \n(cherry picked from commit ac13beed0cac728186476ee5b2d11ec59da09245)","shortMessageHtmlLink":"fix: update DSC/DSCI .status.release not depend on other's reconcile (o…"}},{"before":"e6de652364dfd59d9fdebe35734115a6afdc7472","after":"b9a1b3d91fcd6ce774bcf9f4eeddaf1f13932749","ref":"refs/heads/rhoai-2.14","pushedAt":"2024-09-26T02:16:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rhods-devops-app[bot]","name":null,"path":"/apps/rhods-devops-app","primaryAvatarUrl":"https://github.com/avatars/in/323671?s=80&v=4"},"commit":{"message":"fix: update DSC/DSCI .status.release not depend on other's reconcile (#1248)\n\n- when we do not have e.g dependent operators installed, we should have .status.release info as well\n- previous problem is, status update is in the end when reconcile on DSC/DSCI is finished, which can\n lead to a init value 0.0.0 and dashboard set to 0.0.0 to \"About Modal\"\n\nSigned-off-by: Wen Zhou \n(cherry picked from commit ac13beed0cac728186476ee5b2d11ec59da09245)","shortMessageHtmlLink":"fix: update DSC/DSCI .status.release not depend on other's reconcile (o…"}},{"before":"e6de652364dfd59d9fdebe35734115a6afdc7472","after":"b9a1b3d91fcd6ce774bcf9f4eeddaf1f13932749","ref":"refs/heads/rhoai-2.15","pushedAt":"2024-09-26T02:16:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rhods-devops-app[bot]","name":null,"path":"/apps/rhods-devops-app","primaryAvatarUrl":"https://github.com/avatars/in/323671?s=80&v=4"},"commit":{"message":"fix: update DSC/DSCI .status.release not depend on other's reconcile (#1248)\n\n- when we do not have e.g dependent operators installed, we should have .status.release info as well\n- previous problem is, status update is in the end when reconcile on DSC/DSCI is finished, which can\n lead to a init value 0.0.0 and dashboard set to 0.0.0 to \"About Modal\"\n\nSigned-off-by: Wen Zhou \n(cherry picked from commit ac13beed0cac728186476ee5b2d11ec59da09245)","shortMessageHtmlLink":"fix: update DSC/DSCI .status.release not depend on other's reconcile (o…"}},{"before":"e6de652364dfd59d9fdebe35734115a6afdc7472","after":"b9a1b3d91fcd6ce774bcf9f4eeddaf1f13932749","ref":"refs/heads/main","pushedAt":"2024-09-25T20:27:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"openshift-merge-bot[bot]","name":null,"path":"/apps/openshift-merge-bot","primaryAvatarUrl":"https://github.com/avatars/in/412865?s=80&v=4"},"commit":{"message":"fix: update DSC/DSCI .status.release not depend on other's reconcile (#1248)\n\n- when we do not have e.g dependent operators installed, we should have .status.release info as well\n- previous problem is, status update is in the end when reconcile on DSC/DSCI is finished, which can\n lead to a init value 0.0.0 and dashboard set to 0.0.0 to \"About Modal\"\n\nSigned-off-by: Wen Zhou \n(cherry picked from commit ac13beed0cac728186476ee5b2d11ec59da09245)","shortMessageHtmlLink":"fix: update DSC/DSCI .status.release not depend on other's reconcile (o…"}},{"before":"a778be3565137bef2bd8c6d14c3353dbdfd756c4","after":"e6de652364dfd59d9fdebe35734115a6afdc7472","ref":"refs/heads/rhoai-2.16","pushedAt":"2024-09-24T02:17:15.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"rhods-devops-app[bot]","name":null,"path":"/apps/rhods-devops-app","primaryAvatarUrl":"https://github.com/avatars/in/323671?s=80&v=4"},"commit":{"message":"Added missing RHOAI-related keywords to the operator bundle CSV","shortMessageHtmlLink":"Added missing RHOAI-related keywords to the operator bundle CSV"}},{"before":"a778be3565137bef2bd8c6d14c3353dbdfd756c4","after":"e6de652364dfd59d9fdebe35734115a6afdc7472","ref":"refs/heads/rhoai-2.15","pushedAt":"2024-09-24T02:17:15.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"rhods-devops-app[bot]","name":null,"path":"/apps/rhods-devops-app","primaryAvatarUrl":"https://github.com/avatars/in/323671?s=80&v=4"},"commit":{"message":"Added missing RHOAI-related keywords to the operator bundle CSV","shortMessageHtmlLink":"Added missing RHOAI-related keywords to the operator bundle CSV"}},{"before":"a778be3565137bef2bd8c6d14c3353dbdfd756c4","after":"e6de652364dfd59d9fdebe35734115a6afdc7472","ref":"refs/heads/rhoai-2.14","pushedAt":"2024-09-24T02:17:12.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"rhods-devops-app[bot]","name":null,"path":"/apps/rhods-devops-app","primaryAvatarUrl":"https://github.com/avatars/in/323671?s=80&v=4"},"commit":{"message":"Added missing RHOAI-related keywords to the operator bundle CSV","shortMessageHtmlLink":"Added missing RHOAI-related keywords to the operator bundle CSV"}},{"before":"85b8dabe6c76150e5b422182a579b18b35718ed3","after":"e6de652364dfd59d9fdebe35734115a6afdc7472","ref":"refs/heads/main","pushedAt":"2024-09-23T15:32:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"openshift-merge-bot[bot]","name":null,"path":"/apps/openshift-merge-bot","primaryAvatarUrl":"https://github.com/avatars/in/412865?s=80&v=4"},"commit":{"message":"Added missing RHOAI-related keywords to the operator bundle CSV","shortMessageHtmlLink":"Added missing RHOAI-related keywords to the operator bundle CSV"}},{"before":"6bd032cacef2f382d6a0ffb2fa52b6864df9352c","after":"85b8dabe6c76150e5b422182a579b18b35718ed3","ref":"refs/heads/main","pushedAt":"2024-09-23T14:00:47.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"openshift-merge-bot[bot]","name":null,"path":"/apps/openshift-merge-bot","primaryAvatarUrl":"https://github.com/avatars/in/412865?s=80&v=4"},"commit":{"message":"tests: added kubeflow notebook controller alert unit tests","shortMessageHtmlLink":"tests: added kubeflow notebook controller alert unit tests"}},{"before":"3257e89a0936ec6fd7175cf1e10f395d7cc60de5","after":"6bd032cacef2f382d6a0ffb2fa52b6864df9352c","ref":"refs/heads/main","pushedAt":"2024-09-23T14:00:40.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"openshift-merge-bot[bot]","name":null,"path":"/apps/openshift-merge-bot","primaryAvatarUrl":"https://github.com/avatars/in/412865?s=80&v=4"},"commit":{"message":"test: added unit tests for training operator","shortMessageHtmlLink":"test: added unit tests for training operator"}},{"before":"a778be3565137bef2bd8c6d14c3353dbdfd756c4","after":"3257e89a0936ec6fd7175cf1e10f395d7cc60de5","ref":"refs/heads/main","pushedAt":"2024-09-23T14:00:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"openshift-merge-bot[bot]","name":null,"path":"/apps/openshift-merge-bot","primaryAvatarUrl":"https://github.com/avatars/in/412865?s=80&v=4"},"commit":{"message":"test: added unit tests for codeflare","shortMessageHtmlLink":"test: added unit tests for codeflare"}},{"before":"b5902ba114788e95b8cda68e5a63207fe52a41d6","after":"a778be3565137bef2bd8c6d14c3353dbdfd756c4","ref":"refs/heads/rhoai-2.16","pushedAt":"2024-09-21T02:11:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rhods-devops-app[bot]","name":null,"path":"/apps/rhods-devops-app","primaryAvatarUrl":"https://github.com/avatars/in/323671?s=80&v=4"},"commit":{"message":"fix: allow admin to login to operator pod from OCM Web Terminal\n\n- this was blocked perviously by networkpolicy so user has to be do this\nby CLI\n\nSigned-off-by: Wen Zhou ","shortMessageHtmlLink":"fix: allow admin to login to operator pod from OCM Web Terminal"}},{"before":"b5902ba114788e95b8cda68e5a63207fe52a41d6","after":"a778be3565137bef2bd8c6d14c3353dbdfd756c4","ref":"refs/heads/rhoai-2.15","pushedAt":"2024-09-21T02:11:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rhods-devops-app[bot]","name":null,"path":"/apps/rhods-devops-app","primaryAvatarUrl":"https://github.com/avatars/in/323671?s=80&v=4"},"commit":{"message":"fix: allow admin to login to operator pod from OCM Web Terminal\n\n- this was blocked perviously by networkpolicy so user has to be do this\nby CLI\n\nSigned-off-by: Wen Zhou ","shortMessageHtmlLink":"fix: allow admin to login to operator pod from OCM Web Terminal"}},{"before":"b5902ba114788e95b8cda68e5a63207fe52a41d6","after":"a778be3565137bef2bd8c6d14c3353dbdfd756c4","ref":"refs/heads/rhoai-2.14","pushedAt":"2024-09-21T02:11:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rhods-devops-app[bot]","name":null,"path":"/apps/rhods-devops-app","primaryAvatarUrl":"https://github.com/avatars/in/323671?s=80&v=4"},"commit":{"message":"fix: allow admin to login to operator pod from OCM Web Terminal\n\n- this was blocked perviously by networkpolicy so user has to be do this\nby CLI\n\nSigned-off-by: Wen Zhou ","shortMessageHtmlLink":"fix: allow admin to login to operator pod from OCM Web Terminal"}},{"before":"b5902ba114788e95b8cda68e5a63207fe52a41d6","after":"a778be3565137bef2bd8c6d14c3353dbdfd756c4","ref":"refs/heads/main","pushedAt":"2024-09-20T09:27:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"openshift-merge-bot[bot]","name":null,"path":"/apps/openshift-merge-bot","primaryAvatarUrl":"https://github.com/avatars/in/412865?s=80&v=4"},"commit":{"message":"fix: allow admin to login to operator pod from OCM Web Terminal\n\n- this was blocked perviously by networkpolicy so user has to be do this\nby CLI\n\nSigned-off-by: Wen Zhou ","shortMessageHtmlLink":"fix: allow admin to login to operator pod from OCM Web Terminal"}},{"before":"b5f3b2d0b93c62a7d372713c01f58abf9a7cd2cc","after":"b5902ba114788e95b8cda68e5a63207fe52a41d6","ref":"refs/heads/rhoai-2.14","pushedAt":"2024-09-19T02:14:19.000Z","pushType":"push","commitsCount":27,"pusher":{"login":"rhods-devops-app[bot]","name":null,"path":"/apps/rhods-devops-app","primaryAvatarUrl":"https://github.com/avatars/in/323671?s=80&v=4"},"commit":{"message":"chore: remove UPDATE from webhook operation list (#1134)\n\n* chore: disable message from webhook when DSC/DSCI gets UPDATE\n\nSigned-off-by: Wen Zhou \n\n* update: remove UPDATE from operation list because we do not handle it\n\n- keep \"default\" in switch-case to satisfy staticcheck\n- add initial to convert Allowed to \"true\" for pass thro\n\nSigned-off-by: Wen Zhou \n\n---------\n\nSigned-off-by: Wen Zhou \n(cherry picked from commit b58ab82635ed49f2396a4edc7605b951a408c28a)","shortMessageHtmlLink":"chore: remove UPDATE from webhook operation list (opendatahub-io#1134)"}},{"before":"b5f3b2d0b93c62a7d372713c01f58abf9a7cd2cc","after":"b5902ba114788e95b8cda68e5a63207fe52a41d6","ref":"refs/heads/rhoai-2.16","pushedAt":"2024-09-19T02:14:15.000Z","pushType":"push","commitsCount":27,"pusher":{"login":"rhods-devops-app[bot]","name":null,"path":"/apps/rhods-devops-app","primaryAvatarUrl":"https://github.com/avatars/in/323671?s=80&v=4"},"commit":{"message":"chore: remove UPDATE from webhook operation list (#1134)\n\n* chore: disable message from webhook when DSC/DSCI gets UPDATE\n\nSigned-off-by: Wen Zhou \n\n* update: remove UPDATE from operation list because we do not handle it\n\n- keep \"default\" in switch-case to satisfy staticcheck\n- add initial to convert Allowed to \"true\" for pass thro\n\nSigned-off-by: Wen Zhou \n\n---------\n\nSigned-off-by: Wen Zhou \n(cherry picked from commit b58ab82635ed49f2396a4edc7605b951a408c28a)","shortMessageHtmlLink":"chore: remove UPDATE from webhook operation list (opendatahub-io#1134)"}},{"before":"b5f3b2d0b93c62a7d372713c01f58abf9a7cd2cc","after":"b5902ba114788e95b8cda68e5a63207fe52a41d6","ref":"refs/heads/rhoai-2.15","pushedAt":"2024-09-19T02:14:11.000Z","pushType":"push","commitsCount":27,"pusher":{"login":"rhods-devops-app[bot]","name":null,"path":"/apps/rhods-devops-app","primaryAvatarUrl":"https://github.com/avatars/in/323671?s=80&v=4"},"commit":{"message":"chore: remove UPDATE from webhook operation list (#1134)\n\n* chore: disable message from webhook when DSC/DSCI gets UPDATE\n\nSigned-off-by: Wen Zhou \n\n* update: remove UPDATE from operation list because we do not handle it\n\n- keep \"default\" in switch-case to satisfy staticcheck\n- add initial to convert Allowed to \"true\" for pass thro\n\nSigned-off-by: Wen Zhou \n\n---------\n\nSigned-off-by: Wen Zhou \n(cherry picked from commit b58ab82635ed49f2396a4edc7605b951a408c28a)","shortMessageHtmlLink":"chore: remove UPDATE from webhook operation list (opendatahub-io#1134)"}},{"before":"78d42fdcacf7d4c6866abbbd39d1d86c9958cbff","after":"b5902ba114788e95b8cda68e5a63207fe52a41d6","ref":"refs/heads/main","pushedAt":"2024-09-18T09:57:57.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"openshift-merge-bot[bot]","name":null,"path":"/apps/openshift-merge-bot","primaryAvatarUrl":"https://github.com/avatars/in/412865?s=80&v=4"},"commit":{"message":"chore: remove UPDATE from webhook operation list (#1134)\n\n* chore: disable message from webhook when DSC/DSCI gets UPDATE\n\nSigned-off-by: Wen Zhou \n\n* update: remove UPDATE from operation list because we do not handle it\n\n- keep \"default\" in switch-case to satisfy staticcheck\n- add initial to convert Allowed to \"true\" for pass thro\n\nSigned-off-by: Wen Zhou \n\n---------\n\nSigned-off-by: Wen Zhou \n(cherry picked from commit b58ab82635ed49f2396a4edc7605b951a408c28a)","shortMessageHtmlLink":"chore: remove UPDATE from webhook operation list (opendatahub-io#1134)"}},{"before":"b5f3b2d0b93c62a7d372713c01f58abf9a7cd2cc","after":"78d42fdcacf7d4c6866abbbd39d1d86c9958cbff","ref":"refs/heads/main","pushedAt":"2024-09-18T07:32:14.000Z","pushType":"pr_merge","commitsCount":24,"pusher":{"login":"openshift-merge-bot[bot]","name":null,"path":"/apps/openshift-merge-bot","primaryAvatarUrl":"https://github.com/avatars/in/412865?s=80&v=4"},"commit":{"message":"Update api docs","shortMessageHtmlLink":"Update api docs"}},{"before":null,"after":"b5f3b2d0b93c62a7d372713c01f58abf9a7cd2cc","ref":"refs/heads/rhoai-2.16","pushedAt":"2024-09-17T01:53:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rhods-devops-app[bot]","name":null,"path":"/apps/rhods-devops-app","primaryAvatarUrl":"https://github.com/avatars/in/323671?s=80&v=4"},"commit":{"message":"DSC, DSCI: add validating webhook (#711)\n\nJira: https://issues.redhat.com/browse/RHOAIENG-4268\n\nThis patch reverts\n\n528801571f00 (\"Revert \"DSC, DSCI: add validating webhook (#711)\"\")\n\n* webhook: add initial skeleton\n\nOriginally it was generated with\n\n```operator-sdk create webhook --group datasciencecluster --version v1 --kind DataScienceCluster --programmatic-validation```\n\nbut webhook.Validator interface (like described in the kubebuilder\nbook[1]) does not work well for the purpose of the webhook due to\nneeds to access openshift cluster (client.Client) to check existing\ninstances of DSC.\n\nSo, direct implementation of Handler was done inspired by [2] and\nodh-notebooks implementation [3].\n\nMove it from api package closer to controllers as in [3] as well\nsince it's not DataScienceCluster or DSCInitialization extention\nanymore. Amend webhook_suite_test.go's path to configs accordingly.\n\nFix linter issues in webhook_suite_test.go:\n- disable ssl check;\n- move to package webhook_test\n\ncertmanager files removed too due to usage of OpenShift service\nserving certificates[4] (see also\nservice.beta.openshift.io/inject-cabundle annotation in\nconfig/webhook/kustomization.yaml).\n\nAdd webhook generation to `make manifests` target so\nwebhook/manifests.yaml is generated with it.\n\nSince DSCI creation now requires webhook it should be delayed after\nmanager started. Move it to a closure and add it to the manager for\nrun with Add() API. It requires explicit declaration of the\ninterface variable otherwise complains about type mismatch for the\nfunction literal.\n\n[1] https://book.kubebuilder.io/cronjob-tutorial/webhook-implementation\n[2] https://book-v1.book.kubebuilder.io/beyond_basics/sample_webhook.html\n[3] https://github.com/opendatahub-io/kubeflow/blob/v1.7-branch/components/odh-notebook-controller/controllers/notebook_webhook.go\n[4] https://docs.openshift.com/container-platform/4.9/security/certificates/service-serving-certificate.html\n\nSigned-off-by: Yauheni Kaliuta \n\n* webhook: implement one instance enforcing\n\nThe webhook is written with the idea to handle both Create and\nUpdate requests (configured in config/webhook/manifests.yaml), but\nat the moment only duplication check on Create is implemented.\n\nImplements the logic which is done now on reconcile time [1] (same\nfor DSCI).\n\nIt checks for 0 instances, not 1, since when the webhook is running\nthe object has not been created yet. Means if it's 1 then it handles\nrequest to create a second one.\n\nIt could be probably possible to use generics but does not make a\nlot of sense for such a simple case.\n\nCloses: #693\n\n[1] https://github.com/opendatahub-io/opendatahub-operator/blob/incubation/controllers/datasciencecluster/datasciencecluster_controller.go#L98\n\nSigned-off-by: Yauheni Kaliuta \n\n* tests: add tests to check duplication blocking\n\nAdd both envtest and e2e tests of a second DataScienceCluster\ninstance creation blocking.\n\nenvtest's one is a part of webhook test suite.\n\ne2e:\n\nAdd `name` parameter to setupDSCInstance() function to reuse it.\n\nUse require.Error() as the assertion, shorter and more straight\nlogic than implementing it in the test itself.\n\nAdd e2e test to check DSCInitialization similar way.\n\nSigned-off-by: Yauheni Kaliuta \n\n* tests: e2e: refactor duplication tests in more abstract way\n\nFactor out common code using Unstructured/List objects.\n\nChange structure to remind more prepare/action/assert.\n\nUse \"require\" features when appropriate.\n\nSigned-off-by: Yauheni Kaliuta \n\n---------\n\nSigned-off-by: Yauheni Kaliuta \n\nchore(webhook): (#870)\n\n- add testcase on DSCI\n- remove kubebuilder marker not needed\n- remove checks on instance number in existing controllers\n- re-generate bundle\n- we do not act on update but we keep it on webhook for now\n\nSigned-off-by: Wen Zhou \n\nfix uncommented tests/e2e/dsc_creation_test.go with a line from\n9be146f7ce9b (\"chore(lint): updates to latest version (#1074)\")\n\nSigned-off-by: Yauheni Kaliuta \n\nwebhook: partial: upgrade: controller-runtime and code change accordingly\n\nPartial application of already applied\n\n03c1abce96b1 (\"upgrade: controller-runtime and code change accordingly (#1189)\")\n\nWebhook related changes.\n\nSigned-off-by: Yauheni Kaliuta \n\ntests: e2e: fix requireInstalled to check actuall list emptiness\n\nPartial backport of\n\n6acf1db148d1 (\"chore: update golangci-lint to v1.60.2, fix misleading test (#1195)\")\n\nSigned-off-by: Yauheni Kaliuta \n\nnetworkpolicy: allow connections from webhook\n\nAllow connection to the operator pod from host network, marked with\nlabel\n`policy-group.network.openshift.io/host-network: \"\"`\n\nhttps://access.redhat.com/solutions/7008681\n\nSigned-off-by: Yauheni Kaliuta ","shortMessageHtmlLink":"DSC, DSCI: add validating webhook (opendatahub-io#711)"}},{"before":"93e846b65eeaa58ddd67d0b3ba1eebc18e6607a1","after":"b5f3b2d0b93c62a7d372713c01f58abf9a7cd2cc","ref":"refs/heads/rhoai-2.15","pushedAt":"2024-09-14T02:10:12.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"rhods-devops-app[bot]","name":null,"path":"/apps/rhods-devops-app","primaryAvatarUrl":"https://github.com/avatars/in/323671?s=80&v=4"},"commit":{"message":"DSC, DSCI: add validating webhook (#711)\n\nJira: https://issues.redhat.com/browse/RHOAIENG-4268\n\nThis patch reverts\n\n528801571f00 (\"Revert \"DSC, DSCI: add validating webhook (#711)\"\")\n\n* webhook: add initial skeleton\n\nOriginally it was generated with\n\n```operator-sdk create webhook --group datasciencecluster --version v1 --kind DataScienceCluster --programmatic-validation```\n\nbut webhook.Validator interface (like described in the kubebuilder\nbook[1]) does not work well for the purpose of the webhook due to\nneeds to access openshift cluster (client.Client) to check existing\ninstances of DSC.\n\nSo, direct implementation of Handler was done inspired by [2] and\nodh-notebooks implementation [3].\n\nMove it from api package closer to controllers as in [3] as well\nsince it's not DataScienceCluster or DSCInitialization extention\nanymore. Amend webhook_suite_test.go's path to configs accordingly.\n\nFix linter issues in webhook_suite_test.go:\n- disable ssl check;\n- move to package webhook_test\n\ncertmanager files removed too due to usage of OpenShift service\nserving certificates[4] (see also\nservice.beta.openshift.io/inject-cabundle annotation in\nconfig/webhook/kustomization.yaml).\n\nAdd webhook generation to `make manifests` target so\nwebhook/manifests.yaml is generated with it.\n\nSince DSCI creation now requires webhook it should be delayed after\nmanager started. Move it to a closure and add it to the manager for\nrun with Add() API. It requires explicit declaration of the\ninterface variable otherwise complains about type mismatch for the\nfunction literal.\n\n[1] https://book.kubebuilder.io/cronjob-tutorial/webhook-implementation\n[2] https://book-v1.book.kubebuilder.io/beyond_basics/sample_webhook.html\n[3] https://github.com/opendatahub-io/kubeflow/blob/v1.7-branch/components/odh-notebook-controller/controllers/notebook_webhook.go\n[4] https://docs.openshift.com/container-platform/4.9/security/certificates/service-serving-certificate.html\n\nSigned-off-by: Yauheni Kaliuta \n\n* webhook: implement one instance enforcing\n\nThe webhook is written with the idea to handle both Create and\nUpdate requests (configured in config/webhook/manifests.yaml), but\nat the moment only duplication check on Create is implemented.\n\nImplements the logic which is done now on reconcile time [1] (same\nfor DSCI).\n\nIt checks for 0 instances, not 1, since when the webhook is running\nthe object has not been created yet. Means if it's 1 then it handles\nrequest to create a second one.\n\nIt could be probably possible to use generics but does not make a\nlot of sense for such a simple case.\n\nCloses: #693\n\n[1] https://github.com/opendatahub-io/opendatahub-operator/blob/incubation/controllers/datasciencecluster/datasciencecluster_controller.go#L98\n\nSigned-off-by: Yauheni Kaliuta \n\n* tests: add tests to check duplication blocking\n\nAdd both envtest and e2e tests of a second DataScienceCluster\ninstance creation blocking.\n\nenvtest's one is a part of webhook test suite.\n\ne2e:\n\nAdd `name` parameter to setupDSCInstance() function to reuse it.\n\nUse require.Error() as the assertion, shorter and more straight\nlogic than implementing it in the test itself.\n\nAdd e2e test to check DSCInitialization similar way.\n\nSigned-off-by: Yauheni Kaliuta \n\n* tests: e2e: refactor duplication tests in more abstract way\n\nFactor out common code using Unstructured/List objects.\n\nChange structure to remind more prepare/action/assert.\n\nUse \"require\" features when appropriate.\n\nSigned-off-by: Yauheni Kaliuta \n\n---------\n\nSigned-off-by: Yauheni Kaliuta \n\nchore(webhook): (#870)\n\n- add testcase on DSCI\n- remove kubebuilder marker not needed\n- remove checks on instance number in existing controllers\n- re-generate bundle\n- we do not act on update but we keep it on webhook for now\n\nSigned-off-by: Wen Zhou \n\nfix uncommented tests/e2e/dsc_creation_test.go with a line from\n9be146f7ce9b (\"chore(lint): updates to latest version (#1074)\")\n\nSigned-off-by: Yauheni Kaliuta \n\nwebhook: partial: upgrade: controller-runtime and code change accordingly\n\nPartial application of already applied\n\n03c1abce96b1 (\"upgrade: controller-runtime and code change accordingly (#1189)\")\n\nWebhook related changes.\n\nSigned-off-by: Yauheni Kaliuta \n\ntests: e2e: fix requireInstalled to check actuall list emptiness\n\nPartial backport of\n\n6acf1db148d1 (\"chore: update golangci-lint to v1.60.2, fix misleading test (#1195)\")\n\nSigned-off-by: Yauheni Kaliuta \n\nnetworkpolicy: allow connections from webhook\n\nAllow connection to the operator pod from host network, marked with\nlabel\n`policy-group.network.openshift.io/host-network: \"\"`\n\nhttps://access.redhat.com/solutions/7008681\n\nSigned-off-by: Yauheni Kaliuta ","shortMessageHtmlLink":"DSC, DSCI: add validating webhook (opendatahub-io#711)"}},{"before":"93e846b65eeaa58ddd67d0b3ba1eebc18e6607a1","after":"b5f3b2d0b93c62a7d372713c01f58abf9a7cd2cc","ref":"refs/heads/rhoai-2.14","pushedAt":"2024-09-14T02:10:08.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"rhods-devops-app[bot]","name":null,"path":"/apps/rhods-devops-app","primaryAvatarUrl":"https://github.com/avatars/in/323671?s=80&v=4"},"commit":{"message":"DSC, DSCI: add validating webhook (#711)\n\nJira: https://issues.redhat.com/browse/RHOAIENG-4268\n\nThis patch reverts\n\n528801571f00 (\"Revert \"DSC, DSCI: add validating webhook (#711)\"\")\n\n* webhook: add initial skeleton\n\nOriginally it was generated with\n\n```operator-sdk create webhook --group datasciencecluster --version v1 --kind DataScienceCluster --programmatic-validation```\n\nbut webhook.Validator interface (like described in the kubebuilder\nbook[1]) does not work well for the purpose of the webhook due to\nneeds to access openshift cluster (client.Client) to check existing\ninstances of DSC.\n\nSo, direct implementation of Handler was done inspired by [2] and\nodh-notebooks implementation [3].\n\nMove it from api package closer to controllers as in [3] as well\nsince it's not DataScienceCluster or DSCInitialization extention\nanymore. Amend webhook_suite_test.go's path to configs accordingly.\n\nFix linter issues in webhook_suite_test.go:\n- disable ssl check;\n- move to package webhook_test\n\ncertmanager files removed too due to usage of OpenShift service\nserving certificates[4] (see also\nservice.beta.openshift.io/inject-cabundle annotation in\nconfig/webhook/kustomization.yaml).\n\nAdd webhook generation to `make manifests` target so\nwebhook/manifests.yaml is generated with it.\n\nSince DSCI creation now requires webhook it should be delayed after\nmanager started. Move it to a closure and add it to the manager for\nrun with Add() API. It requires explicit declaration of the\ninterface variable otherwise complains about type mismatch for the\nfunction literal.\n\n[1] https://book.kubebuilder.io/cronjob-tutorial/webhook-implementation\n[2] https://book-v1.book.kubebuilder.io/beyond_basics/sample_webhook.html\n[3] https://github.com/opendatahub-io/kubeflow/blob/v1.7-branch/components/odh-notebook-controller/controllers/notebook_webhook.go\n[4] https://docs.openshift.com/container-platform/4.9/security/certificates/service-serving-certificate.html\n\nSigned-off-by: Yauheni Kaliuta \n\n* webhook: implement one instance enforcing\n\nThe webhook is written with the idea to handle both Create and\nUpdate requests (configured in config/webhook/manifests.yaml), but\nat the moment only duplication check on Create is implemented.\n\nImplements the logic which is done now on reconcile time [1] (same\nfor DSCI).\n\nIt checks for 0 instances, not 1, since when the webhook is running\nthe object has not been created yet. Means if it's 1 then it handles\nrequest to create a second one.\n\nIt could be probably possible to use generics but does not make a\nlot of sense for such a simple case.\n\nCloses: #693\n\n[1] https://github.com/opendatahub-io/opendatahub-operator/blob/incubation/controllers/datasciencecluster/datasciencecluster_controller.go#L98\n\nSigned-off-by: Yauheni Kaliuta \n\n* tests: add tests to check duplication blocking\n\nAdd both envtest and e2e tests of a second DataScienceCluster\ninstance creation blocking.\n\nenvtest's one is a part of webhook test suite.\n\ne2e:\n\nAdd `name` parameter to setupDSCInstance() function to reuse it.\n\nUse require.Error() as the assertion, shorter and more straight\nlogic than implementing it in the test itself.\n\nAdd e2e test to check DSCInitialization similar way.\n\nSigned-off-by: Yauheni Kaliuta \n\n* tests: e2e: refactor duplication tests in more abstract way\n\nFactor out common code using Unstructured/List objects.\n\nChange structure to remind more prepare/action/assert.\n\nUse \"require\" features when appropriate.\n\nSigned-off-by: Yauheni Kaliuta \n\n---------\n\nSigned-off-by: Yauheni Kaliuta \n\nchore(webhook): (#870)\n\n- add testcase on DSCI\n- remove kubebuilder marker not needed\n- remove checks on instance number in existing controllers\n- re-generate bundle\n- we do not act on update but we keep it on webhook for now\n\nSigned-off-by: Wen Zhou \n\nfix uncommented tests/e2e/dsc_creation_test.go with a line from\n9be146f7ce9b (\"chore(lint): updates to latest version (#1074)\")\n\nSigned-off-by: Yauheni Kaliuta \n\nwebhook: partial: upgrade: controller-runtime and code change accordingly\n\nPartial application of already applied\n\n03c1abce96b1 (\"upgrade: controller-runtime and code change accordingly (#1189)\")\n\nWebhook related changes.\n\nSigned-off-by: Yauheni Kaliuta \n\ntests: e2e: fix requireInstalled to check actuall list emptiness\n\nPartial backport of\n\n6acf1db148d1 (\"chore: update golangci-lint to v1.60.2, fix misleading test (#1195)\")\n\nSigned-off-by: Yauheni Kaliuta \n\nnetworkpolicy: allow connections from webhook\n\nAllow connection to the operator pod from host network, marked with\nlabel\n`policy-group.network.openshift.io/host-network: \"\"`\n\nhttps://access.redhat.com/solutions/7008681\n\nSigned-off-by: Yauheni Kaliuta ","shortMessageHtmlLink":"DSC, DSCI: add validating webhook (opendatahub-io#711)"}},{"before":"d44fde9ecac54fff04bc0c54837b5478326b7d89","after":"b5f3b2d0b93c62a7d372713c01f58abf9a7cd2cc","ref":"refs/heads/main","pushedAt":"2024-09-13T18:11:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"openshift-merge-bot[bot]","name":null,"path":"/apps/openshift-merge-bot","primaryAvatarUrl":"https://github.com/avatars/in/412865?s=80&v=4"},"commit":{"message":"DSC, DSCI: add validating webhook (#711)\n\nJira: https://issues.redhat.com/browse/RHOAIENG-4268\n\nThis patch reverts\n\n528801571f00 (\"Revert \"DSC, DSCI: add validating webhook (#711)\"\")\n\n* webhook: add initial skeleton\n\nOriginally it was generated with\n\n```operator-sdk create webhook --group datasciencecluster --version v1 --kind DataScienceCluster --programmatic-validation```\n\nbut webhook.Validator interface (like described in the kubebuilder\nbook[1]) does not work well for the purpose of the webhook due to\nneeds to access openshift cluster (client.Client) to check existing\ninstances of DSC.\n\nSo, direct implementation of Handler was done inspired by [2] and\nodh-notebooks implementation [3].\n\nMove it from api package closer to controllers as in [3] as well\nsince it's not DataScienceCluster or DSCInitialization extention\nanymore. Amend webhook_suite_test.go's path to configs accordingly.\n\nFix linter issues in webhook_suite_test.go:\n- disable ssl check;\n- move to package webhook_test\n\ncertmanager files removed too due to usage of OpenShift service\nserving certificates[4] (see also\nservice.beta.openshift.io/inject-cabundle annotation in\nconfig/webhook/kustomization.yaml).\n\nAdd webhook generation to `make manifests` target so\nwebhook/manifests.yaml is generated with it.\n\nSince DSCI creation now requires webhook it should be delayed after\nmanager started. Move it to a closure and add it to the manager for\nrun with Add() API. It requires explicit declaration of the\ninterface variable otherwise complains about type mismatch for the\nfunction literal.\n\n[1] https://book.kubebuilder.io/cronjob-tutorial/webhook-implementation\n[2] https://book-v1.book.kubebuilder.io/beyond_basics/sample_webhook.html\n[3] https://github.com/opendatahub-io/kubeflow/blob/v1.7-branch/components/odh-notebook-controller/controllers/notebook_webhook.go\n[4] https://docs.openshift.com/container-platform/4.9/security/certificates/service-serving-certificate.html\n\nSigned-off-by: Yauheni Kaliuta \n\n* webhook: implement one instance enforcing\n\nThe webhook is written with the idea to handle both Create and\nUpdate requests (configured in config/webhook/manifests.yaml), but\nat the moment only duplication check on Create is implemented.\n\nImplements the logic which is done now on reconcile time [1] (same\nfor DSCI).\n\nIt checks for 0 instances, not 1, since when the webhook is running\nthe object has not been created yet. Means if it's 1 then it handles\nrequest to create a second one.\n\nIt could be probably possible to use generics but does not make a\nlot of sense for such a simple case.\n\nCloses: #693\n\n[1] https://github.com/opendatahub-io/opendatahub-operator/blob/incubation/controllers/datasciencecluster/datasciencecluster_controller.go#L98\n\nSigned-off-by: Yauheni Kaliuta \n\n* tests: add tests to check duplication blocking\n\nAdd both envtest and e2e tests of a second DataScienceCluster\ninstance creation blocking.\n\nenvtest's one is a part of webhook test suite.\n\ne2e:\n\nAdd `name` parameter to setupDSCInstance() function to reuse it.\n\nUse require.Error() as the assertion, shorter and more straight\nlogic than implementing it in the test itself.\n\nAdd e2e test to check DSCInitialization similar way.\n\nSigned-off-by: Yauheni Kaliuta \n\n* tests: e2e: refactor duplication tests in more abstract way\n\nFactor out common code using Unstructured/List objects.\n\nChange structure to remind more prepare/action/assert.\n\nUse \"require\" features when appropriate.\n\nSigned-off-by: Yauheni Kaliuta \n\n---------\n\nSigned-off-by: Yauheni Kaliuta \n\nchore(webhook): (#870)\n\n- add testcase on DSCI\n- remove kubebuilder marker not needed\n- remove checks on instance number in existing controllers\n- re-generate bundle\n- we do not act on update but we keep it on webhook for now\n\nSigned-off-by: Wen Zhou \n\nfix uncommented tests/e2e/dsc_creation_test.go with a line from\n9be146f7ce9b (\"chore(lint): updates to latest version (#1074)\")\n\nSigned-off-by: Yauheni Kaliuta \n\nwebhook: partial: upgrade: controller-runtime and code change accordingly\n\nPartial application of already applied\n\n03c1abce96b1 (\"upgrade: controller-runtime and code change accordingly (#1189)\")\n\nWebhook related changes.\n\nSigned-off-by: Yauheni Kaliuta \n\ntests: e2e: fix requireInstalled to check actuall list emptiness\n\nPartial backport of\n\n6acf1db148d1 (\"chore: update golangci-lint to v1.60.2, fix misleading test (#1195)\")\n\nSigned-off-by: Yauheni Kaliuta \n\nnetworkpolicy: allow connections from webhook\n\nAllow connection to the operator pod from host network, marked with\nlabel\n`policy-group.network.openshift.io/host-network: \"\"`\n\nhttps://access.redhat.com/solutions/7008681\n\nSigned-off-by: Yauheni Kaliuta ","shortMessageHtmlLink":"DSC, DSCI: add validating webhook (opendatahub-io#711)"}},{"before":"76acc49b4e14b5ad6e63c8bdd8c194c9335c417c","after":"d44fde9ecac54fff04bc0c54837b5478326b7d89","ref":"refs/heads/main","pushedAt":"2024-09-13T15:50:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"zdtsw","name":"Wen Zhou","path":"/zdtsw","primaryAvatarUrl":"https://github.com/avatars/u/915053?s=80&v=4"},"commit":{"message":"fix: remove duplicated call on the same path for workbench (#343)\n\n- sync to changes in ODH on workbench\r\n- also uplift branch to 2.13 to get new manifests\r\n\r\nSigned-off-by: Wen Zhou ","shortMessageHtmlLink":"fix: remove duplicated call on the same path for workbench (#343)"}},{"before":"93e846b65eeaa58ddd67d0b3ba1eebc18e6607a1","after":"76acc49b4e14b5ad6e63c8bdd8c194c9335c417c","ref":"refs/heads/main","pushedAt":"2024-09-13T09:59:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"openshift-merge-bot[bot]","name":null,"path":"/apps/openshift-merge-bot","primaryAvatarUrl":"https://github.com/avatars/in/412865?s=80&v=4"},"commit":{"message":"prometheus: Update to ClusterRoleBinding","shortMessageHtmlLink":"prometheus: Update to ClusterRoleBinding"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yN1QwMTozMjozNy4wMDAwMDBazwAAAATCGf1h","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xM1QwOTo1OTozOC4wMDAwMDBazwAAAAS1VEvZ"}},"title":"Activity · red-hat-data-services/rhods-operator"}