Managing SMB clusters by using declarative method

Learn to create, remove, modify, and list SMB clusters by using declarative method.

Before you begin

Before you begin, make sure that you have the following prerequisites in place:
  • Gather information about the domain when using active-directory.
  • Create a domain user to join to active directory (AD).
  • Determine whether you need to use custom_dns setting
  • Know which users to define if you are not using AD.

About this task

This method uses the command ceph smb apply to process resource descriptions specified in YAML or JSON, similar to service specifications for Ceph orchestration with cephadm, by using SMB-specific resource types.

Creating SMB clusters

About this task

Create an SMB cluster by using the declarative method.

Procedure

  • Specify the resource_type as ceph.smb.cluster for both YAML or JSON.
    Example JSON file for cluster creation:
    [
      {"resource_type": "ceph.smb.cluster",
       "cluster_id": "rhumba",
       "...": "... other fields skipped for brevity ..."
      }
    ]
    
  • Apply the resource specification to the cluster by using the ceph smb apply command:
    For example,
    [user@client ~]$ ceph smb apply -i /path/to/resources.yaml

Viewing SMB cluster details

About this task

Learn how to view the SMB cluster detail by using the declarative method.

Procedure

You can view all the resources that are applied to the Ceph cluster configuration by using the ceph smb show command.
ceph smb show [RESOURCE_NAME...]
This example shows one cluster resource (if it exists) for the cluster cluster1 along with all the shared resources that are associated with the cluster1.
$ ceph smb show ceph.smb.cluster.bob ceph.smb.share.Cluster1
The show command shows all resources of a given type or specific resources by ID. resource_name arguments can take the following forms:
Table 1. Show command resource name
Resource name Description
ceph.smb.cluster Shows all cluster resources.
ceph.smb.cluster.cluster_id Shows the cluster with given cluster ID.
ceph.smb.share Shows all shared resources.
ceph.smb.share.cluster_id Shows all shared resources part of the specific cluster.
ceph.smb.share.cluster_id.share_id Shows specific shared resources with the specific cluster and share IDs.
ceph.smb.usersgroups Shows all Users & Groups resources.
ceph.smb.usersgroups.users_goups_id Shows specific Users & Groups resource.
ceph.smb.join.auth Shows all join auth resources.
ceph.smb.join.auth.auth_id Shows a specific join auth resource.

Removing SMB clusters

About this task

Learn how to remove the SMB clusters by using the declarative method.

Procedure

To remove the cluster resource, set the intent in the specification file as removed.
For example,
resource_type: ceph.smb.cluster
cluster_id: rhumba
intent: removed