Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
217 changes: 111 additions & 106 deletions libs/types/assisted-installer-service.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -205,17 +205,17 @@ export interface Cluster {
* Status of the OpenShift cluster.
*/
status:
| 'insufficient'
| 'ready'
| 'error'
| 'preparing-for-installation'
| 'pending-for-input'
| 'installing'
| 'finalizing'
| 'installed'
| 'adding-hosts'
| 'cancelled'
| 'installing-pending-user-action';
| 'insufficient'
| 'ready'
| 'error'
| 'preparing-for-installation'
| 'pending-for-input'
| 'installing'
| 'finalizing'
| 'installed'
| 'adding-hosts'
| 'cancelled'
| 'installing-pending-user-action';
/**
* Additional information pertaining to the status of the OpenShift cluster.
*/
Expand Down Expand Up @@ -342,15 +342,15 @@ export interface Cluster {
* Enable/disable hyperthreading on master nodes, arbiter nodes, worker nodes, or a combination of them.
*/
hyperthreading?:
| 'none'
| 'masters'
| 'arbiters'
| 'workers'
| 'masters,arbiters'
| 'masters,workers'
| 'arbiters,workers'
| 'masters,arbiters,workers'
| 'all';
| 'none'
| 'masters'
| 'arbiters'
| 'workers'
| 'masters,arbiters'
| 'masters,workers'
| 'arbiters,workers'
| 'masters,arbiters,workers'
| 'all';
/**
* JSON-formatted string containing the usage information by feature name
*/
Expand Down Expand Up @@ -494,15 +494,15 @@ export interface ClusterCreateParams {
* Enable/disable hyperthreading on master nodes, arbiter nodes, worker nodes, or a combination of them.
*/
hyperthreading?:
| 'none'
| 'masters'
| 'arbiters'
| 'workers'
| 'masters,arbiters'
| 'masters,workers'
| 'arbiters,workers'
| 'masters,arbiters,workers'
| 'all';
| 'none'
| 'masters'
| 'arbiters'
| 'workers'
| 'masters,arbiters'
| 'masters,workers'
| 'arbiters,workers'
| 'masters,arbiters,workers'
| 'all';
/**
* The desired network type used.
*/
Expand Down Expand Up @@ -688,7 +688,9 @@ export type ClusterValidationId =
| 'oadp-requirements-satisfied'
| 'metallb-requirements-satisfied'
| 'loki-requirements-satisfied'
| 'openshift-logging-requirements-satisfied';
| 'openshift-logging-requirements-satisfied'
| 'network-observability-requirements-satisfied'
| 'network-observability-host-requirements-satisfied';
export interface CompletionParams {
isSuccess: boolean;
errorInfo?: string;
Expand Down Expand Up @@ -880,15 +882,15 @@ export interface DiskEncryption {
* Enable/disable disk encryption on master nodes, arbiter nodes, worker nodes, or a combination of them.
*/
enableOn?:
| 'none'
| 'masters'
| 'arbiters'
| 'workers'
| 'masters,arbiters'
| 'masters,workers'
| 'arbiters,workers'
| 'masters,arbiters,workers'
| 'all';
| 'none'
| 'masters'
| 'arbiters'
| 'workers'
| 'masters,arbiters'
| 'masters,workers'
| 'arbiters,workers'
| 'masters,arbiters,workers'
| 'all';
/**
* The disk encryption mode to use.
*/
Expand Down Expand Up @@ -1103,7 +1105,8 @@ export type FeatureSupportLevelId =
| 'OADP'
| 'METALLB'
| 'LOKI'
| 'OPENSHIFT_LOGGING';
| 'OPENSHIFT_LOGGING'
| 'NETWORK_OBSERVABILITY';
/**
* Cluster finalizing stage managed by controller
*/
Expand Down Expand Up @@ -1169,34 +1172,34 @@ export interface Host {
*/
infraEnvId?: string; // uuid
status:
| 'discovering'
| 'known'
| 'disconnected'
| 'insufficient'
| 'disabled'
| 'preparing-for-installation'
| 'preparing-failed'
| 'preparing-successful'
| 'pending-for-input'
| 'installing'
| 'installing-in-progress'
| 'installing-pending-user-action'
| 'resetting-pending-user-action'
| 'installed'
| 'error'
| 'resetting'
| 'added-to-existing-cluster'
| 'cancelled'
| 'binding'
| 'unbinding'
| 'unbinding-pending-user-action'
| 'known-unbound'
| 'disconnected-unbound'
| 'insufficient-unbound'
| 'disabled-unbound'
| 'discovering-unbound'
| 'reclaiming'
| 'reclaiming-rebooting';
| 'discovering'
| 'known'
| 'disconnected'
| 'insufficient'
| 'disabled'
| 'preparing-for-installation'
| 'preparing-failed'
| 'preparing-successful'
| 'pending-for-input'
| 'installing'
| 'installing-in-progress'
| 'installing-pending-user-action'
| 'resetting-pending-user-action'
| 'installed'
| 'error'
| 'resetting'
| 'added-to-existing-cluster'
| 'cancelled'
| 'binding'
| 'unbinding'
| 'unbinding-pending-user-action'
| 'known-unbound'
| 'disconnected-unbound'
| 'insufficient-unbound'
| 'disabled-unbound'
| 'discovering-unbound'
| 'reclaiming'
| 'reclaiming-rebooting';
statusInfo: string;
/**
* JSON-formatted string containing the validation results for each validation id grouped by category (network, hardware, etc.)
Expand Down Expand Up @@ -1376,34 +1379,34 @@ export interface HostRegistrationResponse {
*/
infraEnvId?: string; // uuid
status:
| 'discovering'
| 'known'
| 'disconnected'
| 'insufficient'
| 'disabled'
| 'preparing-for-installation'
| 'preparing-failed'
| 'preparing-successful'
| 'pending-for-input'
| 'installing'
| 'installing-in-progress'
| 'installing-pending-user-action'
| 'resetting-pending-user-action'
| 'installed'
| 'error'
| 'resetting'
| 'added-to-existing-cluster'
| 'cancelled'
| 'binding'
| 'unbinding'
| 'unbinding-pending-user-action'
| 'known-unbound'
| 'disconnected-unbound'
| 'insufficient-unbound'
| 'disabled-unbound'
| 'discovering-unbound'
| 'reclaiming'
| 'reclaiming-rebooting';
| 'discovering'
| 'known'
| 'disconnected'
| 'insufficient'
| 'disabled'
| 'preparing-for-installation'
| 'preparing-failed'
| 'preparing-successful'
| 'pending-for-input'
| 'installing'
| 'installing-in-progress'
| 'installing-pending-user-action'
| 'resetting-pending-user-action'
| 'installed'
| 'error'
| 'resetting'
| 'added-to-existing-cluster'
| 'cancelled'
| 'binding'
| 'unbinding'
| 'unbinding-pending-user-action'
| 'known-unbound'
| 'disconnected-unbound'
| 'insufficient-unbound'
| 'disabled-unbound'
| 'discovering-unbound'
| 'reclaiming'
| 'reclaiming-rebooting';
statusInfo: string;
/**
* JSON-formatted string containing the validation results for each validation id grouped by category (network, hardware, etc.)
Expand Down Expand Up @@ -1670,7 +1673,9 @@ export type HostValidationId =
| 'oadp-requirements-satisfied'
| 'metallb-requirements-satisfied'
| 'loki-requirements-satisfied'
| 'openshift-logging-requirements-satisfied';
| 'openshift-logging-requirements-satisfied'
| 'network-observability-requirements-satisfied'
| 'network-observability-host-requirements-satisfied';
/**
* Explicit ignition endpoint overrides the default ignition endpoint.
*/
Expand Down Expand Up @@ -2836,15 +2841,15 @@ export interface V2ClusterUpdateParams {
* Enable/disable hyperthreading on master nodes, arbiter nodes, worker nodes, or a combination of them.
*/
hyperthreading?:
| 'none'
| 'masters'
| 'arbiters'
| 'workers'
| 'masters,arbiters'
| 'masters,workers'
| 'arbiters,workers'
| 'masters,arbiters,workers'
| 'all';
| 'none'
| 'masters'
| 'arbiters'
| 'workers'
| 'masters,arbiters'
| 'masters,workers'
| 'arbiters,workers'
| 'masters,arbiters,workers'
| 'all';
/**
* The desired network type used.
*/
Expand Down
7 changes: 7 additions & 0 deletions libs/ui-lib/lib/common/api/assisted-service/OperatorsAPI.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { client } from '../axiosClient';
import { OperatorProperties } from '@openshift-assisted/types/assisted-installer-service';

const OperatorsAPI = {
makeBaseURI() {
Expand All @@ -8,6 +9,12 @@ const OperatorsAPI = {
list() {
return client.get<string[]>(`${OperatorsAPI.makeBaseURI()}`);
},

getProperties(operatorName: string) {
return client.get<OperatorProperties>(
`${OperatorsAPI.makeBaseURI()}/${encodeURIComponent(operatorName)}`,
);
},
};

export default OperatorsAPI;
Original file line number Diff line number Diff line change
Expand Up @@ -74,3 +74,6 @@ export const DESCRIPTION_OADP =

export const DESCRIPTION_METALLB =
'Provides load balancer services for bare metal OpenShift clusters.';

export const DESCRIPTION_NETWORK_OBSERVABILITY =
'Provides network flow monitoring and observability capabilities using eBPF-based flow collection.';
16 changes: 16 additions & 0 deletions libs/ui-lib/lib/common/components/operators/operatorSpecs.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ import {
OPERATOR_NAME_NUMA_RESOURCES,
OPERATOR_NAME_OADP,
OPERATOR_NAME_METALLB,
OPERATOR_NAME_NETWORK_OBSERVABILITY,
} from '../../config/constants';
import { ExternalLink } from '../ui';
import {
Expand All @@ -49,6 +50,7 @@ import {
getNvidiaGpuLink,
getOadpLink,
getOpenShiftLoggingLink,
getNetworkObservabilityLink,
MTV_LINK,
NODE_HEALTHCHECK_LINK,
NODE_MAINTENANCE_LINK,
Expand Down Expand Up @@ -92,6 +94,7 @@ import {
DESCRIPTION_NUMA_RESOURCES,
DESCRIPTION_OADP,
DESCRIPTION_METALLB,
DESCRIPTION_NETWORK_OBSERVABILITY,
} from './operatorDescriptions';

// TODO check if it's unused and it can be deleted in favor of "isMajorMinorVersionEqualOrGreater"
Expand Down Expand Up @@ -348,6 +351,19 @@ export const getOperatorSpecs = (
notStandalone: true,
supportLevel: getFeatureSupportLevel('METALLB'),
},
{
operatorKey: OPERATOR_NAME_NETWORK_OBSERVABILITY,
title: 'Network Observability',
featureId: 'NETWORK_OBSERVABILITY',
descriptionText: DESCRIPTION_NETWORK_OBSERVABILITY,
Description: ({ openshiftVersion, searchTerm }) => (
<>
<HighlightedText text={DESCRIPTION_NETWORK_OBSERVABILITY} searchTerm={searchTerm} />{' '}
<ExternalLink href={getNetworkObservabilityLink(openshiftVersion)}>Learn more</ExternalLink>
</>
),
supportLevel: getFeatureSupportLevel('NETWORK_OBSERVABILITY'),
},
],
[categories[Category.REMEDIATION]]: [
{
Expand Down
8 changes: 7 additions & 1 deletion libs/ui-lib/lib/common/config/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,8 @@ export const hostValidationLabels = (t: TFunction): { [key in HostValidationId]:
'numa-resources-requirements-satisfied': t('ai:NUMA Resources requirements'),
'oadp-requirements-satisfied': t('ai:OADP requirements'),
'metallb-requirements-satisfied': t('ai:MetalLB requirements'),
'network-observability-requirements-satisfied': t('ai:Network Observability requirements'),
'network-observability-host-requirements-satisfied': t('ai:Network Observability host requirements'),
});

export const hostValidationFailureHints = (
Expand Down Expand Up @@ -223,6 +225,8 @@ export const hostValidationFailureHints = (
'numa-resources-requirements-satisfied': '',
'oadp-requirements-satisfied': '',
'metallb-requirements-satisfied': '',
'network-observability-requirements-satisfied': '',
'network-observability-host-requirements-satisfied': '',
});

export const clusterValidationLabels = (
Expand Down Expand Up @@ -259,7 +263,8 @@ export const clusterValidationLabels = (
'numa-resources-requirements-satisfied': t('ai:NUMA Resources requirements'),
'oadp-requirements-satisfied': t('ai:OADP requirements'),
'metallb-requirements-satisfied': t('ai:MetalLB requirements'),
});
'network-observability-requirements-satisfied': t('ai:Network Observability requirements'),
} as { [key in ClusterValidationId]?: string });

export const clusterValidationGroupLabels = (
t: TFunction,
Expand Down Expand Up @@ -345,6 +350,7 @@ export const OPERATOR_NAME_OPENSHIFT_LOGGING = 'openshift-logging';
export const OPERATOR_NAME_NUMA_RESOURCES = 'numaresources';
export const OPERATOR_NAME_OADP = 'oadp';
export const OPERATOR_NAME_METALLB = 'metallb';
export const OPERATOR_NAME_NETWORK_OBSERVABILITY = 'network-observability';

export const singleClusterOperators = [
OPERATOR_NAME_CNV,
Expand Down
Loading