Uploaded image for project: 'Red Hat OpenShift Data Science'
  1. Red Hat OpenShift Data Science
  2. RHODS-8603

Enable creation of workbenches/model servers/etc in projects created outside of the dashboard

XMLWordPrintable

      KEY TAKEAWAYS/REQUIREMENTS:

      • The user will have the option of displaying only data science projects or Openshift projects on the RHODS dashboard.
      • Toggle will be added with two values (default - data science projects, second value - Openshift projects)
      • User remain informed via documentation of any project annotation changes to prevent inconsistency/issues with code.

       

      Currently workbenches/model servers/etc can only be created in a "Data Science Project" which are simply an openshift project/namespace with a special annotation on it. If an OpenShift project is owned/managed/viewable by a user that was not created by the dashboard and does not have the magic annotations on it, they cannot use/manage objects in those namespaces from the dashboard.

      In a real world scenario where I am supporting/managing an existing application I may already have namespace with lots of microservices already deployed to it. In order to make that an "intelligent application" I may need to deploy a model server to that namespace that I can then configure my other microservices in my namespace to communicate with.

      In another scenario, I may not have permission to create a project and I rely on a cluster admin/gitops/automation to create a namespace for me. That automation may not have the ability for me to create that annotation on the project (annotating projects is not something that is a common requirement), an admin that is setting up the project for me may not know that I need the annotation, and I may not even know I need the annotation.

      The annotation can be very problematic for several reasons:

      • There is no obvious reason to a user for why some namespaces show up in the dashboard UI and some do not. It isn't a standard practice in k8s to manage what a project/namespace can do with an annotation so it is unlikely someone would come across that on their own.
      • I may not have permissions to add the annotation to a project manually if I do know that it is needed. This may require someone with cluster admin access to do or access to repos where the projects are configured/managed by ArgoCD.
      • If I don't have permission to create a "data science project" in the dashboard, I don't have an example "data science project" to compare to my normal project. This "magic" annotation isn't documented very well if at all so if my admin has created a project for me, there is no discoverable way to even figure out that "this project that works has this annotation, this project that doesn't might need it too."

      In my opinion the "data science project" annotation should be removed entirely. It creates an artificial barrier to using the tools and provides no added value to the end user. Filtering out "openshift" namespaces the same way the OpenShift console does is ok but filtering the namespaces to only ones with the magic annotation is a limiting feature, not an enabling one. Most normal users will only have access to 1-2 namespaces anyways so the annotation isn't filtering much anyways.

      If you do keep the annotation, it should be well documented and there needs to be a simple way to "enable" data science projects in an existing namespace.

            Unassigned Unassigned
            troyer@redhat.com Trevor Royer
            Votes:
            3 Vote for this issue
            Watchers:
            11 Start watching this issue

              Created:
              Updated:
              Resolved: