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=4a55ffce1767be930566eabf9cc76aa5631ac57a;p=ceph.git mgr/dashboard: update onboarding screen as per design Fixes: https://tracker.ceph.com/issues/75317 Signed-off-by: Aashish Sharma (cherry picked from commit cc8e8f02ce2b2198e5b26f86810d3a70adfd29f1) Conflicts: src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/cluster.module.ts src/pybind/mgr/dashboard/frontend/src/app/core/navigation/navigation.module.ts src/pybind/mgr/dashboard/frontend/src/app/shared/enum/icons.enum.ts --- 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 5befc0fc2bcc..89387835c006 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 @@ -20,7 +20,11 @@ import { SelectModule, LayoutModule, NumberModule, - FileUploaderModule + FileUploaderModule, + TabsModule, + RadioModule, + TilesModule, + LayerModule } from 'carbon-components-angular'; import { @@ -124,7 +128,10 @@ import { TextLabelListComponent } from '~/app/shared/components/text-label-list/ SelectModule, LayoutModule, NumberModule, - FileUploaderModule + FileUploaderModule, + 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 2d63b8ae1dca..f9ae6adb4a57 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 313f3193bfba..45e0c3bda734 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 a2ec6cf0fa29..bdaae208f3f7 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 @@ -53,6 +53,10 @@ 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'; @@ -104,6 +108,8 @@ export class NavigationModule { FileIcon, ObservabilityIcon, AdminIcon, + IbmCloudBareMetalServerIcon, + IbmCloudDedicatedHostIcon, LockedIcon, LogoutIcon, CheckmarkFilledIcon, @@ -114,7 +120,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 c9fc47b5525c..4a11f330d6af 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,10 @@ export enum Icons { connect = 'connect', 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 */ large = 'fa fa-lg', // icon becomes 33% larger large2x = 'fa fa-2x', // icon becomes 50% larger