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

feat(ocm): Add update information to the /status API endpoint #67

Merged
merged 2 commits into from
Jan 17, 2023

Conversation

SamoKopecky
Copy link
Member

Serve as the backend for operate-first/service-catalog#179

Add additional API call to gather information about cluster updates and provide it in the /status API endpoint. Also create tests for newly created functions.

I couldn't find an endpoint that only provides a single cluster, so I have to use the endpoint (internal.open-cluster-management.io/v1beta1/managedclusterinfos) even in the /status/:clusterName API endpoint.

Example of the new API response on /status/smaug (see the update section at the end):

{
  "name": "smaug",
  "status": {
    "available": true,
    "reason": "Managed cluster is available"
  },
  "consoleUrl": "https://console-openshift-console.apps.smaug.na.operate-first.cloud",
  "kubernetesVersion": "v1.22.3+fdba464",
  "oauthUrl": "https://oauth-openshift.apps.smaug.na.operate-first.cloud/oauth/token/implicit",
  "openshiftId": "5d448ae7-05f1-42cc-aacc-3122a8ad0184",
  "openshiftVersion": "4.9.21",
  "platform": "BareMetal",
  "allocatableResources": {
    "cpuCores": 1136.5,
    "memorySize": "7469511796Ki",
    "numberOfPods": 7750
  },
  "availableResources": {
    "cpuCores": 1152,
    "memorySize": "7505192052Ki",
    "numberOfPods": 7750
  },
  "update": {
    "available": true,
    "version": "4.9.53",
    "url": "https://access.redhat.com/errata/RHBA-2022:8714"
  }
}

@SamoKopecky
Copy link
Member Author

/cc @tumido

plugins/ocm-backend/src/helpers/parser.ts Outdated Show resolved Hide resolved
plugins/ocm-backend/src/helpers/parser.ts Outdated Show resolved Hide resolved
plugins/ocm-backend/src/helpers/parser.ts Outdated Show resolved Hide resolved
plugins/ocm-backend/src/helpers/parser.ts Outdated Show resolved Hide resolved
@SamoKopecky
Copy link
Member Author

Thanks for the feedback, changes pushed with a new commit.

@SamoKopecky SamoKopecky requested a review from tumido January 9, 2023 13:06
@SamoKopecky SamoKopecky changed the title feat: Add update information to the /status API endpoint feat(ocm): Add update information to the /status API endpoint Jan 9, 2023
@SamoKopecky SamoKopecky force-pushed the upgrade-indicator branch 2 times, most recently from 1017060 to 7a98b60 Compare January 9, 2023 13:56
Add additional API call to gather information about cluster updates and
create additional tests

Signed-off-by: SamoKopecky <[email protected]>
Copy link
Member

@tumido tumido left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm
/approve

@tumido tumido merged commit 84ac89a into janus-idp:main Jan 17, 2023
mareklibra added a commit to mareklibra/janus-idp-backstage-plugins that referenced this pull request Apr 5, 2023
…lice

Fix state reporting of fetchProjects()
tiagodolphine pushed a commit to tiagodolphine/backstage-plugins that referenced this pull request Jan 8, 2024
jkilzi pushed a commit to jkilzi/janus-idp-backstage-plugins that referenced this pull request Jan 12, 2024
jkilzi pushed a commit to jkilzi/janus-idp-backstage-plugins that referenced this pull request Jan 16, 2024
openshift-merge-bot bot pushed a commit that referenced this pull request Jan 17, 2024
* feat(orchestrator): add orchestrator plugins

Squashed and rebased. Credits to
- Guilherme Caponetto
- Tiago Dolphine
- Michael Anstis

who did the work before squash and rebase.

* feat(orchestrator): enable dynamic plugin

* fix(orchestrator): load HostDirectory from backend-app-api (#28)

Signed-off-by: Moti Asayag <[email protected]>
(cherry picked from commit 3ba02c6)

* fix(orchestrator): make the port config optional (#38)

* feat(orchestrator): handle assessment workflow and make optional the workflowsSource config (#35)

* feat: issue FLPATH-591 - Add assessment workflow type and display outputs (#21)

* Configure for assessment swf

* filter assessment on workflow definition page

* workflow columns

* workflow columns

* workflow columns

* workflow filter

* feat: Render assessment results supporting dynamic categories

* issue FLPATH-657: workflow label

* Revert "Configure for assessment swf"

This reverts commit b4048e1.

* Revert sonata service port

* Add key for workflow options category

* Fix workflow execution from choose btn

* Fix review comments

* address comments

* Fix review comment to switch to useRouteRef

* fix review comments

* fix review comments

---------

Co-authored-by: richardwang98 <[email protected]>

* feat: make optional the workflowsSource config (#25)

---------

Co-authored-by: anludke <[email protected]>

* feat(orchestrator): add backend endpoint for getting workflows from data index service (#39)

* feat: add backend for getting work flows from data index service

* feat: cherrypick - add backend for getting work flows from data index service

* feat: cherrypick - add backend for getting work flows from data index service

* feat: cherrypick - add backend for getting work flows from data index service

* chore(orchestrator): update dependencies

* feat(orchestrator): orchestrator plugin entry page & workflows table (#31)

https://issues.redhat.com/browse/FLPATH-686
https://issues.redhat.com/browse/FLPATH-682

* feat: introduced the workflows/overview endpoint (#36)

* FLPATH-702 : New endpoint to fetch workflow overview

* FLPATH-702 : iterate through all elements instead of picking the first element

* modified the map method

* calculate avg execution time change

* Add log message when http calls failing

* Fix lint issues

* rename variable

* paginated graphql object fetch

* Include workflowId in the result object

* Renamed to description

* to epoc timestamp

* suppress eslint warning

* epoc number to string

* make all string fields optional

* use a simple for loop

* extracted to a new method

* rename to lastTriggeredMs

* include uri in the WorkflowOverview type

* mark avgDurationMs as optional

* feat(orchestrator): introduced `workflows/:workflowId/overview` endpoint (#40)

* FLPATH-702 : New endpoint to fetch workflow overview

* FLPATH-702 : iterate through all elements instead of picking the first element

* modified the map method

* calculate avg execution time change

* Add log message when http calls failing

* Fix lint issues

* rename variable

* paginated graphql object fetch

* Include workflowId in the result object

* Renamed to description

* to epoc timestamp

* suppress eslint warning

* epoc number to string

* make all string fields optional

* use a simple for loop

* extracted to a new method

* rename to lastTriggeredMs

* include uri in the WorkflowOverview type

* mark avgDurationMs as optional

* fetch only one overview obj

* fix(orchestrator): make the port config optional (#37)

* feat(orchestrator): orchestrator plugin entry page & workflows table (#31)

https://issues.redhat.com/browse/FLPATH-686
https://issues.redhat.com/browse/FLPATH-682

* removed unnecessary method

---------

Co-authored-by: Guilherme Caponetto <[email protected]>
Co-authored-by: Jonathan Kilzi <[email protected]>

* feat(orchestrator): add Workflow Run List  (#30)

* feat(orchestrator): add Workflow Run List

FLPATH-693

A component listing running workflows is added.

* chore: move loading logic out of the OrchestratorPage

* chore(orchestrator): implement the WorkflowViewerFormatter (#41)

* chore: implement the WorkflowViewerFormatter: utility for converting WorkflowOverview backend data to data UI can display

* removed redundant export and removed redundant 'Interface' suffix from DataFormatter interface name

* Update plugins/orchestrator/src/dataFormatters/DataFormatter.ts

Co-authored-by: Guilherme Caponetto <[email protected]>

---------

Co-authored-by: Guilherme Caponetto <[email protected]>

* feat(orchestrator): fetch data input schema from `/management/processes` (#45)

* Fetch data input schema from /management/processes

* Fix some code smells

* Rename WorkflowProcess -> WorkflowInfo

* feat(orchestrator): implement the workflow viewer new UX (#32)

* feat(orechestrator): implement the workflow viewer new UX

* code review fixes

* visual fixes including skeleton for loading state

* chore(orchestrator): Renames the components displaying the tabs content

* chore(orchestrator): updates the OrchestratorClient

Lazy loads the baseUrl
Adds a method for calling GET /workflows/overview

* feat(orchestrator): orchestrator workflow execution page (#46)

Co-authored-by: Jonathan Kilzi <[email protected]>

* chore(orchestrator): updates the stories grouping (#50)

* chore(orchestrator): aligns the workflows table with the design (#51)

* chore(orchestrator): add Category to the procesInstance result (#52)

* fix(orchestrator): add links to workflows in the workflow list (#53)

* feat: added color icon to workflow details page last run status field (#55)

* feat(orchestrator): enable usage of local envelope for the workflow editor (#56)

* feat(orchestrator): add business key to assessment and pass on to workflow options (#42)

* feat(orchestrator): add page listing details of a workflow run (#49)

* feat(orchestrator): add feature flag for developer mode and config to enable/disable the integration with catalog (#58)

* feat(orchestrator): workflow editor modal (#59)

* feat(orchestrator): fix missing workflow type in overview (#60)

Signed-off-by: Gloria Ciavarrini <[email protected]>

* fix(orchestrator): fix some code smells (#63)

* fix(orchestrator): addresses sonarcloud issues (#65)

* fix(orchestrator): addressed a couple of issues (#64)

* fix(orchestrator): minor fixes (#67)

* feat(orchestrator): refactoring to use data-index to fetch workflow definitions (#57)

Co-authored-by: Guilherme Caponetto <[email protected]>

* fix(orchestrator): fix sonar issue (#69)

* feat(orchestrator): use assessment process id as bk for next workflows (#70)

* feat(orchestrator): execute workflow page new UX (#68)

* fix(orchestrator): theme for `monaco-editor` in `JsonTextAreaForm` component and mandatory `dataIndexService.url` (#71)

* fix(orchestrator): remove dependency on devmode in the entity provider (#72)

* fix(orchestrator): skip it if hardcoded specs do not exist (#74)

* feat(orchestrator): execute workflow page polishing (#75)

* feat(orchestrator): workflow instance result page (#73)

* chore(orchestrator): add codeowners to orchestrator

* fix(FLPATH-852): show WF description on the execution result page (#77)

* chore(orchestrator): add OWNERS file to each orchestrator package

* feat(orchestrator): migrates to the new UI (#78)

---------

Signed-off-by: Gloria Ciavarrini <[email protected]>
Co-authored-by: Moti Asayag <[email protected]>
Co-authored-by: richard wang <[email protected]>
Co-authored-by: anludke <[email protected]>
Co-authored-by: rhkp <[email protected]>
Co-authored-by: Jonathan Kilzi <[email protected]>
Co-authored-by: Jude Niroshan <[email protected]>
Co-authored-by: Marek Libra <[email protected]>
Co-authored-by: Bat-Zion Rotman <[email protected]>
Co-authored-by: yu zhao <[email protected]>
Co-authored-by: Gloria Ciavarrini <[email protected]>
Co-authored-by: Tiago Dolphine <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants