machine-learning-exchange/mlx

Cannot toggle Capabilities in MLX settings on OpenShift

ckadner opened this issue · 1 comments

Describe the bug

Cannot toggle Capabilities in MLX settings for MLX deployed on OpenShift.

To Reproduce

  1. Deploy MLX on OpenShift
  2. Login as admin in the MLX UI
  3. Go to Settings
  4. Try to toggle any of the Capabilities or Artifact Types

Expected behavior

Toggle should move left and right when clicked on but here nothing happens.

Error details

In the web browser console this error shows up when clicking the toggle:

Uncaught (in promise) TypeError: Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.
    Babel 2
    J settings.ts:9
    e settings.ts:63
    s main.4d6ec1c7.chunk.js:2
    _invoke main.4d6ec1c7.chunk.js:2
    y main.4d6ec1c7.chunk.js:2
    Babel 6
    apply settings.ts:51
    apply SettingsPage.tsx:82
    t SettingsPage.tsx:119
    s main.4d6ec1c7.chunk.js:2
    _invoke main.4d6ec1c7.chunk.js:2
    y main.4d6ec1c7.chunk.js:2
    Babel 4
    yr SettingsPage.tsx:118
    handleInputChange SwitchBase.js:114
    React 12
    unstable_runWithPriority scheduler.production.min.js:19
    React 3
[nonIterableRest.js:2:8](http://localhost:3001/static/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js)

The Network tab shows the API request returned a 500 error

PUT http://localhost:3001/apis/v1alpha1/settings
[HTTP/1.1 500 Internal Server Error 199ms]
"PermissionError: [Errno 13] Permission denied: '/usr/src/app/application_settings.yaml'"

For MLX deployed on IKS the toggles work fine:

Browser console events show this:

695 [SidebarList.tsx:68:10](http://localhost:3000/static/js/components/Sidebar/SidebarList.tsx)

Tentative Conclusion:

The mlx-api on OpenShift has similar permission errors when accessing pod/container local files when running as non-root user.