Objetscale Ag 13x
Objetscale Ag 13x
3 Administration Guide
September 2023
Rev. 1.0
Notes, cautions, and warnings
NOTE: A NOTE indicates important information that helps you make better use of your product.
CAUTION: A CAUTION indicates either potential damage to hardware or loss of data and tells you how to avoid
the problem.
WARNING: A WARNING indicates a potential for property damage, personal injury, or death.
© 2023 Dell Inc. or its subsidiaries. All rights reserved. Dell Technologies, Dell, and other trademarks are trademarks of Dell Inc. or its
subsidiaries. Other trademarks may be trademarks of their respective owners.
Contents
Revision history......................................................................................................................................................................... 11
Document feedback........................................................................................................................................................... 11
About using this guide............................................................................................................................................................ 12
Chapter 1: Overview.....................................................................................................................13
About Dell ObjectScale .................................................................................................................................................... 13
Product Description...........................................................................................................................................................13
Basic Terminology.............................................................................................................................................................. 14
ObjectScale User Interfaces........................................................................................................................................... 15
ObjectScale Portal for Dell ObjectScale................................................................................................................. 16
Grafana Dashboards.................................................................................................................................................... 16
ObjectScale and Kubernetes........................................................................................................................................... 16
ObjectScale Storage Classes.....................................................................................................................................17
ObjectScale components........................................................................................................................................... 18
Data protection with ObjectScale Erasure Coding schemes...................................................................................19
Customer Feedback..........................................................................................................................................................20
Provide general feedback..........................................................................................................................................20
Contents 3
Identity Provider.......................................................................................................................................................... 59
Root Access Keys........................................................................................................................................................ 61
Notification Destinations........................................................................................................................................... 62
Chapter 5: Buckets......................................................................................................................77
About ObjectScale buckets.............................................................................................................................................77
Bucket and object naming conventions................................................................................................................. 77
Bucket versioning and Object Lock.........................................................................................................................77
About ObjectScale Bucket Logging........................................................................................................................ 79
Creating and managing buckets using ObjectScale..................................................................................................82
Create a bucket........................................................................................................................................................... 82
Edit a bucket.................................................................................................................................................................84
View the summary of a bucket................................................................................................................................ 85
Delete a bucket............................................................................................................................................................ 86
Configure Bucket Logging.........................................................................................................................................86
About bucket policies................................................................................................................................................. 87
Setting up bucket event notifications.................................................................................................................... 94
Configuring bucket entities........................................................................................................................................... 102
View the Bucket Summary...................................................................................................................................... 102
Managing Bucket Replication................................................................................................................................. 103
4 Contents
Configuring replication rules using the ObjectScale Portal UI......................................................................... 113
Configure replication using the S3 API..................................................................................................................114
Replication Rules.........................................................................................................................................................115
Bucket Replication to multiple destinations............................................................................................................... 115
Delete marker replication on versioning-enabled buckets .....................................................................................117
Manage a Bucket Replication Policy using ObjectScale UI.................................................................................... 117
Configure a new bucket replication rule................................................................................................................117
Edit an existing bucket replication rule................................................................................................................. 119
Delete a bucket replication rule..............................................................................................................................120
Working with bucket replication rules...................................................................................................................120
Change the priority of bucket replication rules................................................................................................... 121
Check replication rule statuses ............................................................................................................................. 122
Configure the destination bucket to receive objects........................................................................................122
Set up ObjectScale Replication using the ObjectScale API...................................................................................124
Create and configure an account and an IAM role............................................................................................ 124
Set up the ObjectScale to ObjectScale Replication.......................................................................................... 126
Replication status............................................................................................................................................................ 127
Monitor for failed replications on the ObjectScale Portal UI.......................................................................... 128
Get replication failure reasons, failed destinations, and remediation hints ................................................ 128
Contents 5
Create an external authentication provider........................................................................................................ 155
Manage external authentication providers.......................................................................................................... 158
Map ObjectScale roles to external users............................................................................................................. 158
Manage role mappings..............................................................................................................................................159
6 Contents
Multipart upload (MPU) support for huge objects ...........................................................................................212
ObjectScale S3 error codes.....................................................................................................................................213
Authenticating with the S3 service...................................................................................................................... 228
Use SDKs to access the S3 service......................................................................................................................229
Working with S3 workloads in ObjectScale........................................................................................................ 232
Contents 7
OBJSC-IAM-1004......................................................................................................................................................247
OBJSC-LIC-0004...................................................................................................................................................... 248
OBJSC-MGR-3000...................................................................................................................................................248
OBJSC-MGR-HC-1000............................................................................................................................................248
OBJSC-MON-1111......................................................................................................................................................248
OBJSC-MON-1112.....................................................................................................................................................249
OBJSC-MON-1113.....................................................................................................................................................249
OBJSC-MON-3002.................................................................................................................................................. 249
OBJSC-MON-3003.................................................................................................................................................. 249
OBJSC-MON-4019................................................................................................................................................... 250
OBJSC-MON-4020.................................................................................................................................................. 250
OBJSC-MON-4021................................................................................................................................................... 250
OBJSC-MON-4022.................................................................................................................................................. 250
OBJSC-MON-4025................................................................................................................................................... 251
OBJSC-MON-4028................................................................................................................................................... 251
OBJSC-SP-0000....................................................................................................................................................... 251
OBJSC-SP-0001........................................................................................................................................................ 251
OBJSC-SP-0002.......................................................................................................................................................252
OBJSC-SP-0003.......................................................................................................................................................252
OBJSC-SP-0004.......................................................................................................................................................252
OBJSC-TARGET-01..................................................................................................................................................252
OBJSOP-1000............................................................................................................................................................253
OBJSOP-1001.............................................................................................................................................................253
OBJSOP-1002............................................................................................................................................................253
OBJSOP-1003............................................................................................................................................................253
OBJSOP-1004............................................................................................................................................................254
OBJSOP-1005............................................................................................................................................................254
OBJSOP-1006............................................................................................................................................................254
OBJSOP-2001............................................................................................................................................................254
OBJSOP-2002........................................................................................................................................................... 255
OBJST-1006...............................................................................................................................................................255
OBJST-1008............................................................................................................................................................... 255
OBJST-12001............................................................................................................................................................. 255
OBJST-12003.............................................................................................................................................................256
OBJST-12004.............................................................................................................................................................256
OBJST-12005.............................................................................................................................................................256
OBJST-12006.............................................................................................................................................................256
OBJST-12007............................................................................................................................................................. 257
OBJST-12008.............................................................................................................................................................257
OBJST-12010..............................................................................................................................................................257
OBJST-12011...............................................................................................................................................................257
OBJST-13000.............................................................................................................................................................258
OBJST-13001............................................................................................................................................................. 258
OBJST-13002.............................................................................................................................................................258
OBJST-13003.............................................................................................................................................................258
OBJST-13004.............................................................................................................................................................259
OBJST-13005.............................................................................................................................................................259
OBJST-13006.............................................................................................................................................................259
OBJST-13007.............................................................................................................................................................260
OBJST-13008.............................................................................................................................................................260
8 Contents
OBJST-13009.............................................................................................................................................................260
OBJST-13010............................................................................................................................................................. 260
OBJST-13011.............................................................................................................................................................. 260
OBJSTEPUPD-4000................................................................................................................................................. 261
OBJSTEPUPD-4001.................................................................................................................................................. 261
OBJSTEPUPD-4002................................................................................................................................................. 261
OBJSTEPUPD-4003................................................................................................................................................. 261
OBJSTEPUPD-4004.................................................................................................................................................262
OBJSTEPUPD-4005.................................................................................................................................................262
OBJSTEPUPD–4006................................................................................................................................................262
OBJSTEPUPD–4007................................................................................................................................................263
OBJSTEPUPD–4008................................................................................................................................................263
OBJST-1320............................................................................................................................................................... 263
OBJST-1321................................................................................................................................................................ 263
OBJST-1324............................................................................................................................................................... 264
OBJST-1325............................................................................................................................................................... 264
OBJST-1328............................................................................................................................................................... 264
OBJST-1329............................................................................................................................................................... 264
OBJST-1332............................................................................................................................................................... 265
OBJST-1333............................................................................................................................................................... 265
OBJST-1336............................................................................................................................................................... 265
OBJST-1337............................................................................................................................................................... 265
OBJST-1340............................................................................................................................................................... 265
OBJST-1341................................................................................................................................................................ 266
OBJST-1344............................................................................................................................................................... 266
OBJST-1345............................................................................................................................................................... 266
OBJST-1352............................................................................................................................................................... 266
OBJST-1354............................................................................................................................................................... 266
OBJST-1364............................................................................................................................................................... 267
OBJST-1365............................................................................................................................................................... 267
OBJST-1366............................................................................................................................................................... 267
OBJST-1389............................................................................................................................................................... 267
OBJST-1390............................................................................................................................................................... 268
OBJST-1392............................................................................................................................................................... 268
OBJST-1600............................................................................................................................................................... 268
OBJST-1601................................................................................................................................................................268
OBJST-1602............................................................................................................................................................... 268
OBJST-1603............................................................................................................................................................... 269
OBJST-1604............................................................................................................................................................... 269
OBJST-1605............................................................................................................................................................... 269
OBJST-1700............................................................................................................................................................... 270
OBJST-1701................................................................................................................................................................ 270
OBJST-2100............................................................................................................................................................... 270
OBJST-2101................................................................................................................................................................ 270
OBJST-MON-4016....................................................................................................................................................270
OBJST-MON-4019.................................................................................................................................................... 271
OBJST-MON-4020....................................................................................................................................................271
OBJSTORE-HC-1000................................................................................................................................................ 271
OBJUPD-1000.............................................................................................................................................................271
SNMPNOTI-1000...................................................................................................................................................... 272
Contents 9
TEST TRAP................................................................................................................................................................. 272
10 Contents
Revision history
Table 1. Revision history
Revision Date Revision Number Description of change
October 11, 2023 1.0 Initial release for ObjectScale 1.3.0.
Document feedback
Submit feedback or suggestions about this document to [email protected].
Revision history 11
About using this guide
CAUTION: Many PDF viewers add a line break to the end of each line of text in a PDF. Adobe Acrobat (Reader,
Standard, and Pro) and other common PDF viewers, including Google Chrome and Microsoft Edge, insert these
line breaks. As a result, when you copy commands that wrap across multiple lines in a PDF, the copied command
is in the wrong format. (It contains erroneous line breaks.) If you copy and paste commands, the line breaks
cause issues during the installation and administration of ObjectScale.
To address this known limitation and ensure that copied commands do not contain unintentional line breaks, do
one of the following:
● Paste the copied commands into a text editor and remove the line breaks.
● Use the HTML version of this document when you are copying commands.
Product Description
ObjectScale is an enterprise-grade object storage system from Dell that runs efficiently on shared infrastructure and in multi-
tenant environments.
ObjectScale gives organizations the power to put data closer to the applications they support, reducing latency and improving
the user experience. In addition, object storage from disparate platforms can cross-replicate for greater access, reliability, and
redundancy.
ObjectScale offers the following major functionality:
● Simple, S3-compatible enterprise-grade object storage
● Kubernetes-based, customer-deployable
● Scaled-out, software-defined architecture
Other important features of ObjectScale include:
Overview 13
● Improved data protection with new erasure coding schemes
● New replication model with eventual consistency for greater availability during hardware failure
● Integrated management of bucket or object events, enabling bucket notifications, ObjectScale replication, and metering
● A complete multi-tenant IAM service with IAM accounts, with each account supporting IAM entities such as users, groups,
roles, policies, and service providers
ObjectScale runs in Kubernetes. Building ObjectScale for Kubernetes allowed Dell to deliver a simplified product where
Kubernetes handles the OS- and hardware-level layers. ObjectScale handles the storage and storage management.
With this underlying Kubernetes architecture, ObjectScale gives you segmented control of the storage, compute, and network
services. The architecture allows for dynamic provisioning of resources. You can control when new services are started on an as
needed basis. These new resources are tied to the underlying resources upon creation.
Here are some of the benefits Kubernetes provides for ObjectScale:
● Predictable application deployment using a declarative method
● Dynamic scaling of application resources
● Deployment using only required resources
● Highly portable across deployment models
● Self-healing: Autoplacement, auto restart, and autoreplication
In Kubernetes, each resource can be affinitized to run on one host. Affinization of resources to hosts allows ObjectScale to
behave as its own fault domain.
Flexible deployment environments support customer-built and maintained object storage systems. ObjectScale deployment
platforms are:
● ObjectScale Appliance
● ObjectScale Software Bundle
● ObjectScale for Red Hat OpenShift
ObjectScale performance and maintenance tasks benefit from the collocation of the compute and storage infrastructure.
Basic Terminology
The following terms are basic to understand ObjectScale.
Account A logical construct that corresponds to a customer business unit, tenant, project, and so on, which are
relevant to the account admin role and end users that belong to an account.
Admin Admin of an ObjectScale or a federation of ObjectScale instances.
Buckets Buckets are object containers that are used to control access to objects.
Chunk A Chunk is the basic unit in ObjectScale for data storage. A chunk is 128MiB of logical storage that is
erasure-coded and written to multiple disks across multiple nodes in the instance.
Custom Resource Custom Resource Definitions are extensions to Kubernetes API resources. ObjectScale adds CRDs that
Definition create custom resources with the specified name and schema.
DECKS Dell Common Kubernetes Services created by Dell.
Federation A federation joins multiple ObjectScale instances together. Global information like endpoints or global
accounts are replicated throughout an ObjectScale federation.
Horizontal Object stores can be expanded through horizontal expansion by adding more Storage Servers to the
Expansion object store.
IAM Role An IAM Role (role) is an IAM identity that you can create in your account that has specific permissions.
An IAM Role is similar to an IAM user, in that it is an ObjectScale identity with permission policies
that determine what the identity can and cannot do in ObjectScale. However, instead of being uniquely
associated with one person, a role is intended to be assumable by anyone who needs it. An IAM role
does not have any credentials and cannot make direct requests, and IAM roles need to get short term
credentials by assuming role. IAM roles with temporary credentials are used in the certain situations like,
federated user access, temporary IAM user permissions , cross-account access, and cross-service access.
IAM User IAM user has permanent long-term credentials and is used to directly interact with ObjectScale data
services. An IAM user is an identity with permission policies that determine what the identity can and
cannot do in ObjectScale.
KAHM Kubernetes Application Health Management created by Dell.
14 Overview
Kubernetes Kubernetes (K8s) is an open-source container-orchestration system for automating application
deployment, scaling, and management.
Large Size Object A large object is a conceptual distinction, and is an object where the size of the file is such that the time
spent moving the payload data of the file is the dominant component of the overall response time. This
is in contrast to a small object, where the dominant component of the overall response time would be
the transactional overhead. The distinction between these two is useful in understanding the factors of
overall system performance.
Namespace In Kubernetes, namespaces act as a mechanism for isolating groups of resources within a single cluster.
Object Attribute An object attribute is an aspect of an object version that can be updated and replicated separately, such
as an object tag, ACL, or lock.
Object Data Data of an object version.
Object Data The data locations of an object version on chunks.
Index
ObjectScale ObjectScale is deployed in a Kubernetes cluster. The deployment is termed as an ObjectScale Instance
Instance (OSI). ObjectScale, or the ObjectScale instance, is a software bundle of management services that
contains everything that is needed to deploy and consume Dell object storage. The ObjectScale instance
is deployed once per Kubernetes cluster and provides management and shared object store services.
Including:
● IAM
● Federation service
● Serviceability features such as SupportAssist.
Object Stores A unique and independent storage system with an individualized life cycle. One or more object stores are
deployed by each ObjectScale instance. Object stores are created, updated, and deleted independently
from all other object stores managed by the shared ObjectScale instance. Kubernetes cluster resources
such as storage, CPU, and RAM are defined for each object store based on workload demand inputs that
are specified at object store creation. Resources that are reserved for an object store at creation may be
adjusted at any time.
Object Metadata The system or user metadata of an object. Object metadata is a part of the object version, and it cannot
be updated separately. As a result object metadata is not a part of ObjectScale replication attributes.
Object metadata is replicated whenever the object data is replicated.
Object Version All data or metadata or attribute belongs to a specific version of an object.
Resource Names Resource Names (RNs) are names that uniquely identify resources. Resource Names (RNs) are required
when user must specify a resource unambiguously in an ObjectScale.
Small Size Object A small object is a conceptual distinction, and is an object where the size of the file is such that most
of the I/O time is spent accessing metadata and thus, is bounded by the performance of the metadata
services.
Storage Class Storage Class determines which driver is used to create a persistent volume. At a per ObjectScale level,
the admin can map storage classes to storage tiers.
Storage Servers Storage Servers (SS) in ObjectScale interact with storage media. In ObjectScale, each physical server is a
(SS) Kubernetes node, and each SS pod instance is an ObjectScale node.
SupportAssist SupportAssist provides a network based connection to Dell Support. SupportAssist enables Dell Support
to receive telemetry and issues, events, and alerts from your ObjectScale instance, and to perform
remote troubleshooting, resulting in a fast and efficient time to resolution.
Tenant A tenant is a logical construct resulting from the binding of an IAM account to an object store. When an
IAM account is added to an object store, that account becomes a tenant within that object store.
Vertical ObjectScale can be expanded through vertical expansion by increasing the number of volumes per
Expansion Storage Server replica in the object store.
Overview 15
ObjectScale Portal for Dell ObjectScale
The ObjectScale Portal user interface is used to manage deployments of ObjectScale.
The ObjectScale Portal allows you to easily manage ObjectScale and its features, as well as object stores, accounts, and account
entities.
Grafana Dashboards
ObjectScale includes the collection, storage, and visualization of detailed metrics in Grafana dashboards. Administrators can use
these dashboards to drill into problems or identify developing problems with ObjectScale or problems with underlying storage
resources.
Similar metrics are also available at the ObjectScale-level, from the Dashboard page (must have admin permissions to see
them).
Grafana is an open-source metrics visualization tool. The ObjectScale installation deploys Grafana.
See Grafana for basic details of navigation in Grafana dashboards.
16 Overview
Definitions (CRD). Custom resources define actions available to users of the Operator. Kubernetes manages custom resources
like it manages its own integrated resources.
The ObjectScale Operator is a custom resource that creates object stores. The ObjectScale Operator connects object stores to
the management services, and orchestrates operations, such as upgrades and deletions.
The ZooKeeper operator is a custom resource that manages all the ZooKeeper clusters for ObjectScale.
The Atlas operator is a custom resource that:
● Provides Atlas services to implement a new key-value store
● Provides stability, predictability, and efficiency for per-operation overhead (key-value operations), system operation
overhead (node replacement), and overall CPU and memory use
Overview 17
Name Reclaim Policy Volume Allow Volume Disk Micro Highly Media Types
Binding Mode Expansion Partitioning Available
csi-baremetal- Delete WaitForFirstCon Yes Yes No SSD
sc-ssdlvg sumer
csi-baremetal- Delete WaitForFirstCon Yes Yes No Any
sc-syslvg sumer
ObjectScale components
An ObjectScale deployment contains these components to support ObjectScale features and functionality.
The following table describes ObjectScale and object store components that are deployed with an ObjectScale instance. Several
columns show the component size and expected storage class.
18 Overview
Table 2. ObjectScale Stateful components (continued)
Name Level Highly Minimum Volume Size (large SSD Storage Class (SC)
Available replicas profile)
count
Overview 19
Erasure Coding Number of nodes Data availability during component
Scheme failures
Customer Feedback
Use the customer feedback feature in the ObjectScale Portal to report your satisfaction with ObjectScale, provide feedback,
and send requests for enhancements. Customer feedback is used to improve the customer experience.
Steps
1. Click Feedback, located in the bottom of left hand navigation panel.
The ObjectScale customer feedback survey opens in a new window in your internet browser.
NOTE: In environments with limited external connectivity, such as dark sites, an error appears in the web browser and
the customer feedback survey is not displayed.
2. Complete the desired fields in the customer feedback survey, and when finished, click Submit.
You have the option to rate your satisfaction with ObjectScale and make a recommendation for how to improve the
customer experience. You also have the option to provide an email address so that Dell can follow up with you regarding your
feedback.
NOTE: Customer contact information will not be used for marketing purposes.
20 Overview
2
Getting Started with ObjectScale
Use these sections to begin using ObjectScale following installation.
Topics:
• Accessing the ObjectScale Portal user interface
• Using the ObjectScale Portal user interface
• Security configuration
• Role-based security
Prerequisites
If you have not already done so, obtain the network address (EXTERNAL-IP) of the ObjectScale Portal user interface:
Steps
1. Open a supported web browser and enter the External IP address and port for the objectscale-portal service:
https://<EXTERNAL_IP_ADDRESS>:4443
View Dashboard
The Dashboard tab provides an overview of ObjectScale.
● Object Store Performance Select the namespace containing the object store from the namespace drop-down on the
upper right corner of the ObjectScale Portal. Once you select a namespace ObjectScale Portal displays data on one or more
object stores within that namespace.
○ Name
○ State
○ Latency
○ Compression Ratio
You can use the timeframe filter on the right side of the section to choose between the following options:
○ Last 24 hours
○ Last 7 days
○ Last 30 days
○ Custom Range
● ObjectScale Summary
○ Health - Monitor the ObjectScale system alerts. Click links in the row to see related alerts.
○ System Data - The capacity that is used by the ObjectScale processes that track and describe the data in the system.
Hover over the category names to know more.
○ Capacity Utilization - Monitor all capacities at the ObjectScale level. Hover over the category names to know more.
○ Data Management - Monitor the capacity reclaimed, user data reclaimed, and system metadata reclaimed in
ObjectScale level. Hover over the category names to know more.
Steps
1. From the ObjectScale Portal user interface, click Administration.
The Administration sections that the user is authorized to view are displayed.
2. Click Licensing.
3. Click Generate Activation XML.
The Generate Activation XML box appears.
4. Enter file name in the Download file name field, and click Download.
The Activation XML is generated and downloaded.
5. Generate License on SLC.
See Software Licensing Central: Activation, Entitlements, Rehost and Regeneration Guide "Chapter 2 - Activate-by-File" on
Dell Support for the detailed procedures.
The activated license is saved to a file.
6. From the ObjectScale Portal user interface, click Administration.
The Administration sections that the user is authorized to view are displayed.
7. Click Licensing.
The page displays available license information.
8. Click Apply.
The Apply License box appears.
9. Click Select to browse and upload the ObjectScale license file. Once uploaded, click Apply.
10. Expand the license in the Licensing table to display details about the ObjectScale license and its enabled features and
capacities.
Administration
View the ObjectScale Portal Administration section.
The Administration section of the ObjectScale Portal provides access to:
● ObjectScale
● Licensing
● SupportAssist
● SAML Metadata
● Requests
● Platform Settings
● Security Settings
● Active Sessions
● Upgrades
ObjectScale
View or manage Object Stores, Federation, Remote Instance and ObjectScale Certificates.
SupportAssist
View or manage the SupportAssist configuration for ObjectScale from the SupportAssist section of the ObjectScale Portal.
SAML Metadata
View or manage SAML Service Provider Metadata details for ObjectScale from the SAML Service Provider Metadata section
of the ObjectScale Portal.
Requests
View or manage requests with options to filter by Status, Request ID, Type, Requestor, and Approver.
Platform Settings
View or manage Privileged Actions Approval System and Platform Protection Mode.
Security Settings
View or manage Management Users, Authentication Providers, Approvers, and User Settings.
Active Sessions
View or manage active sessions by Management Users, Authentication Providers, and Approvers.
Upgrades
View or manage available upgrade and upgrade history.
Security configuration
A separate guide provides some configuration tasks which are intended for security administrators, whose role may be separate
from the system administrator.
The ObjectScale Security Configuration Guide provides detailed instructions for security-related tasks.
Role-based security
ObjectScale provides predefined user roles that control access to areas of the user interface and to protected operations.
Some of the functionality in this guide is reserved for particular roles and may not be accessible from every user account.
By using the predefined roles, you can limit access to ObjectScale, and the object stores and buckets by applying the principle of
least privilege.
When ObjectScale is deployed on a Red Hat OpenShift Container Platform, the OpenShift cluster administrator user can
set up end-user namespaces and users with specialized permissions for access to object stores deployed within an end-user
namespace.
In ObjectScale, each account consists of replicated IAM entities and ObjectScale local IAM entities. Local IAM entities remain
local within the ObjectScale instance and are not replicated. Global entities are replicated to other ObjectScale instances.
Replicated IAM entities and ObjectScale local IAM entities have separate APIs.
The ObjectScale instance where the Account was created initially owns that Account and is known as the Account Owner. That
account is a primary account on that ObjectScale instance. Within ObjectScale there can be only one Account Owner for any
given Account and its underlying IAM entities.
Multiple ObjectScale instances can be connected to each other forming an ObjectScale Federation. Within this federation
all ObjectScale instances have a trust relationship established with each other. Any Federation member knows about other
Federation members through ObjectScale Federation Service. Any Federation member knows about all existing Accounts across
the Federation, i.e. there is a shared Account Registry. When a primary IAM account is replicated from its ObjectScale instance
to another ObjectScale instance(s) within the federation, it becomes a secondary on these other ObjectScale instances. For
more information about federating ObjectScale instances, see Federate ObjectScale Systems.
An Account can be changed by an authorized user. The user can add, update, or delete any of the entities associated with that
account. However, such operations must always be performed on the ObjectScale instance that owns the Account. When the
IAM entity is changed, the effects of those changes may not take effect immediately.
If a user tries to change an Account from an ObjectScale that doesn't own that Account, the user will get HTTP 301 or 308
message along with the URL that corresponds to the Account Owner.
The ObjectScale Management Rest API ZIP file with the supported IAM APIs at available on the Drivers & Downloads tab
of your model and version (https://www.dell.com/support/home/en-us/product-support/product/objectscale-product-family/
overview).
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. Select NEW ACCOUNT.
New Account window opens.
3. Fill all the required fields in the New Account page.
4. Click SAVE.
The new Account is saved with added authorization for buckets.
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. To view details of an Account, click the name of an account that is listed in the accounts table.
The Summary tab is displayed and shows details about the account and the account data, such as
● Aggregate Metrics
● Hour Metrics
Edit Account
This task describes how to edit an account with the ObjectScale Portal user interface.
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. Select an account and click EDIT.
A new window opens.
3. Edit the fields in the new window.
NOTE: All fields are not editable.
4. Click SAVE.
The Account is saved with updated fields.
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. Select an account and click ENABLE or DISABLE.
Delete an account
You cannot delete an account using the ObjectScale Portal user interface, accounts can only be deleted using the IAM API.
Steps
1. Follow the steps in Delete a bucket to delete a bucket and its objects.
2. Follow the steps in Delete an IAM user account to delete all the IAM user accounts from the IAM account.
3. Finally, use the IAM API to remove the IAM account.
The ObjectScale Management Rest API with the supported APIs is available at https://www.dell.com/support/home/
product-support/product/objectscale/drivers.
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. Select an account from the account list and then select the Users tab.
The list of Users within that account appears.
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. Select an account from the account list and then select the Users tab.
The Users list appears.
3. Click New User.
The New User window opens.
4. Fill all the required fields in the New User window.
If this access secret key is lost, delete and create a new secret key.
5. Click Complete.
A new IAM user is added in ObjectScale.
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. Select an account from the account list and select Users. Select a user from the user list.
The Summary tab opens by default, and is not editable. The other tabs are:
● Groups
● Permissions
● Tags
● Secret Key
3. Edit the fields.
NOTE: All fields are not editable.
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. Select an account from the account list and select Users. Select a user from the user list.
The Summary tab opens by default.
3. Select Secret Key
The user Secret Key tab appears and displays the keys of the user.
4. Select all the keys and click Remove.
5. Click < Users at the top of the user tab to return to the list of users.
NOTE: In order to delete a user, you should first delete the associated permissions and policies that are attached in
addition to deleting the secret key.
6. Select the IAM user from the User list to remove from the account and click DELETE.
Groups
A Group is a collection of Users. You can use groups to specify permissions for a collection of users.
Use the following tasks to manage ObjectScale IAM groups.
New Group
This task describes how to add groups to an account with the ObjectScale Portal user interface.
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. Select an account from the account list and then select the Groups tab.
The Groups list appears.
3. Click NEW GROUP.
The NEW GROUP window opens.
4. Fill all the required fields in the NEW GROUP window.
● Name
● Policies
5. Click SAVE.
A New Group is created for the account.
Edit Group
This task describes how to edit groups of an account with the ObjectScale Portal user interface.
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. Select an account from the account list and then select the Groups tab.
The Groups list appears.
3. Select a group, and click EDIT.
● The Summary tab opens, by default, and is not editable.
● The other two tabs are:
○ Users, and
Delete Groups
This task describes how to delete groups from an account with the ObjectScale Portal user interface.
Prerequisites
Before you delete a group first remove all the users who are attached to the group, along with the permissions and policies.
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. Select an account from the account list and then select the Groups tab.
The Groups list appears.
3. Select one more or more Groups, and click DELETE.
A confirmation window opens that displays the selected Groups to be deleted.
4. Click YES.
The selected Groups are deleted from the account.
Roles
A role is similar to a user, in that it is an identity with permission policies that determine what the identity can and cannot do.
Instead of being uniquely associated with one person, a role is intended to be assumable by anyone who needs it. Also, a role
does not have any credentials (password or access keys) associated with it. Instead, if a user is assigned to a role, access keys
are created dynamically and provided to the user.
Use the following tasks to manage ObjectScale IAM roles.
New Role
This task describes how to add role to an account with the ObjectScale Portal user interface.
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. Select an account from the account list and then select the Roles tab.
The Roles list appears.
3. Click NEW ROLE.
The New Role window opens.
Edit Roles
This task describes how to edit roles with the ObjectScale Portal user interface.
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. Select an account from the account list and then select the Roles tab.
The Roles list appears.
3. Select a role from the list.
The Roles details for the select role appear.
● Summary
● Trust
● Permissions
● Tags
4. To edit the fields in the Summary tab, click EDIT.
● You cannot edit the Name field.
● You can only edit the Description, and Session Duration fields.
5. Click SAVE.
6. To edit the fields in the Trust tab, click Trust.
● NOTE: The ACCOUNT tab is displayed by default.
Table 6. Account
Field Action
Effect To edit Effect:
a. Click EDIT.
b. Select Allow or Deny.
c. Click SAVE.
Principal ARN. To add Principal ARN:
a. Click ADD PRINCIPAL ARN.
b. Add one or more principle ARN.
c. Click SAVE.
To edit Principal ARN:
a. Select a principal ARN.
b. Click EDIT.
c. Edit the principal ARN.
7. To edit the policies that are attached to the role, click Permissions.
Select a policy from the MANAGED POLICIES, INLINE POLICIES, or BOUNDARY tab and click ATTACH POLICY or
DETACH POLICY.
8. To edit the fields in the Tags tab, click Tags.
You can ADD TAGS, EDIT, or DELETE from the selected role.
Delete Roles
This task describes how to delete roles with the ObjectScale Portal user interface.
Prerequisites
Before you delete a role, first remove all the permissions and policies that are attached to it.
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. Select an account from the account list and then select the Roles tab.
The Roles list appears.
3. Select one or more roles, and click DELETE.
A confirmation window opens that displays the selected roles to be deleted.
4. Click YES.
The selected roles are deleted from the account.
ObjectScale managed policies Created and managed by ObjectScale. These policies cannot be modified
or deleted.
Customer-managed policies Managed policies that users create and manage in account.
Inline policies Policies that are added to a single user, group, or role.
Resource-based Attached inline policies to resources. Resource-based policies grant permissions to the principal that is
policies specified in the policy. Principals can be in the same account as the resource or in other accounts.
● S3 bucket policies
● IAM role trust policies
Permissions Sets the maximum permissions that an identity-based policy can grant to an IAM entity (user or role). When
boundaries you set a permissions boundary for an entity, the entity can perform only the actions that are allowed by
both its identity-based policies and its permissions boundaries. Resource-based policies that specify the
user or role as the principal are not limited by the permissions boundary. An explicit deny in any of these
policies overrides the allow.
Session policies Session policies are advanced policies that you enter a parameter when you programmatically create a
temporary session for a role. The permissions for a session are the intersection of the identity-based
policies for the IAM entity (user or role) used to create the session and the session policies. Permissions
can also come from a resource-based policy. An explicit deny in any of these policies overrides the allow.
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. Select an account from the account list and then select the Policies tab.
The Policies list appears.
3. Click NEW POLICY.
The New Policy window opens.
4. Create the policy using the New Policy wizard.
a. On the General tab, add Name and Description for the new policy.
b. On the Editor tab, click Visual or JSON to fill out the policy editor.
Click ADD POLICY STATEMENT to add additional statements.
c. On the Review tab, verify that the previewed policy statement is accurate and then click SAVE.
New policy is created for the account.
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. Select an account from the account list and then select the Policies tab.
The Policies list appears.
3. Select the customer-managed policy to modify.
The policy details are displayed, and the policy Summary tab is shown by default.
4. Edit the aspects of the customer-managed policy.
● To edit the policy permissions, select the Permissions tab.
On the Permissions tab, you can CLONE or DELETE policy statements. You can also edit the Service, Action,
Resources, and Request Condition values for this policy.
Prerequisites
To avoid a conflict from the deletion, you should first remove all the subordinate entities that are attached to the IAM-managed
policy before deleting the policy.
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. Select an account from the account list and then select the Policies tab.
The Policies list appears.
3. Select one or more policies, and click DELETE.
A confirmation window opens that displays the selected policies to be deleted.
4. Click YES.
The selected policies are deleted from the account.
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. Select an account from the account list and then select the Policies tab.
The Policies list appears.
3. Select a policy, and click Usage and then select Permissions.
4. Click ATTACH
● The Attach Policy window opens, and consists of:
○ The User tab opens by default and lists all the Users in the Account.
○ The Group tab lists all the Groups in the Account.
○ The Role tab lists all the Roles in the Account.
● Any User, Group, or Role that are attached to policy are pre-selected.
5. Select one or more Users, Groups, or Roles, and click SAVE.
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. Select an account from the account list and then select the Policies tab.
The Policies list appears.
3. Select a policy, and click Usage and then select Permissions.
4. Click Detach
The Detach Policies window opens, and displays details on the selected entity.
5. If you are sure you want to detach the displayed entity or entities, click Yes. Otherwise, click No.
The policy is now detached from all selected entities.
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. Select an account from the account list and then select the Policies tab.
The Policies list appears.
3. Select a policy, and click Usage and then select Permissions Boundary.
4. Click ATTACH
● The Attach Permission Boundary window opens, and consists of:
○ The User tab opens by default and lists all the Users in the Account.
○ The Role tab lists all the Roles in the Account.
● User or Role that are attached to Policy are pre-selected.
5. Select one or more Users or Roles, and click SAVE.
The selected User and Roles are added to selected Policy.
6. Select User.
7. Select one or more Users and click SAVE.
The selected Users are added to selected Policy.
8. Select Role.
9. Select one or more Roles and click SAVE.
The selected Roles are added to selected Policy.
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. Select an account from the account list and then select the Policies tab.
The Policies list appears.
3. Select a policy, and click Usage and then select Permissions Boundary.
4. Click Detach
The Detach Permission Boundary window opens, and consists of the name of the entity to detach from the selected
policy.
aws:username
aws:userid
aws:Principa
lAccount
Table 16. S3
Action Description Access Resource Condition Keys
Level Type (*
required)
New operations supported by S3 service:
s3:GetReplicationConfi Grants permission to get the Read bucket*
guration replication configuration information s3:authType
s3:signature
set on an amazon S3 bucket.
version
s3:x-amz-
content-
sha256
until-date
s3:object-
lock-
remaining-
retention-
days
s3:object-
lock-legal-
hold
content-
sha256
s3:x-amz-
content-
sha256
content-
sha256
content-
sha256
content-
sha256
lock-legal-
hold
grant-read-
acp
s3:x-amz-
grant-write
s3:x-amz-
grant-write-
acp
s3:x-amz-
storage-
class
IAM users
"Principal": { "AWS": "urn:osc:iam::<account-ID>:user/<user-
name>" }
IAM roles
"Principal": { "AWS": "urn:osc:iam::<account-ID>:role/<role-
name>" }
Assumed-role sessions
"Principal": { "AWS": "urn:osc:sts::<account-ID>:assumed-role/
<role-name>/<role-session-name>" }
Services
"Principal": { "Service": "<service-name>" }
Anonymous users
"Principal" : { "AWS" : "*" }
Identity Provider
An identity provider (IdP)is a trusted provider that lets you use single sign-on (SSO) to access other websites. With an
identity provider, you can manage the identities of account users outside of ObjectScale and give these external user identities
permissions to use ObjectScale resources in an account.
Security Assertion Markup Language 2.0 (SAML) is an open federation standard that allows an identity provider to authenticate
users and pass identity and security information about them to a service provider (SP), typically an application or service.
Currently, ObjectScale only supports the SAML identity provider.
An identity provider always belongs to an account.
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. Select an account from the account list and then select the Identity Provider tab.
The Identity Provider list appears displaying:
● all of identity providers configured for the selected account.
● the following identity provider details:
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. Select an account from the account list and then select the Identity Provider tab.
The Identity Provider list appears.
3. Click New Identity Provider.
The New Identity Provider window opens.
4. Fill all the required fields in the New Identity Provider window.
● Name - Identity Provider name can be a combination of up to 128 letters, digits, and period (.), underscore (_), and
hyphen (-). Consecutive supported special characters are allowed.
● Type - Identity Provider type, supports SAML.
● Metadata Provider - An XML document generated by an identity provider (IdP) that supports SAML 2.0. The document
includes the name of issuer, expiration information and keys that can be used to validate the SAML authentication
response (assertions) that are received from the Identity Provider. You must generate the metadata document using the
identity management software that is used as your organization's Identity Provider.
5. Click SAVE.
A New Identity Provider is created for the account.
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. Select an account from the account list and then select the Identity Provider tab.
The Identity Provider list appears.
3. Select an identity provider from the list and click Edit Identity Provider.
The Edit Identity Provider window opens.
4. Edit the identity provider using the Edit Identity Provider window.
● Name is not editable.
● Type is not editable.
● Metadata Provider - You can only edit an identity provider metadata provider by uploading new metadata file.
5. Click SAVE.
The identity provider is updated for the account.
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. Select an account from the account list and then select the Identity Provider tab.
The Identity Provider list appears.
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. Select an account from the account list and then select the Root Access Key tab.
The Root Access Key list appears.
3. Click ADD KEY.
The Add Secret Key window opens.
4. Click GENERATE.
5. Review the new secret key.
NOTE: This is the only time that the secret access keys can be viewed or downloaded. You cannot recover them later.
However, you can create access keys at any time.
● Access Key ID
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. Select an account from the account list and then select the Root Access Key tab.
The Root Access Key list appears.
3. Select the Root Access Keys to activate, deactivate, or remove.
● Click DEACTIVATE and then in the Deactivate access key(s) window and confirm the keys to deactivate and click
Yes.
If these are not the correct keys to deactivate, click No.
● Click ACTIVATE and then in the Activate access key(s) window and confirm the keys to activate and click Yes.
If these are not the correct keys to activate, click No.
● Click REMOVE and then in the Remove access key(s) window and confirm the keys to activate and click Yes.
If these are not the correct keys to remove, click No.
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. Click an account from the account list and then click the Notification Destination tab.
The Notification Destination list appears.
3. Click New Notification Destination.
The New Notification Destination window opens.
4. Complete the required fields to create a notification destination:
Option Description
Name Type the name of the new destination.
Comment Type the description of the destination.
Endpoint Type the valid URL for the destination endpoint.
Authentication Token Type the authentication token value for the endpoint.
Backup Limit Select a backup limit for the first 100 destinations.
5. Click SAVE.
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. Click an account from the account list and then click the Notification Destination tab.
The Notification Destination list appears.
3. Select a notification destination from the list and then select the Edit tab.
The Edit window appears.
4. Modify a destination value to modify the notification destination:
Option Description
Name Type the name of the new destination.
Comment Type the description of the destination.
Endpoint Type the valid URL for the destination endpoint.
Authentication Token Type the authentication token value for the endpoint.
Backup Limit Select a backup limit for the first 100 destinations.
5. Click SAVE.
Steps
1. From the ObjectScale Portal user interface, click Accounts.
The list of Accounts that the user is authorized to view is displayed.
2. Click an account from the account list and then click the Notification Destination tab.
The Notification Destination list appears.
3. Select a notification destination from the list and then select the Delete tab.
The Delete window appears.
4. Confirm that the correct notification destination is selected and click OK.
64 Object stores
Figure 7. New Object Store
In addition to the number and size of storage server instances that are required for an object store, ObjectScale also determines
the size and quantity of all components that make up the object store. ObjectScale uses performance profiles to size object
store resources. This release of ObjectScale includes the large performance profile.
NOTE: ObjectScale may be unable to create the requested object store if certain pods are unable to start. In these cases,
ObjectScale creates an alert that provides details about the pod and resource that are not available. You can view the alert
in the Alerts section of the ObjectScale Portal user interface. Use the details in the alert to resolve the underlying issue or
cancel the operation and remove any partial pod that was created before the failure.
Object stores 65
Creating and maintaining object stores
Creating a new object store
Create a new object store, then add an ObjectScale account to the object store to enable account entities to create buckets
within the object store.
Steps
1. From the ObjectScale Portal user interface, click Administration > ObjectScale.
The list of Object Stores in the selected namespace that the user is authorized to view is displayed.
2. Select the appropriate namespace from the namespace drop-down on the upper right the ObjectScale Portal user interface.
3. Click New Object Store.
The New Object Store wizard appears.
4. In the General configuration page complete the required fields.
Option Description
Name Enter the Name for the object store. You must verify the name by clicking the VERIFY button next to
the name.
Namespace Verify that you are creating the object store in the correct namespace.
Version Select the Version. This logically tags the object store to allow filtering via a group.
Group Enter the Group value(s) to apply to the object store. Use the version to logically group the object
stores and to filter the object stores with the group.
The Group field is optional.
My Templates If previously created, select a template to populate the configuration values for the new object store.
The My Templates field is optional.
5. Click Quick or Advanced to continue with the creation of the new object store.
● Click Quick and set the Requested Raw Capacity for the new object store in the Storage And Review section of the
wizard.
ObjectScale will make workload selections based on this requested value. Optionally, expand and review the selected
values, and set any optional labels or other values, at this time.
66 Object stores
Afterwards, click Save to create the object store, which will take approximately 15 to 20 minutes to become complete.
● Click Advanced and go through the next steps to manually create the object store.
6. Optional: Complete the Labels page.
● Type the label name in the Name field. The name can be 63 characters or less. It must begin and end with an
alphanumeric character. Names can contain dashes (-), underscores (_), dots (.) and alphanumeric values in between.
● Value is an optional field and can be 63 characters or less. It must begin and end with an alphanumeric character. Values
can contain dashes (-), underscores (_), dots (.) and alphanumeric values in between.
When adding more than one label, click ADD LABEL. You can add up to five labels to an object store.
8. In the Storage configuration page, set desired Storage values and click Next to continue.
In this step define the following storage values for the new object store:
● Requested Raw Capacity for the object store. The requested raw capacity cannot be greater than the currently
licensed capacity for ObjectScale.
● Storage Server Replica(s) for the object store. The number of storage server replicas should be less than or equal
to maximum storage server replica count and available storage server replicas count. When capacity is incremented, the
storage server replica count may increase.
● Volumes per Storage Server Replica for the object store.
Based on these values, ObjectScale will configure the remaining fields within the Storage tab.
NOTE: Additionally, if you wish to save a portion of the object store settings as a template for future use, simply add a
name to the Save as template field at the bottom of this page of the wizard.
Results
The new object store has been created. Before you can create buckets or use this object store, you must associate this object
store with an IAM account. See Associate an account with an object store for more information.
Object stores 67
Associate an account with an object store
This task describes how to associate an account with an object store in the ObjectScale Portal user interface.
Steps
1. From the ObjectScale Portal user interface, click Administration > ObjectScale.
The list of Object Stores in the selected namespace that the user is authorized to view is displayed.
2. Select the appropriate namespace from the namespace drop-down on the upper right the ObjectScale Portal user interface.
3. Select the object store to add the tenant account to by clicking the object store name.
4. Select the Accounts tab.
The Accounts list appears displaying the accounts currently associated with the object store.
5. Click Add.
The Add Account to Object Store: <OBJECT_STORE_NAME> wizard is displayed.
68 Object stores
● Set the Block writes at Quota limits for which writes must be blocked.
● Set the Notification at Quota. This is the quota at which a notification should be sent out. This can be set by providing
a quota value in the input box or as percentage of block writes at quota by selecting appropriate % from the drop-down.
The selected tenant account is now associated with the object store and is a tenant of the object store.
Steps
1. From the ObjectScale Portal user interface, click Administration > ObjectScale.
The list of Object Stores in the selected namespace that the user is authorized to view is displayed.
2. Select the appropriate namespace from the namespace drop-down on the upper right the ObjectScale Portal user interface.
3. Select the object store to edit by clicking the checkbox to the left of the object store name.
4. Click Edit.
The Edit Object Store wizard appears.
5. Go to the section in the Edit Object Store wizard containing the value of the object store to modify.
From this wizard, you can:
● Click General to edit the general settings of the object store. The only value that can be edited here is the Group value.
● Click Labels to edit the labels on the object store. A maximum of five labels can be added to an object store.
● Click Topology to view topology of the object store. You cannot modify the topology of an existing object store.
● Click Storage to expand the object store, either horizontally or vertically.
NOTE: See Horizontally expand the capacity of an object store and Vertically expand the capacity of an object store
for more detailed instructions on expanding an object store.
● Click Connectivity to modify the object store connectivity values.
6. Once complete, click Save to save the changes to the object store.
Steps
1. From the ObjectScale Portal user interface, click Administration > ObjectScale.
The list of Object Stores in the selected namespace that the user is authorized to view is displayed.
2. Select the appropriate namespace from the namespace drop-down on the upper right the ObjectScale Portal user interface.
3. Select the object store to delete by clicking the checkbox to the left of the object store name.
4. Click Delete and confirm in the dialog box that appears.
The object store disappears from the table before all the resources associated with it (pods, PVCs, volumes, so on) have
been deleted. The removal operations continue in the background for a few minutes (depends on the size of the store).
Removal can be monitored with kubectl (for example, using get pods).
Object stores 69
Managing object stores
View the Summary of an object store
About this task
The object store Summary page in the ObjectScale Portal user interface displays an at-a-glance view of the details about the
configuration of the selected object store.
Steps
1. From the ObjectScale Portal user interface, click Administration > ObjectScale.
The list of Object Stores in the selected namespace that the user is authorized to view is displayed.
2. Select the appropriate namespace from the namespace drop-down on the upper right the ObjectScale Portal user interface.
3. Click the name of the object store that you want to review.
The Object Store Summary page is displayed. Here you can review the high-level details about the select object store:
● General details
● Storage Classes
● Storage details
● S3 Service details
● Management Service details
● Replication Service details
Steps
1. From the ObjectScale Portal user interface, click Administration > ObjectScale.
The list of Object Stores in the selected namespace that the user is authorized to view is displayed.
2. Select the appropriate namespace from the namespace drop-down on the upper right the ObjectScale Portal user interface.
3. Click the name of the object store that you want to review.
The object store Summary page is displayed.
4. Click Dashboard.
The object store Dashboard page is displayed. Here you can review the high-level details about the select object store,
including:
70 Object stores
Table 19. Object store dashboard sections (continued)
Section Description
The following information is displayed right below the graph:
● Bucket Count
● Object Count
● Deleted Object Count(24 hr)
● Replication Object Count
● Compression Ratio
Health Displays the Object store system alerts based on severity:
● Critical
● Error
● Warning
Click the link in the row to view the related alerts.
Capacity Utilization Displays all capacities at the Object store level, which
includes:
● Physical used - Sum of allocated capacity for all
partitions
● Available - Capacity available
● Reserved - Capacity reserved
● Total - Total capacity consumed by all partitions of
Storage Server Replicas
● % Full - Percentage of total used capacity by total
physical capacity
● Days till Full (Est) - Estimated number of days remaining
for object store to use 80% capacity
Physical User Data Displays the physical capacity used for repository chunks
holding data uploaded by Object store users. The data is
available based on the following parameters:
● Local Data - The hard drive capacity consumed to store
the injected data
● Replica Data - The hard drive capacity consumed to
store the injected data
● Offline Capacity Available - Unrecovered offline data
capacity of the object store as a quantity
● Offline Capacity Recovered - Recovered offline data
capacity of the object store as a quantity
System Data Displays the capacity used by the ObjectScale processes
that track and describe the data in the system. The various
categories are:
● Data Protection - Protection overhead
● Metadata - System and user metadata
● Metadata Protection - Protection of overhead metadata
● Data pending for EC - Data in system pending EC
protection
● Rate of EC per second - Rate of data being erasure
coded per second
Data Management Displays reclaimed and reclaimable capacity in the
ObjectScale level, with the following options:
● Data being reclaimed - Data currently processed
● Unreclaimable metadata - Garbage for system data that
cannot be reclaimed
● Unreclaimable user data - Garbage for user data that
cannot be reclaimed
● Reclaimable metadata - Capacity of system data pending
to be reclaimed
Object stores 71
Table 19. Object store dashboard sections (continued)
Section Description
● Reclaimable user data - Capacity of system data pending
to be reclaimed
● Capacity reclaimed - Capacity reclaimed by removing
garbage data
Steps
1. From the ObjectScale Portal user interface, click Administration > ObjectScale.
The list of Object Stores in the selected namespace that the user is authorized to view is displayed.
2. Select the appropriate namespace from the namespace drop-down on the upper right the ObjectScale Portal user interface.
3. Click on the name of the object store.
4. Click Capacity Alerts.
The Capacity Alerts page appears.
5. Enable or disable the Critical Alert setting. If you enable critical alerts, you must set the Critical Threshold percentage at
which to send the alert.
A critical alert is triggered once the object store consumption reaches the selected percentage of available capacity.
6. Enable or disable the Warning Alert setting. If you enable warning alerts, you must set the Warning Threshold percentage
at which to send the alert.
A warning alert is triggered once the object store consumption reaches the selected percentage of available capacity.
7. Once complete, click Save to save the changes to the object store capacity alert settings.
Or, click RESET undo any unsaved changes to the object store capacity alerts.
72 Object stores
Managing accounts associated with object stores
Steps
1. From the ObjectScale Portal user interface, click Administration > ObjectScale.
The list of Object Stores in the selected namespace that the user is authorized to view is displayed.
2. Select the appropriate namespace from the namespace drop-down on the upper right the ObjectScale Portal user interface.
3. Click the name of the object store.
The Summary tab of the selected object store appears.
Steps
1. From the ObjectScale Portal user interface, click Administration > ObjectScale.
The list of Object Stores in the selected namespace that the user is authorized to view is displayed.
2. Select the appropriate namespace from the namespace drop-down on the upper right the ObjectScale Portal user interface.
3. Click the name of the object store.
The Summary tab of the selected object store appears.
Object stores 73
● The Notification at Quota. This is the quota at which a notification should be sent out. This can be set by providing a
quota value in the input box or as percentage of block writes at quota by selecting appropriate % from the drop-down.
7. Click Save.
Steps
1. From the ObjectScale Portal user interface, click Administration > ObjectScale.
The list of Object Stores in the selected namespace that the user is authorized to view is displayed.
2. Select the appropriate namespace from the namespace drop-down on the upper right the ObjectScale Portal user interface.
3. Click the name of the object store.
The Summary tab of the selected object store appears.
Steps
1. From the ObjectScale Portal user interface, click Administration > ObjectScale.
The list of Object Stores in the selected namespace that the user is authorized to view is displayed.
2. Select the appropriate namespace from the namespace drop-down on the upper right the ObjectScale Portal user interface.
3. Click the name of the object store.
The Summary of the selected object store appears.
Prerequisites
● The object store must not contain any buckets with replication rules configured.
● The user must have access to an object store that contains source buckets with replication configured.
Steps
1. From the ObjectScale Portal user interface, click Administration > ObjectScale.
The list of Object Stores in the selected namespace that the user is authorized to view is displayed.
2. Select the appropriate namespace from the namespace drop-down on the upper right the ObjectScale Portal user interface.
74 Object stores
3. Click the name of the object store.
4. Click Replication.
5. To view summary information about replication of this object store, click the down arrow next to Replication Metrics.
The cards that appear show replication metrics aggregated across all destination object stores.
● Data Out (48 hours)
● Data yet to be replicated (24 hours)
● Failed Objects Size (48 hours)
● Failed Objects Count
● Replicated Delete Marker Count
● Delete Marker Failed for Replication
● Delete Marker Pending Replication
6. To manage replication destinations, scroll past the data cards.
The table is a list of object stores that are configured as replication destinations. You can manage these object stores in the
following ways:
● THROTTLE: This operation limits the replication rate from source object store to selected object stores.
● UNTHROTTLE: This operation removes the limit on replication rate from source object store to selected object stores.
● PAUSE: This operation pauses the replication from source object store to selected object stores for a certain duration.
● SUSPEND: This operation suspends the replication from source object store to selected object stores.
● RESUME: This operation recovers from both PAUSE and SUSPEND.
7. Select an object store.
● If the selected object store is not in the paused or suspended state, the THROTTLE, UNTHROTTLE, PAUSE, and
SUSPEND buttons are enabled.
● If the selected object store is in the paused or suspended state, the RESUME buttons are enabled.
8. Click a button.
● THROTTLE, or
● UNTHROTTLE, or
● PAUSE, or
● SUSPEND, or
● RESUME.
Object stores 75
Table 20. Working with ObjectScale Replication at Object Store (continued)
Action Result
● Objects that are created in the source bucket during the
suspend duration are not replicated upon resume.
● The status column in the object store row changes to
SUSPEND.
Click RESUME > YES. ● The object stores that are either paused or suspended
resumes being replicated to the destination buckets.
● The status column in the object store changes to
Running.
NOTE: For details on the ObjectScale Replication Control APIs available in this release, see the ObjectScale REST API
ZIP file posted at https://www.dell.com/support/home/product-support/product/objectscale/drivers.
Metrics
The Metrics tab opens the object store metrics in pre-configured Grafana dashboard(s).
For details about ObjectScale and object store metrics dashboards, see Metrics for ObjectScale and object stores.
Also, see Grafana for basic details of navigation in Grafana dashboards.
76 Object stores
5
Buckets
This chapter contains:
Topics:
• About ObjectScale buckets
• Creating and managing buckets using ObjectScale
• Configuring bucket entities
Bucket names
The following rules apply to the naming of buckets in ObjectScale:
● Bucket names are required to be between three and 63 characters in length.
● Bucket names can include dots (.), hyphens (-), lowercase letters, and number characters ([a-z, 0-9]).
● Bucket names must begin and end with a number or lowercase letter characters ([a-z, 0-9]).
● Bucket names cannot be formatted as an IP address.
Object names
The following rules apply to the naming of ObjectScale S3 objects:
● Cannot be null or an empty string
● Length range is 1..255 (Unicode character)
● No validation on characters.
ObjectScale extends the standard S3 protocol to support Object Lock for all bucket versioning states. In ObjectScale, when
Versioning is set to ENABLED, Object Lock protects versions. When Versioning is OFF or SUSPENDED, Object Lock operates
at the object level, protecting the current null version.
Buckets 77
S3
The following features are defined in the standard S3 protocol:
● Bucket versioning—Versioning keeps multiple variants of an object in the same bucket. Versioning is used to preserve,
retrieve, and restore every version of every object that is stored in the S3 bucket.
● Object Lock—Object Lock protects versions from unintended overwrites and accidental deletions. In the S3 protocol, Object
Lock requires versioning to be enabled. The locking features apply to individual versions of an object and each version can
have a different Object Lock.
Users can optionally set a default Object Lock policy on a bucket. The default policy applies to all future objects that are created
in the bucket. This default policy can be disabled. Also, each version of each object can have locks applied to them.
S3 defines several lock types. For information about using Object Lock and the types of locks that are supported, see the S3
documentation here: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-overview.html.
ObjectScale extensions
In S3, Object Lock is supported only on buckets that have Versioning set to ENABLED. ObjectScale extensions support Object
Lock on buckets with Versioning in OFF and SUSPENDED states. When Object Lock is enabled on buckets in these versioning
states, overwrite and delete operations are prevented when a locked null version exists for the object. All other behavior for
Object Lock is consistent between the versioning states and with standard S3 protocol behavior.
To override the S3 default behavior of automatically enabling versioning when Object Lock is enabled, ObjectScale introduces a
new header ("x-emc-retain-versioning-state:true").
ObjectScale does not restrict you from changing the versioning state to SUSPENDED on buckets that have Object Lock set to
ENABLED. It does not require special flags or permissions to do so.
Table 21. Versioning states and their effects on objects in the bucket
State Description
OFF OFF is the initial state.
● Objects that are created in the bucket have an implicit null version.
● Overwriting objects overwrites that null version.
● Deleting objects removes that null version.
If the state is changed to ENABLED, it can never return to OFF.
78 Buckets
Object Lock configuration and the effects on bucket operations
Object Lock default configuration
You enable Object Lock on a bucket. You can enable it at bucket creation or by editing the bucket configuration later. Once
enabled, Object Lock can never be disabled.
The ObjectScale Portal user interface provides a toggle switch for enabling Object Lock, and a different toggle switch that
controls versioning. These switches let you decide whether to enable or disable versioning when enabling Object Lock.
NOTE: In the API, if you want Object Lock without versioning, you must explicitly include a flag (x-emc-retain-
versioning-state:true) in the API header to keep your wanted versioning configuration unchanged. Otherwise, the
S3 default behavior remains: versioning is automatically enabled when you enable Object Lock. For more information,
see the Dell ObjectScale 1.3 REST API Reference on the ObjectScale 1.3 product page at https://www.dell.com/support/
home/product-support/product/objectscale/overview.
The standard S3 protocol lock types are available:
● Compliance
● Governance
● None
● Retention periods define the duration of locking.
The following table describes Object Lock configuration settings and their effects on operations with the versioning
configurations.
Table 22. Object Lock states and their effects on objects in the bucket
Object Versioning State Description
Lock
State
ENABLED ENABLED The S3 protocol behavior for Object Lock:
● Locks are applied to individual versions, and only the removal of locked versions is
restricted.
● Overwrite and delete operations on the object are successful even if the latest version
is locked because those operations create another (new) version.
● Overwriting and deleting are not allowed on a named version.
ENABLED SUSPENDED or OFF ● Overwriting and deleting are blocked if there exists a locked null version for the object.
● Removing a locked version is prohibited except when all the following are true:
○ The lock is a governance retention lock, and
○ The appropriate bypass header is passed, and
○ The necessary bypass permission exists for the IAM user who is issuing the request.
DISABLED any state Overwriting and deleting are permitted.
Buckets 79
ObjectScale Bucket Logging Object Naming Format
Log objects have a consistent naming format: [prefix]YYYY-MM-DD-HH-MM-SS-<UNIQUE-STRING The different parts of
the object naming format are:
● Prefix - This is optional and is configured from the source bucket. Multiple source buckets with the same prefix or target are
grouped together.
● Date & time - The logs collected have times less than or equal to the timestamp of the log object.
● Unique string - The unique string is derived from S3 pod ID and random characters. This prevents collisions.
Example: logs/2023-04-12-21-12-02-7d49cf9f5d-4sf5b--e458 accounts/
2023-04-12-21-11-48-6d193f5fbc-5e42a—2x6j 2023-04-12-21-11-48-5ab752fba1-tr763—8sga
80 Buckets
Table 23. Access Log Format for ObjectScale Bucket Logging (continued)
Position Field Comment
24 TLS version -
25 - Access point arn - unavailable
26 - acl required - unavailable
27 "COPY" (begin ObjectScale additional fields) If copy
requested or - if not present.
28 Deep copy size If copy requested or - if not present
29 X-forwarded-for - if not present
30+ Additional headers Any additional headers will be placed after the
x-forwarded-for field.
Table 24. Log file size estimate based on request volume for different time periods
Average Requests for 10 Log size after 10 Log size per hour Log size per 24 hours
requests per minutes of capture minutes
second
100 64,900 23 MB 138 MB 3312 MB
280 168,000 59 MB 354 MB 7776 MB
1,000 600,000 211 MB 1,266 MB 30,384 MB
3,000-5.000 2,400,000 350-400 MB 2,400 MB 57,600 MB
10,000 6,000,000 2,117 MB 12,702 MB 304,848 MB
NOTE:
● The length of a log entry varies depending on the name of the bucket, the name of the object, and additional headers
that may be present in the request.
Buckets 81
Creating and managing buckets using ObjectScale
Create a bucket
This section describes how to set up a new bucket using the ObjectScale Portal user interface.
Steps
1. From the ObjectScale Portal user interface, click Buckets.
The list of Buckets that the user is authorized to view is displayed.
2. Use the Namespace and Object store fields at the top of the Buckets page to locate the object store in which you want
to create the bucket.
a. Select the namespace from the namespace drop-down on the top of the Buckets page.
b. Select the name of the object store that contains the bucket.
3. Click New Bucket.
The New Bucket wizard appears.
4. In the General page, complete the required fields and then click Next:
Option Description
Name Type a name for the new bucket. Bucket names can consist only of lowercase letters, numbers, dots
(.), and hyphens (-).
Namespace Select the namespace. Only the namespaces for which the user has edit permissions are listed in the
dropdown.
Object Store Select the object store from the ObjectStore dropdown menu within which to create the bucket.
Name
Bucket Owner Select the bucket owner account from the Bucket Owner Account dropdown menu.
Account
To select any account, first remove the selected account to see all accounts, and click the dropdown
to list all accounts. Select an account from the data list, or you can begin typing the account id to the
Bucket Owner Account data list.
5. In the Policy page, describe the policy to apply to the bucket and then click Next.
For more detailed information about creating a bucket policy statement, see the "About bucket policies" section in the
ObjectScale 1.3 Administration Guide.
a. Switch to the Text view of the policy editor by clicking between the View and Text views of the policy editor.
b. In the Policy editor text field, type the JSON-formatted policy or copy and paste a previously created policy. The syntax
for policies is the same as the syntax used for Amazon AWS.
c. Provided your policy is valid, you can switch to the tree view of the Policy. The tree view makes it easier to view your
policy and to expand and contract statements.
6. In the Controls page, complete the required fields and then click Next.
Option Description
Versioning ● To maintain multiple versions of the same object within the bucket, set Versioning to On.
● To maintain a single version of an object, keep Versioning Off.
For more information, see the "Versioning configuration and effects on bucket operations" section in the
ObjectScale 1.3 Administration Guide.
Object Lock Enable Object Lock to protect objects from deletion or overwrite, for a fixed amount of time or indefinitely,
depending on the configuration.
● When Versioning is On, Object Lock protects versions.
● When Versioning is Off (or edited later to Suspended), Object Lock applies to the object. Delete
object and overwrite object operations are blocked for objects in the bucket with a lock that is still in
effect.
Optionally set a default Object Lock retention mode for the objects in this bucket. Objects are automatically
locked when they are added to a bucket that has a configured default retention lock. The default retention
82 Buckets
Option Description
lock is applied to objects even if the user does not have s3:PutObjectLegalHold and s3:PutObjectRetention
permissions. Available lock types are:
● GOVERNANCE
● COMPLIANCE
● NONE (Object Lock is enabled, but the retention mode is not set.)
If GOVERNANACE or COMPLIANCE is selected, you can optionally set a Retention period. Select either
Days or Years and type the number of days or years for the period. This setting is a default retention
period for the bucket. Objects can have explicit retention periods set for them. An explicit retention period
set on an object supersedes this bucket default retention period.
Object Lock is Off by default.
For more information about Object Lock states and how Object Lock works with the different versioning
states, see the "Object Lock configuration and the effects on bucket operations" section in the ObjectScale
1.3 Administration Guide.
Encryption Enable encryption to save the bucket data in an encrypted format. If Encryption was enabled at the
account level when add to object store, you cannot disable encryption in the bucket.
Encryption is disabled by default.
NOTE: Encryption cannot be disabled after you create the bucket with encryption enabled.
Bucket Enable Bucket logging to log requests for a specific source bucket to a designated target bucket in a
Logging consistent format. Enter the name of the target bucket in the Target Bucket field. Enter an optional prefix
to prepend to generated log files in the Prefix for Bucket Logging files field.
NOTE:
● The target bucket must be configured to allow bucket logging before allowing a source bucket to
set it as a target.
● The prefix makes it easier to locate log objects.
● Multiple source buckets can share the same prefix.
7. In the Event Rule page, complete the required fields and then click Next.
For more information about editing bucket event notifications, see Setting up bucket event notifications.
You must have at least one notification destination for this account to set up a bucket event rule.
Option Description
Event Rule Name Type a name for the new event.
Events Select one or more event types that trigger this event notification.
Prefix/Suffix Type the object prefix or suffix values that trigger this event notification.
Send To Select the notification destination to be used to send the notifications for the configured events.
NOTE: Click Add Event Rule to add multiple event rules. You cannot create configurations on the same bucket that
share a common event type.
8. Finally, use the Review page to review the values for configuring the new bucket and click Save.
If necessary, click Edit to modify any of the values.
Buckets 83
Results
The system creates the bucket in the object store, and the bucket name appears on the main Buckets page.
Edit a bucket
On the ObjectScale Portal user interface, edit the details of existing buckets.
Steps
1. From the ObjectScale Portal user interface, click Buckets.
The list of Buckets that the user is authorized to view is displayed.
2. Use the Namespace, Object store, Account, and Bucket name fields at the top of the Buckets page to locate the
bucket.
a. Select the appropriate namespace from the Namespace drop-down on the top of the Buckets page.
b. Select the name of the Object Store that contains the bucket.
c. Select the account from the Accounts dropdown.
To select another account, remove the current account to see all the available accounts. Then, select another account,
by either using the dropdown to display all accounts, or by typing the account id into to the Select an account field to
dynamically filter the list of accounts.
d. Optionally, type at least the first three characters of a Bucket name to filter the list of buckets.
3. Select the bucket to modify and click Edit.
The Edit Bucket wizard appears.
4. Select one or more of the sections with the bucket values to modify:
● General (Review only, no edit.)
● Policy
● Controls
● Event Rules
5. In the Policy page, modify the policy to apply to the bucket and then click Next.
For more detailed information about editing a bucket policy statement, see About bucket policies.
a. Switch to the Text view of the policy editor by clicking between the View and Text views of the policy editor.
b. In the Policy editor text field, type the JSON-formatted policy or copy and paste a previously created policy. The syntax
for policies is the same as the syntax used for Amazon AWS.
c. Provided your policy is valid, you can switch to the tree view of the Policy. The tree view makes it easier to view your
policy and to expand and contract statements.
6. In the Controls page, modify the required fields and then click Next.
Option Description
Versioning When Versioning is Off, you can change it to On.
When Versioning is On, you can change it to Suspended.
To maintain multiple versions of the same object in a bucket, set Versioning to On. To maintain
a single version of each object, keep Versioning OFF or change it to Suspended. For more
information, see Versioning configuration and effects on bucket operations.
Object Lock Object Lock allows objects to be locked or protected from deletion or overwriting, for a fixed
amount of time or indefinitely, depending on the configuration.
● When Versioning is On, Object Lock protects versions.
● When Versioning is Off or Suspended, Object Lock applies to the object. Delete object and
overwrite object operations are blocked for objects in the bucket with a lock that is still in
effect.
You can change Object Lock from Off to On. If Object Lock is set to On, you cannot change it
to Off.
You can modify the default Object Lock retention mode and retention period.
The Object Lock Retention mode is a default retention mode for new objects that are added
to the bucket. Objects are automatically locked when they are added to a bucket that has a
84 Buckets
Option Description
configured default retention lock. The default retention lock is applied to objects even if the
user does not have s3:PutObjectLegalHold and s3:PutObjectRetention permissions. Available lock
types are:
● GOVERNANCE
● COMPLIANCE
● NONE (Object Lock is enabled, but a retention mode is not set.)
If the mode is GOVERNANACE or COMPLIANCE, you can set or change the retention period.
Select either Days or Years and type the number of days or years for the period. This setting is a
default retention period for the bucket. Objects can have explicit retention periods set for them.
An explicit retention period set on an object supersedes this bucket default retention period.
NOTE: Setting a default retention on a bucket does not set any retention settings on objects
that are already in the bucket. Changing the bucket default retention period does not change
the existing retention period for any objects in that bucket.
For more information about Object Lock states and how Object Lock works with the different
versioning states, see Object Lock configuration and the effects on bucket operations.
Quotas Enable quotas for the bucket. When quotas are enabled, you can set the storage level or object
count level in ObjectScale that results in:
● Block writes at Quota—a hard quota
● Notification at Quota—a soft quota
Bucket Logging Enable Bucket logging to log requests for a specific source bucket to a designated target bucket
in a consistent format. Enter the name of the target bucket in the Target Bucket field. Enter a
prefix to prepend to generated log files in the Prefix for Bucket Logging files field.
NOTE:
● The target bucket must be configured to allow bucket logging before allowing a source
bucket to set it as a target.
● The prefix makes it easier to locate log objects.
7. In the Event Rule page, modify the required fields and then click Next.
For more detailed information about editing bucket event notifications, see Setting up bucket event notifications.
You must have at least one notification destination for this account to set up a bucket event rule.
Option Description
Event Rule Name Type a name for the new event.
Events Select one or more event types that trigger this event notification.
Prefix/Suffix Type the object prefix or suffix values that trigger this event notification.
Send To Select the notification destination to use to send the notifications for the configured events.
8. After making the necessary changes, click Save.
Steps
1. From the ObjectScale Portal user interface, click Buckets.
The list of Buckets that the user is authorized to view is displayed.
2. Use the Namespace, Object store, Account, and Bucket name fields at the top of the Buckets page to locate the
bucket.
a. Select the appropriate namespace from the Namespace drop-down on the top of the Buckets page.
b. Select the name of the Object Store that contains the bucket.
Buckets 85
c. Select the account from the Accounts dropdown.
To select another account, remove the current account to see all the available accounts. Then, select another account,
by either using the dropdown to display all accounts, or by typing the account id into to the Select an account field to
dynamically filter the list of accounts.
d. Optionally, type at least the first three characters of a Bucket name to filter the list of buckets.
3. Click on the name of the bucket.
The bucket Summary page appears displaying details on the selected bucket.
● Capacity Statistics
● Bucket Settings
● Quota Statistics
● Policy
● Object Counts
● Object Lock Configuration
● Event Notification Details
Delete a bucket
Using with the ObjectScale Portal user interface, delete a bucket when the object store no longer needs the bucket.
Prerequisites
The bucket must be empty. ObjectScale will only allow the deletion of buckets without any data within them.
Steps
1. From the ObjectScale Portal user interface, click Buckets.
The list of Buckets that the user is authorized to view is displayed.
2. Use the Namespace, Object store, Account, and Bucket name fields at the top of the Buckets page to locate the
bucket.
a. Select the appropriate namespace from the Namespace drop-down on the top of the Buckets page.
b. Select the name of the Object Store that contains the bucket.
c. Select the account from the Accounts dropdown.
To select another account, remove the current account to see all the available accounts. Then, select another account,
by either using the dropdown to display all accounts, or by typing the account id into to the Select an account field to
dynamically filter the list of accounts.
d. Optionally, type at least the first three characters of a Bucket name to filter the list of buckets.
3. Select the bucket to be deleted and click Delete.
ObjectScale prompts Are you sure you want to delete following bucket(s)?
4. In the Delete Bucket confirmation window, confirm that the appropriate bucket will be deleted.
Results
The bucket is deleted from the object store.
Prerequisites
The source and target buckets must reside in the same Object store.
Steps
1. From the ObjectScale Portal user interface, click Buckets.
The list of Buckets that the user is authorized to view is displayed.
86 Buckets
2. Use the Namespace and Object store fields at the top of the Buckets page to locate the object store where you create
the new bucket.
a. Select the namespace from the namespace drop-down on the top of the Buckets page.
b. Select the name of the object store that contains the bucket.
3. Click New Bucket to create a target bucket.
The New Bucket wizard appears.
4. In the General page, complete the required fields and then click Next:
Option Description
Name Type a name for the new bucket. Bucket names can consist only of lowercase letters, numbers, dots
(.), and hyphens (-).
Namespace Select the namespace. Only the namespaces for which the user has edit permissions will be listed in
the dropdown.
Object Store Select the object store from the ObjectStore dropdown menu within which to create the bucket.
Name
Bucket Owner Select the bucket owner account from the Bucket Owner Account dropdown menu.
Account
To select any account, first remove selected account to see all accounts and click on the dropdown to
list all accounts. Account can be selected from the data list, or you can begin typing the account id to
the Bucket Owner Account data list.
5. In the Policy page, describe the policy that allows bucket logging specifying the arn of source and target buckets, and then
click Next.
See Bucket Logging IAM Principal for more information.
a. Switch to the Text view of the policy editor by clicking between the View and Text views of the policy editor.
b. In the Policy editor text field, type the JSON-formatted policy or copy and paste a previously created policy. The syntax
used for policies is the same as that used for Amazon AWS.
c. Provided your policy is valid, you can switch to the tree view of the Policy. The tree view makes it easier to view your
policy and to expand and contract statements.
6. Click New Bucket to create the source bucket.
The New Bucket wizard appears.
7. In the General page, enter the name of the source bucket and then click Next.
8. In the Controls page, complete the required fields and then click Next:
Option Description
Bucket Enter the name of the target bucket in the Target Bucket field, and enter an optional prefix in the
Logging Prefix for bucket logging files. fields.
NOTE: The prefix helps to locate the log objects.
9. Finally, use the Review page to review the values to be used for configuring the new bucket and click Save.
If necessary, click Edit to modify any of the values for the bucket that have been incorrectly set.
Results
Bucket logging is enabled, and you can view source and target buckets at the Buckets section in the ObjectScale Portal user
interface.
Buckets 87
The bucket policy editor has a code view and a tree view.
● The code view enables you to enter JSON policies from scratch or to paste existing policies into the editor and modified. For
example, if you have existing policies in JSON format, you can paste them into the code view and modify them.
● The tree view provides a mechanism for navigating a policy and is useful where you have a large number of statements in a
policy. You can expand and contract the statements and search them.
Steps
1. From the ObjectScale Portal user interface, click Buckets.
The list of Buckets that the user is authorized to view is displayed.
2. Use the Namespace, Object store, Account, and Bucket name fields at the top of the Buckets page to locate the
bucket.
a. Select the appropriate namespace from the Namespace drop-down on the top of the Buckets page.
b. Select the name of the Object Store that contains the bucket.
c. Select the account from the Accounts dropdown.
To select another account, remove the current account to see all the available accounts. Then, select another account,
by either using the dropdown to display all accounts, or by typing the account id into to the Select an account field to
dynamically filter the list of accounts.
d. Optionally, type at least the first three characters of a Bucket name to filter the list of buckets.
3. Select the bucket to modify and click Edit.
The Edit Bucket wizard appears.
4. In the Policy page, modify the policy to apply to the bucket and then click Next.
a. Switch to the Text view of the policy editor by toggling between the View and Text views of the policy editor.
b. In the Policy editor text field, type the JSON-formatted policy or copy and paste a previously created policy. The syntax
used for policies is the same as that used for Amazon AWS.
c. Provided your policy is valid, you can switch to the tree view of the Policy. The tree view makes it easier to view your
policy and to expand and contract statements.
5. Save.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AccessLogsPolicy",
"Effect": "Allow",
"Principal": {
"Service": "logging.s3.objscale.dell.com"
},
"Action": [
"s3:PutObject"
],
"Resource":
["arn:aws:s3:osci4e7b81b1fedc9e6e:ostibc6ebb467b46f882:targetbucket/*"],
"Condition": {
"StringEquals": {
"aws:SourceAccount": ["osai3483c631fef0da7a"]
88 Buckets
},
"ForAnyValue:ArnLike": {
"aws:SourceArn":
["arn:aws:s3:osci4e7b81b1fedc9e6e:ostibc6ebb467b46f882:sourcebucket*"]
}
}
}
]
}
Resource The resource contains the target bucket ARN which includes the ObjectScale ID, the Object
store ID, and the name of the target bucket. This is followed by a wildcard for the
kinds of objects the logging principal is allowed to create. If a prefix is added, then the
logs would be restricted to sources with the designated prefix. For example, "Resource":
[arn:aws:s3:osci4e7b81b1fedc9e6e:ostibc6ebb467b46f882:targetbucket/
Billing/*] allows source buckets to log to the targetbucket,
only if the source bucket is assigned a prefix Billing/ to its bucket logging configuration.
Condition The condition allows further restrictions on what source buckets are allowed to send request logs to the
target bucket. If a Condition is not set, any source bucket from any account in the same Object store
is allowed to log requests on the target bucket.
NOTE: Bucket logging supports bucket policies that grant or restrict access to the target bucket by
aws:SourceAccount and awsSourceArn.
If a SourceAccount condition is set, only buckets owned by accounts listed are permitted to log
requests to the target bucket.
If a SourceArn condition is set, only source buckets matching the condition are permitted to log
requests to the target bucket.
SourceAccount and SourceArn conditions are not dependent on each other. A combination of one or
the other or both can be used to restrict access to the target bucket.
{
"Version": "2012-10-17",
"Id": "S3PolicyIdNew2",
"Statement":[
{
"Sid":"Granting PutObject permission to user2 ",
"Effect":"Allow",
"Principal": {
"AWS":
"urn:osc:iam::<ACCOUNT_ID>:user/<USERNAME>"},
"Action":["s3:PutObject"],
"Resource": [
"arn:aws:s3:<OBJECTSCALE_ID>:<OBJECT_STORE_ID>:<BUCKETNAME>/*",
"arn:aws:s3:<OBJECTSCALE_ID>:<OBJECT_STORE_ID>:<BUCKETNAME>"
Buckets 89
],
"Condition": {
"StringEquals": {"s3:x-amz-server-side-encryption": [ "AES256"]}
}
}
]
}
NOTE: Alternatively, you can use the following structure for the Principal value in the bucket policy statement:
"Principal": {
"AWS": "*"
},
Each policy is a JavaScript Object Notation (JSON) document that includes a version, an identifier, and one or more statements.
Version The Version field specifies the policy language version and can be either 2012-10-17 or 2008-10-17.
If the version is not specified, 2008-10-17 is automatically inserted.
It is good practice to set the policy language for a new policy to the latest version, 2012-10-17.
Resources The bucket or object that is the subject of the statement. The resource can be associated with a
Resource or NotResource statement.
The resource name is the bucket and key name and is specified differently depending on whether you are
using virtual host style addressing or path style addressing, as shown:
arn:aws:s3:<OBJECTSCALE_ID>:<OBJECT_STORE_ID>:<BUCKETNAME>/*
Actions The set of operations that you want to assign permissions to (enable or deny). The supported operations
are listed in Supported bucket policy operations.
The operation can be associated with an Action or NotAction statement.
Effect Can be set to Allow or Deny to determine whether you want to enable or deny the specified actions.
Principal The user who is enabled or denied the specified actions.
To grant permissions to everyone, as anonymous access, you can set the principal value to a wildcard,
"*", as shown:
Conditions The condition under which the policy is in effect. The condition expression is used to match a condition
that is provided in the policy with a condition that is provided in the request.
The following condition operators are not supported: Binary, ARN, IfExists, Check Key Exists. The
supported condition keys are listed in Supported bucket policy conditions.
NOTE: ObjectScale bucket policies do not support federated users, nor do they support Amazon IAM users and roles.
More information about the elements that you can use in a policy are described in the Amazon S3 documentation, https://
docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html.
90 Buckets
Bucket policy scenarios
In general, the bucket owner has full control on a bucket and can grant permissions to other users and can set S3 bucket
policies using an S3 client. Users can also set bucket policies using the bucket policy editor in the New Bucket and Edit Bucket
wizards in the ObjectScale Portal user interface.
You can use bucket policies in the following typical scenarios:
● Grant bucket permissions to a user
● Grant bucket permissions to all users
● Automatically assign permissions to created objects
{
"Version": "2012-10-17",
"Id": "S3PolicyId1",
"Statement": [
{
"Sid": "Grant permission to user1",
"Effect": "Allow",
"Principal": {
"AWS": "urn:osc:iam::<ACCOUNT_ID>:user/user1"},
"Action": [ "s3:PutObject","s3:GetObject" ],
"Resource": [
"arn:aws:s3:<OBJECTSCALE_ID>:<OBJECT_STORE_ID>:mybucket/*"
]
}
]
}
You can also add conditions. For example, if you only want the user to read and write object when accessing the bucket from a
specific IP address, add a IpAddress condition as shown in the following policy:
{
"Version": "2012-10-17",
"Id": "S3PolicyId1",
"Statement": [
{
"Sid": "Grant permission ",
"Effect": "Allow",
"Principal": {
"AWS": "urn:osc:iam::<ACCOUNT_ID>:user/<USERNAME>"},
"Action": [ "s3:PutObject","s3:GetObject" ],
"Resource": [
"arn:aws:s3:<OBJECTSCALE_ID>:<OBJECT_STORE_ID>:mybucket/*"
],
"Condition": {"IpAddress": {"aws:SourceIp": "<IP_ADDRESS>"}
}
]
}
{
"Version": "2012-10-17",
Buckets 91
"Id": "S3PolicyId2",
"Statement": [
{
"Sid": "statement2",
"Effect": "Allow",
"Principal": {"AWS": "*"},
"Action": [ "s3:GetObject" ],
"Resource": [
"arn:aws:s3:<OBJECTSCALE_ID>:<OBJECT_STORE_ID>:mybucket/*"
]
}
]
}
{
"Version": "2012-10-17",
"Id": "S3PolicyId3",
"Statement": [
{
"Sid": "statement3",
"Effect": "Allow",
"Principal": {
"AWS": "urn:osc:iam::<ACCOUNT_ID>:user/user1",
"AWS": "urn:osc:iam::<ACCOUNT_ID>:user/user2"},
"Action": [ "s3:PutObject,
s3:PutObjectAcl" ],
"Resource":[
"arn:aws:s3:<OBJECTSCALE_ID>:<OBJECT_STORE_ID>:mybucket/*"
]
"Condition":{"StringEquals":{"s3:x-amz-acl":["public-read"]}}
}
]
}
92 Buckets
Table 25. Permissions for Object Operations (continued)
Permission keyword Supported S3 operations
s3:DeleteObjectVersion DELETE Object (a Specific Version of the Object)
s3:ListMultipartUploadParts List Parts
s3:AbortMultipartUpload Abort Multipart Upload
Buckets 93
Table 29. Supported S3-specific condition keys for object operations
Key name Description Applicable permissions
s3:x-amz-acl Sets a condition to require specific s3:PutObject, s3:PutObjectAcl,
access permissions when the user s3:PutObjectVersionAcl
uploads an object.
s3:x-amz-grant-permission (for explicit Bucket owner can add conditions s3:PutObject, s3:PutObjectAcl,
permissions), where permission can using these keys to require certain s3:PutObjectVersionAcl
be:read, write, read-acp, write-acp, full- permissions.
control
s3:x-amz-server-side-encryption Requires the user to specify this header s3:PutObject, s3:PutObjectAcl
in the request.
s3:VersionId Restrict the user to accessing data only s3:PutObject, s3:PutObjectAcl,
for a specific version of the object s3:DeleteObjectVersion
<WebhookConfig>
<AuthToken>token</AuthToken>
<BackupLimit>1000</BackupLimit>
<Comment>comment</Comment>
94 Buckets
<Endpoint>http://10.55.66.77:3000/hook</Endpoint>
<Name>MyWebhook</Name>
</WebhookConfig>
The WebHook name must be unique among WebHooks within an account in the object store. Once configured, ObjectScale will
internally build the <Urn> element, which you can collect with a GET.
ObjectScale supports these Destination Configuration Manager (DCM) APIs for interacting with the destination WebHook
server:
● GetEventDestinationConfiguration (type, name)
● DeleteEventDestinationConfiguration (type, name)
● ListEventDestinationConfigurations (type)
● PutEventDestinationConfiguration (type, name, config)
Buckets 95
Figure 10. Edit Bucket - Event Rule
<NotificationConfiguration>
</NotificationConfiguration>
When creating new bucket notifications, use the following syntax for the request.body of the BucketNotificationConfiguration
xml:
<NotificationConfiguration>
<TopicConfiguration>
<Id>Name</Id>
96 Buckets
<Event>event-type</Event>
...
<Filter>
<S3Key>
<FilterRule>
<Name>(prefix|suffix)</Name>
<Value>string</Value>
</FilterRule>
...
</S3Key>
</Filter>
<Topic>webhook-urn</Topic>
</TopicConfiguration>
...
</NotificationConfiguration>
For example, the following NotificationConfiguration file shows how to configure a notification to a webhook any time an object
is created.
<NotificationConfiguration>
<TopicConfiguration>
<Id>CreateEvents</Id>
<Topic>createWebhook</Topic>
<Event>s3:ObjectCreated:*</Event>
</TopicConfiguration>
</NotificationConfiguration>
Event Types
ObjectScale provides event notifications for the following types of events.
Buckets 97
Supported Event Type Description
s3:ObjectCreated:Put An object is created via an S3 PUT operation
s3:ObjectCreated:Copy An object is created via an S3 COPY operation
s3:ObjectCreated:CompleteMultipartU An object is created via an S3 CompleteMultipartUpload operation
pload
s3:ObjectCreated:* Any time an object is created
s3:ObjectRemoved:Deleted Any time a non-versioned object is deleted or an object version is permanently
deleted
s3:ObjectRemoved:DeleteMarkerCreat Any time a delete marker is created for a versioned object
ed
s3:ObjectRemoved:* Any time an object is deleted
s3:Replication:ObjectFailedReplication Any time an object fails replication
{
"Records": [
{
"eventVersion": "2.2",
"eventSource": "aws:s3",
"awsRegion": "us-west-2",
"eventTime": "2021-02-12T02:14:48.398Z",
"eventName": "s3:ObjectCreated:Put",
"userIdentity": {
"principalId": "urn:ecs:iam::ad126a31-0286-4567-9670-c6032d1d89ac:root"
},
"requestParameters": {
"sourceIPAddress": "172.17.0.1"
},
"responseElements": {
"x-amz-request-id": "ac11001b:17793e42a6a:a7:147",
"x-amz-id-2": "87fec1b544f39058bab52f8dec0a0e257a3703454c40e260355f1578bc597406"
},
"s3": {
"s3SchemaVersion": "1.0",
"configurationId": "MyConfiguration1",
"bucket": {
"name": "bucket01",
"ownerIdentity": {
"principalId": "urn:ecs:iam::ad126a31-0286-4567-9670-c6032d1d89ac:root"
},
"arn": ".bucket01"
},
"object": {
"key": "object-for-notification",
"size": "10",
"etag": "c239368c6b3ec9b9dbc5a6b799e3756a",
"versionId": "AAABd5QE804oTME0iiFB2rY0z1_bH-nEK7w",
"sequencer": "100000000000000000000000000000000000000000072e338"
}
}
}
]
}
98 Buckets
Configure Webhook Destination for S3 Notifications
Set up the destination configuration for the WebHooks server that will receive the bucket event notifications.
Prerequisites
You must have configured:
● an IAM user with an Access Key and Secret.
● the destination configuration of the webhooks server. The URN for the destination configuration is a required field in the
bucket notification configuration.
Steps
1. List the objectscale-gateway service endpoint.
DCM_ENDPOINT=<OBJECTSCALE_GATEWAY_IP>
3. Set your user Access Key and Secret that you created during the s3curl setup.
ACCESS_KEY=<ACCESS_KEY>
SECRET=<SECRET_KEY>
4. Calculate the signature for the request to add a new WebHook destination configuration.
NL=$'\n'
RESOURCE=/destconf/webhook/
DATEVAL="`date -u ${adj} +'%a, %d %b %Y %H:%M:%S %z'`"
STRING_TO_SIGN="PUT${NL}${NL}application/xml;charset=utf-8${NL}${DATEVAL}${NL}$
{RESOURCE}"
SIGNATURE=`/bin/echo -n "$STRING_TO_SIGN" | openssl sha1 -hmac
${SECRET} -binary | base64`
5. Add a new WebHook destination configuration to DCM passing the WebhookConfig XML in the request payload.
Buckets 99
7. Save the Urn of the WebHook configuration created in 5.
When creating the bucket notification configuration(s) in Create a bucket notification configuration using the ObjectScale
APIs , use the value from $WEBHOOK_URN in the <Topic></Topic> of the desired TopicConfiguration.
9. Optional: If/when you need to remove a WebHook destination configuration, delete a webhook configuration by:
Use the ${DCM_ENDPOINT} value from 2.
Steps
1. Create the NotificationConfigurations file with your config xml.
When creating the bucket notification configuration(s), use the value from $WEBHOOK_URN in the <Topic></Topic> of
the desired TopicConfiguration.
ObjectScale provides event notifications for the following types of events.
The example below shows a configuration which listens for all ObjectCreated and ObjectRemoved events.
100 Buckets
<Topic>urn:objectscale:webhook::722d25f2-9c5b-41fe-82ac-605782945488:MyWebhook</Topic>
</TopicConfiguration>
</NotificationConfiguration>
Results
You will now receive notification record output like this in your WebHook server as users perform S3 operations in the monitored
bucket. For an example webhook server listening, see Sample setting of simple listener at Webhook server.
mkdir webhook
cd webhook
npm init -y
npm install express body-parser
Buckets 101
# create index.js from the linked file
node index.js
Webhook listening on :3000 /hook
Content of index.js
count = 0
app.use(bodyParser.json())
Steps
1. From the ObjectScale Portal user interface, click Buckets.
The list of Buckets that the user is authorized to view is displayed.
2. Use the Namespace, Object store, Account, and Bucket name fields at the top of the Buckets page to locate the
bucket.
a. Select the appropriate namespace from the Namespace drop-down on the top of the Buckets page.
b. Select the name of the Object Store that contains the bucket.
c. Select the account from the Accounts dropdown.
To select another account, remove the current account to see all the available accounts. Then, select another account,
by either using the dropdown to display all accounts, or by typing the account id into to the Select an account field to
dynamically filter the list of accounts.
d. Optionally, type at least the first three characters of a Bucket name to filter the list of buckets.
3. Click on the name of the bucket to view the bucket Summary tab.
The Summary tab displays details on the bucket, such as:
● Capacity Statistics
● Bucket Settings
● Quota Statistics
● Policy
● Object Counts
● Object Lock Configuration
● Event Notification Details
102 Buckets
Managing Bucket Replication
ObjectScale Replication allows you to manage and monitor replication policies and replicate bucket data. Replication between
object store buckets complies with the S3 protocol of AWS.
ObjectScale replication enables the copying of objects across buckets within ObjectScale instances. For detailed information
about ObjectScale Replication and configuring bucket replication, see ObjectScale Replication.
Buckets 103
6
Federate ObjectScale Systems
This chapter contains details on creating a federation of multiple ObjectScale systems.
Topics:
• Federating ObjectScale Systems
• Create a federation of ObjectScale systems
• Add additional ObjectScale instances to an existing ObjectScale federation
NOTE: Once an ObjectScale instance joins a federation, it cannot be removed from that federation.
Within a federation, an ObjectScale instance can either be the primary instance or a secondary instance. There can be two or
more secondary instances within a federation, but there can only be a single primary instance. Any instance not in a federation
appears as Not Federated, which is the default state. After you create a federation, a heartbeat will be maintained between
trusted ObjectScale instances to track their connectivity status (Online or Offline).
ObjectScale creates ObjectScale federations by using the external endpoints of the ObjectScale Gateway service. This
ObjectScale Gateway service itself is made up of two services:
● objectscale-gateway-internal
● objectscale-gateway
ObjectScale Gateway and ObjectScale Gateway Internal services are separate paths for forwarding requests to ObjectScale-
level services. The ObjectScale Gateway service has a certificate that is used as a customer-facing endpoint. The ObjectScale
Gateway Internal service has an internally signed certificate and is used for ObjectScale-to-ObjectScale communication.
Here is an overview of what an Administrator user must do to create a federation of ObjectScale systems:
1. From the ObjectScale system that you want to become the primary system in the federation, create the federation. It
becomes the primary ObjectScale instance.
2. From the ObjectScale system that you want to become a secondary system in the federation, join a federation. This
downloads the FederationSigning_<objectscale_system>.xml file that the primary ObjectScale system must
sign.
3. From the primary ObjectScale system, upload FederationSigning_<objectscale_system>.xml request
to the primary ObjectScale. The primary ObjectScale generates a signed certificate that is named
PostFederationSigning_<objectscale_system>.xml and automatically download the file.
4. From the secondary ObjectScale system, add a new remote instance by uploading the signed certificate that was
downloaded from the primary ObjectScale system. The ObjectScale type is Secondary.
5. Finally, from each system you must initiate trust of the remote instances from each ObjectScale system.
Once both the Remote Instances have Trust Initiated Trust Status, the federation service on each side tries
to communicate to the remote instance over the objectscale-gateway-internal endpoint. If this system-to-system
communication is successful, it moves each remote instance to the Trusted Trust Status. Communication is successful
once both ObjectScale instances verify the certificates in the trusted list.
You can add additional ObjectScale instances to this federation by repeating this process.
Use the following tasks to create and maintain a federation of ObjectScale systems.
Steps
Complete these steps on the ObjectScale system you wish to make the primary ObjectScale instance in the federation.
1. From the ObjectScale Portal user interface, click Administration > ObjectScale and then select Federation tab.
The details on the ObjectScale instances in a federation that the user is authorized to view are displayed.
2. Click Create Federation and click YES to create the necessary federation CA and establish this ObjectScale instance as the
primary.
After you click Create Federation this ObjectScale system becomes the primary instance for the federation. You will no
longer be able create additional federation CAs or join this ObjectScale instance to any other federations.
3. Ensure the instance is now listed as Primary in the ObjectScale Systems page.
Complete these steps on the ObjectScale system you wish to make a secondary ObjectScale instance in the federation.
4. From the ObjectScale Portal user interface, click Administration > ObjectScale and then select Federation tab.
The details on the ObjectScale instances in a federation that the user is authorized to view are displayed.
Once you have uploaded this file, the primary ObjectScale instance automatically generates and downloads the signed
request file, PostFederationSigning_<OBJECTSCALE_NAMESPACE>.xml. Additionally, the Secondary ObjectScale
instance will now appear as a Not Trusted remote instance of ObjectScale within the federation managed by the primary
ObjectScale instance.
7. From the secondary ObjectScale instance, click New Remote Instances and upload the signed federation signing request
file from the primary ObjectScale instance.
The primary ObjectScale instance will now appear as a Not Trusted remote instance of ObjectScale within the federation.
8. Finally, to complete the federation process linking these two ObjectScale instances, establish trust between the two
ObjectScale instances.
a. From the Secondary ObjectScale instance, select the checkbox of the primary ObjectScale instance that needs to
establish trust with the Secondary ObjectScale instance and click Initiate Trust.
The Initiate Trust window appears.
b. Verify that the correct details are shown for the selected ObjectScale instance you wish to establish trust with in the
federation and click Yes.
c. From the primary ObjectScale instance, select the checkbox of the Secondary ObjectScale instance that needs to
establish trust with the primary ObjectScale instance and click Initiate Trust.
Each of the remote instances will attempt to establish trust, joining the instances in an ObjectScale federation. Initially, the
ObjectScale instances are listed as Trust Initiated Trust Status as the federation service on each side tries to communicate
to the remote instance over the objectscale-gateway-internal endpoint, and if this system-to-system communication is
successful, it moves each remote instance to the Trusted Trust Status.
Steps
Complete these steps on the ObjectScale system you wish to make a secondary ObjectScale instance in the federation.
1. From the ObjectScale Portal user interface, click Administration > ObjectScale and then select Federation tab.
The details on the ObjectScale instances in a federation that the user is authorized to view are displayed.
2. Click Join Federation and download the federation signing request file,
FederationSigning_<objectscale_system>.xml.
Ensure that this file is accessible by both ObjectScale instances.
Complete these steps on the primary ObjectScale instance in the federation.
3. From the ObjectScale Portal user interface, click Administration > ObjectScale and then select Remote Instances tab.
The details on the ObjectScale remote instances in a federation that the user is authorized to view are displayed.
4. Click New Remote Instances and upload the federation signing request file from the other ObjectScale instance. After
uploading the xml file, click SAVE.
Once you have uploaded this file, the primary ObjectScale instance automatically generates and downloads the signed
request file, PostFederationSigning_<OBJECTSCALE_NAMESPACE>.xml. Additionally, the Secondary ObjectScale
instance will now appear as a Not Trusted remote instance of ObjectScale within the federation managed by the primary
ObjectScale instance.
5. From the secondary ObjectScale instance, click New Remote Instances and upload the signed federation signing request
file from the Primary ObjectScale instance.
The Primary ObjectScale instance will now appear as a Not Trusted remote instance of ObjectScale within the federation.
6. Finally, to complete the federation process linking these two ObjectScale instances, establish trust between the two
ObjectScale instances.
a. From the Secondary ObjectScale instance, select the checkbox of the primary ObjectScale instance that needs to
establish trust with the Secondary ObjectScale instance and click Initiate Trust.
The Initiate Trust window appears.
b. Verify that the correct details are shown for the selected ObjectScale instance you wish to establish trust with in the
federation and click Yes.
c. From the primary ObjectScale instance, select the checkbox of the Secondary ObjectScale instance that needs to
establish trust with the primary ObjectScale instance and click Initiate Trust.
d. Verify that the correct details are shown for the selected ObjectScale instance you wish to establish trust with in the
federation and click Yes.
Each of the remote instances will attempt to establish trust, joining the instances in an ObjectScale federation. Initially, the
ObjectScale instances are listed as Trust Initiated Trust Status as the federation service on each side tries to communicate
to the remote instance over the objectscale-gateway-internal endpoint, and if this system-to-system communication is
successful, it moves each remote instance to the Trusted Trust Status.
Up to four unique destinations per replication policy can be configured. At any time, replication can be paused, suspended, or
throttled.
One or more accounts can own buckets that are configured for object replication.
ObjectScale replication across object stores is an eventual consistency process. The benefits of eventual consistency replication
are:
● It is good for high-latency connections.
● It provides eventually consistent object access (asynchronous replication).
● Data reads and writes are always local for the best performance.
● The system can perform management operations during network partitions.
To enable replication, add a replication configuration to your source bucket. The minimum configuration includes:
● The destination bucket or buckets where you want ObjectScale to replicate objects.
● An Identity and Access Management (IAM) role that ObjectScale can use to replicate objects.
An IAM Role is an IAM identity that you can create in your account that has specific permissions.
An IAM Role is similar to an IAM end user. They are both an ObjectScale identity with permission policies that determine
what the identity can and cannot do in ObjectScale. However, instead of being uniquely associated with one person, a role is
intended to be assumable by anyone who needs it.
Each source bucket can be configured to replicate some or all its data to one or more destination buckets. The data that are
replicated from the source bucket can be replicated based on a key prefix, a tag or both to make replication granular. An IAM
role must be selected for the source bucket account to replicate the data. On the source bucket, the rule can target specific
destination buckets that are based on the key prefix and tag.
In ObjectScale:
● Replication is bucket-to-bucket.
● Replication rules can be different for every bucket depending on redundancy or locality needs.
● Replication objects can be part of a bucket (by prefix or by tag set on objects).
● Replication can do network throttling between different object stores.
Table 31. Required permissions in the source account IAM role for replication
Action Required allow permissions Target
Configure replication policy s3:ReplicateObject On the destination bucket
and rules.
s3:GetBucketVersioning
s3:ListBucketVersions
s3: ReplicateTags
s3:PutObjectRetention
s3:PutObjectLegalHold
s3:BypassGovernanceRetention
Replicate a delete marker. s3:ReplicateDelete On the destination bucket
Change the object owner. s3: ObjectOwnerOverrideToBucketOwner On the destination bucket
Rules per policy 1000 The maximum number of rules allowed in a single replication policy
Policy size (bytes) 2 MB The maximum size of a replication policy, in bytes
2 MB allows 1000 rules per destination with about 2 KB of filters and
other configurations per rule.
You can create a NEW REPLICATION RULE using the New Replication Rule wizard, which helps in adding a rule to the
replication policy of the bucket.
A replication rule can define only one destination target. It cannot define multiple destinations in a single replication rule. A
replication rule can have only one destination bucket.
From the Replication tab, you can also edit or delete rules, enable or disable rules, and change the priority of rules. The Receive
Objects button configures a bucket as a destination bucket. For more information, see Manage a Bucket Replication Policy
using ObjectScale UI.
<ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Role>urn:osc:iam::osai0018c732362653d5:role/crrRole</Role>
<!-- the IAM role used to perform the object replication -->
<Rule>
<!-- Defines a Rule, to match objects and specify where they need to be sent -->
<ID>rule1</ID>
<Status>Enabled</Status>
<Priority>1</Priority>
<Filter><Prefix>important/</Prefix></Filter>
<!-- A filter to identify which objects to replicate -->
<Destination>
<AccessControlTranslation>
<Owner>Destination</Owner>
</AccessControlTranslation>
<Account>Osai0018c732362653d5</Account>
<Bucket>arn:aws:s3:osci26b00472169e8067:osti5a9f9ecef92d9f85:destination1</Bucket>
</Destination>
<DeleteMarkerReplication>
<Status>Disabled</Status>
</DeleteMarkerReplication>
</Rule>
</ReplicationConfiguration>
ObjectScale supports the standard AWS S3 APIs for getting, setting, and deleting the replication policy on a bucket.
Amazon defines two versions of Replication Policies (V1 and V2). ObjectScale supports the V2 policy format. ObjectScale
bucket replication policies support most of the V2 tags. There is no support for:
● S3 RTC-related tags (Metrics and ReplicationTime)
● The ExistingObjectReplication tag
● Tags that are related to KMS-encrypted objects
● Tags related to delete marker replication or replica sync.
Replication Rules
A replication policy contains rules.
A single policy supports up to 1000 rules. This value is configurable if users have more resources.
The filter of a replication rule can specify:
● An optional prefix for prefix matching the object name
● An optional set of object tags to match
Each rule can specify only one destination bucket.
● If there is a requirement to specify multiple destination buckets, the user has to configure multiple rules.
● The bucket is specified with the bucket ARN which includes the ObjectScale, object store, and bucket name.
● Up to four destinations for a single bucket replication configuration are allowed. (Four is a default value and is configurable if
users have more resources.) On the ObjectScale Portal, you can only select one destination per policy.
Other rule attributes can specify the following:
● The scope of the objects that the rule matches.
The scope could be an entire bucket or object with a specified prefix or specified tags. Configurations for whether to
replicate KMS-encrypted objects are ignored.
● The replication behavior for the rule, such as whether the REPLICA owner must be changed.
● Whether the rule is disabled or enabled.
● The priority for each rule—When a user creates an object and matches multiple rules for one destination, the rule with the
highest priority takes effect. Rules for different targets do not interfere with each other.
● Replication Behavior sets, such as behavior when the object version is created.
Changes (such as priority, behavior, scope, and so on) on rules after creation of the object version only affect whether a further
attribute update is replicated. It does not impact replication behavior for this object version.
In the following example policy, there are two different destination buckets. The name of the object determines the destination
bucket that the object is replicated to and the parameters for that replication.
Use the following guidelines to decide whether to enable or disable delete marker replication.
DeleteMarkerReplicat Description
ion setting
DISABLED Delete markers are not replicated, which means that:
● The source and destination buckets are not synchronized. The data is available in the destination
bucket even when it was deleted in the source bucket.
● Users cannot use life cycle policy to reclaim space for all versions of an object. (Users may
reclaim space for all object versions in the destination bucket only, using manual delete version
operations.)
Use DISABLED in situations when space is not a concern. It is also useful when you have upgraded
to ObjectScale 1.3 from a previous release. If you edit an older replication policy after installing
ObjectScale 1.3, you must set a value on the DeleteMarkerReplication setting. For consistency with
how replication worked in your prior releases, choose DISABLED.
Not set If a policy was defined in an ObjectScale version earlier than 1.3, the XML files for the older policies
do not include the DeleteMarkerReplication setting. The default behavior in this case matches the
DISABLED setting.
Prerequisites
The user must have access to the versioning-enabled bucket configured for ObjectScale Replication.
Ensure that you have the Bucket Name available. You must use this name in the New Replication Rule wizard.
c. Click NEXT.
The Destination Bucket tab opens.
8. Fill the mandatory fields in the Destination Bucket tab.
NOTE: You cannot configure more than one destination bucket at a time.
Prerequisites
The user must have access to the versioning-enabled bucket configured for ObjectScale Replication.
Steps
1. From the ObjectScale Portal user interface, click Buckets.
The list of Buckets that the user is authorized to view is displayed.
2. Use the Namespace, Object store, Account, and Bucket name fields at the top of the Buckets page to locate the
bucket.
a. Select the appropriate namespace from the Namespace drop-down on the top of the Buckets page.
b. Select the name of the Object Store that contains the bucket.
c. Select the account from the Accounts dropdown.
To select another account, remove the current account to see all the available accounts. Then, select another account,
by either using the dropdown to display all accounts, or by typing the account id into to the Select an account field to
dynamically filter the list of accounts.
d. Optionally, type at least the first three characters of a Bucket name to filter the list of buckets.
3. Click the name of the bucket to be modified.
The bucket Summary tab is displayed by default.
4. Click the Replication tab.
● The data grid displays a listing of existing replication rules.
● NEW REPLICATION RULE button is enabled by default.
● EDIT and DELETE buttons are enabled.
● ACTIONS drop-down menu is enabled by default, and consists of Enable Rule(s), Disable Rule(s), Edit Priority, and
Receive Objects.
5. Select the replication rule that you want to edit and click the EDIT button.
The EDIT REPLICATION RULE window opens. The Rule tab is opened by default.
6. Click the section in the wizard that you want to edit, and make the changes.
● Go to Rule to edit the Rule Name or Rule Status.
● Go to Source Bucket to edit the Rule Scope.
● Go to Destination Bucket to edit values for Set Destination, namespace, Object Store, Destination Bucket Account,
IAM Role from the source account, or Delete Marker Replication.
7. Click SAVE.
Prerequisites
The user must have access to the versioning-enable bucket configured for ObjectScale Replication.
Steps
1. From the ObjectScale Portal user interface, click Buckets.
The list of Buckets that the user is authorized to view is displayed.
2. Use the Namespace, Object store, Account, and Bucket name fields at the top of the Buckets page to locate the
bucket.
a. Select the appropriate namespace from the Namespace drop-down on the top of the Buckets page.
b. Select the name of the Object Store that contains the bucket.
c. Select the account from the Accounts dropdown.
To select another account, remove the current account to see all the available accounts. Then, select another account,
by either using the dropdown to display all accounts, or by typing the account id into to the Select an account field to
dynamically filter the list of accounts.
d. Optionally, type at least the first three characters of a Bucket name to filter the list of buckets.
3. Click the name of the bucket to be modified.
The bucket Summary tab is displayed by default.
4. Click the Replication tab.
● The data grid displays a listing of existing replication rules.
● NEW REPLICATION RULE button is enabled by default.
● EDIT and DELETE buttons are enabled.
● ACTIONS drop-down menu is enabled by default, and consists of Enable Rule(s), Disable Rule(s), Edit Priority, and
Receive Objects.
5. Select the replication rule you want to remove and click the DELETE button.
A confirmation window opens.
6. Click Yes to delete.
The replication rule is deleted from the replication policy.
Prerequisites
The user must have access to the versioning-enabled bucket configured for ObjectScale Replication.
Steps
1. From the ObjectScale Portal user interface, click Buckets.
The list of Buckets that the user is authorized to view is displayed.
2. Use the Namespace, Object store, Account, and Bucket name fields at the top of the Buckets page to locate the
bucket.
a. Select the appropriate namespace from the Namespace drop-down on the top of the Buckets page.
b. Select the name of the Object Store that contains the bucket.
c. Select the account from the Accounts dropdown.
To select another account, remove the current account to see all the available accounts. Then, select another account,
by either using the dropdown to display all accounts, or by typing the account id into to the Select an account field to
dynamically filter the list of accounts.
d. Optionally, type at least the first three characters of a Bucket name to filter the list of buckets.
3. Click the name of the bucket to be modified.
Prerequisites
The user must have access to versioning-enabled source and destination buckets configured for ObjectScale Replication.
Steps
1. From the ObjectScale Portal user interface, click Buckets.
The list of Buckets that the user is authorized to view is displayed.
2. Use the Namespace, Object store, Account, and Bucket name fields at the top of the Buckets page to locate the
bucket.
a. Select the appropriate namespace from the Namespace drop-down on the top of the Buckets page.
b. Select the name of the Object Store that contains the bucket.
c. Select the account from the Accounts dropdown.
To select another account, remove the current account to see all the available accounts. Then, select another account,
by either using the dropdown to display all accounts, or by typing the account id into to the Select an account field to
dynamically filter the list of accounts.
d. Optionally, type at least the first three characters of a Bucket name to filter the list of buckets.
3. Click the name of the bucket to be modified.
The bucket Summary tab is displayed by default.
4. Click the Replication tab.
● The data grid displays a listing of existing replication rules.
● ACTIONS drop-down menu is enabled by default, and consists of Enable Rule(s), Disable Rule(s), Edit Priority, and
Receive Objects.
5. Click Edit Priority.
The Edit Priority wizard opens.
6. Click the up or down arrow next to the replication rule to change the priority of a particular rule or rule(s).
7. After changing the priority of the desired rules, click SAVE.
Steps
1. From the ObjectScale Portal user interface, click Buckets.
The list of Buckets that the user is authorized to view is displayed.
2. Use the Namespace, Object store, Account, and Bucket name fields at the top of the Buckets page to locate the
bucket.
a. Select the appropriate namespace from the Namespace drop-down on the top of the Buckets page.
b. Select the name of the Object Store that contains the bucket.
c. Select the account from the Accounts dropdown.
To select another account, remove the current account to see all the available accounts. Then, select another account,
by either using the dropdown to display all accounts, or by typing the account id into to the Select an account field to
dynamically filter the list of accounts.
d. Optionally, type at least the first three characters of a Bucket name to filter the list of buckets.
3. Click the name of a bucket.
4. Click Replication.
The table shows all replication rules that are defined for the bucket and whether they are enabled or disabled.
Prerequisites
The user must have access to the versioning-enabled destination bucket configured for ObjectScale Replication.
Steps
1. From the ObjectScale Portal user interface, click Buckets.
The list of Buckets that the user is authorized to view is displayed.
2. Use the Namespace, Object store, Account, and Bucket name fields at the top of the Buckets page to locate the
bucket.
a. Select the appropriate namespace from the Namespace drop-down on the top of the Buckets page.
b. Select the name of the Object Store that contains the bucket.
c. Select the account from the Accounts dropdown.
To select another account, remove the current account to see all the available accounts. Then, select another account,
by either using the dropdown to display all accounts, or by typing the account id into to the Select an account field to
dynamically filter the list of accounts.
d. Optionally, type at least the first three characters of a Bucket name to filter the list of buckets.
3. Click the name of the bucket to be modified.
The bucket Summary tab is displayed by default.
4. Click the Replication tab.
The ACTIONS drop-down menu is enabled by default, and consists of ENABLE RULE/S, DISABLE RULE/S, EDIT
PRIORITY, and RECIEVE OBJECTS.
5. Click RECEIVE OBJECTS.
The Receive Objects window opens.
7. Click SAVE.
The destination bucket starts to receive replicated objects from the source bucket.
Steps
1. Create a global account.
a. Set the environment variables and display the Account ID:
TOKEN=${TOKEN//[$'\r\n']}
# output: ACCOUNT_ID="a7bf6bfe35ac4277a1a8857da98b3226"
EOF
curl -vks \
-X POST \
-H "X-SDS-AUTH-TOKEN:$TOKEN" \
-H "Content-Type: application/xml" \
-H "X-EMC-Override: true" \
-T $HOME/tenant_creation.xml \
https://${ENDPOINT}:4443/object/tenants/tenant |xmllint --format -; echo
OSR_ROLE_NAME="osrRole2"
OSR_ROLE_ARN=$(curl http://${IAMSVC_ENDPOINT}:9400/
iam?'Action=CreateRole&RoleName='$OSR_ROLE_NAME'&MaxSessionDuration=43200&AssumeRole
PolicyDocument=%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effe
ct%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22crr.objscale.dell.com%
22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D' -H "x-emc-
namespace:$ACCOUNT_ID" -H "X-SDS-AUTH-TOKEN:$TOKEN" -v | xmllint --format - | grep
'Arn' | sed 's/<Arn>\(.*\)<\/Arn>/\1/g' |sed -e 's/^[ \t]*//')
# output: OSR_ROLE_ARN="urn:osc:iam::a7bf6bfe35ac4277a1a8857da98b3226:role/osrRole2"
OSR_POLICY_NAME="osrPolicy"
OSR_POLICY_ARN=$(curl http://${IAMSVC_ENDPOINT}:9400/
iam?'Action=CreatePolicy&PolicyName='$OSR_POLICY_NAME'&PolicyDocument=%7B%22Version%
22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Acti
on%22%3A%22s3%3A*%22%2C%22Resource%22%3A%5B%22*%22%5D%7D%5D%7D' -H "x-emc-
namespace:$ACCOUNT_ID" -H "X-SDS-AUTH-TOKEN:$TOKEN" -v | xmllint --format - | grep
'Arn' | sed 's/<Arn>\(.*\)<\/Arn>/\1/g' |sed -e 's/^[ \t]*//')
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": [
"*"
]
}
]
}
curl http://${IAMSVC_ENDPOINT}:9400/
iam?'Action=AttachRolePolicy&RoleName='$OSR_ROLE_NAME'&PolicyArn='$OSR_POLICY_ARN -H
"x-emc-namespace:$ACCOUNT_ID" -H "X-SDS-AUTH-TOKEN:$TOKEN" -v | xmllint --format
TOKEN=${TOKEN//[$'\r\n']}
4. Use the ObjectScale API to PUT the replication configuration. In this configuration, you must specify the ObjectScale and
object store ID in the target bucket ARN.
For example:
rm -f $HOME/.osr-rep-config
cat >> $HOME/.osr-rep-config << EOF
<?xml version="1.0" encoding="UTF-8"?>
<ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Role>$OSR_ROLE_ARN</Role>
<Rule>
<Status>Enabled</Status>
<Priority>1</Priority>
<DeleteMarkerReplication>
<Status>Enabled</Status> # or Disabled
</DeleteMarkerReplication>
<Destination>
<Bucket>arn:aws:s3:$SCALE_ID:$STORE_ID:$DEST_BUCKET_NAME</Bucket>
</Destination>
</Rule>
</ReplicationConfiguration>
EOF
Replication status
The following table describes replication status values.
Replication Description
status
null (no status) Replication is not enabled for this version of the object.
PENDING Replication is in progress. The created or latest metadata, ACL, or tag update is not yet replicated to the
destination. If life cycle configuration is enabled on the source bucket, life cycle actions are suspended
until status is COMPLETED or FAILED.
The PENDING status can mean any of the following:
1. Replication is progressing without issues.
2. Objects are not able to replicate due to administrative pause or a temporary outage such as service
down, network separation, or an unavailable node or disk. In these cases, the system retries replication
periodically until replication is successful.
3. The destination object store or bucket is full or exceeds the user specified quota. In these cases, the
system generates an alert and continuously retries the replication every 15 minutes.
Any metadata, ACL, or tag updates that are made while the object replication status is PENDING are also
replicated to the destination. This replication occurs even if the replication rule is disabled for the object.
COMPLETE All data and metadata for the version of the object is replicated to the destination.
FAILED Replication is permanently stopped because a configuration error is preventing replication. The system
generates an alert that describes the reason for failure.
User action is required to:
Steps
1. From the ObjectScale Portal user interface, click Alerts.
2. Click Show All.
3. Click the filter icon in the SymptomID column and type OBJST-12010.
An OBJST-12010 entry appears for each unresolved failed replication.
4. To see more information about a failure, click the expansion arrow (>) at the beginning of an entry line.
5. In the table of details that appears, read the Messages column.
The message shows the following information:
● Failure error code
● Object name of the failed replication rule
● Version id of the failed replication
● Failure time
6. Copy the object name and the version id for use in debugging the problem.
7. To determine if multiple failure occurrences are related to the same configuration issue:
a. Clear the filter in the SymptomID column.
b. Set a new filter in that column for OBJST-1602.
The OBJST-1620 alert shows a consolidated view of all failed replications for the past 5 minutes.
c. Click the expansion arrow (>) at the beginning of the entry line.
d. In the table that appears, read the Message contents.
The message is a consolidated list of all recent failures and their reason codes.
Steps
1. Get the object name and version id of the failed replication.
See Monitor for failed replications on the ObjectScale Portal UI.
2. Get the failure reason by issuing the S3 detailedReplicationStatus API request on the object name and version id.
The format is:
An ObjectScale extension to this S3 call shows the following information about the destination replication status.
3. If the failure reason message is not enough information, you can get remediation suggestions as follows: .
a. Log in to the Dell Support site.
b. Search for the knowledge base article titled ObjectScale Debugging Guide.
c. Search the document for the <FailureErrorCode>.
The document contains detailed steps for debugging and resolving each failure error code.
4. Retrigger the failed replication object after fixing the configuration issue.
To retrigger, copy the failed object version to a new version using the standard S3 copy request.
Enable PAAS
The Privileged Actions Approval System (PAAS) provides a mechanism for requiring and granting approvals for certain
predefined privileged actions.
For the list of actions that require approval, see List of protected actions .
The following steps are required to enable PAAS. These steps are the responsibility of a Security Administrator.
1. Add two initial Approver Users to the ObjectScale system.
2. Inform the two initial Approver Users that they must log in to the system and change their password, which changes their
status to REGISTERED.
3. Change the PAAS setting to enabled.
NOTE: You cannot disable PAAS after it is enabled. Instead, you can disable the protection modes that depend on PAAS.
They are Platform Protection Mode and Account Protection Mode.
Prerequisites
You must have the security_admin role.
Prerequisites
● You must be the Approver User with the status of UNREGISTERED.
● You must know the initial password that the Management User assigned when creating the Approver entity.
Steps
1. On the ObjectScale Portal user interface Login screen, log in as follows:
a. User name is the new Approver User email address.
They must log in using the configured email address.
b. Password is the initial password that the Management User assigned when adding the Approver User.
c. User type is Approver User.
d. Click Login.
The system displays a message asking the user to reset the password.
2. Follow the prompts to create a password and log in.
The password complexity rules for this password are the same as the rules that are imposed on Management Users. The
rules are viewable on the ObjectScale Portal at Administration > Security Settings > User settings.
Results
This Approver User status is changed to REGISTERED. A security admin can verify this status change on Administration >
Security Settings > Approvers.
Prerequisites
● At least two Approver Users with REGISTERED status must be defined in the ObjectScale system.
● You must have the security_admin role.
Steps
1. On the ObjectScale Portal user interface, go to Administration > Platform Settings.
2. In the Privileged Actions Approval System section, click the Disabled/Enabled toggle.
Prerequisites
● You must have the security_admin role.
● PAAS must be enabled.
Steps
To add one Approver User:
1. On the ObjectScale Portal user interface, go to Administration > Security Settings > Approvers.
2. Click Add Approver.
3. In Is PAA request available?, choose Not Available.
4. Type the email for the new Approver User.
5. Click Send Request
6. Go to Administration > Requests.
The new request to add an approval entity appears with a status of Pending Approval.
7. Monitor the request until the status changes to Approved.
8. When the status is Approved, return to Administration > Security Settings > Approvers > Create.
9. In Is PAA request available?, click Available.
10. Select the requestid.
11. Type a username and initial password for the new Approver User.
You must remember and communicate this password to the Approver User.
12. Click Save.
13. Verify that the new user appears in the table with a status of UNREGISTERED.
14. Contact the user, provide the new Approver User name and initial password, and ask them to follow the steps in Approver
User registration.
Steps
1. On the ObjectScale Portal user interface, go to Administration > Requests .
2. Click Create.
3. Select Create Approval Entity.
4. Type the email address of a user who you want to make Approver.
5. To add another email, click Add Entity.
Continue adding entities until all potential Approvers are listed.
6. Click Create Request.
7. Go to Administration > Requests.
New requests exist for each new email, each with a status of Pending Approval.
8. When their status is Approved, go to Administration > Security Settings > Approvers.
9. Click Create.
Prerequisites
You must have security_admin role.
Steps
1. From the ObjectScale Portal user interface, go to Administration > Security Settings > Approvers.
2. Click the checkbox at the beginning of the line for the Approver User line that you want to delete.
3. Click Delete Approver.
4. Complete the dialog that appears as follows:
Option Description
PAAS is not Click to confirm that you want to delete the Approver.
enabled.
PAAS is An approval is required.
enabled. ● To submit a request for approval:
a. For Is PAA request available?, answer Not Available.
b. Confirm the email of the Approver that you are requesting to delete.
c. Click Create Request.
d. Monitor the request on Administration > Requests. When the request status is Approved,
return to this page.
● To act on an approved request:
a. For Is PAA request available?, answer Available.
b. Select the PAArequestid from the resulting list.
c. Click Delete.
5. When the system redisplays the Approvers page, refresh the screen to confirm that the entry is removed.
Prerequisites
● You must be a Management User with security_admin role.
● PAAS must be enabled.
NOTE: You cannot reset an Approver User password when PAAS is not enabled. In that case, to manage a forgotten
password, you can delete the Approver and add it again.
Create requests
Only Management Users can create requests. Approver Users and IAM users cannot submit requests.
When Account Protection is enabled, IAM users must perform S3 protected actions. In this case, the IAM user must engage
with a Management User to submit a request on behalf of the IAM user. The request includes the user ID of the requesting IAM
user. That IAM user is the only user who can complete the action after it is approved.
The ObjectScale Portal user interface offers two ways to create requests.
● Go to Administration > Requests > Create. A dropdown menu lists all the commands that require approval. You can select
a command, complete the resulting screen, and submit the request for approval.
● Go to the context-specific UI page that you would use to perform the action if PAAS was not enabled. When you attempt to
perform the action, the UI provides a button that creates the request for approval for the action.
ObjectScale APIs also support creating requests.
Prerequisites
You must be a Management User or Approver User.
Steps
1. From the ObjectScale Portal user interface, go to Administration > Requests.
2. Requests appear as follows:
● If you are a Management User, you see only the requests that you have submitted.
● If you are an Approver User, you see all requests.
3. Use the Portal filter and column sort features to find requests.
Cancel a request
You can cancel one or more requests that you have submitted. Cancelling a request does not require approval.
Prerequisites
You must be the Management User who entered the request to cancel a request.
Steps
1. On the ObjectScale Portal user interface, go to Administration > Requests .
2. Select the requests that you want to cancel by clicking the box at the beginning of each entry.
3. Click Cancel.
4. On the dialog that appears, review the list of requests that you are about to cancel and optionally enter text in the
Comments box.
5. Click Cancel Request(s) to proceed with the cancel action, or click No to back out of the cancel action.
Prerequisites
You must be a registered Approver User.
Steps
1. Login in to the ObjectScale Portal as an Approver User:
.
● Open a connection to the Portal so that the Login window is displayed.
● For User Name, type your Approver User name.
● For Password, type your Approver User password.
● For User Type, select Approver.
● Click Login.
2. Go to Administration > Requests.
3. Look for requests with a status of Pending Approval.
You can optionally filter on the Status column.
4. To select a request to approve or reject, click the checkbox at the beginning of the entry.
Approval tokens
To complete approved requests using the API, you must first get the approval token that is associated with the request. Then
you submit the request using the approval token in the header of the request.
PAAS issues the approval tokens, also known as the PAA token. There are two types of PAA tokens.
For S3 actions Obtained and used by the IAM user A temporary token—The token expires in 12 hours. The
whose username is referenced in an S3 IAM user can use this token to perform the same request
request. multiple times. Multiple executions are not harmful.
ObjectScale checks that the IAM user id, the resource
id, and the request payload exactly match the values in
the approved request.
Use the GetFederationToken API to get this token.
Prerequisites
To complete a request after approval, you must be logged in as the appropriate user:
● For S3 actions, you must be the IAM user whose user id was entered in the request. The Management User who submitted
the request on your behalf cannot complete an S3 action.
NOTE: This task does not apply to S3 actions. For descriptions and examples for completing approved S3 actions, see
Complete approved S3 requests on protected accounts.
● For other (non-S3) actions, you must be the Management User who submitted the request. This task describes how
Management Users can complete all other action types.
Steps
1. To use the ObjectScale Portal user interface to complete a request:
a. Go to Administration > Requests.
b. Click the Request ID of the request that you want to complete.
d. Complete the action by calling the service API, adding the token obtained in the previous step to the header.
Example request for completing an ObjControlsvc action:
Results
The request status changes to Completed in a best-effort manner. The status may not change to Completed even when the
request runs successfully. In those cases, the status moves to the next life cycle status (Expired) after 7 days.
Prerequisites
● PAAS must be enabled.
● You must have the security_admin role.
Steps
1. From the ObjectScale Portal user interface, go to Administration > Platform Settings.
2. If the mode is disabled, click Approval Request.
3. On the dialog that appears, click Send Request.
Prerequisites
● You must have the security admin role.
Steps
1. From the ObjectScale Portal user interface, go to Administration > Platform Settings.
2. If the mode is enabled, click Approval Request.
3. On the dialog that appears, click Send Request.
4. Go to Administration > Requests to view the request and monitor its status.
5. When the request status changes to Approved, go to Administration > Requests, click the requestid, and then click
Disable Platform Protection.
Prerequisites
● PAAS must be enabled on the ObjectScale platform.
● You must be a Management User with one of the following roles:
○ Admin
○ Storage admin
○ Operations admin
Steps
1. On the ObjectScale Portal user interface, go to Accounts.
2. Select an account by clicking the checkbox at the beginning of the account line.
3. Click Actions > Enable Account Protection.
Prerequisites
● The Privileged Actions Approval System (PAAS) must be enabled on the ObjectScale platform.
● You must be a Management User with one of the following roles:
○ Admin
○ Storage admin
○ Operations admin
Steps
1. On the ObjectScale Portal user interface, go to Accounts.
2. Select the account by clicking the checkbox at the beginning of the account line.
Prerequisites
● You must be a Management User with an appropriate role.
● You must have all information for completing the action when you submit the request. Coordinate with the IAM user who
owns the account and who would be the person asking for the action.
Steps
1. On the ObjectScale Portal user interface, go to Administration > Requests.
2. Click Create.
3. Select the Request type.
4. Complete the form that appears. Obtain all information from the IAM user who is requesting the action.
5. Click Create Request.
The request appears on the Requests page, with a status of Pending Approval.
6. Monitor the request until the status changes to Approved.
7. When the status changes to Approved, click the Request ID.
The Request Details screen shows all details of the request.
● If the request was for an ObjControl action, the Request Details screen includes action buttons to either cancel or
complete the requested action. The Management User can complete the action using the buttons.
● If the request was for an S3 action, the Request Details screen does not include action buttons. The IAM user whose
ARN is in the approved request must use APIs to get the approval token and complete the action. See the next task for
instructions.
Prerequisites
● The request must have a status of Approved.
● You must be the IAM user whose user id was entered in the request.
Steps
To complete S3 actions, the IAM user must do the following:
a. Get the PAA requestID. One way is to copy it from the Request screen in the ObjectScale Portal user interface. There are
also APIs that list requests.
c. Use the token with the appropriate S3 request to perform the approved action.
Example request for completing an S3 PutObjectRetention request:
export AWS_ACCESS_KEY_ID=$ACCESS_KEY_ID_IN_PAA_TEMPORARY_CRED
export AWS_SECRET_ACCESS_KEY=$SECRET_KEY_IN_PAA_TEMPORARY_CRED
export AWS_SESSION_TOKEN=$SESSION_TOKEN_IN_PAA_TEMPORARY_CRED
aws s3api put-object-retention \
--bucket my-bucket-with-object-lock \
--key object1\
--retention '{ "Mode": "GOVERNANCE", "RetainUntilDate": "2024-01-01T00:00:00" }' \
--bypass-governance-retention \
--endpoint-url=$OBJECTSCALE_S3_ENDPOINT
Results
The request status changes to Completed in a best-effort manner. Sometimes, the status may not change to Completed
even when the request runs successfully. In those cases, the status moves to the next life cycle status (Expired) after 7 days.
NOTE: For ObjectScale for OpenShift deployments, Management Users are limited to management tasks using the
ObjectScale Management REST API. See the ObjectScale Management REST API for usage details.
ObjectScale for OpenShift uses the Kubernetes layer authentication and role assignments to manage access to the
ObjectScale Portal user interface. These users are known as Administrative Users and are created within the OpenShift
cluster.
Topics:
• Management Users in ObjectScale Software Bundle
• Approver users
Role overview
ObjectScale roles are predefined. Custom roles are not supported.
Management Users with the Admin or Security Admin role can create other users and assign roles or edit roles. A Management
User can have more than one role.
Roles control access to the ObjectScale instance and to individual object stores.
● For ObjectScale, roles grant permissions to configure and monitor the system, configure users, and create and manage
object stores.
● For object stores, roles grant permissions to manage (Edit) or View specific stores.
Summary of roles
The following table summarizes the available roles in ObjectScale. The roles correspond to typical user personas in a security-
conscious organization.
Role name in the ObjectScale Role name in K8S and the Description
UI ObjectScale API
Admin admin This role grants full control over all management
operations.
Operations Admin operations_admin This role grants full control over all management
operations except for security operations. It includes
Read access to user and public certificates.
Default user
The ObjectScale installation process creates an initial Management User.
The initial user is a Local User with username root and the Admin role. This username is immutable, nor can the username and
role assignment be changed.
The root account cannot be deleted.
The password for this username was set during installation. If the installer did not specifically provide a password, it defaulted to
ChangeMe. On first login, the user is required to change the password.
Password complexity
A Management User with Security Admin role can configure password complexity rules. Password complexity rules specify
values for the following password characteristics:
● Minimum password length
● Maximum password length
● Whether at least one of the following character types are required:
○ Lower-case alphabetic character
○ Upper-case alphabetic character
○ Digit
○ Special characters: _-.@!#$%^&* and space
These settings are enforced when a password is set or changed. Contact your Security Administrator for the settings in your
deployment.
Expired password
The Maximum Age of Password security setting specifies how many days a password remains valid. If that duration elapses
without a password change, the system expires the password. When the user attempts to log in, the system displays the
Password Change screen. The user must know the last password value.
Forgotten password
If a user forgets their password, a Management User with Security Admin role can edit the user account and assign a new
password. The Security Admin is recommended to also enable the Required password change option. The Security Admin
must provide the new password value to the user.
Prerequisites
You must be a Management User with Admin, Security Admin, Operations Admin, or ReadOnly role.
Steps
1. From the ObjectScale Portal user interface, click Administration.
The Administration sections that the user is authorized to view are displayed.
2.
3. Click Management Users.
The page lists all Management Users that are defined as local users and the following information about each user.
Column Description
Username Management User name
Status Status of the user account:
● Enabled—The user can log in and perform actions according to their assigned roles.
4. To see more details about a user, click the right arrow next to the username.
The user entry expands to show the following information:
● When the account was created and who created it.
● Whether a password change is required
● User email if available
● Last login time
● Last password change date
● Password expiration date
● ObjectScale roles that are assigned to the user
● Object store names that the user has access to and whether that access is View or Edit.
Prerequisites
You must be a Management User with Admin or Security Admin role.
Steps
1. From the ObjectScale Portal user interface, click Administration.
The Administration sections that the user is authorized to view are displayed.
2. Click Management Users.
3. Click Create.
4. Configure the new user.
Username Specify the new login username. The information tip on the UI describes the rules for username.
First and Last Name Optional.
Email Optional.
Password Specify an initial password for the user. You can force the user to change the password by
checking the Password Change Required field below. The password must meet the password
complexity requirements that are configured at Administration > Security Configuration.
Enabled Leave Enabled checked to allow the user to log in. Clear the box to save the user account
information but not permit the user to log in.
You can enable and disable a user later on the Edit screen.
Password Change Check this field to force the user to change a password at the first login. The user receives a
Required Change Password form when they try to log in.
ObjectScale Assign permissions to the user by checking the boxes. For more details about the permissions in a
permissions role, see Roles for Management Users.
Object store Assign access permissions to specific object stores as follows:
permissions
NOTE: Some ObjectScale roles give access to all object stores by default. The Portal does not
offer the ability to assign object store permissions to users who already have that permission.
a. Click Add Object store Permissions.
b. Select an object store from the drop-down list.
c. Select the type of access to grant this user by clicking Edit or View.
d. Repeat this process to add access to another object store.
5. Click Save.
Edit a user
Using the ObjectScale Portal user interface, you can edit roles, edit object store access, disable or enable users, and reset
passwords for Management Users.
Prerequisites
You must be a Management User with Admin or Security admin role.
Steps
1. From the ObjectScale Portal user interface, click Administration.
The Administration sections that the user is authorized to view are displayed.
2. Click Management Users.
3. Select a user by clicking the box next to the username.
4. Click Edit.
5. Change fields as needed, including:
● Personal information
● Reset the password.
● Disable or enable the user.
● Require a password change.
● Change permissions.
NOTE: You cannot change the username.
6. Click Save.
Delete a user
Using the ObjectScale Portal user interface, remove a Management User account from the system.
Prerequisites
You must be a Management User with Admin or Security Admin role.
The log entries and alerts are Kubernetes events that KAHM can collect. These events are available for viewing on the
ObjectScale Portal or the Kubernetes command line.
Use the following information to filter and view logs and alerts that are related to Management Users.
Audit events
The following activities related to Management Users are captured.
Alerts
The following alerts are related to Management Users:
● OBJSC-FED-1001—ConnectionStatusChanged
Prerequisites
You must be a Management User with Admin, Operations Admin, or ReadOnly role.
Steps
1. From the ObjectScale Portal user interface, click Monitoring.
The ObjectScale Monitoring section is displayed, with the Alerts and Logs that the user is authorized to view.
2. Click Logs.
By default, the page shows all events that were collected over the last 24 hours. You can select another timeframe in the
timeframe drop-down menu.
3. To filter for Management User events:
a. Click the filter symbol in the Component column.
b. Enter Management Service.
The following example shows several Management Service entries.
Prerequisites
You must be a Management User with Admin, Operations Admin, or ReadOnly role.
Steps
1. Obtain KAHM IP and port number.
KAHMIP=10.105.34.45
Prerequisites
You must be a Management User with Admin, Operations Admin, or ReadOnly role.
Steps
1. Start a Kubernetes session and log in as a Management User.
2. List application names.
APPNAME=objectscale-manager
4. Get an event.
Approver users
Approver users are part of the Privileged Actions Approval System (PAAS). Approver users can only approve or reject PAAS
requests.
For information about the capabilities of approver users and how to add approver users, see Privileged actions approval system
(PAAS).
Topics:
• Configuring external authentication providers
Prerequisites
● You must know the connection information for the provider.
Steps
1. From the ObjectScale Portal user interface, click Administration > Security Settings.
2. Click Authentication Providers.
The screen lists all configured external providers.
3. Click New Authentication Provider.
4. Complete the General screen.
Domain Name Domain name of the authentication server. The value must be alphanumeric characters.
For example: myserver.example.com.
Base Distinguished Name The starting point for searches on the server. Provide the components in comma-separated
format without spaces. For example:
dc=myserver,dc=example,dc=com
Server Addresses One or more IP addresses for connecting to the provider. For example, 10.10.10.1.
Server Port The port on the provider that receives authentication requests.
If secure is true, then it defaults to port 636. If not provided, it defaults to 389.
Authentication Type This field is preconfigured. ObjectScale supports only username and password
authentication.
Bind User The distinguished name for the user account to use when connecting to the provider. This
user account must have permission to access the users and groups that you intend to add
to ObjectScale. For example:
CN=Administrator,CN=Users,dc=myserver,dc=example,dc=com
Secure Specify whether SSL communication is required to connect to the provider. The option is
set to Yes by default.
CA Certificate Required if Secure is set to Yes. Provide the contents of the .pem file that holds the
certificate for SSL connection to the provider. You can either:
● Paste the contents of the .pem file into the text box.
● Click Select to browse to the .pem file on your system. ObjectScale copies the
contents of the file and pastes it into the text box.
Network Timeout (sec) Optional but recommended. Specify how long, in seconds, that ObjectScale waits for a
connection to the authentication provider.
Search Timeout (sec) Optional but recommended. Specify how long, in seconds, ObjectScale waits for the
authentication provider to respond to a request.
5. Click Next.
User Search Path The distinguished name that describes the folder on the external provider that contains the
users who need ObjectScale access. For example:
CN=users,dc=myserver,dc=example,dc=com
User Name Attribute The attribute name used in the external provider for username values. For example:
sAMAccountName
User Object Class The object class name used by the external provider for users. For example: user
User Inherited Groups Level Optional. Levels of parent groups that are associated with users. For example, 2 would
indicate two levels in the group hierarchy.
7. Click Next.
8. Complete the Groups screen.
Group Search Path The distinguished name that describes the folder on the external provider that contains the
groups whose members need ObjectScale access. For example:
CN=users,dc=myserver,dc=example,dc=com
Group Name Attribute The attribute name used in the external provider for group name values. For example: cn.
Groups Attribute Optional. The attribute name that contains the groups for a user on the AD or LDAP user
entry. For example: memberOf
Group Object Class The object class name used by the external provider for groups. For example: group.
9. Click Next.
10. Review the information and then click Save.
ObjectScale verifies the contents of all fields. If values are rejected, error messages appear on the screen. ObjectScale
attempts to connect to the authentication server using the connection information that you provided. If the connection is
not successful, ObjectScale displays an appropriate error message on the Portal screen. You must correct all errors before
you can save the new provider.
11. To correct errors:
a. Click Back to return to the appropriate screen.
b. Make corrections.
c. Click Next to return to the last screen.
d. Click Save.
Results
A success message appears when the provider is created.
Next steps
Continue to Map ObjectScale roles to external users to assign ObjectScale permissions to users and groups that are defined
in the external provider. Without role mappings, external users in the configured User and Group Search Path fields can log
in but they are immediately logged out. In that case, the ObjectScale Portal displays a message stating that the user has no
ObjectScale permissions.
Prerequisites
To view the list of providers and their configurations, you must be a Management User with Admin, Security Admin, Operations
Admin, or ReadOnly role.
To edit or delete providers, you must be a Management User with the Admin or Security Admin role.
NOTE: For information about role mapping, see Map ObjectScale roles to external users.
Steps
1. From the ObjectScale Portal user interface, click Administration > Security Settings.
2. Click Authentication Providers.
The screen lists all configured external providers.
3. To view more details about a provider, click the provider domain name.
The domain name is a link to another screen that is specific to that provider.
4. To return to the list of all providers, click Authentication Providers at the top of the screen.
5. To edit attributes for a provider:
a. Click the checkbox next to the provider name.
b. Click Edit.
c. Change one or more values on any of the screens .
d. Click Save. You may click Save after each change or after multiple changes.
6. To delete a provider:
a. Click the checkbox next to the provider name.
b. Click Delete.
c. Confirm that you want to delete the provider.
Prerequisites
You must be a Management User with the Admin or Security Admin role.
Steps
1. From the ObjectScale Portal user interface, click Administration > Security Settings.
2. Click Authentication Providers.
The screen lists all configured external providers.
3. Click the domain name of the provider whose users and groups need role mapping.
The domain name is a link to another screen that is specific to that provider.
4. Click Role Mappings > New Role Mapping.
5. Complete the New Role Mapping screen.
6. If the user needs permissions to specific object stores, click Add Object Store Permissions. Otherwise, skip this step.
a. Select an object store from the list.
b. Select View or Edit.
c. Repeat these steps multiple times to give the user or group permissions to more object stores.
7. Click Save.
Steps
1. From the ObjectScale Portal user interface, click Administration > Security Settings.
2. Click Authentication Providers.
The screen lists all configured external providers.
3. Click the domain name of the provider whose role mappings you want to manage.
The domain name is a link to another screen that is specific to that provider.
4. Click Role Mappings.
The screen lists the existing role mappings for users and groups in the provider.
5. To view more details about a mapping, such as assigned roles, click the right arrow next to the user or group name.
This action expands the entry and shows all configured information for the user or group.
6. To edit the role mappings for a user or group:
a. Click the checkbox next to the user or group name.
b. Click Edit.
c. Change the role selections.
d. Click Save.
7. To delete a role mapping:
a. Click the checkbox next to the user or group name.
b. Click Delete.
c. Confirm that you want to delete the role mapping.
Licensing ObjectScale
ObjectScale can be licensed in several different ways. This section describes the different types of available licenses and how to
install a license.
Permanent license
ObjectScale supports a permanent license. Customers using a permanent license have full access to all ObjectScale features
and capabilities and the license does not expire. After purchasing the license, you must activate the license at https://
licensing.emc.com/.
Customers with valid site ids can configure SupportAssist and rely on all its features.
You can apply a new Permanent license to expand capacity as necessary. This action retains the object stores, buckets, and
other settings and configurations that were made to ObjectScale while the previous license was applied.
Subscription license
ObjectScale supports a subscription license. Customers using a subscription license have access to all ObjectScale features and
capabilities, up to the subscribed capacity, until the subscription is no longer active. After purchasing the license, you must
activate the license at https://licensing.emc.com/.
Customers with valid site ids can configure SupportAssist and rely on all its features.
Evaluation license
ObjectScale supports an evaluation license. The evaluation license acts as a short-term license for trials or evaluation of
ObjectScale. The evaluation license does not require activation before using in ObjectScale.
Evaluation licenses can carry restrictions for how ObjectScale and object stores can be configured, and the period that the
license is valid. These attributes are described within the license file and are enforced by ObjectScale, until the license is no
longer valid.
To extend an evaluation license to a longer time or change the licensed capacity, request a new evaluation license and apply it to
the ObjectScale instance.
You can apply a Subscription or Permanent license. This action retains the object stores, buckets, and other settings and
configurations that were made to ObjectScale while the previous license was applied.
Prerequisites
To obtain the XML license file from the Dell license management website, you must have the License Authorization Code (LAC),
which is emailed from Dell. If you have not received the LAC, contact your Customer Support representative.
Steps
1. From the ObjectScale Portal user interface, click Administration.
The Administration sections that the user is authorized to view are displayed.
2. Click Licensing.
3. Click Apply.
The Apply License box appears.
4. Click Select to browse and upload the ObjectScale license file. Once uploaded, click Apply.
5. Expand the license in the Licensing table to display details about the ObjectScale license and its enabled features and
capacities.
Steps
1. From the ObjectScale Portal user interface, click Administration.
The Administration sections that the user is authorized to view are displayed.
2. Select Licensing.
3. Click Delete.
The Delete License box appears.
4. Select the license to remove and click Apply.
System support
You can use the ObjectScale Portal user interface to manage and modify the SupportAssit settings that are typically configured
during installation.
Prerequisites
1. For SupportAssist connectivity you can connect directly with access to the Dell-maintained FQDN: esrs3-
core.emc.com:443.
2. You have applied a valid license to the ObjectScale instance.
3. You are an active Dell customer with login access to https://www.dell.com/support/home/.
4. You must obtain an access key and pin from Dell in order to configure SupportAssist for the first time. This access key and
pin ensure the accuracy of contact and other customer values and access to Dell Support. To obtain an access key and
pin, go to https://www.dell.com/support/home/en-us/product-support/product/objectscale/overview and click Generate
Access key. After completing the required form, Dell sends an email to the email address they have set up for the Dell portal
login. The email is from the "Dell | ServicesConnectivity Team" and contains the site ID, access key, and pin for the selected
customer.
NOTE: The generated access key is valid for seven days.
5. See "SupportAssist port requirements" listed in the ObjectScale Administration Guide and validate that the required ports
are configured properly before configuring SupportAssist.
6. If you are planning on connecting using a Gateway server, ensure that a Dell Secure Connect Gateway (SCG 5.1x) server is
configured on site.
Steps
1. From the ObjectScale Portal user interface, click Administration.
The Administration sections that the user is authorized to view are displayed.
2. Click the SupportAssist tab.
3. Accept the Connect to SupportAssist End User License Agreement.
4. On the Connect to SupportAssist page, select the Select Connection Type to determine which SupportAssist connectivity
type to deploy:
● Select Connect Directly to Dell Support services to connect ObjectScale directly to Dell.
NOTE: Dell highly recommends deploying ObjectScale SupportAssist using a Secure Connect Gateway.
● Select Connect via Gateway Server to connect ObjectScale to Dell through a Secure Connect Gateway (SCG) server.
You must add the Priority, Gateway IP/Host, and Gateway Port values for the gateway server in the Connect via
Gateway Server option.
5. On the Access Key Portal page, select the Model and Software Instance.
If a Failed Status is shown, view the Status Message to determine the failure details.
11. Click Test Connectivity to validate the SupportAssist connection. When successful, the value that is shown in the Last
Connected column is updated with a newer date and time.
As required, use the panel refresh icon to update the screen before automatic updates.
12. Remote support allows authorized Remote Support engineers to troubleshoot your ObjectScale instance. Enable Remote
Support on the SupportAssist page, Connection tab. You can also click the EDIT button and enable Remote Support on the
Connect to SupportAssist page.
8443 TCP Inbound from SRS Gateway to ObjectScale Secure Connect Gateway
5.14 or greater
Prerequisites
You are logged in to ObjectScale and SupportAssist has been previously configured to run on ObjectScale.
Steps
1. From the ObjectScale Portal user interface, click Administration.
The Administration sections that the user is authorized to view are displayed.
2. Click SupportAssist.
3. Click Support Contacts tab to modify or delete primary and/or secondary contacts using the EDIT and DELETE buttons.
To manage a primary contact, complete the following steps:
a. Enter the following information:
● First Name
● Last Name
● Email address
● Phone number
b. Select the Preferred Language from the list.
c. To add a secondary contact, click Add Secondary Contact and enter the required information.
4. Click Apply.
Prerequisites
You are logged in to ObjectScale and SupportAssist has been previously configured to run on ObjectScale.
Steps
1. From the ObjectScale Portal user interface, click Administration.
The Administration sections that the user is authorized to view are displayed.
2. Click SupportAssist.
3. On the Connection tab, click the EDIT button, and then select the Select Connection Type option to set the
SupportAssist connectivity type:
● Select Connect Directly to Dell Support services to connect ObjectScale directly to Dell.
NOTE: Dell highly recommends deploying ObjectScale SupportAssist using a Secure Connect Gateway.
● Select Connect via Gateway Server to connect ObjectScale to Dell through a gateway server.
You must add the Priority, Gateway IP/Host, and Gateway Port values for the gateway server in the Connect via
Gateway Server option.
4. Remote support allows authorized Remote Support engineers to troubleshoot your ObjectScale instance. Enable Remote
Support on the SupportAssist page, Connection tab. You can also click the EDIT button and enable Remote Support on the
Connect to SupportAssist page.
5. Enter the Access Key & PIN SupportAssist values for SiteID, Access Key, and PIN.
Prerequisites
You are logged in to ObjectScale and SupportAssist has been previously configured to run on ObjectScale.
Steps
1. From the ObjectScale Portal user interface, click Administration.
The Administration sections that the user is authorized to view are displayed.
2. Click SupportAssist.
3. Click Advanced to modify the system mode, enable Automatic Support Requests, or to re-authenticate SupportAssist.
When modifying the system mode, you are able to set the ObjectScale instance to PreProduction, Normal, or
Maintenance.
Disable SupportAssist
Use the ObjectScale Portal user interface to disable SupportAssist.
Prerequisites
You are logged in to ObjectScale and SupportAssist has been previously configured to run on ObjectScale.
Steps
1. From the ObjectScale Portal user interface, click Administration.
The Administration sections that the user is authorized to view are displayed.
2. Click SupportAssist.
3. Click Disable, and then click Yes to disable SupportAssit services for ObjectScale.
Remove SupportAssist
Use the ObjectScale Portal user interface to remove the SupportAssist software on ObjectScale.
Prerequisites
NOTE: After you remove SupportAssist, you have to create a PIN and obtain a new access key.
You are logged in to ObjectScale, and SupportAssist has been previously configured to run on ObjectScale.
Steps
1. From the ObjectScale Portal user interface, click Administration.
The Administration sections that the user is authorized to view are displayed.
2. Click SupportAssist.
3. Select Delete to remove SupportAssist services from ObjectScale.
4. Select the I wish to proceed with the delete checkbox, and then click Yes.
5. Click Apply.
Java Key Store The Java Key Store containing keys required to log in to SAML Provider
Key Alias The Key Alias for the key for SAML Service Provider
Key Password Password for Key Store for SAML Service Provider
DNS Base URL The DNS Base URL required to connect to the SAML Provider Server
Steps
1. From the ObjectScale Portal user interface, click Administration.
The Administration sections that the user is authorized to view are displayed.
2. Click SAML Service Provider Metadata.
3. Click Choose to select a Java Key Store.
4. Enter the details in the Key Alias, Key Password, DNS Base URL fields.
5. Click GENERATE.
Next steps
If you need to delete the SAML Service Provider Metadata, click DELETE METADATA.
If you need to download this SAML Service Provider Metadata, click DOWNLOAD METADATA.
Security settings
User security settings are related to local user accounts. The settings include password complexity and account lockout rules.
Prerequisites
You must be a Management User with Administrator or System Admin role.
Steps
1. From the ObjectScale Portal user interface, click Administration.
The Administration sections that the user is authorized to view are displayed.
2. Click Security Configuration.
3. Under Password Rules, make changes as needed to meet your password complexity goals.
Prerequisites
You must be a Management User with Administrator or System Admin role.
Steps
1. From the ObjectScale Portal user interface, click Administration.
The Administration sections that the user is authorized to view are displayed.
2. Click Security Configuration.
3. Under Account Lockout Settings, make changes as needed to meet your session handling and user lockout goals.
Active sessions
The Active Sessions screens list all active sessions running on the ObjectScale system. The screens provide authorized users
with the capability to immediately cancel one or multiple active sessions.
You can view and cancel actively running sessions that were started by the following types of users:
● Management Users
● Authentication Provider users—This tab identifies the Authentication Provider and the specific user logged in under the
provider.
● Approver Users
Prerequisites
You must have admin or security_admin role to view active sessions.
Steps
1. From the ObjectScale Portal user interface, go to Administration > Active Sessions.
2. Click the tab for the type of user that you want to view.
Choose Management Users, Authentication Providers, or Approvers.
The tables show the following information about user sessions:
● Session ID
● User ID
● Information about the authentication tokens
● Token Expires indicates the length of time until the session is set to expire.
● Token Last Updated indicates the length of time since the session was created or refreshed.
● Refresh Count indicates the number of times that the session has been refreshed.
The label Current Session indicates the viewer's session.
Prerequisites
You must have admin or security_admin role to cancel sessions.
Steps
1. From the ObjectScale Portal user interface, go to Administration > Active Sessions.
2. Click the tab for the type of user that you want to cancel.
Choose Management Users, Authentication Providers, or Approvers.
3. Click the selection box at the beginning of the entries for the sessions that you want to cancel.
You may select one or multiple lines. You cannot select your own session, which is identified with the Current Session
label.
4. Click Close.
5. Confirm that you want to end the selected sessions.
The system immediately closes and logs out the selected sessions.
ObjectScale Upgrades
Use this section to understand and complete upgrades to newer versions of ObjectScale, its components, and object stores.
Prerequisites
See Dell ObjectScale Application 1.3.x Installation Guide for Red Hat OpenShift for prerequisites and preparatory steps.
Steps
1. Upgrade CSI Components.
a. Create environment variables.
export CSI_VERSION=1.3.0-648.59a295a
export CSI_OPERATOR_VERSION=1.3.0-121.2e006fb
export CSI_CHARTS_DIR=<CHART_DIRECTORY>/1.3.0-121.2e006fb
NOTE: <CHART_DIRECTORY> is the directory that you created and where you downloaded the ObjectScale
charts.tgz files.
NOTE: <CSI_NAMESPACE>
NOTE: After upgrading CSI, ensure all the pods in the CSI namespace are up and running.
2. Upgrade Postgres.
NOTE: After the portal upgrade, the ObjectScale portal, graphql, and install-controller pods should be restarted. Ensure
they are running before moving to the next step.
4. Log in to the ObjectScale Portal using the admin account to upgrade ObjectScale components.
5. From the ObjectScale Portal user interface, click Administration.
The Administration sections that the user is authorized to view are displayed.
6. Click Upgrades.
The Components tab is displayed and lists ObjectScale Components.
7. Select all the ObjectScale components and click Pre-Upgrade Health Check to check the components for upgrade
readiness.
The Last Health Check column provides a pass or fail status. If any of the component health checks failed, you must
resolve any issues with the component prior to performing the upgrade.
For objectscale-manager ObjectScale component, Up to date is displayed in the Available Upgrades column.
10. Select the decks ObjectScale component. Click Upgrade to begin the upgrade of the component.
NOTE: Before going to the next step, ensure that all related pods are ready.
For decks ObjectScale component, Up to date is displayed in the Available Upgrades column.
11. Select the SupportAssist if it is configured previously. Click Upgrade to begin the upgrade of the component.
NOTE: Before going to the next step, ensure that all related pods are ready.
For SupportAssist ObjectScale component, Up to date is displayed in the Available Upgrades column.
12. Upgrade snmp-notifier if it is configured previously.
NOTE: Before going to the next step, ensure that all related pods are ready.
Results
You have successfully upgraded ObjectScale to the latest version.
Prerequisites
Steps
1. Ensure ObjectScale is upgraded to 1.3.0.
You must contact Dell Support to upgrade ObjectScale from version 1.2.x to 1.3.0.
2. See the "Updating a cluster by using the web console" section in the Red Hat OpenShift documentation for the upgrade
procedure.
NOTE: If you encounter any issues during the Red Hat OpenShift upgrade, contact Red Hat OpenShift support after
gathering cluster information. See "Gathering data about your cluster" section in the Red Hat OpenShift documentation
for more information.
3. After successfully upgrading to the latest version, remove enforce label from the namespace where ObjectScale is
deployed.
Results
OpenShift Container Platform is upgraded to version 4.13.
Prerequisites
Any Linux system that has connectivity to the target cluster can be used for the upgrade. This can be one of the running nodes
or an external system on the same network. It is recommended to use an external system to upgrade the cluster.
The system should have 100 GB free space for package download and extraction on the partition where the bundle is to be
downloaded. This space is in addition to the space required for the ObjectScale System.
If you are downloading the package on one of the Kubernetes nodes,
● Ensure it is not downloaded on the root partition. Preferably, use /tmp partition for the download.
● Ensure you have the kubeconfig to access the cluster.
● Obtain the current running version of the cluster using kubectl version.
● Ensure all the cluster nodes are on SLES 15 SP4.
● Ensure that all nodes are in Ready status using kubectl get nodes.
The system should have these software versions installed:
● Kubectl 1.26 or above.
● Helm 3.38 or above
● Curl
Steps
1. Download the software-bundle upgrade package from the Dell Support Site and copy the package to one of the cluster
nodes or one of the external service nodes which has access to the Kubernetes cluster.
To determine the upgrade path, you can check Release Notes of the latest patch release to understand the compatible
target upgrade versions of ObjectScale and/or RKE2.
NOTE: If the upgrade bundle is downloaded to the control-plane node, which also hosts the http-share pod, there could
be space constraints that may lead to an upgrade failure. This is because there is no free space available in the /var
partition for extracting the bundle. It is recommended to download the target upgrade bundle on a node other than
the one where the http-share pod is hosted. To identify the node that hosts the http-share pod, use the following
command:
The artifacts folder will have the required manifest files for the next step.
3. Upload the required lcm_manifest.json, objectscale-lcm-manifest.json, and platform.tgz to the http-
share service.
NOTE:
● The upload location is fixed and must have the following path: https://$INGRESS_IP/httpshare/upload/
bundle/objectscale/upgrade/<DIR>/, where <DIR> is usually the ObjectScale target upgrade version.
● Before uploading, ensure that the http-share location is clear by deleting any existing files.
4. Log in to the ObjectScale Portal user interface using the admin account.
5. From the ObjectScale Portal user interface, click Administration > Upgrades.
The uploaded upgrade package is displayed.
6. Click Select Upgrade.
The Precheck option is displayed.
7. Click Precheck and confirm by clicking Start precheck.
The precheck process starts.
8. When the Precheck Passed message is displayed on the top of the screen, click Upgrade
A dialogue box is displayed with the upgrade version details.
9. Click Start Upgrade
The upgrade starts, and the various stages of progress is displayed.
Results
You have successfully upgraded ObjectScale to the target version.
Next steps
After upgrading ObjectScale to the target version, you must upgrade Kubernetes if there are any patch fixes available. See
Infrastructure Upgrade for ObjectScale Appliance - RKE2 Upgrade for steps.
Prerequisites
Any Linux system that has connectivity to the target cluster can be used for the upgrade. This can be one of the running nodes
or an external system on the same network. It is recommended to use an external system to upgrade the cluster.
The system should have 100 GB free space for package download and extraction on the partition where the bundle is
downloaded. This space is in addition to the space required for the ObjectScale System. If you are downloading the package on
one of the Kubernetes nodes,
● Ensure it is not downloaded on the root partition. Preferably, use /tmp partition for the download.
● Ensure you have the kubeconfig to access the cluster.
● Obtain the current running version of the cluster using kubectl version.
● Ensure all the cluster nodes are on SLES 15 SP4.
● Ensure that all nodes are in Ready status using kubectl get nodes.
The system should have these software versions installed:
● Kubectl 1.26 or above.
Steps
1. Download the appliance-bundle upgrade package from the Dell Support Site and copy the package to one of the cluster
nodes or one of the external service nodes which has access to the Kubernetes cluster.
To determine the upgrade path, you can Check Release Notes of the latest patch release to understand the compatible
target upgrade versions of ObjectScale, and/or operating system, and/or RKE2.
NOTE: If the upgrade bundle is downloaded to the control-plane node, which also hosts the http-share pod, there could
be space constraints that may lead to an upgrade failure. This is because there is no free space available in the /var
partition for extracting the bundle. It is recommended to download the target upgrade bundle on a node other than
the node where the http-share pod is hosted. To identify the node that hosts the http-share pod, use the following
command:
The artifacts folder will have the required manifest files for the next step.
3. Upload the required lcm_manifest.json, objectscale-lcm-manifest.json, and platform.tgz to the http-
share service.
NOTE:
● The upload location is fixed and must have the following path: https://$INGRESS_IP/httpshare/upload/
bundle/objectscale/upgrade/<DIR>/, where <DIR> is usually the ObjectScale target upgrade version.
● Before uploading, ensure that the http-share location is clear by deleting any existing files.
● If you are retrying upgrade after a failed upgrade, ensure that the necessary files are present in the http-share
location.
4. Log in to the ObjectScale Portal user interface using the admin account.
5. From the ObjectScale Portal user interface, click Administration > Upgrades.
The uploaded upgrade package is displayed.
6. Click Select Upgrade.
The Precheck option is displayed.
7. Click Precheck and confirm by clicking Start precheck.
Results
You have successfully upgraded ObjectScale to the target version.
Next steps
After upgrading ObjectScale to the target version, you can upgrade operating system and RKE2 using CLI if any operating
system or RKE2 fixes are required. See below sections for steps.
Prerequisites
● All applications (CMO and ObjectScale) on the target version are already upgraded.
● The software package for upgrade is already downloaded and extracted.
NOTE: The artifacts folder has the linux-sles-15.4.tar.gz file if any operating system upgrade is required.
● Kubernetes cluster admin privileges.
● There should be a minimum of five nodes to run the infrastructure update.
Steps
1. Upload the required lcm_manifest.json and linux-sles-15.4.tar.gz to the http-share service.
b. Ensure all the pods within the system are in Running phase.
c. Create the following os-update.yaml file for updating the operating system.
NOTE:
csi-baremetal-operator csi 2
2023-09-29 07:27:11.013043982 +0000 UTC deployed csi-baremetal-
operator-1.3.0-121.2e006fb 1.3.0admin@dhcp-10-236-65-131:~>
You can identify the namespace of the ObjectScale component using the command helm list -A| grep -i
objectscale-manager. In the sample output below, the second column denotes the ObjectScale namespace
value, which is objectscale.
objectscale-manager objectscale 2
2023-09-29 07:31:45.231404122 +0000 UTC deployed
objectscale-manager-1.3.0-4184
1.3.0-4184admin@dhcp-10-236-65-131:~>
You can identify the namespace of the object store component using the command helm list -A| grep
-i ecs-cluster. In the sample output below, the second column denotes the object store namespace value,
which is objectscale.
wilson-str1 objectscale 2
2023-09-29 07:34:50.143272032 +0000 UTC deployed ecs-
cluster-1.3.0-4184 1.3.0-4184
apiVersion: lcm-cluster.dell.com/v1
kind: LCMUpdate
metadata:
name: <lcmupdate-name>
namespace: kube-system
spec:
bundlePathBaseDirectory: "https://http-share.cmo:443/download/bundle/
objectscale/upgrade/<OBJECTSCALE_VERSION>"
infrastructureConfig:
componentsToUpgrade :
- componentType: "os"
componentName: "sles"
componentVersion: "15-SP4"
customConfig:
taint:
key: "node.dell.com/drain"
value: "planned-downtime"
effect: "NoSchedule"
nodeHookConfig:
customPostUpgradeNodeHook:
- env:
mode: sequential
profileName: lcm-cmo-post-maintenance
additionalParams:
- additionalParamName: optional_json
additionalParamValue: '{"lcm_nodehook_untaint_custom_namespaces":"<objectscale-
namespace>, <csi-namespace>, <object-store-namespace>"}'
customPreUpgradeNodeHook:
- env:
additionalParams:
- additionalParamName: optional_json
additionalParamValue: '{"lcm_nodehook_taint_key":"node.dell.com/
nodeList:
["10.236.126.118","10.236.126.119","10.236.126.120","10.236.126.121","10.236.126.122
","10.236.126.123","10.236.126.124","10.236.126.125"]
d. Apply the resource to the target cluster and monitor the status.
NOTE:
● This may take a few hours as this is a rolling update for each node.
● If operating system LCM update fails abruptly, before retrying the upgrade on other nodes delete the existing
operating system LCM Update and proceed further:
Results
You have successfully upgraded the operating system.
Prerequisites
● All applications (CMO and ObjectScale) on the target version are already upgraded.
● The software package for upgrade is already downloaded.
NOTE: The artifacts folder has the k8s-distribution-<kubernetes_version>.tgz file (if RKE2 upgrade
is required). Check Release Notes of the latest patch upgrade to find the target <kubernetes_version>.
● Kubernetes cluster admin privileges.
● There should be a minimum of five nodes to run the infrastructure update.
Steps
1. Upload the required lcm_manifest.json and platform.tgz to the http-share service.
b. Ensure all the pods within the system are in Running phase.
c. Create the following rke-update.yaml file for updating the Kubernetes distribution.
NOTE:
● You can assign a unique name for <lcmupdate-name>.
● All the nodes are updated through the management (host/IP) names.
● Identify the namespace of the CSI using the command helm list -A| grep -i csi-baremetal-
operator. In the sample output below, the second column denotes the CSI namespace value, which is csi.
csi-baremetal-operator csi 2
2023-09-29 07:27:11.013043982 +0000 UTC deployed csi-baremetal-
operator-1.3.0-121.2e006fb 1.3.0admin@dhcp-10-236-65-131:~>
You can identify the namespace of the ObjectScale component using the command helm list -A| grep -i
objectscale-manager. In the sample output below, the second column denotes the ObjectScale namespace
value, which is objectscale.
objectscale-manager objectscale 2
2023-09-29 07:31:45.231404122 +0000 UTC deployed
objectscale-manager-1.3.0-4184
1.3.0-4184admin@dhcp-10-236-65-131:~>
You can identify the namespace of the object store component using the command helm list -A| grep
-i ecs-cluster. In the sample output below, the second column denotes the object store namespace value,
which is objectscale.
wilson-str1 objectscale 2
2023-09-29 07:34:50.143272032 +0000 UTC deployed ecs-
cluster-1.3.0-4184 1.3.0-4184
apiVersion: lcm-cluster.dell.com/v1
kind: LCMUpdate
metadata:
name: <lcmupdate-name>
namespace: cmo #provide the namespace name on which cmo components are installed
spec:
bundlePathBaseDirectory: "https://http-share.cmo:443/download/bundle/
objectscale/upgrade/<OBJECTSCALE_VERSION>"
infrastructureConfig:
componentsToUpgrade :
- componentType: "kubernetes"
componentName: "rke2"
componentVersion: "1.26.4"
customConfig:
taint:
additionalParamValue: '{"lcm_nodehook_untaint_custom_namespaces":"<objectscale-
namespace>, <csi-namespace>, <object-store-namespace>"}'
customPreUpgradeNodeHook:
- env:
additionalParams:
- additionalParamName: optional_json
additionalParamValue: '{"lcm_nodehook_taint_key":"node.dell.com/
drain","lcm_nodehook_taint_value":"planned-
downtime","lcm_nodehook_taint_effect":"NoSchedule"}'
mode: sequential
profileName: lcm-cmo-pre-maintenance
skipNodeHooks: false
nodeList: ["<comma_separated_cluster_node_ssh_IP_addresses>"]
nodeList:
["10.236.126.118","10.236.126.119","10.236.126.120","10.236.126.121","10.236.126.122
","10.236.126.123","10.236.126.124","10.236.126.125"]
d. Apply the resource to the target cluster and monitor the status.
NOTE:
● This may take a few hours as this is a rolling update for each node.
● If the RKE2 LCM update fails abruptly, before retrying the upgrade on other nodes delete the existing RKE2 LCM
Update and proceed further.
Results
You have successfully updated RKE2.
Prerequisites
● All applications (CMO and ObjectScale) on the target version are already upgraded.
● The software package for upgrade is already downloaded.
NOTE: The artifacts folder has the k8s-distribution-1.26.4.tgz file and OS tar.gz file if an upgrade
is required. Check Release Notes of the latest patch upgrade to find the target operating system upgrade version and
<kubernetes_version>.
● Kubernetes cluster admin privileges.
● There should be a minimum of five nodes to run the infrastructure update.
b. Ensure all the pods within the system are in Running phase.
c. Create the following os-rke-update.yaml file for updating the operating system and RKE2 distribution.
NOTE:
● You can assign a unique name for <lcmupdate-name>.
● All the nodes are updated through the management (host/IP) names.
● Identify the namespace of the CSI using the command helm list -A| grep -i csi-baremetal-
operator. In the sample output below, the second column denotes the CSI namespace value, which is csi.
csi-baremetal-operator csi 2
2023-09-29 07:27:11.013043982 +0000 UTC deployed csi-baremetal-
operator-1.3.0-121.2e006fb 1.3.0admin@dhcp-10-236-65-131:~>
You can identify the namespace of the ObjectScale component using the command helm list -A| grep -i
objectscale-manager. In the sample output below, the second column denotes the ObjectScale namespace
value, which is objectscale.
objectscale-manager objectscale 2
2023-09-29 07:31:45.231404122 +0000 UTC deployed
objectscale-manager-1.3.0-4184
1.3.0-4184admin@dhcp-10-236-65-131:~>
You can identify the namespace of the object store component using the command helm list -A| grep
-i ecs-cluster. In the sample output below, the second column denotes the object store namespace value,
which is objectscale.
wilson-str1 objectscale 2
2023-09-29 07:34:50.143272032 +0000 UTC deployed ecs-
cluster-1.3.0-4184 1.3.0-4184
apiVersion: lcm-cluster.dell.com/v1
kind: LCMUpdate
metadata:
name: <lcmupdate-name>
namespace: kube-system
spec:
bundlePathBaseDirectory: "https://http-share.cmo:443/download/bundle/
objectscale/upgrade/<OBJECTSCALE_VERSION>"
infrastructureConfig:
componentsToUpgrade :
- componentType: "kubernetes"
componentName: "rke2"
componentVersion: "1.26.4"
- componentType: "os"
componentName: "sles"
componentVersion: "15-SP4"
customConfig:
taint:
key: "node.dell.com/drain"
value: "planned-downtime"
effect: "NoSchedule"
nodeHookConfig:
customPostUpgradeNodeHook:
- env:
mode: sequential
profileName: lcm-cmo-post-maintenance
additionalParams:
- additionalParamName: optional_json
additionalParamValue: '{"lcm_nodehook_untaint_custom_namespaces":"<objectscale-
namespace>, <csi-namespace>, <object-store-namespace>"}'
customPreUpgradeNodeHook:
- env:
additionalParams:
- additionalParamName: optional_json
additionalParamValue: '{"lcm_nodehook_taint_key":"node.dell.com/
drain","lcm_nodehook_taint_value":"planned-
downtime","lcm_nodehook_taint_effect":"NoSchedule"}'
mode: sequential
profileName: lcm-cmo-pre-maintenance
skipNodeHooks: false
nodeList: ["<comma_separated_cluster_node_ssh_IP_addresses>"]
nodeList:
["10.236.126.118","10.236.126.119","10.236.126.120","10.236.126.121","10.236.126.122
","10.236.126.123","10.236.126.124","10.236.126.125"]
d. Apply the resource to the target cluster and monitor the status.
NOTE:
● This may take a few hours as this is a rolling update for each node.
Results
You have successfully updated operating system and RKE2.
upgrading:
lastTransitionTime: "2023-09-07T09:29:04Z"
lastUpdateTime: "2023-09-07T09:29:04Z"
message: cluster upgrade is in progress
reason: Pod image is changed
status: "True"
type: in progress
The reason for object store upgrade being stuck in progress is the failure in the preupgrade job. The ObjectScale operator tries
to turn off the DT load balance during the object store upgrade, but meets an unexpected error because there is a failed node.
In order to resolve this issue, first ensure that the failed node has been repaired. Then, delete the failed jobs using kubectl
delete job <job-name> -n <job-ns>. The ObjectScale operator tries to create a new preupgrade job, and if it is
successful, the issue is resolved.
If the new job fails, capture kubectl get job <job-name> -n <job-ns> -o yaml, kubectl logs job.batch/
<job-name> -n <job-ns>, and operator's logs; and get help from Dell Support.
Topics:
• ObjectScale Management REST API introduction
• ObjectScale Management REST API summary
• Authenticate with the ObjectScale Management REST API
Table 39. ObjectScale-level, Object Store-level, and Object Service APIs - methods summary
API Area Description
ObjectScale Management APIs
Management APIs create and manage ObjectScale-level management users.
Local User APIs (non-RKE) /mgmt/users
APIs (non-RKE platform only) for creating and managing ObjectScale level management users.
APIs (RKE platform only) for creating and managing ObjectScale level LDAP and management
role mappings.
IAM APIs manage IAM users, roles, and policies in an account. The APIs assume a role and obtain temporary access
credentials.
IAM Actions /iam
API interface for Identity And Access Management Operations.
Replication APIs control ObjectScale replication. This API allows you to pause, suspend, resume, and throttle replication.
Replication Control /replication/control
API for ObjectScale replication control. It allows you to pause, suspend, resume, and throttle
replication.
Log in and obtain the Access Token for the ObjectScale-level APIs
Use CURL for Windows or Linux to log in to ObjectScale and use ObjectScale-level APIs.
Steps
1. Assign the namespace where ObjectScale is installed to objectscaleNamespace
objectscaleNamespace=<OBJECTSCALE_NAMESPACE>
3. If you are login into ObjectScale installed on the ObjectScale Software Bundle for the first time, you must change the root
user's default password.
a. Login to ObjectScale using the with root user default password.
ObjectScale will return the token you can use to update the password.
YmQ3ZTM1ZmZkZjVmNzQ2OTo6c2VydmljZS9vYmplY3RzY2FsZS1mZWRlcmF0aW9uLTc4NmM3ZjU1YzQtbXQ1
cjciLCJvc19wYXNzY2huZ29ubHkiOmZhbHNlLCJhdWQiOiJvc2NpYmQ3ZTM1ZmZkZjVm
NzQ2OSIsInR5cCI6IkJlYXJlciIsInNpZCI6IjBiMjhjY2RiLWNiYmUtNDgxNC1hM2JhLTM5Nzc4ZDYzZjhm
MyIsImlhdCI6MTY3NzY4NTY4OSwiZXhwIjoxNjc3Njg1OTg5LCJqdGkiOiJvc2F0YjJm
N2QyN2ZlMThhZjJkOCJ9.DvbPEkulFpQ-1e3ob2LRfVRtBPuib6AGvNax03Qp0rA
b. Update the password for the root account using the returned Password-Change-Token as the required auth token.
Once the password update is successfully, you have updated the root user account with a new password and can now log in
to ObjectScale.
4. Log in with the username and password of an ObjectScale Management User.
The response will contain the access_token for authentication, refresh_token can be used to get a new access_token after
the current token expires.
5. Copy the generated token so you can add it to each command using the -H "Authorization:$access_token"
syntax.
You can use the following command to set the Access Token as the "$token" environment variable.
access_token=$(curl -k -X POST
-d '{"username":"root","password":"<ROOT_ACCOUNT_PASSWORD>"}' https://
$OBJECTSCALE_GATEWAY_ENDPOINT:443/mgmt/auth/login -H 'Content-Type: application/json'
-H 'Accept: application/json' | grep access_token | cut -f4 -d'"')
Log in and obtain the Access Token for the object store-level APIs
Use CURL for Windows or Linux to log in to ObjectScale and use object store-level APIs.
Steps
1. Assign the namespace where ObjectScale is installed to objectscaleNamespace
objectscaleNamespace=<OBJECTSCALE_NAMESPACE>
The response will contain the access_token for authentication, refresh_token can be used to get a new access_token after
the current token expires.
4. Copy the generated token so you can add it to each command using the -H "Authorization:$access_token"
syntax.
You can use the following command to set the Access Token as the "$token" environment variable.
access_token=$(curl -k -X POST
-d '{"username":"root","password":"<ROOT_ACCOUNT_PASSWORD>"}' https://
$OBJECTSCALE_GATEWAY_ENDPOINT:443/mgmt/auth/login -H 'Content-Type: application/json'
-H 'Accept: application/json' | grep access_token | cut -f4 -d'"')
Obtain the endpoint IP for the object store Management Gateway and log in to issue object store-level API calls
Below is an example of how to use ObjectScale-level token to make and object store API call.
Table 40. Management user roles for ObjectScale on ObjectScale Software Bundle
Role name Role description Role ID
admin Full control over all management operations. admin
operations_admin Full control over all management operation except for security operations_admin
operations. Read access to user and public certs.
readonly Read access only, to everything other than security information. Read readonly
access to user and public certs.
security_admin Full control over security operations only, read access for others. security_admin
storage_admin Full control over storage management, including the ability to create and storage_admin
delete object stores.
Table 41. Management user roles for ObjectScale on Red Hat OpenShift
Role name Role description Role ID
Security Manages certificates, administering other management users, and the SECURITY_ADMIN
Administrator federation of other ObjectScale instances.
System Manages IAM accounts, ObjectScale licensing, object stores, and SYSTEM_ADMIN
Administrator monitoring (alerts and auditing).
System Monitor Read-only access. Manages monitoring (alerts, audits). SYSTEM_MONITOR
Account Manages IAM accounts. STORE_ADMIN
Administrator
Logout
The logout API logs out a user's authentication token provided in Authorization header.
The following example shows a logout request, where <ACCESS_TOKEN> is your access token value or variable. You pass in the
authentication token from header or cookie to log out.
IAM Identities
Table 42. Identities
Field Description
Account root user ● Account root user is an admin user in the account.
● Only the account root user can access the ObjectScale
Portal user interface.
● Account root user is the owner of the buckets and any
objects within created by its IAM entities.
IAM user ● An IAM user is a person or an application in the account
that can interact with ObjectScale resources.
● An IAM user can belong to one or more IAM groups.
● It is possible to create, view, modify, delete, and list IAM
users in ObjectScale using both API and the ObjectScale
Portal user interface.
● IAM users cannot access the ObjectScale Portal user
interface.
IAM group ● An IAM group is a collection of IAM users.
● IAM groups do not nest and contain only IAM users.
● IAM groups let you specify permissions for all the users in
the group making management easier.
NOTE: IAM and account root users access S3 and IAM APIs using Access Keys. Access Keys are long-term credentials
which consist of an access key ID and secret access key. A user can have at most two Access Keys associated with it at
any time.
Resource Limits
Names of users, groups, roles, and ● Must be unique within the account.
managed policies ● Must be alphanumeric and it may include any of these special characters: Plus (+),
equal (=), comma (,), period (.), at (@), underscore (_), and hyphen (-).
NOTE: These names are case insensitive.
Inline policy names ● Must be unique to the user, group, or to the role that they are embedded in.
● Can contain any Basic Latin (ASCII) characters except these special characters:
Backward slash (\), forward slash (/), asterisk (*), question mark (?), and space.
Resource Limit
Customer managed policies in an account 500
Groups in an account 100
Roles in an account 200
Managed policies that are attached to an IAM group 10
Managed policies that are attached to an IAM role 10
Managed policies that are attached to an IAM user 10
IAM users in a group Equal to user quota in an account
Users in an account 500
Resource Limit
Access keys that are assigned to an IAM user 2
Access keys that are assigned to the account root user 2
Groups an IAM user can be a member of 10
Identity providers (IdPs) associated with an IAM SAML 10
provider object
Keys per SAML provider 1
Managed policies attached to an IAM group 10
Permissions boundaries for an IAM user 1
Permissions boundaries for an IAM role 1
SAML providers in an AWS account 10
Tags that can be attached to an IAM user 50
Tags that can be attached to an IAM role 50
Versions of a managed policy that can be stored 5
Description Limit
Path 512 characters
User name 64 characters
Group name 128 characters
Role name 64 characters
For managed policies ● You can add up to 10 managed policies to an IAM user,
role, or group.
● The size of each managed policy cannot exceed 6,144
characters.
NOTE: IAM does not count white space when calculating
the size of a policy against these limitations.
For session policies ● You can pass only one JSON policy as a parameter when
you programmatically create a temporary session for a role
or federated user.
● The size of each session policy cannot exceed 2,048
characters.
Access Management
Access is managed by creating policies and attaching them to IAM identities or resources.
IAM Policies
ObjectScale IAM enables creation, modification, listing, assigning, and deletion of policies on an identity or resource. IAM policies
are stored in JSON format.
Using policies you can:
● Specify actions on a resource.
● Identify resources.
● Identify principals that are applicable for the policies.
● Specify conditions that are applicable
IAM policies define permissions for an action regardless of the method that you use to perform the operation. The following
policy types, are designed for use in ObjectScale:
NOTE: If there is an explicit deny in any policy, then the request is denied otherwise there must be a policy that explicitly
allows the request. If neither then by default the request is denied.
Policy Basics
Policy is made up of one or list of statements. A statement is contained within a series of elements.
Version Specify the version of the policy language that you want to use. As a best practice, use the latest
2012-10-17 version.
Statement Use this main policy element as a container for the following elements. You can include more than one
statement in a policy.
Sid (Optional) Include an optional statement ID to differentiate between your statements.
Effect Use Allow or Deny to indicate whether the policy allows or denies access.
Principal (Required in only some circumstances) If you create a resource-based policy, you must indicate the
account, user, role, or federated user to which you would like to allow or deny access. If you are creating
ACLs
Access control lists allow you to manage access to objects and buckets. An ACL is attached to all objects and buckets. With S3
ObjectScale IAM access:
● Buckets are owned by the account to which they belong and objects are owned by the account to which the user that
created the object belongs.
● Buckets and object owners can never be changed.
● Only an account can be a non-group grantee in an ACL.
S3 request authorization
During the S3 request authorization process, ObjectScale evaluates permission using user, bucket, and object contexts as
needed.
Context Description
User In this context, if the requester is an ObjectScale IAM principal, the principal must have permission from
the parent account to which it belongs. In this step, the subset of policies that are owned by the parent
account (also referred as the context authority) is evaluated. This subset of policies includes the user policy
that the parent attaches to the principal. If the parent also owns the resource in the request (bucket,
object), then the corresponding resource policies (bucket policy, bucket ACL, and object ACL) are also
evaluated at the same time.
Bucket In this context, ObjectScale evaluates policies that are owned by the account that owns the bucket. If the
account that owns the object in the request is not same as the bucket owner, in the bucket context the
policies are checked to verify that the bucket owner has not explicitly denied access to the object. If there
is an explicit deny set on the object, then the request is not authorized.
Object In this context, the requester must have permissions from the object owner to perform a specific object
operation. In this step, the object ACL is evaluated if required.
Bucket authorization
In the S3 bucket operation authorization process, at first the system evaluates whether the requester is an IAM user. If yes,
then the request is evaluated against the user context and the bucket contexts. If both verifications are authorized, the access
is granted. Else, it is denied.
The below table describes the summary of access details for the same and cross account bucket operation:
Object authorization
In the S3 object operation authorization process, at first the system evaluates whether the requester is an IAM user. If yes, then
the request is evaluated against the user, bucket, and object contexts. If these three contexts verifications are authorized, the
access is granted. Else, it is denied.
The below table describes the summary of access details for the same and cross account bucket operation:
Method Example
Attaching a policy to the user 1. Trust policy for Role assumeRoleSameAccount in ns1:
{
"Version": "2012-10-17",
"Statement": [
{
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"sts:AssumeRole"
],
"Resource": "urn:osc:iam::ns1:role/
assumeRoleSameAccount",
"Effect": "Allow",
"Sid": "VisualEditor0"
}
]
}
Adding the user to the role trust Trust policy for Role in ns1 with an ObjectScale IAM user:
policy
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "urn:osc:iam::ns1:user/user1"
},
"Action": "sts:AssumeRole"
}
]
}
Example
1. Trust policy for Role in ns1:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "urn:osc:iam::ns2:root"
},
"Action": "sts:AssumeRole"
}
]
}
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"sts:AssumeRole"
],
"Resource": "urn:osc:iam::ns1:role/assumeRoleCrossAccount",
"Effect": "Allow",
"Sid": "VisualEditor0"
}
]
}
Steps
1. Download the Identity Provider (ADFS) metadata file. The default URL to download ADFS metadata is https://[server-
name]/FederationMetadata/2007-06/FederationMetadata.xml.
2. Upload the downloaded metadata xml file when creating Identity provider.
3. To create the Identity Provider in ObjectScale Portal UI, follow to Add a new identity provider to an account.
In order to establish trust relationship between ObjectScale and ADFS, ObjectScale metadata xml file is required.
NOTE: Only one IdP is supported in the federation metadata from ADFS.
AssumeRoleWithSAML
In order to use AssumeRoleWithSAML, you must configure your SAML identity provider (IdP) like ADFS to issue the claims
required by ObjectScale.
● IAM role must be created that specifies this SAML Provider in the trust policy.
● In order to use AssumeRoleWithSAML from each ObjectScale instance, you must first setup Relying Party Trust with that
ObjectScale service provider metadata and get the SAML Token from that specific relying party trust.
● AssumeRoleWithSAML returns a set of temporary security credentials for users who have been authenticated through a
SAML authentication response.
● This operation provides a mechanism for tying an enterprise identity store or directory to role-based access without
user-specific credentials or configuration.
● Calling AssumeRoleWithSAML does not require the use of ObjectScale security credentials. The identity of the caller is
validated by the claims that are provided in the SAML Assertions by the identity provider.
● Temporary credentials consist of an access key ID, a secret access key, and a security token.
● Following condition keys are supported in the AssumeRolePolicyDocument.
○ saml:aud
○ saml:iss
○ saml:sub
○ saml:sub_type
○ saml:edupersonorgdn
○ saml:namequalifier
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Federated":"urn:aws:iam::s3:saml-provider/provider1"
},
"Action":"sts:AssumeRoleWithSAML",
"Condition":{
"StringEquals":{
"SAML:sub":"ADFS\\Bob",
"SAML:aud":"https://10.247.179.105/saml",
"SAML:eduPersonOrgDN":[
"ObjectScale"
],
"SAML:iss":"http://AD.adfs.emc.com/adfs/services/trust"
}
}
}
]
}
For example:
<AttributeStatement>
<Attribute Name="https://aws.amazon.com/SAML/Attributes/RoleSessionName">
<AttributeValue>[email protected]</AttributeValue>
</Attribute>
<Attribute Name="https://aws.amazon.com/SAML/Attributes/Role">
<AttributeValue>urn:osc:iam::s3:saml-provider/provider1,urn:osc:iam::s3:role/
ADFS-Dev</AttributeValue>
<AttributeValue>urn:osc:iam::s3:saml-provider/provider1,urn:osc:iam::s3:role/
ADFS-Production</AttributeValue>
</Attribute>
<Attribute Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.3">
<AttributeValue>ObjectScale</AttributeValue>
</Attribute>
</AttributeStatement>
saml:sub This is the subject of the claim, which includes a value that
uniquely identifies an individual user within an organization. For example,
_3e52ef03414f3464d2461c00ebae0152c25fb88bbc.
saml:sub_type This key can be persistent, transient, or the full Format URI from the Subject and NameID
elements used in your SAML assertion. A value of persistent indicates that the value in
saml:sub is the same for a user across all sessions. If the value is transient, the user has
a different saml:sub value for each session.
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject"
],
"Resource": [
"arn:aws:s3:::exampleObjectScaleBucket/backup/${saml:namequalifier}/${saml:sub}",
"arn:aws:s3:::exampleObjectScaleBucket/backup/${saml:namequalifier}/${saml:sub}/*"
],
"Condition": {"StringEquals": {"saml:sub_type": "persistent"}}
}
}
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject"
],
"Resource": [
"arn:aws:s3:::exampleObjectScleBucket/backup/${saml:namequalifier}/${saml:sub}",
"arn:aws:s3:::exampleObjectScleBucket/backup/${saml:namequalifier}/$
{saml:sub}/*"
],
"Condition": {"StringEquals": {"saml:sub_type": "persistent"}}
}
}
S3 support in ObjectScale
S3 APIs are supported in this release of ObjectScale.
S3 API
See the ObjectScale Rest API .zip file on Dell Support at https://www.dell.com/support/home/en-us/product-support/
product/objectscale/docs for a complete list of the supported S3 APIs.
For the best results, the part name numbering (partNumber) should be contiguous, beginning with 1 for the first object part.
Each subsequent part number for the parts of the object should increment by whole numbers with no gaps in the numbering.
Also, all parts should be the same size, with an exception for the last part, which can be smaller than the other parts. Deviations
from these recommendations increase the metadata overhead and worsen performance.
MPU in ObjectScale has the following limits:
● The maximum size for a part is 5 GiB. There is no minimum size.
● The maximum supported size for an object is 50 TiB. There is no minimum size.
● The maximum number of parts for an MPU is 50,000.
Object part size and number of parts impact the time that it takes to upload and complete the creation of the combined object.
Dell Technologies recommends that the part sizes be greater than 2.13 MiB and less than 2 GiB, for optimal processing.
See the ObjectScale Management Rest API .zip file on Dell Support at https://www.dell.com/support/home/en-us/product-
support/product/objectscale/docs for the MPU APIs.
InvalidEncoding 400 Invalid URL enconding The URL encoding used is invalid.
InvalidMetadataQuery 400 Invalid metadata query entered The metadata query entered does not
conform to valid syntax
InvalidMetadataSearchList 400 Invalid metadata search list entered A keyname on the request is not a
valid indexable key, or the format of
the request list is incorrect.
MetadataSearchNotEnabled 405 Metadata search not enabled Metadata search is not enabled for
this bucket.
MetadataSearchBadParameter 400 Metadata search invalid parameter Invalid search index key name, sort
used in query key name or attribute name value.
MetadataSearchInvalidArgument 400 Metadata search invalid parameter Invalid search index value format or
used in query operator used.
MetadataSearchInvalidValuefor 400 Metadata search key indexing found Object operation failed because a
Datatype invalid input value user metadata value cannot be
converted to its defined datatype.
MetadataOperationNotSupported 405 Metadata search operation not Metadata query with both AND and
supported OR logical operators not supported.
MetadataSearchBadSortParameter 400 Metadata search invalid sort The sort parameter has to be present
parameter in the query as a search parameter.
MetadataSearchRestriction 400 Buckets that are encrypted or within Metadata search is mutually exclusive
an encrypted namespace cannot have with bucket/namespace encryption.
metadata search enabled
MetadataSearchTooManyIndexKeys 400 The number of Index keys exceeds The number of keys to be indexed
the maximum allowed exceeds the maximum number
allowed, try with fewer keys.
InvalidOrNoCustomerProvided 400 Invalid or no customer provided No encryption key, or an encryption
EncryptionKey encryption key key that did not match the one in the
system, was provided.
DareUnavailable 403 Server side encryption (D@RE) is not D@RE JAR/license is unavailable
supported hence server side encryption
requests are not supported.
SelfCopyInvalidRequest 400 InvalidRequest The copy request is illegal because
it is trying to copy an object to
NOTE:
Authorization: AWS4-HMAC-SHA256
Credential=OKIA60819103813C1F40/20130524/us/s3/aws4_request,
SignedHeaders=host;range;x-amz-date,
Signature=fe5f80f77d5fa3beca038a248ff027d0445342fe2855ddc963176630326f1024
The Credential component comprises your Access Key Id followed by the Credential Scope. The Credential Scope comprises
Date/Region/Service Name/Termination String. For ObjectScale, the Service Name is always s3 and the Region can be any
string. When computing the signature, ObjectScale uses the Region string passed by the client.
Authentication using Signature V4 is described in:
● http://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html , and
● http://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-header-based-auth.html
An example of a PUT replication request using Signature V4 is provided below:
PUT https://<objectscale>/testbucket?replication
Authorization: AWS4-HMAC-SHA256 Credential=OKIA60819103813C1F40/20160726/us/s3/
aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date,
Signature=e75a150daa28a2b2f7ca24f6fd0e161cb58648a25121d3108f0af5c9451b09ce
Content-MD5: x0ns_8TT8w5fB2woe72A==
Host: 10.247.195.130:9021
x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
x-amz-date: 20160726T033659Z
Response:
200 OK
Date: Tue, 26 Jan 2022 03:37:00 GMT
Server: ViPR/1.0
x-amz-request-id: 0af7c382:156123ab861:4192:896
x-amz-id-2: 3e2b2280876d444d6c7215091692fb43b87d6ad95b970f48911d635729a8f7ff
By default the Amazon client attempts to contact Amazon WebServices. In order to override this behavior and contact
ObjectScale you need to set a specific endpoint.
You can set the endpoint using the setEndpoint method. The protocol specified on the endpoint dictates whether the client
should be directed at either be a load balancer in Kubernetes or a NodePort, which would be an IP and a random high-level port,
depending on your network configuration.
NOTE: If you intend to use the HTTPS port, the JDK of your application must be set up to validate the ObjectScale
certificate successfully; otherwise the client will throw SSL verification errors and fail to connect.
In the snippet below, the client is being used to access ObjectScale over HTTP:
When using path-style addressing (objs1.dell.com/mybucket), you will need to set the setPathStyleAccess option, as shown
below:
The CreateBucket operation differs from other operations in that it expects a region to be specified. Against S3 this would
indicate the data center in which the bucket should be created. However, ObjectScale does not support regions. For this reason,
when calling the CreateBucket operation, we specify the standard region, which stops the AWS client from downloading the
Amazon Region configuration file from Amazon CloudFront.
client.createBucket("mybucket", "Standard");
client.createBucket(bucketName, "Standard");
listObjects(client);
client.copyObject(bucketName,objectFile.getName(),bucketName, "copy-" +
objectFile.getName());
listObjects(client);
}
package main.java.metadatasearch;
import com.dellemc.objectscale.s3.ObjectScaleS3Client;
import com.dellemc.objectscale.s3.model.*;
import com.dellemc.objectscale.s3.ObjectScaleS3ClientBuilder;
import software.amazon.awssdk.auth.credentials.AwsBasicCredentials;
import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider;
import software.amazon.awssdk.services.s3.S3Client;
import software.amazon.awssdk.services.s3.model.Bucket;
import software.amazon.awssdk.services.s3.model.ListBucketsRequest;
import software.amazon.awssdk.services.s3.model.ListBucketsResponse;
import software.amazon.awssdk.services.s3.model.S3Exception;
import java.net.URI;
// This is an example of how one can create buckets with ObjectScale's metadata
search feature
// enable, get a list of all buckets, and search for metadata using the query
objects endpoint
// with selectors.
public static void main( String[] args ) {
ObjectScaleS3ClientBuilder builder = ObjectScaleS3Client.builder()
.endpointOverride(URI.create("http://"+S3_IP+":"+S3_PORT))
.credentialsProvider(StaticCredentialsProvider.create(AwsBasicCredentials
.create(ACCESS_KEY, SECRET)));
client = builder.build();
// Create a bucket with a given name and client where one can query / filter based
// on the LastModified field.
public static void createTestBuckets( S3Client client, String name ){
CreateBucketRequest createBucketRequest = CreateBucketRequest.builder()
.metadataSearchKeys("LastModified;datetime").bucket(name).build();
// Use toStandardRequest to use this as a CreateBucketRequest
client.createBucket(createBucketRequest.toStandardRequest());
}
}
Steps
1. From the ObjectScale Portal user interface, click Administration > ObjectScale.
The list of Object Stores in the selected namespace that the user is authorized to view is displayed.
2. Select the appropriate namespace from the namespace drop-down on the upper right the ObjectScale Portal user interface.
3. Collect the S3 endpoint value from the object store Summary tab.
Record this value in the EXTERNAL_ENDPOINT value in the table above.
4. Locate the Secret Key .csv file previously saved locally for the user that owns the bucket in the object store.
This user should be a part of the IAM account that is a tenant within the selected object store.
Record this value as the SECRET_KEY in the table above.
5. Finally, collect the Access Key ID for the user.
a. Go to the object store Accounts tab and click on the name of the IAM account that manages the user account.
b. Select the Users tab and click on the name of the user account that will be used for S3.
c. Click on Secret Key and record the Access Key ID value displayed in the Secret Key table.
NOTE: If you do not have the previously created Secret Key for this user or wish to change it for any reason, you
can DEACTIVATE or REMOVE old Secret Keys/Access Key pairs and click ADD KEY to generate a new key for the
user.
Steps
1. From the ObjectScale Portal user interface, click Administration > ObjectScale.
The list of Object Stores in the selected namespace that the user is authorized to view is displayed.
2. Select the appropriate namespace from the namespace drop-down on the upper right the ObjectScale Portal user interface.
3. Click the name of the object store.
The Summary of the selected object store appears.
Steps
1. In S3 browser, create an account with the details of the object store bucket.
Use the S3 values you recorded in the last task to complete this step.
a. Type a Name for the account.
b. Select S3 Compatible Storage from the Account Type dropdown.
c. Enter the EXTERNAL_ENDPOINT value into the REST Endpoint field.
For example:
Rest Endpoint: 10.55.66.77:443
d. Enter the ACCESS KEY value into the Access Key ID field.
For example:
Access Key: AKIA5F587FA0E4E4FF81
e. Enter the SECRET_KEY value into the Secret Access Key field.
For example:
Secret Key: KqM5xHvaG7Bv9SH0lGoMrGYDWJrUoZsVvZ71JBeY
2. Connectivity is verified by creating new buckets and uploading objects via S3 Browser or a similar S3 Compatible application.
3. Optional: Create additional buckets using S3 browser or within the object store.
4. Use the S3 Browser to place one or move objects in this new bucket.
You should see the object(s) uploaded in the within the bucket.
234 Alerts
View the health of an object store
The ObjectScale Portal user interface shows health and alerts for an object store.
To view health for a specific object store in the ObjectScale Portal user interface, go to Administration > ObjectScale >
Object Stores > <OBJECT_STORE_NAME> > Health.
The Health page displays the full list of current health alerts and health events for the selected object store.
The Alerts tab displays issues for the selected object store. There are two categories of health alerts: Auto or Manual.
● Auto alerts are generated within the product when a component does not behave as expected. These alerts are cleared
automatically when the problem is resolved.
● Manual alerts are not cleared until a user acknowledges them. You can use the ACKNOWLEDGE or UNACKNOWLEDGE
buttons to manage manual health issues.
The health Logs tab shows the full list of current logged events.
The Health Check tab allows you to perform health checks on the object store.
● To perform a check on the health of an object store, select healthcheck and click Check Health.
● On ObjectScale for Red Hat OpenShift only, you can perform a preupdate health check of the object store before updating
the object store. Select pre-update and click Check Health.
● To perform a health check of the object store following an upgrade, select Check Health.
Hardware Alerts
Hardware alerts for ObjectScale appliance on Dell server assets support proactive or reactive engagement by customers or
services to resolve issues.
Hardware alerts help in monitoring the health and performance of the system, and in notifying hardware failures in a timely
manner.
Some of the considerations related to hardware alerts are:
● Hardware alerts are enabled by default.
● Customers can enable or disable hardware alerts from the UI.
● The customer can see hardware alerts on the ObjectScale UI Portal within 60 s from the event.
● Alerts have a detailed description of the issue with:
○ Severity type
○ Symptom code
○ Reason
○ Impacted resource
○ Timestamp of the issue
Steps
1. From the ObjectScale portal user interface, click Alerts.
By default, alerts with Normal severity are hidden.
2. Click Show All to view all alerts.
All alerts, including alerts that are hidden, are displayed. The following descriptions are shown for each alert.
● Severity
● Message
● ResourceID
● SymptomID
● Reason
Alerts 235
● Component
You can filter alerts using the drop-down with the following options:
● Last 24 hours
● Last 7 days
● Last 30 days
● Show All
Steps
1. From the ObjectScale portal user interface, click Event Settings and go to the Hardware Alerts tab.
The status of alerts is displayed with the available nodes.
2. Select a node with Disabled status, and click Enable to enable alerts for that node.
Alerts are enabled for that specific node.
3. Click Enable All to enable alerts on all available nodes.
Alerts are enabled for all available nodes.
Steps
1. From the ObjectScale portal user interface, click Event Settings and go to the Hardware Alerts tab.
The status of alerts is displayed with the available nodes.
2. Select a node with Enabled status, and click Disable to disable alerts for that node.
Alerts are disabled for that specific node.
3. Click Disable All to disable alerts on all available nodes.
Alerts are disabled for all available nodes.
Steps
1. From the ObjectScale portal user interface, click Alerts
Alerts are displayed with regular alerts hidden.
2. Click Show All to view all alerts.
3. Click the box to the left of the alert that you want to acknowledge, and click Acknowledge.
When you acknowledge the alert, it clears the alert from the Alerts pane.
236 Alerts
A message appears asking you to confirm Acknowledge Alert.
4. Click Yes if you want to acknowledge and clear the alert from the Alerts pane. Click No if you do not want to acknowledge
and clear the alert from the Alerts pane.
If you clicked Yes, a message appears in the upper right indicating that the Alert or alerts were acknowledged successfully.
5. To view acknowledged alerts, click Show All in the upper left of the Alerts pane and select the wanted time period.
Alerts do not display once the selected time period is exceeded. For example, alerts created 25 hours ago display in the Last
7 Days filter, not in the Last 24 Hours filter.
You must manually acknowledge alerts to change the severity level of them from Critical to Normal.
Steps
1. From the ObjectScale portal user interface, click Event Settings
SNMP alerts page is displayed with the current configuration details.
2. Select the checkbox for configuration, and click Edit.
A dialogue box is displayed with more configuration options.
3. In the Edit SNMP Server window, complete the required fields and click Save
Option Description
FQDN IP Enter the IP name.
Port Enter the Port name.
Version Choose SNMPv2.
Community A community string that identifies a collection of SNMP Managers and agents. Choose between public or
private.
Steps
1. From the ObjectScale portal user interface, click Event Settings
SNMP alerts page is displayed with the current configuration details.
2. Select the checkbox for configuration, and click Edit.
A dialogue box is displayed with more configuration options.
3. In the Edit SNMP Server window, complete the required fields and click Save
Option Description
FQDN IP Enter the IP name.
Alerts 237
Option Description
Port Enter the Port name.
Version Choose SNMPv3.
Security Choose whether to include Authentication and Privacy in the communication:
● NONE
● AUTH ONLY
● AUTH and PRIVACY
Engine ID This allows communication between known SNMP entries in the administrative domain, and should be
configured on the corresponding NMS for access to incoming SNMP traps.
Auth Protocol Choose between MD5 (128 bit) or SHA-1 (160 bit).
Auth Password Enter the password for Auth Protocol.
Privacy Protocol Choose between DES (56 bit) or AES (128, 192 or 256 bit) to encrypt all SNMPv3 transmissions.
CSI-03
Name DiskMissing
Description Disk Missing Issue.
Issue Category Auto
Notifiers objectscale-snmp-notifier
Remedies ● For additional information on this event, go to www.dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article
CSI-05
Name VolumeFakeAttach
Description Volume Fake Attach Issue.
Issue Category Auto
Notifiers objectscale-snmp-notifier
238 Alerts
Remedies ● For additional information on this event, go to www.dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article
DECKS-HC-1000
Name Pre-Update
Description Preupdate health check for application.
Issue Category Auto
Notifiers objectscale-snmp-notifier
Remedies --
DECKS-LIC-1002
Name ExpiringLicense
Description License is expiring or expired.
Issue Category Auto
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies --
DECKS-LIC-1005
Name ExpiringLicense
Description License is expiring or expired.
Issue Category Auto
Notifiers objectscale-supportassist-ese
objectscale-snmp-notifier
DECKS-LIC-1006
Name ExpiringLicense
Description License is expiring or expired.
Issue Category Auto
Notifiers objectscale-supportassist-ese
objectscale-snmp-notifier
Alerts 239
DECKS-LIC-1008
Name InvalidLicense
Description License is invalid.
Issue Category Auto
Notifiers objectscale-supportassist-ese
objectscale-snmp-notifier
Remedies ● Verify that the ObjectScale license is obtained from the Dell Software Licensing Center.
● Verify that the ObjectScale license is not modified before applying it to the cluster.
● Verify that the PRODUCTSHORTNAME is defined in the ObjectScale license.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
DECKS-LIC-1011
Name -
Description License features are no longer tracked.
Issue Category -
Notifiers -
Remedies ● Verify that the ObjectScale license is correct and the feature was intended to be removed.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
DECKS-SA-1023
Name SupportAssistConfiguration
Description SupportAssist configuration issues.
Issue Category Auto
Notifiers objectscale-snmp-notifier
Remedies ● Verify that the supportassist-objectscale-0 pod is running.
● Verify that SupportAssist is enabled.
● Verify connectivity of configured gateways.
● Verify that a valid AccessKey and PIN are used.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
DECKS-SA-1024
Name ESECallBackTransactions
Description SupportAssist ESE callback transaction issues.
Issue Category Auto
Notifiers objectscale-snmp-notifier
Remedies ● Verify the supportassist-objectscale-0 pod is Running
● Verify connectivity of configured gateways.
● Check network connectivity of the k8s cluster
240 Alerts
● Check the log of the supportassist-objectscale-0 pod
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
KAHM-HC-1000
Name Pre-Update
Description Pre-Update health check for application.
Issue Category Auto
Notifiers objectscale-snmp-notifier
Remedies ● Check the health status in the <component>-app-configmap to find which checks failed.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJSC-CO-0000
Name COOperatorEnterMM
Description Node EnterMaintenanceMode cluster operation handling by ClusterOperation Operator.
Issue Category Auto, 1440
Notifiers objectscale-snmp-notifier, objectscale-supportassist-ese
Remedies ● Check EnterMM cluster operation CR in the K8s and CO operator logs for details.
● For additional information on this event, go to www.dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJSC-CO-0001
Name COOperatorExitMM
Description Node ExitMaintenanceMode cluster operation handling by ClusterOperation Operator.
Issue Category Auto, 1440
Notifiers objectscale-snmp-notifier, objectscale-supportassist-ese
Remedies ● Check ExitMM cluster operation CR in the K8s and CO operator logs for details.
● For additional information on this event, go to www.dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJSC-CO-0002
Name COOperatorNodeAddition
Description NodeAddition cluster operation handling by ClusterOperation Operator.
Issue Category Auto, 1440
Notifiers objectscale-snmp-notifier, objectscale-supportassist-ese
Remedies ● Check NodeAddition cluster operation CR in the K8s and CO operator logs for details.
● For additional information on this event, go to www.dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
Alerts 241
OBJSC-CO-0003
Name COOperatorNodeRemoval
Description NodeRemoval cluster operation handling by ClusterOperation Operator.
Issue Category Auto, 1440
Notifiers objectscale-snmp-notifier, objectscale-supportassist-ese
Remedies ● Check NodeRemoval cluster operation CR in the K8s and CO operator logs for details.
● For additional information on this event, go to www.dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJSC-CO-0004
Name COOperatorDiskRemoval
Description DiskRemoval cluster operation handling by ClusterOperation Operator.
Issue Category Auto, 1440
Notifiers objectscale-snmp-notifier, objectscale-supportassist-ese
Remedies ● Check DiskRemoval cluster operation CR in the K8s and CO operator logs for details.
● For additional information on this event, go to www.dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
NVMF-1389
Name NVME_BAD_MEMORY_ERROR
Description No memory to allocate to buffer for nvmfengine.
Issue Category Auto, 1440
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies ● Check the memory usage via "top" command in the reported nvmfengine pod.
● Check the logs of reported nvmfengine pod for details.
● For additional information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search support for the knowledgebase article.
NVMF-1390
Name NVME_DEVICE_INIT_FAILED_ERROR
Description Nvme device init failed in nvmfengine
NVMF-1393
Name NVME_PRIVATE_IP_UNAVAILABLE_ERROR
242 Alerts
Description Private network is unavailable in nvmfengine.
NVMF-1395
Name NVME_BIND_FAILED_ERROR
Description Restserver in nvmfengine failed to bind the port
NVMF-1396
Name NVMe Drive Removed
Description NVMe drive is removed.
OBJPRECHK-2000
Name NodesReadiness
Description Upgrade precheck for node readiness.
Alerts 243
OBJPRECHK-2001
Name DeploymentAndStatefulsetsReadiness
Description Upgrade precheck for deployment and stateful sets readiness.
OBJPRECHK-2002
Name ServicePodReadiness
Description Upgrade precheck for service pod readiness.
OBJPRECHK-2003
Name ObjectStoresReadiness
Description Upgrade precheck for object stores' readiness.
OBJPRECHK-2004
Name ObjectStoreMicroServicesReadiness
Description Upgrade precheck for object store microservices readiness.
244 Alerts
● For additional information about this event, go to "http://www.dell.com/support/objectscale" and use
the SymptomID to search support for the knowledge base article.
OBJPRECHK-2005
Name ObjectStorePVReplacingAndMaintenancePhaseStatus
Description Upgrade precheck for object store PV phase status.
OBJPRECHK-2006
Name ObjectStoreRecoveryCheck
Description Upgrade precheck for object store recovery phase status.
OBJPRECHK-2007
Name ObjectStorePDBStatus
Description Upgrade precheck for object store PDB status.
OBJPRECHK-2008
Name ProductCompatibilityStatus
Description Upgrade precheck for product compatibility status.
Alerts 245
● For additional information about this event, go to "http://www.dell.com/support/objectscale" and use
the SymptomID to search support for the knowledge base article.
OBJPRECHK-2009
Name OSCompatibilityStatus
Description Upgrade precheck for OS compatibility status.
Issue Category Manual
Notifiers objectscale-snmp-notifier
Remedies ● View the objectscale-lcm-manifest.json uploaded at http-share and ensure that the current
OS version is a part of the OS compatibility matrix in the manifest file.
● For additional information about this event, go to "http://www.dell.com/support/objectscale" and use
the SymptomID to search support for the knowledge base article.
OBJPRECHK-2010
Name UpgradePrerequisiteStatus
Description Upgrade precheck for prerequisite status.
OBJPSTCHK-3000
Name NodesReadinessPostCheck
Description Upgrade postcheck for nodes' readiness.
Issue Category Manual
Notifiers objectscale-snmp-notifier
Remedies ● Run kubectl get nodes -A and ensure that the number of nodes in greater than 4.
● Verify if the total number of nodes is less than equal to 9, then the number of ready nodes is greater
than or equal to totalNodes-1.
● Verify if the total nodes are greater than 9, then the number of ready nodes is greater than or equal to
4*TotalNodes/5
● For additional information about this event, go to "http://www.dell.com/support/objectscale" and use
the SymptomID to search support for the knowledge base article.
OBJPSTCHK-3001
Name DeploymentAndStatefulsetsReadinessPostCheck
Description Upgrade postcheck for deployment and statefulsets readiness.
Issue Category Manual
246 Alerts
Notifiers objectscale-snmp-notifier
Remedies ● Run kubectl get deployments -n <objectscale namespace> and verify the Ready
replicas are equal to the Total replicas, that is, check the READY status.
● Run kubectl get statefulsets -n <objectscale namespace> and verify the Ready
replicas are equal to the Total replicas, that is, check the READY status.
● Verify that all the containers of all the replicas are in the Running state.
● For additional information about this event, go to "http://www.dell.com/support/objectscale" and use
the SymptomID to search support for the knowledge base article.
OBJPSTCHK-3002
Name ServicePodReadinessPostCheck
Description Upgrade postcheck for service pod readiness.
Issue Category Manual
Notifiers objectscale-snmp-notifier
Remedies ● Run kubectl get pods -A grep objectscale-manager-service-pod and verify that the
pod is in the Running state.
● For additional information about this event, go to "http://www.dell.com/support/objectscale" and use
the SymptomID to search support for the knowledge base article.
OBJPSTCHK-3003
Name ObjectStoreReadinessPostCheck
Description Upgrade postcheck for object store readiness.
Issue Category Manual
Notifiers objectscale-snmp-notifier
Remedies ● Run kubectl get ecs -A and verify that Status Phase is Available for all.
● For additional information about this event, go to "http://www.dell.com/support/objectscale" and use
the SymptomID to search support for the knowledge base article.
OBJSC-FED-1001
Name Remote instance connection status changed
Description Remote instance connection status changed.
OBJSC-IAM-1004
Name IAM Account Entity Limit Reached
Description IAM account entity limit reached.
Alerts 247
Notifiers objectscale-snmp-notifier
Remedies ● IAM Account has reached its MAX allocated limit for the IAM entities.
● In order to add new entities, some existing entities needs to be deleted.
OBJSC-LIC-0004
Name ObjectScale Licensing
Description ObjectScale cumulative object store usage.
Issue Category Auto
Notifiers objectscale-supportassist-ese
objectscale-snmp-notifier
OBJSC-MGR-3000
Name Update
Description Update for application.
Issue Category Auto
Notifiers objectscale-snmp-notifier
Remedies ● Check the health status in the <component>-app-configmap to find which checks failed.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJSC-MGR-HC-1000
Name Pre-Update
Description Pre-Update health check for application.
Issue Category Auto
Notifiers objectscale-snmp-notifier
Remedies ● Check the health status in the <component>-app-configmap to find which checks failed.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJSC-MON-1111
Name Objectscale Capacity
Description Percent of used ObjectScale capacity crosses threshold.
Issue Category Auto, 60
Notifiers objectscale-snmp-notifier
Remedies ● Verify ObjectScale capacity usage, as required take proactive actions to prevent ObjectScale
maximum capacity usage.
248 Alerts
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJSC-MON-1112
Name Objectscale Capacity
Description Percent of used ObjectScale capacity crosses threshold.
Issue Category Auto, 60
Notifiers objectscale-snmp-notifier
Remedies ● Verify ObjectScale capacity usage, as required take proactive actions to prevent ObjectScale
maximum capacity usage.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJSC-MON-1113
Name Objectscale Capacity
Description Percent of used ObjectScale capacity crosses threshold.
Issue Category Auto, 60
Notifiers objectscale-snmp-notifier
Remedies ● Verify ObjectScale capacity usage, as required take proactive actions to prevent ObjectScale
maximum capacity usage.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJSC-MON-3002
Name Directory Table failure
Description Directory Table failure detected
Issue Category Auto, 10
Notifiers objectscale-supportassist-ese
objectscale-snmp-notifier
OBJSC-MON-3003
Name Directory Table failure
Description Directory Table failure detected
Issue Category Auto, 10
Notifiers objectscale-supportassist-ese
objectscale-snmp-notifier
Alerts 249
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJSC-MON-4019
Name Objectscale Monitoring Health
Description No data is moved to the ObjectScale monitoring framework for the last 30 minutes.
Issue Category Auto, 60
Notifiers objectscale-supportassist-ese
objectscale-snmp-notifier
OBJSC-MON-4020
Name MonitoringFluxd
Description Fluxd has not responded for the last 30 minutes.
Issue Category Auto, 60
Notifiers objectscale-supportassist-ese
objectscale-snmp-notifier
OBJSC-MON-4021
Name InfluxDB PVC
Description InfluxDB PVC has a bad state for the last 30 minutes.
Issue Category Auto, 60
Notifiers objectscale-supportassist-ese
objectscale-snmp-notifier
OBJSC-MON-4022
Name Rsyslog PVC
Description Rsyslog PVC has a bad state for the last 30 minutes.
Issue Category Auto, 60
Notifiers objectscale-supportassist-ese
objectscale-snmp-notifier
250 Alerts
Remedies ● Check Rsyslog PVC status and fix it.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJSC-MON-4025
Name InfluxDB low disk space
Description Percent of used InfluxDB capacity crosses threshold.
Issue Category Auto, 60
Notifiers objectscale-supportassist-ese
objectscale-snmp-notifier
Remedies ● Based on capacity usage, InfluxDB may be in read-only mode. Verify InfluxDB capacity usage and
take required actions to free up or increase capacity.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJSC-MON-4028
Name Rsyslog low disk space
Description Percent of used Rsyslog capacity crosses threshold.
Issue Category Auto, 60
Notifiers objectscale-supportassist-ese
objectscale-snmp-notifier
Remedies ● Verify Rsyslog capacity usage and take required actions to free up capacity.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJSC-SP-0000
Name RecoverySP
Description Recovery after removing recoverable pod during any SP.
Issue Category Auto
Notifiers objectscale-supportassist-ese
objectscale-snmp-notifier
Remedies ● Check recovery service procedure CR in the K8s and SP operator logs for details.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJSC-SP-0001
Name DiskReplacementError
Description Recovery after removing recoverable pod during any SP.
Issue Category Auto
Notifiers objectscale-supportassist-ese
Alerts 251
objectscale-snmp-notifier
Remedies ● Check disk replacement service procedure CR in the K8s and SP operator logs for details.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJSC-SP-0002
Name PMMError
Description Permanent Maintenance Mode service procedure handling by SP Operator
Issue Category Auto
Notifiers objectscale-supportassist-ese
objectscale-snmp-notifier
Remedies ● Check PMM service procedure CR in the K8s and SP operator logs for details.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJSC-SP-0003
Name TMMError
Description Temporary Maintenance Mode service procedure handling by SP Operator
Issue Category Auto
Notifiers objectscale-supportassist-ese
objectscale-snmp-notifier
Remedies ● Check TMM service procedure CR in the K8s and SP operator logs for details.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJSC-SP-0004
Name NFError
Description Node failure service procedure handling by SP Operator
Issue Category Auto
Notifiers objectscale-supportassist-ese
objectscale-snmp-notifier
Remedies ● Check Node Failure service procedure CR in the K8s and SP operator logs for details.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJSC-TARGET-01
Name NvmfTargetConfigIssue
Description ObjectScale NVMF Target Configuration Failure
Issue Category Auto
Notifiers objectscale-snmp-notifier
252 Alerts
Remedies ● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJSOP-1000
Name OperatorDR
Description Disk Replacement service procedure handling by Operator
Issue Category Auto
Notifiers objectscale-supportassist-ese
objectscale-snmp-notifier
Remedies ● Check Object Store Status, Operator logs and platform logs (if applicable) for details
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJSOP-1001
Name OperatorPMM
Description Permanent Maintenance Mode service procedure handling by Operator
Issue Category Auto
Notifiers objectscale-supportassist-ese
objectscale-snmp-notifier
Remedies ● Check Object Store Status, Operator logs and platform logs (if applicable) for details
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJSOP-1002
Name OperatorTMM
Description Temporary Maintenance Mode service procedure handling by Operator
Issue Category Auto
Notifiers objectscale-supportassist-ese
objectscale-snmp-notifier
Remedies ● Check Object Store Status, Operator logs and platform logs (if applicable) for details
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJSOP-1003
Name OperatorUpgrade
Description Upgrade service procedure handling by Operator
Issue Category Auto
Notifiers objectscale-supportassist-ese
objectscale-snmp-notifier
Remedies ● Check Object Store Status, Operator logs and platform logs (if applicable) for details
Alerts 253
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJSOP-1004
Name OperatorHorizontalExpand
Description Horizontal Expand SS service procedure handling by Operator
Issue Category Auto
Notifiers objectscale-supportassist-ese
objectscale-snmp-notifier
Remedies ● Check Object Store Status, Operator logs and platform logs (if applicable) for details
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJSOP-1005
Name OperatorVerticalExpand
Description Vertical Expand SS service procedure handling by Operator
Issue Category Auto
Notifiers objectscale-supportassist-ese
objectscale-snmp-notifier
Remedies ● Check Object Store Status, Operator logs and platform logs (if applicable) for details
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJSOP-1006
Name OperatorObjectStoreCreation
Description Object Store Creation
Issue Category Auto
Notifiers objectscale-supportassist-ese
objectscale-snmp-notifier
Remedies ● Please check Object Store Status, Object Scale Operator logs and platform logs (if applicable) for
details
● Please check Object Store pods that remain in Pending state
● Please try to eliminate errors that block pods scheduling
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJSOP-2001
Name CSRRequestAndApprovals
Description ObjectScale CSR issue and approval notifications
Issue Category Auto
254 Alerts
Notifiers objectscale-snmp-notifier
OBJSOP-2002
Name TLSCertExpire
Description ObjectScale TLS certificate about to expire notification or expired notifications
Issue Category Auto
Notifiers objectscale-snmp-notifier
OBJST-1006
Name BUCKET_HARD_QUOTA_EXCEEDED
Description Hard quota on total object count or size that is exceeded for one bucket.
Issue Category Manual
Notifiers objectscale-snmp-notifier
Remedies ● Increase hard count or size quota for this bucket or delete objects in this bucket.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJST-1008
Name BUCKET_SOFT_QUOTA_EXCEEDED
Description Soft quota on total object count or size that is exceeded for one bucket.
Issue Category Manual
Notifiers objectscale-snmp-notifier
Remedies ● Increase soft count or size quota for this bucket or delete objects in this bucket.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJST-12001
Name REPLICATION_DESTINATION_PAUSED_WITH_BACKLOG
Description ObjectScale Replication is paused and there are pending objects waiting for replication.
Issue Category Auto, 120
Notifiers objectscale-snmp-notifier
Remedies ● Confirm if replication paused setting for reported destination is still required.
Alerts 255
● Resume replication if pause is no longer required.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJST-12003
Name REPLICATION_DESTINATION_REMOVED_FROM_SYSTEM
Description A destination object store for ObjectScale Replication has been removed from federation.
Issue Category Manual
Notifiers objectscale-snmp-notifier
Remedies ● Remove ObjectScale Replication configuration targeting reported destination object store.
● Suspend ObjectScale Replication to reported destination object store.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJST-12004
Name REPLICATION_DESTINATION_BUCKET_QUOTA_EXCEEDED
Description Destination bucket exceeds user-configured quota.
Issue Category Auto, 30
Notifiers objectscale-snmp-notifier
Remedies ● Modify the destination bucket quota size.
● Clean up some of the data in destination bucket to free up space for replication to continue.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJST-12005
Name REPLICATION_DESTINATION_OBJECT_STORE_OUT_OF_CAPACITY
Description Destination object store is out of capacity.
Issue Category Auto, 30
Notifiers objectscale-snmp-notifier
Remedies ● Add more space to the destination object store.
● Clean up some of the data in destination object store to free up space for replication to continue.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJST-12006
Name REPLICATION_CERTIFICATE_ERROR
Description Connection to remote replication endpoint cannot be established due to tls problem
Issue Category Auto, 10
Notifiers objectscale-snmp-notifier
Remedies ● Verify if internal certificate and CA used for geo connection has expired.
● Contact Dell EMC technical support for assistance
256 Alerts
● For additional information on this event, go to https://dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJST-12007
Name REPLICATION_EVENT_UNABLE_TO_HANDLE
Description Unable to Handle ObjectScale Replication Event
Issue Category Manual
Notifiers objectscale-supportassist-ese
objectscale-snmp-notifier
OBJST-12008
Name REPLICATION_DESTINATION_OBJECT_STORE_VERSION_OUTDATED
Description One of the following:
● Large object replication blocked due to destination object store version not compatible.
● Object version or delete marker replication blocked due to destination object store version not
compatible.
Issue Category Auto, 60
Notifiers objectscale-snmp-notifier
Remedies ● Check and upgrade the destination object store version to an equal or higher version than the source
object store.
● For additional information on this event, go to https://dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJST-12010
Name REPLICATION_FAILURE_DETAIL
Description Details of an object scale replication failure, including:
● Object name
● Object version
● Failure reason
Issue Category Manual
Notifiers objectscale-snmp-notifier
Remedies ● Use information in the message to determine specific failure reason.
● For additional information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJST-12011
Name REPLICATION_OTHER_FAILURE_DETAIL
Description Unexpected failure happened in ObjectScale replication.
Issue Category Manual
Alerts 257
Notifiers objectscale-snmp-notifier
Remedies ● Contact Dell Technology for support.
● For additional information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJST-13000
Name STORAGE_TIER_UNAVAILABLE
Description Storage tier is not available or degraded.
Issue Category Auto
Notifiers objectscale-snmp-notifier
Remedies ● Check if all the nodes are in maintenance mode.
● Check if one or more of the nodes have been powered off.
● Check if one or more pods are not in the Running state.
● Verify that the disks attached to each of the nodes are all mounted.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJST-13001
Name FAULT_DOMAIN_UNAVAILABLE
Description Fault domain is not available or degraded.
Issue Category Auto, 3
Notifiers objectscale-snmp-notifier
Remedies ● Check if all the nodes are in maintenance mode.
● Check if one or more of the nodes have been powered off.
● Check if one or more pods are not in the Running state.
● Verify that the disks attached to each of the nodes are all mounted.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJST-13002
Name PRAVEGA_THRESHOLD_EXCEEDED
Description Pravega capacity threshold exceeded.
Issue Category Auto
Notifiers objectscale-snmp-notifier
Remedies ● Verify on the object store dashboard under Data Management unreclaimable and reclaimable metadata
or data values are big due to possible delays in space reclamation.
● Verify if used capacity has exceeded defined thresholds.
● Verify if any hardware (nodes or disks) is down that could be causing less usable storage.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJST-13003
Name CAPACITY_USAGE_FOR_OBJECT_STORE
258 Alerts
Description Capacity usage for object store.
Issue Category Auto, 60
Notifiers objectscale-snmp-notifier
Remedies ● Verify on the object store dashboard under Data Management unreclaimable and reclaimable metadata
or data values are big due to possible delays in space reclamation.
● Verify if used capacity has exceeded defined thresholds.
● Verify if any hardware (nodes, disks) is down that could be causing less usable storage.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJST-13004
Name CAPACITY_USAGE_FOR_OBJECT_STORE_ERROR
Description Capacity usage for object store error.
Issue Category Auto
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies ● Verify on the object store dashboard under Data Management unreclaimable and reclaimable metadata
or data values are big due to possible delays in space reclamation.
● Verify if used capacity has exceeded defined thresholds.
● Verify if any hardware (nodes or disks) is down that could be causing less usable storage.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJST-13005
Name CAPACITY_USAGE_FOR_OBJECT_STORE
Description Capacity usage for object store.
Issue Category Auto, 60
Notifiers objectscale-snmp-notifier
Remedies ● Verify on the object store dashboard under Data Management unreclaimable and reclaimable metadata
or data values are big due to possible delays in space reclamation.
● Verify if used capacity has exceeded defined thresholds.
● Verify if any hardware (nodes or disks) is down that could be causing less usable storage.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJST-13006
Name CAPACITY_USAGE_FOR_OBJECT_STORE_ERROR
Description Capacity usage for object store error.
Issue Category Auto
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies -
Alerts 259
OBJST-13007
Name STORAGE_TIER_UNAVAILABLE
Description Storage tier is degraded or possibly unavailable
Issue Category Auto
Notifiers objectscale-snmp-notifier
Remedies -
OBJST-13008
Name FAULT_DOMAIN_UNAVAILABLE
Description Fault domain is degraded or possibly unavailable
Issue Category Auto
Notifiers objectscale-snmp-notifier
Remedies -
OBJST-13009
Name PRAVEGA_CAPACITY_THRESHOLD_EXCEEDED
Description Pravega capacity threshold exceeded.
Issue Category Auto
Notifiers objectscale-snmp-notifier
Remedies ● For additional information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJST-13010
Name CHUNKSTREAM_CAPACITY_THRESHOLD_EXCEEDED
Description Stream chunk used space reached 3TB, exceeding the threshold. This means the Tier1 storage GC is not
working well, it will eventually cause the disks space exhaustion.
Issue Category Auto, 3
Notifiers objectscale-snmp-notifier
Remedies ● Verify on the object store dashboard under Data Management unreclaimable and reclaimable metadata
or data values are big due to possible delays in space reclamation.
● Verify used capacity has exceeded defined thresholds.
● Verify if any hardware (nodes/disks) are down that could be causing less usable storage.
● For additional information on this event, go to www.dell.com/support/objectscale and use the
SymptomID to search support for the knowledgebase article.
OBJST-13011
Name CHUNKSTREAM_CAPACITY_THRESHOLD_EXCEEDED
Description Stream chunk capacity threshold exceeded.
Issue Category Auto
260 Alerts
Notifiers objectscale-snmp-notifier
Remedies ● For additional information on this event, go to www.dell.com/support/objectscale and use the
SymptomID to search support for the knowledgebase article.
OBJSTEPUPD-4000
Name GetManifest
Description Step: Get Manifest
Issue Category Manual
Notifiers objectscale-snmp-notifier
Remedies ● Verify the objectscale-lcm-manifest.json file has been uploaded at http-share using
kubectl exec -it <http-share-pod-name> -n <namespace> - /bin/bash and going
to the bundle location.
● Verify the manifest file is not corrupted.
● For additional information on this event, go to www.dell.com/support/objectscale and use the
SymptomID to search support for the knowledgebase article.
OBJSTEPUPD-4001
Name Precheck
Description Step: Precheck
Issue Category Manual
Notifiers objectscale-snmp-notifier
Remedies ● Run the pre-checks before upgrading the product by clicking PreUpgrade on the upgrade screen.
● Check the report of the pre-checks on the screen and do the remedies mentioned for the failed
pre-checks.
● For additional information on this event, go to www.dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJSTEPUPD-4002
Name BaseAppsUpgrade
Description Step: Base Apps Upgrade
Issue Category Manual
Notifiers objectscale-snmp-notifier
Remedies ● If the pre-requisite step is failed, then the images and the charts are not pushed successfully, try
running the upgrade again.
● If the application upgrade failed, the application payload might have issue.
● For additional information on this event, go to www.dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJSTEPUPD-4003
Name ObjectscaleManagerUpgrade
Description Step: ObjectScale Manager Upgrade
Issue Category Manual
Alerts 261
Notifiers objectscale-snmp-notifier
Remedies ● Run helm list -A command on cluster to check if the App version of Objectscale manager is same
as the target version.
● Run kubectl describe app objectscale-manager -n <objectscale namespace>
command and check if Assembly phase is set as Succeeded.
● Run kubectl get pods -n <objectscale namespace> and verify that all the pods are in the
running state.
● Run kubectl get deployments -n <objectscale namespace> and verify the Ready
replicas are equal to the Total replicas i.e. check the READY status.
● Run kubectl get statefulsets -n <objectscale namespace> and verify the Ready
replicas are equal to the Total replicas i.e. check the READY status.
● For additional information on this event, go to www.dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJSTEPUPD-4004
Name SupportAssistUpgrade
Description Step: Support Assist Upgrade.
Issue Category Manual
Notifiers objectscale-snmp-notifier
Remedies ● Run kubectl get supportassist -n <namespace> -o yaml.
● Verify that State status is set as Connected and Phase status is set as Available.
● For additional information on this event, go to www.dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJSTEPUPD-4005
Name LicenseUpgrade
Description Step: License Upgrade
Issue Category Manual
Notifiers objectscale-snmp-notifier
Remedies ● Run kubectl get license -A -o yaml and verify the phase status is set as Available.
● For additional information on this event, go to www.dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJSTEPUPD–4006
Name ObjectstoreUpgrade
Description Step: Object store Upgrade
Issue Category Manual
Notifiers objectscale-snmp-notifier
Remedies ● Run kubectl get ecs -A and verify that Phase status is Available for all.
● Run kubectl get pods -n <objectstore-namespace> and verify that all the pods are in the
Running state.
● For additional information on this event, go to www.dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
262 Alerts
OBJSTEPUPD–4007
Name PostCheck
Description Step: PostCheck
Issue Category Manual
Notifiers objectscale-snmp-notifier
Remedies ● Run kubectl get deployments -n <objectscale namespace> and verify the Ready
replicas are equal to the Total replicas i.e. check the READY status.
● Run kubectl get statefulsets -n <objectscale namespace> and verify the Ready
replicas are equal to the Total replicas i.e. check the READY status.
● Verify all the containers of all the replicas are in running state.
● Run kubectl get nodes -A and ensure that the number of nodes in greater than 4.
● Verify if the total number of nodes is less than or equal to 9, then number of ready nodes is greater
than or equal to totalNodes-1.
● Verify if the total nodes is greater than 9, then the number of ready nodes is greater than or equal to
4*TotalNodes/5.
● Run kubectl get pods -A grep objectscale-manager-service-pod and verify the pod
is in the Running state.
● Run kubectl get ecs -A and verify the Status Phase is Available for all.
● For additional information on this event, go to www.dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJSTEPUPD–4008
Name ManifestVersionUpgrade
Description Step: Manifest Version Upgrade
Issue Category Manual
Notifiers objectscale-snmp-notifier
Remedies ● As a Kubernetes administrator run kubectl get pods -A and verify the life-cycle-management-
operator and http-share pods are up and running.
● Run kubectl get LCMUpdate -A and verify there is only one LCMUpdate CR created for
manifest version upgrade step.
● Verify the logs of life-cycle-management-operator pod for any errors.
● For additional information on this event, go to www.dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJST-1320
Name BTREE_CHUNK_SR_THRESHOLD_EXCEEDED
Description System metadata space reclamation throughput is too slow to catch up with garbage detection.
Issue Category Auto, 1440
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJST-1321
Name BTREE_CHUNK_SR_THRESHOLD_EXCEEDED
Alerts 263
Description System metadata space reclamation throughput is too slow to catch up with garbage detection.
Issue Category Auto, 1440
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies ● Contact Dell EMC Support for additional information.
● For additional information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJST-1324
Name BTREE_DISK_SR_THRESHOLD_EXCEEDED
Description Capacity free-up throughput is too slow to catch up with system metadata space reclamation.
Issue Category Auto, 1440
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJST-1325
Name BTREE_DISK_SR_THRESHOLD_EXCEEDED
Description Capacity free-up throughput is too slow to catch up with system metadata space reclamation.
Issue Category Auto, 1440
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies ● Contact Dell EMC Support for additional information.
● For additional information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJST-1328
Name BTREE_PARTIAL_SR_THRESHOLD_EXCEEDED
Description Partial space reclamation for system metadata is too slow.
Issue Category Auto, 1440
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJST-1329
Name BTREE_PARTIAL_SR_THRESHOLD_EXCEEDED
Description Partial space reclamation for system metadata is too slow.
Issue Category Auto, 1440
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies ● Contact Dell EMC Support for additional information.
● For additional information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
264 Alerts
OBJST-1332
Name REPO_CHUNK_SR_THRESHOLD_EXCEEDED
Description User space reclamation throughput is too slow to catch up with garbage detection.
Issue Category Auto, 1440
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJST-1333
Name REPO_CHUNK_SR_THRESHOLD_EXCEEDED
Description User space reclamation throughput is too slow to catch up with garbage detection.
Issue Category Auto, 1440
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies ● Contact Dell EMC Support for additional information.
● For additional information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJST-1336
Name REPO_DISK_SR_THRESHOLD_EXCEEDED
Description Capacity free-up throughput is too slow to catch up with user space reclamation.
Issue Category Auto, 1440
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJST-1337
Name REPO_DISK_SR_THRESHOLD_EXCEEDED
Description Capacity free-up throughput is too slow to catch up with user space reclamation.
Issue Category Auto, 1440
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies ● Contact Dell EMC Support for additional information.
● For additional information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJST-1340
Name REPO_PARTIAL_SR_THRESHOLD_EXCEEDED
Description Partial space reclamation for user garbage is too slow.
Issue Category Auto, 1440
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Alerts 265
Remedies For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJST-1341
Name REPO_PARTIAL_SR_THRESHOLD_EXCEEDED
Description Partial space reclamation for user garbage is too slow.
Issue Category Auto, 1440
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies ● Contact Dell EMC technical support for assistance.
● For additional information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJST-1344
Name SR_STATUS_THRESHOLD_EXCEEDED
Description Space reclamation for user data or system metadata is disabled.
Issue Category Auto, 1440
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJST-1345
Name SR_STATUS_THRESHOLD_EXCEEDED
Description Space reclamation for user data or system metadata is disabled.
Issue Category Auto, 1440
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies ● Contact Dell EMC technical support for assistance.
● For additional information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJST-1352
Name MEMORY_TABLE_FREE_SPACE_PERCENT
Description Directory Table memory tension detected.
Issue Category Auto, 60
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJST-1354
Name MEMORY_TABLE_FREE_SPACE_PERCENT
266 Alerts
Description Directory Table memory tension detected.
Issue Category Auto, 60
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies ● Check if user application is fully available and throttle load if application is reporting errors for storage
system.
● Contact Dell EMC Support for additional information.
● For additional information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJST-1364
Name LISTING_CONVERSION_THRESHOLD_EXCEEDED
Description Listing Conversion speed is slow.
Issue Category Auto, 60
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJST-1365
Name LISTING_CONVERSION_THRESHOLD_EXCEEDED
Description Listing Conversion speed is slow.
Issue Category Auto, 60
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies ● For additional information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJST-1366
Name LISTING_CONVERSION_THRESHOLD_EXCEEDED
Description Listing Conversion speed is slow.
Issue Category Auto, 60
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies ● For additional information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJST-1389
Name NVME_BAD_MEMORY_ERROR
Description No memory to allocate to buffer for pod={MY_POD_NAME}, failedCount={count}
Issue Category Auto
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies ● For additional information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
Alerts 267
OBJST-1390
Name SSD_READ_CACHE_CAPACITY_FAILURE
Description SSD read cache auto cleanup fails when capacity full and fallback to memory cache.
Issue Category Auto, 60
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJST-1392
Name SSD_READ_CACHE_CAPACITY_FAILURE
Description SSD read cache auto cleanup fails when capacity full and fallback to memory cache.
Issue Category Auto, 60
Notifiers objectscale-supportassist-ese
objectscale-snmp-notifier
Remedies ● For additional information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJST-1600
Name OBJMT_EVENT_PROCESSOR_FAILURE
Description Object Store metering event processing lag limit exceeded.
Issue Category Manual
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies ● Contact Dell EMC Support for additional information.
● For additional information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJST-1601
Name OBJMT_DELTA_LAG
Description Object Store metering event processing lag limit exceeded.
Issue Category Manual
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies ● Contact Dell EMC Support for additional information.
● For additional information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJST-1602
Name OBJMT_REPLICATION_FAILURE
Description Object Scale replication failure detected.
Issue Category Auto, 60
268 Alerts
Notifiers objectscale-snmp-notifier
Remedies ● Check replication rule on source bucket.
● Check IAM role privileges on both source and destination bucket.
● Check replication policy settings on both source and destination buckets.
● Check target bucket for versioning and lock enabled settings.
● Check if destination object store supports encryption.
● For additional information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJST-1603
Name OBJMT_REPLICATION_NOT_PROGRESSING
Description Object Scale replication is not progressing.
Issue Category Auto
Notifiers objectscale-snmp-notifier
objectscale-supportassist-ese
Remedies ● Check the network status between source and destination Object Store.
● Check if replication to destination object store has been paused.
● Check the destination object store capacity and quota.
● Check the destination bucket quota.
● Contact Dell Technologies Support for additional information.
● For additional information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJST-1604
Name ACCOUNT_HARD_QUOTA_EXCEEDED
Description Hard quota on total object count or size that is exceeded for one account.
Issue Category Manual
Notifiers objectscale-snmp-notifier
Remedies ● Increase hard count or size quota for this account or delete objects in buckets that are owned by this
account.
● For additional information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search support for the knowledge base article.
OBJST-1605
Name ACCOUNT_SOFT_QUOTA_EXCEEDED
Description Soft quota on total object count or size that is exceeded for one account.
Issue Category Manual
Notifiers objectscale-snmp-notifier
Remedies ● Increase soft count or size quota for this account or delete objects in buckets that are owned by this
account.
● For additional information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
Alerts 269
OBJST-1700
Name PRAVEGA_CONNECT_STATUS
Description Pravega connection failed for at least 1 hour(default configuration).
Issue Category Auto, 60
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies ● Check that all Pravega pods are ready.
● Use DT tool listing streams or events to confirm Pravega service status.
● Check Pravega service logs for more details.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJST-1701
Name PRAVEGA_SERVICE_STATUS
Description Pravega service is unavailable.
Issue Category Auto, 60
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies ● Ensure that the process of object store provisioning has completed.
● Check that all Pravega pods are ready.
● Check Pravega service logs for more details.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJST-2100
Name CHUNKSTREAM_METADATA_CORRUPTION
Description Chunk stream metadata is invalid, need manual intervention
Issue Category Auto
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies ● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledgebase article.
OBJST-2101
Name CHUNKSTREAM_DATA_CORRUPTION
Description Chunk stream data is corrupted in all 3 copies and can not be recovered, need manual intervention.
Issue Category Auto
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies ● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledgebase article.
OBJST-MON-4016
Name MonitoringHealth
270 Alerts
Description No data is pushed to the monitoring framework for the last 30 minutes.
Issue Category Auto, 60
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJST-MON-4019
Name MonitoringHealth
Description No data has been pushed to the monitoring framework for the last 30 minutes.
Issue Category Auto, 60
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies ● Check monitoring components health (telegraf, influxdb, fluxd).
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJST-MON-4020
Name MonitoringFluxd
Description Fluxd has not responded for the last 30 minutes.
Issue Category Auto, 60
Notifiers objectscale-supportassist-ese, objectscale-snmp-notifier
Remedies ● Check Fluxd service status.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJSTORE-HC-1000
Name Pre-Update
Description Preupdate health check for application.
Issue Category Auto
Notifiers objectscale-snmp-notifier
Remedies ● Check the health status in the <component>-app-configmap to find which checks failed.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
OBJUPD-1000
Name ObjectscaleProductUpgrade
Description ObjectScale product upgrade
Issue Category Manual
Notifiers objectscale-snmp-notifier
Remedies ● Identify the step where the upgrade failed by looking into the report.
● Perform the remedies for the failed step.
Alerts 271
● For additional information on this event, go to "www.dell.com/support/objectscale" and use the
SymptomID to search support for the knowledge base article.
SNMPNOTI-1000
Name SNMPConnection
Description SNMP connection issue.
Issue Category Auto
Notifiers -
Remedies ● Verify that the SNMP credentials are configured with the correct authentication values.
● Verify that the engineID matches with the engineID that is configured for the product in the
SNMP server.
● Verify that the product SNMP notifier is configured with the correct host or IP address and port.
● Verify the connectivity to the SNMP server, and check firewall, network routing.
● Verify that the SNMP v2c configuration has the correct community string.
● For more information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
TEST TRAP
Name Test SNMP TRAP
Description Test SNMP TRAP
Issue Category -
Notifiers objectscale-snmp-notifier
Remedies ● Verify that the SNMP credentials are configured with the correct authentication values.
● Verify that the engineID matches with the engineID that is configured for the product in the
SNMP server.
● Verify that the product SNMP notifier is configured with the correct host or IP address and port.
● Verify the connectivity to the SNMP server, and check firewall, network routing.
● Verify that the SNMP v2c configuration has the correct community string.
● For additional information about this event, go to https://dell.com/support/objectscale and use the
SymptomID to search for the knowledge base article.
272 Alerts
15
Metrics for ObjectScale and object stores
Topics:
• ObjectScale metrics
• ObjectScale metrics in Grafana
ObjectScale metrics
Metering details within an ObjectScale instance
Various metering information is available for users on the ObjectScale instance and its object stores and other features.
ObjectScale-level metrics
The ObjectScale instance Dashboard page shows current metric values for the ObjectScale instance.
Object Store Performance is selectable for each object store in the ObjectScale instance.
● Name
● State
● Read First Byte (p50)
● Write Last Byte (p50)
● Read First Byte (p99)
● Write Last Byte (p99)
● Compression ratio
ObjectScale Summary shows the following types of metering data for the ObjectScale instance.
● Health (Critical, Error, and Warning)
● System Data (Data Protection, Metadata, Metadata Protection, Data pending for EC, and Rate of EC per second in both
Base-2 and Base-10)
● Capacity Utilization (Physical Used, Available, Reserved, Total, % Full, and Days till Full (Est) in both Base-2 and Base-10)
● Data Management (Data Being Reclaimed, Unreclaimable Metadata, Unreclaimable User Data, Reclaimable Metadata,
Reclaimable User Data, and Capacity Reclaimed in both Base-2 and Base-10)
Account-level metrics
The Account Summary page shows metrics for the selected account.
● Alias
● Account ID
● Enabled
● Protection Mode (enabled or disabled)
● Created On
● Description
● Groups
● Users
● Roles
Account Data
Aggregate Metrics shows total values for the selected account. These values are shown in four formats: Logical - Base-2,
Logical - Base-10, Physical - Base-2, and Physical - Base-10.
● Total Replica Data
● Total User Object Data
Hourly Metrics shows values for the selected account measured hourly. These values are shown in four formats: Logical -
Base-2, Logical - Base-10, Physical - Base-2, and Physical - Base-10.
● Created Object Data
● Deleted Object Data
● Created Replica Data
● Deleted Replica Data
Capacity - Overview Monitors the current and past capacity of each object store in the ObjectScale
instance.
Capacity Utilization: Space Reclamation Monitors the total garbage collection and capacity reclaimed from garbage
collection, current and historical.
Capacity Utilization: Used Capacity Monitors the total, used, and offline capacity data, current and historical.
Capacity Utilization: User Data Monitors the user data, current and historical.
Data Access Performance - Overview Detailed overview of the data access performance for the ObjectScale instance with
views on the transaction summary, successful requests drill down, and failures drill
down.
Garbage Collection: Capacity Reclaimed Monitors the amount of capacity reclaimed from garbage collection and provides a
history of past capacity reclamation.
Garbage Collection: Garbage Detected Monitors the amount of garbage detected within the instance.
IAM Telemetry Details the IAM entities for each IAM account within the ObjectScale instance.
Node Rebalancing Provides an overview of any node rebalancing that has occurred, with details on
the amount of data rebalanced, pending rebalancing. and the rate of rebalance (per
day).
Recovery Status Monitors the recovery status, with details on the amount of data to be recovered,
recovery rate (per second), and the time to completion.
Top Buckets Lists the top buckets in the ObjectScale instance by size and by object count.
You can access these dashboards by clicking METRICS on the Dashboard and Accounts pages within the ObjectScale instance.
Capacity - Overview Monitors the current and past capacity the object store.
Capacity - Overview by Disks Monitors the current and past capacity the disks.
Capacity - Overview by Nodes Monitors the current and past capacity the nodes.
Capacity Utilization: Space Reclamation Monitors the total garbage collection and capacity reclaimed from garbage
collection, current and historical.
Capacity Utilization: Used Capacity Monitors the total, used, and offline capacity data, current and historical.
Capacity Utilization: User Data Monitors the user data, current and historical.
Data Access Performance - by Instance Detailed overview of the data access performance for the instance.
Data Access Performance - Overview Detailed overview of the data access performance for the ObjectScale instance with
views on the transaction summary, successful requests drill down, and failures drill
down.
Data Access Performance Realtime - by Provides a real time view of the data access performance by instance.
Instance
Disk Bandwidth Monitors the overall disk read/write bandwidth for the object store over the
selected period of time, current and historical.
Hardware Health: All Nodes and Disks - Monitors the individual status of each node and their disks. Use the node_id
by Nodes dropdown to view details on a node.
Hardware Health: All Nodes and Disks - Monitors the status of all nodes and disks in the object store.
Overview
Hardware Health: Offline Disks Monitors the status of all offline disks in the object store.
Hardware Health: Offline Nodes Monitors the status offline nodes in the object store.
Node Rebalancing Provides an overview of any node rebalancing that has occurred, with details on
the amount of data rebalanced, pending rebalancing. and the rate of rebalance (per
day).
Recovery - Disk Recovery Progress Monitors the current and past disk recover status.
Recovery Status Monitors the recovery status, with details on the amount of data to be recovered,
recovery rate (per second), and the time to completion.
Top Buckets Lists the top buckets in the object store by size and object count.
You can access these dashboards by clicking METRICS link of each object store.
Service procedures
In this release, ObjectScale supports the following service procedures for customers to use to maintain their ObjectScale
deployment.
● Horizontal Expansion
● Vertical Expansion
● Temporary Maintenance Mode
● Permanent Maintenance Mode
● Disk Replacement
● Node Replacement
● Add node to ObjectScale deployed on the ObjectScale software bundle
● Retire or remove a node from ObjectScale deployed on the ObjectScale software bundle
Ensure there is no parallel workload occurring which may consume these resources while the expansion
process is in progress. If a vertical expand procedure is initiated with fewer resources than it requires, there
is a chance for a Data Unavailability until enough resources are added and expansion process completes.
Prerequisites
Before beginning this expansion, ensure that:
● The object store is in a healthy or available status.
● All prior capacity expansions are complete.
Steps
1. From the ObjectScale Portal user interface, click Administration > ObjectScale.
The list of Object Stores in the selected namespace that the user is authorized to view is displayed.
2. Select the appropriate namespace from the namespace drop-down on the upper right the ObjectScale Portal user interface.
3. Record the information about the current capacity of the object store by:
NOTE: Each SS in the object store has the identical number of volumes. New SS replicas have the same number of
volumes as any other existing SS in the current object store.
a. In the table of object stores, click the name of object store whose capacity you want to expand.
b. Click the Summary tab and locate the SS Replica Counts value in the Storage details table.
Prerequisites
Before beginning this expansion, ensure that:
● The object store is in a healthy or available state.
● All prior object store expansions are complete.
● There is available unused capacity for use in this expansion.
Steps
1. From the ObjectScale Portal user interface, click Administration > ObjectScale.
The list of Object Stores in the selected namespace that the user is authorized to view is displayed.
2. Select the appropriate namespace from the namespace drop-down on the upper right the ObjectScale Portal user interface.
3. Record the information about the current capacity of the object store by:
a. In the table of object stores, click the name of object store whose volumes you want to increase.
b. Click the object store Summary tab and locate the Volumes per Storage Server Replica value in the Storage details
table.
NOTE: If the node TMM for more than one hour, and it is running an SS replica, recovery begins for the data on that node.
For ObjectScale instances deployed on a Red Hat OpenShift cluster, manually place a node into TMM by placing a taint on the
node.
For the ObjectScale Software Bundle Cluster, you must enter TMM by making the node unschedulable and then manually
cordon the node within the CMO Platform. This step is not automatic and initiated by the cluster administrator similar to original
step used to enter TMM.
When TMM occurs, ObjectScale Operator reacts to the node taint and undertakes the following actions.
● Once placed into TMM, all stateless pods (ReplicaSet pods) are relocated to other available nodes in the cluster
automatically.
● Pods controlled by a DaemonSet may continue to run on the node while in TMM. This includes some CSI Bare-Metal,
Kubernetes, and platform-related pods continue running on the node under TMM.
Steps
1. Apply a taint to the node to be placed into temporary maintenance mode:
NAME AGE
recovery-ecs-cluster-bk-bookie-0-18369f2d 32m
recovery-ecs-cluster-bk-bookie-1-426c0578 26h
recovery-ecs-cluster-influxdb-0-abee6329 34m
recovery-ecs-cluster-influxdb-2-1d470d3e 33m
recovery-ecs-cluster-zookeeper-4-c01cff83 33m
recovery-objectscale-manager-influxdb-0-42e4e0a9 46m
tmm-a4a9b606-4126-4914-b18c-27337e841f63 15m
NOTE: To obtain details about a service procedure, including its status, use:
4. Monitor the status of the service procedure with the following command:
The service procedure transitions through various phases as it progresses. The Reason value for the TMM service procedure
should progress from NotStarted, In Progress, PostCheck, and finally to Success. TMM should enter Waiting
until the taint is removed, at which point it goes to Success.
6. Also, any pods previously running on the TMM node that belong to a StatefulSet enter the Pending state. These are pods
that have a persistent volume claim (PVC) that is bound to a persistent volume (PV) on the node in TMM.
7. Verify the ObjectScale Portal UI shows that the node has entered TMM by reviewing the Monitoring > Alerts tab.
Results
The node is now in TMM.
NOTE: Ensure that you check the Alerts and Logs corresponding to ObjectScale Operator.
Steps
1. Remove the taint from the node in temporary maintenance mode.
4. Verify that the ObjectScale Portal UI shows that the node has returned from TMM by reviewing the Monitoring > Alerts
tab.
Results
All pods that were in the pending state are now running on the node as before.
Steps
1. Apply a taint to the node to be removed:
Wait for the PMM service procedure to complete before moving on to the next steps.
2. Collect the UUID for the node to be removed from the cluster:
NOTE: Once you delete the node, it is no longer listed in the kubectl get nodes output.
For healthy node removal initiated by tainting the node, removal of CSI resources happens automatically.
This process includes removal of the following CSI resources, which completes the node removal process:
● The Bare-Metal node
● Available capacity
● Bare-Metal drive CRs
3. Collect the UUID for the node to be removed from the cluster:
NOTE: Once you delete the node, it is no longer listed in the kubectl get nodes output.
kubectl get volume | grep <NODE_UUID> | awk '{print $1}' | xargs kubectl patch
volume --type merge -p '{"metadata":{"finalizers":null}}'
kubectl get volume | grep <NODE_UUID>| awk '{print $1}' | xargs kubectl delete
volume
kubectl get lvg | grep <NODE_UUID> | awk '{print $1}' | xargs kubectl patch lvg
--type merge -p '{"metadata":{"finalizers":null}}'
kubectl get lvg | grep <NODE_UUID> | awk '{print $1}' | xargs kubectl delete lvg
kubectl get csibmnode | grep <NODE_UUID> | awk '{print $1}' | xargs kubectl patch
csibmnode --type merge -p '{"metadata":{"finalizers":null}}'
kubectl get csibmnode | grep <NODE_UUID>| awk '{print $1}' | xargs kubectl delete
csibmnode
kubectl get drive | grep <NODE_UUID> | awk '{print $1}' | xargs kubectl delete drive
kubectl get ac | grep <NODE_UUID> | awk '{print $1}' | xargs kubectl delete ac
9. Remove the pending pods for all namespaces that are associated with ObjectScale and object stores:
a. Identify the pods to be deleted:
b. Delete each pod returned, that is associated with the removed node:
10. Finally, verify that all the resources have been successfully removed:
a. Check for Bare-Metal nodes:
Steps
1. Apply a taint to the node to be placed into ObjectScale temporary maintenance mode:
NOTE: To obtain details about a service procedure, including its status, use:
The service procedure transitions through various phases as it progresses. The Reason value for the TMM service
procedure should progress from NotStarted, In Progress, PostCheck, Waiting, and finally to Success. A reason
of Success or Waiting indicates that the service procedure has completed without error, and the node is now in TMM.
5. Next, place the node into maintenance mode within the CMO Platform within the ObjectScale Software Bundle.
For example:
For example:
8. Verify that all CMO component pods have been rescheduled to the other nodes.
9. Verify the ObjectScale Portal UI shows that the node has entered TMM by reviewing the Monitoring > Issues tab.
Results
The node is now in TMM.
NOTE: Ensure that you check the Issues or Logs corresponding to ObjectScale Operator.
6. Verify that the ObjectScale Portal UI shows that the node has returned from TMM by reviewing the Monitoring > Events
tab.
Results
All pods that were in the Pending state are now running on the node as before.
Steps
1. From the ObjectScale Portal user interface, click Nodes.
The list of Nodes that the user is authorized to view is displayed.
2. Select the Node to be placed into Maintenance Mode by clicking the radio button on its left side.
3. From the Action dropdown, click Enable Maintenance Mode.
A dialogue box is displayed to confirm placing the node into maintenance mode.
4. Click the checkbox to acknowledge the risks and click Enable.
A notification is displayed indicating that maintenance mode operation has been initiated.
Results
The selected node is now in Maintenance Mode.
Results
The node has exited Maintenance Mode.
Steps
1. From the ObjectScale Portal user interface, click Administration > ObjectScale.
The list of Object Stores in the selected namespace that the user is authorized to view is displayed.
2. Select the appropriate namespace from the namespace drop-down on the upper right the ObjectScale Portal user interface.
3. Optional: Locate the object store containing the failed disk on the object stores details page.
d. Confirm that the ISSUE has been updated with Reason: DriveReadyForPhysicalRemoval.
CAUTION: Do not physical replace the disk until the above WARNING event is displayed under the
respective ISSUE.
The disk LED is blinking. If you are unable to identify the disk to replace, you will need to determine another way to identify
the disk manually or visually, by using additional information located in the associated ISSUE events.
6. Remove and replace the failed drive with the new, clean drive. Afterwards, the ISSUE in ObjectScale Portal UI will be
auto-cleared by being set to Normal severity. Once the event Reason: "DriveSuccessfullyRemoved" occurs and
you have inserted a new drive into the node, the disk replacement service procedure has completed successfully and no
further actions is required.
Proactive Disk Removal Service Procedure (for Appliance and Software Bundle)
Steps
1. From the ObjectScale Portal user interface, click Disks.
The list of Disks that the user is authorized to view is displayed.
2. Select the disk to be removed, and click Remove.
A dialogue box is displayed to acknowledge the risks and confirm disk removal.
3. Click Remove disk.
The health of the disk is changed to "BAD".
8. When the status turns "ReadytoEject", click Eject to blink the disk on the rack.
A dialogue box is displayed to confirm the eject disk procedure.
9. Click Eject disk.
The disk is ready to be physically removed.
10. Remove the disk physically.
You can physically locate the correct disk in two ways:
a. By checking the CSI-01 alert; see the Monitoring Events, Audits, and Alerts section for more details.
b. By using the following commands:
First define the drive name driveName=<drive name> , and then get the node and slot information using the below
commands:
#Node
nodeUUID=$(kubectl get drive ${driveName} -o yaml | grep NodeId | awk -F ': '
#Slot
kubectl get drive ${driveName} -o yaml | grep Slot | awk -F ': ' '{print$2}'
Reactive Disk Removal Service Procedure (for Appliance and Software Bundle)
Steps
1. CSI marks the status of failed disks from IN_USE to RELEASING.
2. The cluster operation CR gets created.
NOTE: This change is applicable only for SS pods. For non-SS pods, the object store status does not change.
6. When the status turns "ReadytoEject", clickEject to blink the disk on the rack.
A dialogue box is displayed to confirm the eject disk procedure.
7. Click Eject disk.
The disk is ready to be physically removed.
8. Remove the disk physically.
You can physically locate the correct disk in two ways:
a. By checking the CSI-01 alert; see the Monitoring Events, Audits, and Alerts section for more details.
b. By using the following commands:
First define the drive name driveName=<drive name> , and then get the node and slot information using the below
commands:
#Node
nodeUUID=$(kubectl get drive ${driveName} -o yaml | grep NodeId | awk -F ': '
'{print$2}')
kubectl get csibmnode | grep $nodeUUID | awk '{print $3}'
#Slot
kubectl get drive ${driveName} -o yaml | grep Slot | awk -F ': ' '{print$2}'
OpenShift
Prerequisites
● Ensure that the replacement node has the same name and IP address as the node being replaced.
● If the replacement process takes longer than 1 hour (which is likely), recovery begins to run for the data on the replaced
node. However, it should stop once the node is replaced and operational.
Steps
1. Prepare the node for removal:
● If the node is healthy, follow Place a node into temporary maintenance mode (ObjectScale on OpenShift) to prepare the
node to be replaced by placing the node into TMM.
● If the node is in a failed
state, follow https://access.redhat.com/documentation/en-us/red_hat_openshift_container_storage/4.6/
html/replacing_nodes/openshift_container_storage_deployed_using_local_storage_devices#replacing-a-failed-node-on-
bare-metal-user-provisioned-infrastructure_rhocs
a. From the service node, run the following command to mark the node as unscheduable:
3. Physically remove and replace the failed node hardware. As you do so, ensure that:
● You move all the drives from the failed node into the new compute node. Then install and join it back to the OpenShift
cluster, following the steps outlined in the OpenShift documentation.
● The new node satisfies the requirements that are listed in the "Deployment pre-requisites for ObjectScale on OpenShift"
of the Dell ObjectScale Application Installation Guide for Red Hat OpenShift.
All the PVC bindings remain, all the stateful pods start on the new node.
4. Ensure that the new node has been added to the cluster, and all nodes are ready. For example:
5. Verify that CSI recognizes the node and it appears in the Bare-Metal node list. For example:
Software Bundle
Prerequisites
Ensure that the new node is:
● Installed the same operating system version and networking
● Configured in a consistent manner as the other nodes within the ObjectScale Software Bundle
Steps
1. The ObjectScale Software Bundle CMO Platform Manager APIs require a keycloak token to authenticate the requests for
cluster management tasks.
The ObjectScale Software Bundle contains a CMO Platform Manager running on Kubernetes within the cluster that is used
to request cluster management tasks, like service procedures.
3. On the node, create the scaleup.json file with the necessary details for the node.
NOTE: When a node is added to a cluster, a situation may occur whereby the /etc/hosts file for the added node is
not updated correctly, which causes issues when the cluster is upgraded. To avoid failures during the upgrade process,
perform the following steps after adding a node:
a. Retrieve the helmrepo service IP address.
For example:
b. Add an entry for the service to the /etc/hosts file of the added node. For example:
<CLUSTER_IP> helmrepo
For example:
172.43.174.187 helmrepo
Place this JSON payload in the node where we are going to perform the scale up of the node.
{
"credentials": [{
"name": "<HOSTNAME>",
"type": "password",
"password": "<PASSWORD>"
}],
"hosts": [{
"hostname": "<NODE_HOSTNAME>",
"managementhost": "<HOST_IP>",
"kuberneteshost": "<HOST_IP>",
"hostCredentials": "<HOST_CREDS>",
"topology": {
"role": "controlplane" or "worker"
}
}]
}
For example:
{
"credentials": [{
"name": "mykey1",
4. Call the CMO Platform Manager API to initiate the scaling-up operation.
Run this command from the directory where the scaleup.json file exists.
For example:
5. Collect the "id" value from the returned output. You will use this value in the next step.
For previous example, the "id" value is 286bdb32-ff07-4e46-947e-e4c9e9b98338.
6. After performing the scale up API, check the status of the operation:
NOTE: The CMO Platform Manager TOKEN may expire, and need to be refreshed by running:
Prerequisites
Ensure that the ObjectScale Software Bundle is equipped with a spare node with enough drives for the pods. This spare node
receives the contents of the node that is placed into permanent maintenance mode.
Steps
1. The ObjectScale Software Bundle CMO Platform Manager APIs require a keycloak token to authenticate the requests for
cluster management tasks.
The ObjectScale Software Bundle contains a CMO Platform Manager running on Kubernetes within the cluster that is used
to request cluster management tasks, like service procedures.
NOTE: To obtain details about a service procedure, including its status, use:
The service procedure transitions through various phases as it progresses. The Reason value for the PMM service procedure
should progress from NotStarted, In Progress, PostCheck, and finally to Success. A reason of Success indicates
that the service procedure has completed without error, and the node is now in PMM.
6. Once the PMM service procedure is successful, place the node into maintenance mode within the CMO Platform within the
ObjectScale Software Bundle.
9. Verify that all CMO component pods, except the DaemonSet-managed Pods, have been rescheduled to the other nodes.
10. Create the scaledown.json with the details of the node that you are removing from the ObjectScale Software Bundle.
Place this JSON payload in the node where you are going to perform the scale down of the node.
{
"hosts": [{
"hostname": "<NODE_HOSTNAME>"
}],
"remove_os_packages": "true"
}
NOTE: If the remove_os_packages parameter is set to true, the OS packages are removed from the node. This
precludes the user from adding the node back to the cluster without reinstalling those OS packages.
For example:
{
"worker": [{
"hostname": "hostname6",
}],
"remove_os_packages": "true"
}
11. Scale down the node using the CMO Platform Manager scale down API.
NOTE: If the node is unreachable (the logs read "Unreachable=1"), a scale down operation would report failure, even
though the scale down happens successfully.
......
{
"created_at" : "2023-04-15T11:35:35Z",
"completed_tasks" : 0,
"total_tasks" : 273,
"recap" : {
"hosts" : {}
},
"id" : "ac2324c5-0112-45f3-83e9-4f018d24ca57",
"link" : {
"href" : "https://0.0.0.0:8080/v1/status/ac2324c5-0112-45f3-83e9-4f018d24ca57",
"rel" : "self"
},
"logs" : "",
"state" : "created",
"updated_at" : "2023-04-15T11:35:36Z",
"playbook_id" : "remove-node"
}
12. Collect the "id" value from the returned output. You will use this value in the next step.
For previous example, the "id" value is ac2324c5-0112-45f3-83e9-4f018d24ca57.
13. After performing the scale down API, check the status of the operation through the API below:
NOTE: The CMO Platform Manager TOKEN may expire, and be refreshed by running:
14. Confirm that the node has been removed from the node list.
Steps
1. The ObjectScale Software Bundle CMO Platform Manager APIs require a keycloak token to authenticate the requests for
cluster management tasks.
The ObjectScale Software Bundle contains a CMO Platform Manager running on Kubernetes within the cluster that is used
to request cluster management tasks, like service procedures.
For example:
4. Create the scaledown.json with the details of the node that you are removing from the ObjectScale Software Bundle.
Place this JSON payload in one of the controlplane nodes where you will to perform the scale down of the node.
{
"hosts": [{
"hostname": "<NODE_HOSTNAME>"
}],
"remove_os_packages": "false"
}
5. Scale down the node using the CMO Platform Manager scale down API.
NOTE: If the node is unreachable (the logs read "Unreachable=1"), a scale down operation would report failure, even
though the scale down happens successfully.
For example:
......
{
"created_at" : "2023-04-15T11:35:35Z",
"completed_tasks" : 0,
"total_tasks" : 273,
"recap" : {
6. Collect the "id" value from the returned output. You will use this value in the next step.
For previous example, the "id" value is ac2324c5-0112-45f3-83e9-4f018d24ca57.
7. After performing the scale down API, check the status of the operation through the API below:
NOTE: The CMO Platform Manager TOKEN may expire, and be refreshed by running:
8. Confirm that the node has been removed from the node list.
9. Verify that the statefulset pods have move to Pending state after node removal:
10. Fix the node while it is offline, and then go to the next step.
11. On the node, create the scaleup.json file with the necessary details for the node.
NOTE: When a node is added to a cluster, a situation may occur whereby the /etc/hosts file for the added node is
not updated correctly, which causes issues when the cluster is upgraded. To avoid failures during the upgrade process,
perform the following steps after adding a node:
a. Retrieve the helmrepo service IP address.
For example:
b. Add an entry for the service to the /etc/hosts file of the added node. For example:
<CLUSTER_IP> helmrepo
172.43.174.187 helmrepo
Place this JSON payload in the node where we are going to perform the scale up of the node.
{
"credentials": [{
"name": "<HOSTNAME>",
"type": "password",
"password": "<PASSWORD>"
}],
"hosts": [{
"hostname": "<NODE_HOSTNAME>",
"managementhost": "<HOST_IP>",
"kuberneteshost": "<HOST_IP>",
"hostCredentials": "<HOST_CREDS>",
"topology": {
"role": "controlplane" or "worker"
}
}]
}
For example:
{
"credentials": [{
"name": "mykey1",
"type": "password",
"password": "ChangeMe"
}],
"hosts": [{
"hostname": "hostname6",
"managementhost": "10.236.227.213",
"kuberneteshost": "10.236.227.213",
"hostCredentials": "mykey1",
"topology": {
"role": "controlplane"
}
}]
}
12. Call the CMO Platform Manager API to initiate the scaling-up operation.
Run this command from the directory where the scaleup.json file exists.
For example:
13. Collect the "id" value from the returned output. You will use this value in the next step.
For previous example, the "id" value is 286bdb32-ff07-4e46-947e-e4c9e9b98338.
14. After performing the scale up API, check the status of the operation:
NOTE: The CMO Platform Manager TOKEN may expire, and need to be refreshed by running:
15. Confirm that the new node appears in the node list.
Steps
1. The ObjectScale Software Bundle CMO Platform Manager APIs require a keycloak token to authenticate the requests for
cluster management tasks.
The ObjectScale Software Bundle contains a CMO Platform Manager running on Kubernetes within the cluster that is used
to request cluster management tasks, like service procedures.
3. Apply a taint to the node to be placed into ObjectScale temporary maintenance mode:
NOTE: To obtain details about a service procedure, including its status, use:
6. Monitor the status of the service procedure with the following command:
The service procedure transitions through various phases as it progresses. The Reason value for the TMM service
procedure should progress from NotStarted, In Progress, PostCheck, Waiting, and finally to Success. A reason
of Success or Waiting indicates that the service procedure has completed without error, and the node is now in TMM.
7. Next, place the node into maintenance mode within the CMO Platform within the ObjectScale Software Bundle.
For example:
For example:
10. Verify that all CMO component pods have been rescheduled to the other nodes.
11. Verify the ObjectScale Portal UI shows that the node has entered TMM by reviewing the Monitoring > Issues tab.
12. Create the scaledown.json with the details of the node that you are removing from the ObjectScale Software Bundle
cluster.
Place this JSON payload in a controlplane node where you are going to perform the scale down of the node.
{
"hosts": [{
"hostname": "<NODE_HOSTNAME>"
}],
"remove_os_packages": "false"
}
13. Scale down the node using the CMO Platform Manager scale down API.
NOTE: If the node is unreachable (the logs read "Unreachable=1"), a scale down operation would report failure, even
though the scale down happens successfully.
For example:
......
{
"created_at" : "2023-04-15T11:35:35Z",
"completed_tasks" : 0,
"total_tasks" : 273,
"recap" : {
"hosts" : {}
},
"id" : "ac2324c5-0112-45f3-83e9-4f018d24ca57",
"link" : {
"href" : "https://0.0.0.0:8080/v1/status/ac2324c5-0112-45f3-83e9-4f018d24ca57",
"rel" : "self"
},
"logs" : "",
"state" : "created",
"updated_at" : "2023-04-15T11:35:36Z",
"playbook_id" : "remove-node"
}
14. Collect the "id" value from the returned output. You will use this value in the next step.
For previous example, the "id" value is ac2324c5-0112-45f3-83e9-4f018d24ca57.
15. After performing the scale down API, check the status of the operation through the API below:
NOTE: The CMO Platform Manager TOKEN may expire, and be refreshed by running:
16. Confirm that the node has been removed from the node list.
For example:
b. Add an entry for the service to the /etc/hosts file of the added node. For example:
<CLUSTER_IP> helmrepo
For example:
172.43.174.187 helmrepo
Place this JSON payload in the node where we are going to perform the scale up of the node.
{
"credentials": [{
"name": "<HOSTNAME>",
"type": "password",
"password": "<PASSWORD>"
}],
"hosts": [{
"hostname": "<NODE_HOSTNAME>",
"managementhost": "<HOST_IP>",
"kuberneteshost": "<HOST_IP>",
"hostCredentials": "<HOST_CREDS>",
"topology": {
"role": "controlplane" or "worker"
}
}]
}
For example:
{
"credentials": [{
"name": "mykey1",
"type": "password",
19. Call the CMO Platform Manager API to initiate the scaling-up operation.
Run this command from the directory where the scaleup.json file exists.
For example:
20. Collect the "id" value from the returned output. You will use this value in the next step.
For previous example, the "id" value is 286bdb32-ff07-4e46-947e-e4c9e9b98338.
21. After performing the scale up API, check the status of the operation:
NOTE: The CMO Platform Manager TOKEN may expire, and need to be refreshed by running:
22. Confirm that the new node appears in the node list.
Prerequisites
Ensure that the new node has the same OS version and networking configuration as the other nodes within the ObjectScale
Software Bundle.
Steps
1. The ObjectScale Software Bundle CMO Platform Manager APIs require a keycloak token to authenticate the requests for
cluster management tasks.
The ObjectScale Software Bundle contains a CMO Platform Manager running on Kubernetes within the cluster that is used
to request cluster management tasks, like service procedures.
{
"credentials": [{
"name": "<HOSTNAME>",
"type": "password",
"password": "<PASSWORD>"
}],
"hosts": [{
"hostname": "<NODE_HOSTNAME>",
"managementhost": "<HOST_IP>",
"kuberneteshost": "<HOST_IP>",
"hostCredentials": "<HOST_CREDS>",
"topology": {
"hostref": "<OLD_NODE_NAME>" // This is only for replacing old node, the
resource from the old node will be preferentially schedule to the new node
}
}]
}
{
"credentials": [{
"name": "mykey1",
"type": "password",
"password": "ChangeMe"
}],
"hosts": [{
"hostname": "lehi-enterprise",
"managementhost": "10.236.227.213",
"kuberneteshost": "10.236.227.213",
"hostCredentials": "mykey1",
"hostref": "hostname4"
}
}]
}
4. Call the CMO Platform Manager API to initiate the scaling-up operation.
Run this command from the directory where the scaleup.json file exists.
For example:
5. Collect the "id" value from the returned output. You will use this value in the next step.
For previous example, the "id" value is 286bdb32-ff07-4e46-947e-e4c9e9b98338.
6. After performing the scale up API, check the status of the operation:
NOTE: The CMO Platform Manager TOKEN may expire, and need to be refreshed by running:
NOTE: To obtain details about a service procedure, including its status, use:
11. Monitor the status of the service procedure with the following command:
The service procedure transitions through various phases as it progresses. The Reason value for the PMM service procedure
should progress from NotStarted, In Progress, PostCheck, and finally to Success. A reason of Success indicates
that the service procedure has completed without error, and the node is now in PMM.
12. Once the PMM service procedure is successful, place the node into maintenance mode within the CMO Platform within the
ObjectScale Software Bundle.
15. Verify that all CMO component pods, except the DaemonSet-managed Pods, have been rescheduled to the other nodes.
16. Create the scaledown.json with the details of the node that you are removing from the ObjectScale Software Bundle.
Place this JSON payload in the node where you are going to perform the scale down of the node.
{
"hosts": [{
"hostname": "<NODE_HOSTNAME>"
}],
NOTE: If the remove_os_packages parameter is set to true, the OS packages are removed from the node. This
precludes the user from adding the node back to the cluster without reinstalling those OS packages.
For example:
{
"worker": [{
"hostname": "hostname6",
}],
"remove_os_packages": "true"
}
17. Scale down the node using the CMO Platform Manager scale down API.
NOTE: If the node is unreachable (the logs read "Unreachable=1"), a scale down operation would report failure, even
though the scale down happens successfully.
For example:
......
{
"created_at" : "2023-04-15T11:35:35Z",
"completed_tasks" : 0,
"total_tasks" : 273,
"recap" : {
"hosts" : {}
},
"id" : "ac2324c5-0112-45f3-83e9-4f018d24ca57",
"link" : {
"href" : "https://0.0.0.0:8080/v1/status/ac2324c5-0112-45f3-83e9-4f018d24ca57",
"rel" : "self"
},
"logs" : "",
"state" : "created",
"updated_at" : "2023-04-15T11:35:36Z",
"playbook_id" : "remove-node"
}
18. Collect the "id" value from the returned output. You will use this value in the next step.
For previous example, the "id" value is ac2324c5-0112-45f3-83e9-4f018d24ca57.
19. After performing the scale down API, check the status of the operation through the API below:
NOTE: The CMO Platform Manager TOKEN may expire, and be refreshed by running:
21. Verify that the pods from the removed node have been rescheduled to the new node.
Prerequisites
Ensure that the new node has the same operating system version and networking configuration as the other nodes within the
ObjectScale Software Bundle. Ensure that the system has an extra FTT quota, that is, if the system is FTT=1, ensure that there
are no extra nods down. If the system is FTT=2, the other down node size is <=1. Ensure that there are no other ongoing service
procedures or recoveries.
NOTE: If this FTT requirement is not met, do not proceed with these steps; call Dell Support.
Steps
1. The ObjectScale Software Bundle CMO Platform Manager APIs require a keycloak token to authenticate the requests for
cluster management tasks.
The ObjectScale Software Bundle contains a CMO Platform Manager running on Kubernetes within the cluster that is used
to request cluster management tasks, like service procedures.
3. Create the scaledown.json with the details of the node that you are removing from the ObjectScale Software Bundle.
{
"hosts": [{
"hostname": "<NODE_HOSTNAME>"
}],
"remove_os_packages": "true"
}
NOTE: If the remove_os_packages parameter is set to true, the OS packages are removed from the node. This
precludes the user from adding the node back to the cluster without reinstalling those OS packages.
For example:
{
"worker": [{
"hostname": "hostname6",
}],
"remove_os_packages": "true"
}
4. Scale down the node using the CMO Platform Manager scale down API.
NOTE: If the node is unreachable (the logs read "Unreachable=1"), a scale down operation would report failure, even
though the scale down happens successfully.
For example:
......
{
"created_at" : "2023-04-15T11:35:35Z",
"completed_tasks" : 0,
"total_tasks" : 273,
"recap" : {
"hosts" : {}
},
"id" : "ac2324c5-0112-45f3-83e9-4f018d24ca57",
"link" : {
"href" : "https://0.0.0.0:8080/v1/status/ac2324c5-0112-45f3-83e9-4f018d24ca57",
"rel" : "self"
},
"logs" : "",
"state" : "created",
"updated_at" : "2023-04-15T11:35:36Z",
"playbook_id" : "remove-node"
}
5. Collect the "id" value from the returned output. You will use this value in the next step.
For previous example, the "id" value is ac2324c5-0112-45f3-83e9-4f018d24ca57.
6. After performing the scale down API, check the status of the operation through the API below:
NOTE: The CMO Platform Manager TOKEN may expire, and be refreshed by running:
7. Confirm that the node has been removed from the node list.
{
"credentials": [{
"name": "<HOSTNAME>",
"type": "password",
"password": "<PASSWORD>"
}],
"hosts": [{
"hostname": "<NODE_HOSTNAME>",
"managementhost": "<HOST_IP>",
"kuberneteshost": "<HOST_IP>",
"hostCredentials": "<HOST_CREDS>",
"topology": {
"role": "<REMOVED_NODE_ROLE>"
}
}]
}
For example:
{
"credentials": [{
"name": "mykey1",
"type": "password",
"password": "ChangeMe"}],
"hosts": [{
"hostname": "hostname6",
"managementhost": "10.236.227.214",
"kuberneteshost": "10.236.227.214",
"hostCredentials": "mykey1",
"topology": {
"role": "worker"}
}]
}
}
10. Call the CMO Platform Manager API to initiate the scaling-up operation.
Run this command from the directory where the scaleup.json file exists.
For example:
11. Collect the "id" value from the returned output. You will use this value in the next step.
For previous example, the "id" value is 286bdb32-ff07-4e46-947e-e4c9e9b98338.
12. After performing the scale up API, check the status of the operation:
NOTE: The CMO Platform Manager TOKEN may expire, and need to be refreshed by running:
13. Confirm that the new node appears in the node list.
NOTE: Although the status of this operation may appear as failed, but the failure node could be removed successfully.
Check the node status.
14. Delete the PVC, volumes, and LVGs of stateful pods on the removed node.
Retrieve all PVCs bound to the node to be removed.
NOTE: The node name is listed as part of the volume.kubernetes.io/selected-node annotation in the
describe output of each PVC.
The PVC names and the described details are obtained with the following commands.
a. Get PVC names:
kubectl get volume | grep <NODE_ID> | awk '{print $1}' | xargs kubectl patch volume
--type merge -p '{"metadata":{"finalizers":null}}'
kubectl get volume | grep <NODE_ID> | awk '{print $1}' | xargs kubectl delete volume
kubectl get lvg | grep <NODE_ID> | awk '{print $1}' | xargs kubectl patch lvg --
type merge -p '{"metadata":{"finalizers":null}}'
kubectl get lvg | grep <NODE_ID> | awk '{print $1}' | xargs kubectl delete lvg
kubectl get csibmnode | grep <NODE_ID> | awk '{print $1}' | xargs kubectl delete
csibmnode
kubectl get drive | grep <NODE_ID> | awk '{print $1}' | xargs kubectl delete drive
kubectl get ac | grep <NODE_ID> | awk '{print $1}' | xargs kubectl delete ac
NOTE: After the removal of a failed node, there may be some pods left in the Pending state. These are likely
StatefulSet pods that were previously running on the removed node. This includes SS, influxdb, bookie, and atlas pods.
Once deleted, they, along with their associated volumes, are re-created on another available node.
Prerequisites
Ensure that the new node is:
● Installed with the same operating system version and networking.
NOTE: If there is a mismatch in the version of the operating system, contact Dell Support for guidance on reimaging the
operating system to the correct version.
● Configured in a consistent manner as the other nodes within the ObjectScale Appliance.
If you are adding the deployment node to the cluster, stop the containers in the deployment node with cd /var/atlantic/
files and sudo sh stopcontainers.sh commands before adding it.
Steps
1. From the ObjectScale Portal user interface, click Nodes.
The list of Nodes that the user is authorized to view is displayed.
2. Click Add.
The Add Node dialogue box is displayed.
3. In the General section, complete the required fields, and click Next.
Option Description
Node Name Enter a name for the new node.
NOTE:
● Node name can include ASCII(7) letters from "a to z", numbers from "0-9", and hyphen.
● Node name cannot start or end with a hyphen.
Option Description
Name Enter a name for the label. Label should follow the Kubernetes label syntax. See "Labels and Selectors" section in
Kubernetes documentation for details.
Value Enter a value for the label.
Option Description
KMIP Details Enter Username, Password, and FQDN. Provide the username and password for an iDRAC user that is
used to create and access keys from the external Key Management Server (KMS). The FQDN is the fully
qualified domain name of the KMS server.
KMS Server Enter KMS Admin Username and KMS Admin Password. Provide credentials for an admin on the
Details external KMS. The admin must have User admin and CA cert admin capabilities to create a user and sign
certificates.
6. In the Review section, confirm the configuration summary, and click Save.
● Click Edit to make changes.
The node addition progress can be monitored from the Nodes section in the ObjectScale portal user interface.
Next steps
If iDRAC IP is not already configured for the newly added node, it must be configured manually using server patch APIs. See
Updating iDRAC IPs Using Server Patch API for ObjectScale Appliance for steps.
Steps
1. Add a new node, if there are no spare nodes in the cluster.
See the "Add a Node on ObjectScale Appliance" service procedure above for steps.
2. Remove the node to be replaced.
a. From the ObjectScale Portal user interface, click Nodes.
The list of nodes you are authorized to view is displayed.
b. Select the node to replace and click Remove.
A dialogue box is displayed to acknowledge the risks and confirm node removal.
c. Select Remove Data Disk and I understand the risk of removing the node check boxes, and click
Remove Node.
3. Replace a failed node.
See the "Replace a failed node within the ObjectScale Software Bundle" service procedure for steps.
Prerequisites
Steps
1. Remove the node to be repaired.
a. From the ObjectScale Portal user interface, click Nodes.
The list of nodes you are authorized to view is displayed.
b. Select the node to repair and click Remove.
A dialogue box is displayed to acknowledge the risks and confirm node removal.
c. Select the I understand the risk of removing the node check box, and click Remove Node.
NOTE: In this case, do not check the Remove Data Disk checkbox.
Steps
1. Remove the node to be repaired.
a. From the ObjectScale Portal user interface, click Nodes.
The list of nodes you are authorized to view is displayed.
b. Select the node to repair and click Remove.
A dialogue box is displayed to acknowledge the risks and confirm node removal.
c. Select the I understand the risk of removing the node check box, and click Remove Node.
NOTE: In this case, do not check the Remove Data Disk checkbox.
2. Confirm that the node has been removed using kubectl get node and kubectl get co -n <namespace> |
grep NodeRemoval | grep <nodename>.
If the node is removed from the nodeList and the node removal CO is in Failed status, then follow steps 3 to 8.
3. Reimage the operating system.
4. Check the HostCfgTemplate using kubectl get hct -A.
5. Edit the HostCfgTemplate to remove the given node in serverList using kubectl edit hct -n <namespace>.
6. Monitor the HostCfgProfile for the given node by using kubectl get hcp -A.
● If the HostCfgProfile for the given node is automatically deleted, go to the next step.
● If the HostCfgProfile for the given node has a failed status such as Spec-Reset-Failed, forcibly remove the
HostCfgProfile and related resources.
7. Patch CPC to remove the node entry from Spec.nodeList.
The node entry is cleaned up from CPC.Status's nodeList
8. Add the repaired node back.
After the node is repaired and added back to the cluster, sometimes the CSI pod may not start up before other stateful
pods, and then all the volumes will be in Failed status. In such a scenario, perform the below clean up steps:
Ensure that the system has an extra FTT quota, that is if the system is FTT=1, ensure that there are no extra nods down.
If the system is FTT=2, the other down node size is <=1. Ensure that there are no other ongoing service procedures or
recoveries.
NOTE: If this FTT requirement is not met, do not proceed with these steps.
// get the failed volume information, note down the POD NAME which is under
spec.Owners
kubectl get volume <volume name> -n <objectscale-ns> -o yaml
kubectl delete volume $(kubectl get volume -n <objectscale-ns> | grep FAILED | awk
'{print $1}') -n <objectscale-ns>
c. For volume storage class, if it is a hard drive, NVMe, or SSD, delete the pvc and pod directly.
d. For LVG storage classes, first delete lvg, ac, and drive; and then delete pvc and pod.
// get LVG/AC/DRIVE CR information, note down the LVG name, LVG locations, AC name
and drive name
// lvg volumes locations are lvg names
// the location in lvg locations is the drive name related
kubectl get lvg | grep <volume location>
kubectl get ac | grep <lvg name>
kubectl get drive | grep <lvg location>
// delete the ac
kubectl delete ac <ac name>
If the node addition procedure is stuck at the DiscoverInventory stage, check node discovery status using kubectl
get server -A. If the status is Failed, perform the following steps:
a. Reset iDRAC.
b. Reset hosa and ism service on the node.
Next steps
● After the cleanup steps, wait for all pods to restart.
● Do not trigger other service procedures immediately after the cleanup as the data needs time to get balanced.
.
apiVersion: ecs.dellemc.com/v1beta3
kind: ServiceProcedure
metadata:
label:
app: ecs-release-name # in case for a specific service procedure
spec:
type: Enum(PermanentMaintenanceMode) # A type of service procedure
diskInfo:
name: name of replacing disk # Contains K8s PVC Name
uuid: UUID of the replacing disk (if applicable) # On Openshift it's resolving from
the Volume CRD
nodeInfo:
name: name of replacing node # Contains K8s Node Name
uuid: UUID of the tainted node # Contains K8s Node UID
status:
reason: Enum(In Progress, Success, Failed, Recovering, Rollback, Abort) # current
actual state
message: <short message what is going on. errors for example> # message what is going
on for rightnow.
The Service Procedure custom resource (CR) can have the following states in the status.reason field:
1. Created - New SP CR recently created when the service procedure event was detected. It should have filled spec.type and
spec.diskInfo or spec.nodeInfo fields.
2. NotStarted - A state of the SP with passed pre-checks. Ready for further processing.
3. Recovering - A state applicable only for components where recovery scripts are available. SP CR is in Recovering state
after Created and before In Progress.
4. In Progress - A state of the processing SP CR. In general, this occurs after the Created state.
5. PostCheck - A state of the SP after main processing. The SP operator runs post checks until SP's post-check fails (if one
of handling pods in the Failed state) or succeed (is all handling pods in a Running'state).
6. Failed - Terminated state of the SP CR in case of any failure during SP processing or failed post-check.
7. Rejected - Terminated state of the SP CR if one of pre-checks failed and further processing is not allowed.
Steps
1. Set external static IP when iDRAC is connected to an external management network and set internal static IP when iDRAC is
connected to ObjectScale backend network.
● To set external static IP when iDRAC is connected to an external management network, use the following
command to patch:kubectl -n gc patch server <node_name> --type merge --patch-file
static_ip_patch.yaml. Below is a sample payload for setting externally accessible static iDRAC IP:
● To set internal static IP when iDRAC is connected to ObjectScale backend network, use the following
command to patch:kubectl -n gc patch server <node_name> --type merge --patch-file
static_internal_ip_patch.yaml
To determine the internal iDRAC IP to be set, you can check the private IP of the node using ip addr command and
derive the iDRAC IP using the private IP as follows.
NOTE: The Private interface IP is always 169.254.<rack_id>.<100+nodeid> and it gets automatically
assigned.
If the IP assigned to the private interface is 169.254.3.108, then the iDRAC IP would be 169.254.3.158 (hint: the
last octet of iDRAC IP is 50+last octet of the private IP).
You can also determine the internal iDRAC IP to be set by executing the below script idrac.sh in /var/atlantic/
files of each node:
Gateway to be provided in the payload is always 169.254.0.1and the subnet mask to be provided is always
255.255.128.0.
Steps
1. Enable DHCP IP using API for iDRAC.
Command to patch: kubectl -n gc patch server <node_name> --type merge --patch-file
dhcp_patch.yaml.
Next steps
NOTE: After setting the static/DHCP IP, values may not show up correctly in the STATUS fields of the server CR
immediately. server-refresh-inventory job runs every one hour and refreshes the status with correct details.
Steps
1. Set the default namespace and alias.
2. Check to ensure that the pgo controller pod and PostgreSQL database pods are up and running.
Sample output:
5. After ensuring that the PostgreSQL pods are not running, shut down or restart the ObjectScale cluster nodes.
Sample output: