From: Aashish Sharma Date: Wed, 4 Mar 2026 09:58:17 +0000 (+0530) Subject: mgr/dashboard: update onboarding screen as per design X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=cc8e8f02ce2b2198e5b26f86810d3a70adfd29f1;p=ceph.git mgr/dashboard: update onboarding screen as per design Fixes: https://tracker.ceph.com/issues/75317 Signed-off-by: Aashish Sharma --- diff --git a/src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/cluster.module.ts b/src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/cluster.module.ts index fadb8312a7c..d636b5dc996 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/cluster.module.ts +++ b/src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/cluster.module.ts @@ -23,7 +23,9 @@ import { NumberModule, FileUploaderModule, TabsModule, - RadioModule + RadioModule, + TilesModule, + LayerModule } from 'carbon-components-angular'; import Analytics from '@carbon/icons/es/analytics/16'; import CloseFilled from '@carbon/icons/es/close--filled/16'; @@ -133,7 +135,9 @@ import { TextLabelListComponent } from '~/app/shared/components/text-label-list/ LayoutModule, NumberModule, FileUploaderModule, - RadioModule + RadioModule, + TilesModule, + LayerModule ], declarations: [ MonitorComponent, diff --git a/src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/create-cluster/create-cluster.component.html b/src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/create-cluster/create-cluster.component.html index 2d63b8ae1dc..f9ae6adb4a5 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/create-cluster/create-cluster.component.html +++ b/src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/create-cluster/create-cluster.component.html @@ -3,7 +3,7 @@
+ [columnNumbers]="{'lg': 13, 'md': 8, 'sm': 8}">
-
+
Finish cluster setup! + i18n>Your Ceph cluster is initialized and running.
@@ -29,38 +29,108 @@ - You've successfully initialised your ceph cluster + The cluster control plane is ready. + +
+ +
+ + + + Add storage to begin using your cluster.
-
A few setup steps are still pending before the cluster can store data and serve workloads. You can complete these now or skip and configure services later
+
+ Set up storage for your cluster to run workloads and store data. You can configure storage and data services now, or skip and configure them later. +
-
-
- +
+ + Storage requirements + + - Add hosts
-
- + + +
+ - Add storage +
+ + Hosts + + + Minimum 3 hosts required + +
-
- + +
+ - Create data services (optional) + +
+ + Disks + + + + At least 1 disk per host + +
+
+ +
+ +
+ + + +
+ + Data services (optional) + + + + Configure Object, Block, or File services + +
+ + +
+ + + The cluster cannot store data until storage is added. If storage is already configured, continue to the cluster overview. + +
@@ -78,21 +148,13 @@
- -
- - - Skipping setup does not affect the cluster. The cluster will remain available, but it cannot store data until storage is added -
} diff --git a/src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/create-cluster/create-cluster.component.scss b/src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/create-cluster/create-cluster.component.scss index 313f3193bfb..45e0c3bda73 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/create-cluster/create-cluster.component.scss +++ b/src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/create-cluster/create-cluster.component.scss @@ -20,3 +20,12 @@ cd-osd-form { margin-left: -1.5rem; } } + +.storage-requirements-body { + border: 1px solid var(--cds-border-subtle); +} + +.storage-requirements-header { + border: 1px solid var(--cds-border-subtle); + border-bottom: 0; +} diff --git a/src/pybind/mgr/dashboard/frontend/src/app/core/navigation/navigation.module.ts b/src/pybind/mgr/dashboard/frontend/src/app/core/navigation/navigation.module.ts index b481d6e5fae..3122c0f8664 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/core/navigation/navigation.module.ts +++ b/src/pybind/mgr/dashboard/frontend/src/app/core/navigation/navigation.module.ts @@ -62,6 +62,9 @@ import NotificationFilledIcon from '@carbon/icons/es/notification--filled/16'; import CircleDashIcon20 from '@carbon/icons/es/circle-dash/20'; import CheckmarkOutlineIcon20 from '@carbon/icons/es/checkmark--outline/20'; import ArrowRightIcon from '@carbon/icons/es/arrow--right/20'; +import IbmCloudBareMetalServerIcon from '@carbon/icons/es/ibm-cloud--bare-metal-server/20'; +import IbmCloudDedicatedHostIcon from '@carbon/icons/es/ibm-cloud--dedicated-host/20'; +import VmdkDiskIcon from '@carbon/icons/es/vmdk-disk/20'; import CloseIcon from '@carbon/icons/es/close/16'; import { NotificationPanelComponent } from './notification-panel/notification-panel/notification-panel.component'; @@ -137,6 +140,8 @@ export class NavigationModule { FileIcon, ObservabilityIcon, AdminIcon, + IbmCloudBareMetalServerIcon, + IbmCloudDedicatedHostIcon, LockedIcon, LogoutIcon, CheckmarkFilledIcon, @@ -148,7 +153,8 @@ export class NavigationModule { CloseIcon, CircleDashIcon20, CheckmarkOutlineIcon20, - ArrowRightIcon + ArrowRightIcon, + VmdkDiskIcon ]); } } diff --git a/src/pybind/mgr/dashboard/frontend/src/app/shared/enum/icons.enum.ts b/src/pybind/mgr/dashboard/frontend/src/app/shared/enum/icons.enum.ts index 3514bec48ff..290da0e09cb 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/shared/enum/icons.enum.ts +++ b/src/pybind/mgr/dashboard/frontend/src/app/shared/enum/icons.enum.ts @@ -90,6 +90,9 @@ export enum Icons { checkmarkOutline = 'checkmark--outline', circleDash = 'circle-dash', datastore = 'datastore', + ibmCloudBareMetalServer = 'ibm-cloud--bare-metal-server', + ibmCloudDedicatedHost = 'ibm-cloud--dedicated-host', + clusterIcon = 'web-services--cluster', /* Icons for special effect */ size16 = '16', size20 = '20',