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

Sync RHODS master branch with ODH/notebook-controller v1.7 branch #5

Merged
merged 197 commits into from
Jul 14, 2023

Conversation

suryabdev and others added 30 commits August 23, 2022 09:50
Fix image group one and two not showing in JWA's New notebook form, even
when the avaialable config provides value for them.

Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>

Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* fix profile plugin loading

* add proper sample

* add GH action for unit tests

* rename GH job name
* Fix kubeflow#6528: Mirroring Pod conditions to Notebook

* Added missing fields which are part of PodConditions into NotebookConditions

* Added suggested changes
* Fix kubeflow#6056: Update Notebook status properly

Signed-off-by: Apostolos Gerakaris apoger@arrikto.com

* Added suggested code changes

Signed-off-by: Apostolos Gerakaris apoger@arrikto.com

* notebook-controller: Add unit tests

*Introduce basic unit tests for "createNotebookStatus" function
*Add GH action for unit tests

Signed-off-by: Apostolos Gerakaris apoger@arrikto.com

* Fix PodCoditionsMirroringToNotebook & Unit-tests

We encountered an error during testing. It seems that
the pod.status.conditions.condition.LastProbeTime remains
always null and so the controller ends up applying a Notebook
CR instance with null condition values.

Relevant Issues:
*kubernetes/kubernetes#109958
*kubernetes/kubernetes#79402
*kubernetes/kubernetes#14393

Fix: Check if the Pod's condition.LastProbeTime
and condition.LastTransitionTime timestamp fields are null.
If so, initialize them so we dont end up applying
a Notebook instance with null condition values.

Other changes:
*Fix basic unit tests
*Introduced a unit test for the case where Notebook's Pod
 is unschedulable

Signed-off-by: Apostolos Gerakaris apoger@arrikto.com

Signed-off-by: Apostolos Gerakaris apoger@arrikto.com
* poddefaults: add imagepullsecrets

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>

* poddefaults: Generate CRD/deepcopy files

Run make generate and make manifests to generate the correct CRD and
deepcopy files.

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* update Kubeflow roadmap to show delivery of v1.6

* Update ROADMAP.md

Co-authored-by: Anna <antheaj@vmware.com>

* Update ROADMAP.md

Co-authored-by: Anna <antheaj@vmware.com>

Co-authored-by: Anna <antheaj@vmware.com>
The notebook controller writes the last-activity annotation
before culling the Notebook, however, doesn't remove this
annotation before start. This causes the Notebook to be culled
again before is has a chance to start.

Fix:
* calculate correctly the podFound variable and ensure its value
  its true only if the Pod is actually found. This way the culling
  annotation will be removed when there is no Pod.

Signed-off-by: Apostolos Gerakaris <apoger@arrikto.com>

Signed-off-by: Apostolos Gerakaris <apoger@arrikto.com>
Format centraldashboard's code based on the eslint configuration.

Signed-off-by: Tasos Alexiou <tasos@arrikto.com>

Signed-off-by: Tasos Alexiou <tasos@arrikto.com>
Docker is dead and superseeded by OCI on all common Platforms
…ps/jupyter/frontend (kubeflow#6654)

Bumps [jose](https://github.com/panva/jose) from 2.0.5 to 2.0.6.
- [Release notes](https://github.com/panva/jose/releases)
- [Changelog](https://github.com/panva/jose/blob/v2.0.6/CHANGELOG.md)
- [Commits](panva/jose@v2.0.5...v2.0.6)

---
updated-dependencies:
- dependency-name: jose
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…apps/volumes/frontend (kubeflow#6640)

Bumps [jszip](https://github.com/Stuk/jszip) from 3.6.0 to 3.10.1.
- [Release notes](https://github.com/Stuk/jszip/releases)
- [Changelog](https://github.com/Stuk/jszip/blob/main/CHANGES.md)
- [Commits](Stuk/jszip@v3.6.0...v3.10.1)

---
updated-dependencies:
- dependency-name: jszip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Fixes needed for Katib unit tests to run successfully.

Signed-off-by: Elena Zioga <elena@arrikto.com>

Signed-off-by: Elena Zioga <elena@arrikto.com>
* centraldashboard: Introduce onAllNamespacesSelected

Introduce the onAllNamespacesSelected method in centraldashboard's
library. It is going to notify other UIs that a user selects the
"All namespace" option in centraldashboard.

Signed-off-by: Tasos Alexiou <tasos@arrikto.com>

* centraldashboard: Add support for the "All namespace" option

Introduce the "All namespace" option in centraldashboard's namespace
selector. When a user selects this option the centraldashboard is
using its library in order to modify the UIs inside the iframe.

Signed-off-by: Tasos Alexiou <tasos@arrikto.com>

* fixup! centraldashboard: Add support for the "All namespace" option

Signed-off-by: Tasos Alexiou <tasos@arrikto.com>
…apps/jupyter/frontend (kubeflow#6641)

Bumps [jszip](https://github.com/Stuk/jszip) from 3.6.0 to 3.10.1.
- [Release notes](https://github.com/Stuk/jszip/releases)
- [Changelog](https://github.com/Stuk/jszip/blob/main/CHANGES.md)
- [Commits](Stuk/jszip@v3.6.0...v3.10.1)

---
updated-dependencies:
- dependency-name: jszip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ps/tensorboards/frontend (kubeflow#6652)

Bumps [jose](https://github.com/panva/jose) from 2.0.5 to 2.0.6.
- [Release notes](https://github.com/panva/jose/releases)
- [Changelog](https://github.com/panva/jose/blob/v2.0.6/CHANGELOG.md)
- [Commits](panva/jose@v2.0.5...v2.0.6)

---
updated-dependencies:
- dependency-name: jose
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ps/volumes/frontend (kubeflow#6653)

Bumps [jose](https://github.com/panva/jose) from 2.0.5 to 2.0.6.
- [Release notes](https://github.com/panva/jose/releases)
- [Changelog](https://github.com/panva/jose/blob/v2.0.6/CHANGELOG.md)
- [Commits](panva/jose@v2.0.5...v2.0.6)

---
updated-dependencies:
- dependency-name: jose
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
The Angular code for `<app-form-data-volumes>` was missing `.value`.
…6683)

* vwa(back): Modify age column to be a timestamp

* Modify the backend to send a timestamp as is without doing any formatting.

Signed-off-by: Elena Zioga <elena@arrikto.com>

* vwa(front): Use DateTimeValue class in age column

* Use DateTimeValue class in TableConfig for age column instead of PropertyValue one.

Signed-off-by: Elena Zioga <elena@arrikto.com>

Signed-off-by: Elena Zioga <elena@arrikto.com>
Previously the webhook listened on a fixed port, 4443, which can clash
with other services when the webhook is run on the host network in
Kubernetes, which is required when using some CNI implementations,
notably Calico on EKS [1].

Enable configuration of the webhook listen port via the program flags.

[1] https://projectcalico.docs.tigera.io/getting-started/kubernetes/managed-public-cloud/eks#install-eks-with-calico-networking

Signed-off-by: Steve Larkin <steve.larkin@gmail.com>

Signed-off-by: Steve Larkin <steve.larkin@gmail.com>
…shboard (kubeflow#6691)

Bumps [socket.io-parser](https://github.com/socketio/socket.io-parser) to 4.2.1 and updates ancestor dependency [karma](https://github.com/karma-runner/karma). These dependencies need to be updated together.


Updates `socket.io-parser` from 3.2.0 to 4.2.1
- [Release notes](https://github.com/socketio/socket.io-parser/releases)
- [Changelog](https://github.com/socketio/socket.io-parser/blob/main/CHANGELOG.md)
- [Commits](socketio/socket.io-parser@3.2.0...4.2.1)

Updates `karma` from 4.3.0 to 6.4.1
- [Release notes](https://github.com/karma-runner/karma/releases)
- [Changelog](https://github.com/karma-runner/karma/blob/master/CHANGELOG.md)
- [Commits](karma-runner/karma@v4.3.0...v6.4.1)

---
updated-dependencies:
- dependency-name: socket.io-parser
  dependency-type: indirect
- dependency-name: karma
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…kubeflow#6694)

* web-apps(front): Rename Age header in WAs

* Rename Age header to Created at.

Signed-off-by: Elena Zioga <elena@arrikto.com>

* web-apps(front): Right-align date columns in WAs

* Make date columns to be right-aligned.

Signed-off-by: Elena Zioga <elena@arrikto.com>

Signed-off-by: Elena Zioga <elena@arrikto.com>
…ds (kubeflow#6696)

* jwa(front): Upgrade @kubernetes/client-node module

* Upgrade @kubernetes/client-node module, so that to include
  quantityToScalar function directly from kubernetes js module.
* Set allowSyntheticDefaultImports flag to true to allow 'import x
  from y' when a module doesn't have a default export.

Signed-off-by: Elena Zioga <elena@arrikto.com>

* vwa(front): Upgrade @kubernetes/client-node module

* Upgrade @kubernetes/client-node module, so that to include
  quantityToScalar function directly from kubernetes js module.
* Set allowSyntheticDefaultImports flag to true to allow 'import x
  from y' when a module doesn't have a default export.

Signed-off-by: Elena Zioga <elena@arrikto.com>

* twa(front): Upgrade @kubernetes/client-node module

* Upgrade @kubernetes/client-node module, so that to include
  quantityToScalar function directly from kubernetes js module.
* Set allowSyntheticDefaultImports flag to true to allow 'import x
  from y' when a module doesn't have a default export.

Signed-off-by: Elena Zioga <elena@arrikto.com>

Signed-off-by: Elena Zioga <elena@arrikto.com>
…apps/tensorboards/frontend (kubeflow#6639)

Bumps [jszip](https://github.com/Stuk/jszip) from 3.6.0 to 3.10.1.
- [Release notes](https://github.com/Stuk/jszip/releases)
- [Changelog](https://github.com/Stuk/jszip/blob/main/CHANGES.md)
- [Commits](Stuk/jszip@v3.6.0...v3.10.1)

---
updated-dependencies:
- dependency-name: jszip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…apps/common/frontend/kubeflow-common-lib (kubeflow#6638)

Bumps [jszip](https://github.com/Stuk/jszip) from 3.6.0 to 3.10.1.
- [Release notes](https://github.com/Stuk/jszip/releases)
- [Changelog](https://github.com/Stuk/jszip/blob/main/CHANGES.md)
- [Commits](Stuk/jszip@v3.6.0...v3.10.1)

---
updated-dependencies:
- dependency-name: jszip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Samuel Veloso and others added 22 commits April 27, 2023 10:49
When a notebook is created by specifying an image from the internal registry:

```yaml
---
apiVersion: kubeflow.org/v1
kind: Notebook
metadata:
  name: thoth-minimal-oauth-from-is-notebook
  annotations:
    notebooks.opendatahub.io/inject-oauth: "true"
spec:
  template:
    spec:
      containers:
        - name: thoth-minimal-oauth-from-is-notebook
          image: image-registry.openshift-image-registry.svc:5000/opendatahub/thoth-minimal-notebook:v0.3.0
...
```

Sometimes it cannot be pulled because the notebook pod starts before the notebook service account mounts its different corresponding secrets (api and registry tokens):

```
1. Kubeflow notebook controller creates the STS.
2. ODH notebook controller creates the SA (and other objects).
3. Kubernetes controller manager scales schedules the STS pod but sa.secrets is empty.
4. Notebook pod can't start because can't pull the image.
```

Solution is injecting the annotation `kubeflow-resource-stopped: odh-notebook-controller-lock` and remove it when the ODH noteboon controller reconciliation is completed.
Update OWNERS file to match the current working members
Signed-off-by: Landon LaSmith <LLaSmith@redhat.com>
…ebased-to-1.7.0

Sync with upstream kubeflow v1.7.0
Signed-off-by: Harshad Reddy Nalla <hnalla@redhat.com>
Signed-off-by: Harshad Reddy Nalla <hnalla@redhat.com>
This allows updating the notebook controllers without increasing the
resources requirements of ODH during the update, which means it can
better tolerates situation such as the cluster being full.

This means the notebook controller will be unavailable during the
update. However, this has not visible consequences except for a slight
delay in the notebooks CR reconciliation, until the new controller pod
start reconciling.
Perform update of the notebook controller without surge
Enable logic for culling feature of terminals
…-memory-limit-for-notebooks

Change shared memory limit for notebooks
Sync up the branch v1.7 with branch v1.6
@openshift-ci
Copy link

openshift-ci bot commented Jul 14, 2023

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please ask for approval from harshad16. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci
Copy link

openshift-ci bot commented Jul 14, 2023

The following users are mentioned in OWNERS file(s) but are untrusted for the following reasons. One way to make the user trusted is to add them as members of the red-hat-data-services org. You can then trigger verification by writing /verify-owners in a comment.

  • orfeas-k
    • User is not a member of the org. User is not a collaborator. Satisfy at least one of these conditions to make the user trusted.
  • tasos-ale
    • User is not a member of the org. User is not a collaborator. Satisfy at least one of these conditions to make the user trusted.
  • kimwnasptd
    • User is not a member of the org. User is not a collaborator. Satisfy at least one of these conditions to make the user trusted.

@harshad16
Copy link
Member Author

Merging these as they are synced up pr's and already tested upstream.
Please drop a comment if you feel other wise.

@harshad16 harshad16 merged commit 8f2a0a2 into red-hat-data-services:master Jul 14, 2023
30 of 33 checks passed
@harshad16 harshad16 deleted the sync-master-with-v1.7 branch October 24, 2023 19:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet