Information technology -- Swordfish Scalable Storage Management API Specification

This document defines the Swordfish Scalable Storage Management API. Swordfish extends the Redfish Scalable Platforms Management API Specification, as defined by ISO 30115. It defines a comprehensive, RESTful API for storage management that addresses block storage, file systems, object storage, and storage network infrastructure. It is centered around common operational and business concerns of storage management, including: Configuration and provisioning Monitoring Event and log management Performance assessment Diagnostics Fault detection and remediation Security Accounting and resource consumption Swordfish’s storage model is built around well-defined classes of service, which provide a means to map high-level business goals and objectives to specific, storage-based actions and requirements, in a clear and consistent way that can be applied uniformly across a broad spectrum of storage configurations and storage types (e.g., block storage, file systems, object stores). Common storage management functionality covered by class of service includes snapshots, replication, mapping and masking, and provisioning. The Redfish specification provides the protocols and a core set of data models and behaviors for the management of systems. It defines the elements and behaviors that are mandatory for all Redfish implementations. Additionally it defines additional elements and behaviors that can be chosen by system vendors or manufacturers. The specifications also defines points at which OEM (system vendor) extensions can be provided by a given implementation. The specifications specifies normative requirements for Redfish Services and associated materials, such as Redfish Schema files. The Redfish specifications does not set requirements for Redfish clients, but willindicate what a Redfish client should do in order to access and utilize a Redfish Service successfully and effectively. The Swordfish specification defines additional data models and behaviors for the management of storage systems and storage infrastructure. A Swordfish implementation shall conform to all requirements specified in the Redfish specifications. Swordfish is suitable for a wide range of storage, from small-scale object drives, integrated RAID cards or RBODs providing storage services, to external disk arrays or file servers, to infrastructure providing storage services for converged, hyperscale and large scale cloud environments. Â

Titre manque

General Information

Status
Published
Publication Date
23-Aug-2021
Current Stage
5060 - Close of voting Proof returned by Secretariat
Start Date
20-Jul-2021
Completion Date
20-Jul-2021
Ref Project

Buy Standard

Standard
ISO/IEC 5965:2021 - Information technology -- Swordfish Scalable Storage Management API Specification
English language
190 pages
sale 15% off
Preview
sale 15% off
Preview
Draft
ISO/IEC PRF 5965:Version 03-jul-2021 - Information technology -- Swordfish Scalable Storage Management API Specification
English language
190 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (sample)

INTERNATIONAL ISO/IEC
STANDARD 5965
First edition
2021-08
Information technology — Swordfish
Scalable Storage Management API
Specification
Reference number
ISO/IEC 5965:2021(E)
ISO/IEC 2021
---------------------- Page: 1 ----------------------
ISO/IEC 5965:2021(E)
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2021

All rights reserved. Unless otherwise specified, or required in the context of its implementation, no part of this publication may

be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including photocopying, or posting

on the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address

below or ISO’s member body in the country of the requester.
ISO copyright office
CP 401 • Ch. de Blandonnet 8
CH-1214 Vernier, Geneva
Phone: +41 22 749 01 11
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
ii © ISO/IEC 2021 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC 5965:2021(E)
Foreword

ISO (the International Organization for Standardization) and IEC (the International Electrotechnical

Commission) form the specialized system for worldwide standardization. National bodies that are

members of ISO or IEC participate in the development of International Standards through technical

committees established by the respective organization to deal with particular fields of technical activity.

ISO and IEC technical committees collaborate in fields of mutual interest. Other international

organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the

work.

The procedures used to develop this document and those intended for its further maintenance are

described in the ISO/IEC Directives, Part 1. In particular, the different approval criteria needed for the

different types of document should be noted (see www.iso.org/directives or
www.iec.ch/members_experts/refdocs).

Attention is drawn to the possibility that some of the elements of this document may be the subject of

patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights. Details

of any patent rights identified during the development of the document will be in the Introduction and/or

on the ISO list of patent declarations received (see www.iso.org/patents) or the IEC list of patent

declarations received (see patents.iec.ch).

Any trade name used in this document is information given for the convenience of users and does not

constitute an endorsement.

For an explanation of the voluntary nature of standards, the meaning of ISO specific terms and

expressions related to conformity assessment, as well as information about ISO's adherence to the World

Trade Organization (WTO) principles in the Technical Barriers to Trade (TBT), see

 www.iso.org/iso/foreword.html. In the IEC, see www.iec.ch/understanding-standards.

This document was prepared by SNIA (as Swordfish Scalable Storage Management API Specification,

Version 1.1.0c) and drafted in accordance with its editorial rules. It was adopted, under the JTC 1 PAS

procedure, by Joint Technical Committee ISO/IEC JTC 1, Information technology.

Any feedback or questions on this document should be directed to the user’s national standards body. A

complete listing of these bodies can be found at www.iso.org/members.html and www.iec.ch/national-

committees.
© ISO/IEC 2021 – All rights reserved iii
---------------------- Page: 3 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
Table of Contents
About SNIA
Acknowledgements
Table of Contents
1 Abstract 11
2 Scope 12
2.1 Audience Assumptions 13
3 Normative References
3.1 Overview 14
3.2 Approved references 14
3.3 References under development 16
3.4 Other references 16
4 Terms and Definitions 17
4.1 Overview 17
4.2 Swordfish-specific Terms 17
4.3 Reference to Redfish terms 18
4.4 Keywords (normative language terms) 19
5 Swordfish Overview 20
5.1 Introduction 20
5.2 Relation to Redfish 20
5.3 Storage System Models 21
5.4 The ServiceRoot and ServiceContainer entities 24
5.5 Swordfish model overview 25
6 Features and Profiles 28
6.1 Overview 28
6.2 Requirement for SupportedFeatures 28
6.3 EnergyStar for Storage Feature 28
6.4 Class of Service Feature 29
7 Schema Considerations 37
7.1 Schema Introduction 37
7.2 Default values and NULLABLE attributes 37
7.3 Common schema annotations 38
7.4 Property implementation requirements 39
7.5 Schema repository 40
7.6 Referencing other schemas 40
8 Implementation requirements 41
8.1 Security 41
8.2 General constraints 41
8.3 Discovering Swordfish resources 42
8.4 ClassOfService requirements 43
8.5 StorageSystems requirements 43
8.6 Entity Sets 43
8.7 Addressing entities within a collection 43
8.8 Addressing members of a ResourceCollection 44
8.9 HTTP status codes 44
9 Swordfish type definitions 48
9.1 Overview 48
9.2 Common properties 48
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 9 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 4 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
9.3 Complex Types 55
9.4 CapacitySource 1.1.2 56
9.5 ClassOfServiceCollection 63
9.6 ConsistencyGroup 1.0.1 64
9.7 ConsistencyGroupCollection 76
9.8 DataProtectionLoSCapabilities 1.1.3 78
9.9 DataSecurityLoSCapabilities 1.1.3 83
9.10 DataStorageLoSCapabilities 1.2.1 91
9.11 DriveCollection 95
9.12 EndpointGroup 1.2.0 97
9.13 EndpointGroupCollection 101
9.14 FeaturesRegistry 1.0.0 102
9.15 FileShare 1.1.3 105
9.16 FileShareCollection 111
9.17 FileSystem 1.2.2 112
9.18 FileSystemCollection 120
9.19 HostedStorageServices 121
9.20 IOConnectivityLoSCapabilities 1.1.3 122
9.21 IOPerformanceLoSCapabilities 1.1.3 126
9.22 LineOfService 1.0.0 130
9.23 LineOfServiceCollection 132
9.24 SpareResourceSet 1.0.1 133
9.25 StorageGroup 1.2.1 136
9.26 StorageGroupCollection 145
9.27 StoragePool 1.3.1 147
9.28 StoragePoolCollection 156
9.29 StorageReplicaInfo 1.3.0 157
9.30 StorageService 1.4.0 159
9.31 StorageServiceCollection 168
9.32 StorageSystemCollection 169
9.33 Volume 1.4.1 170
9.34 VolumeCollection 202
Annex A: Bibliography 205
A.1 Overview 205
A.2 Informational references 205
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 10 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 5 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
1 Abstract

The Swordfish Scalable Storage Management API (“Swordfish”) defines a RESTful interface and a standardized data

model to provide a scalable, customer-centric interface for managing storage and related data services. It extends the

Redfish Scalable Platforms Management API Specification (DSP0266) from the DMTF.
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 11 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 6 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
2 Scope

Swordfish extends the Redfish Scalable Platforms Management API Specification, as defined by ISO 30115 It defines

a comprehensive, RESTful API for storage management that addresses block storage, file systems, object storage, and

storage network infrastructure. It is centered around common operational and business concerns of storage

management, including:
Configuration and provisioning
Monitoring
Event and log management
Performance assessment
Diagnostics
Fault detection and remediation
Security
Accounting and resource consumption

Swordfish’s storage model is built around well-defined classes of service, which provide a means to map high-level

business goals and objectives to specific, storage-based actions and requirements, in a clear and consistent way that

can be applied uniformly across a broad spectrum of storage configurations and storage types (e.g., block storage, file

systems, object stores). Common storage management functionality covered by class of service includes snapshots,

replication, mapping and masking, and provisioning.

The Redfish specification provides the protocols and a core set of data models and behaviors for the management of

systems. It defines the elements and behaviors that are mandatory for all Redfish implementations. Additionally it

defines additional elements and behaviors that can be chosen by system vendors or manufacturers. The

specifications also defines points at which OEM (system vendor) extensions can be provided by a given

implementation. The specifications specifies normative requirements for Redfish Services and associated materials,

such as Redfish Schema files. The Redfish specifications does not set requirements for Redfish clients, but will

indicate what a Redfish client should do in order to access and utilize a Redfish Service successfully and effectively.

The Swordfish specification defines additional data models and behaviors for the management of storage systems

and storage infrastructure. A Swordfish implementation shall conform to all requirements specified in the Redfish

specifications.

Swordfish is suitable for a wide range of storage, from small-scale object drives, integrated RAID cards or RBODs

providing storage services, to external disk arrays or file servers, to infrastructure providing storage services for

converged, hyperscale and large scale cloud environments.
This document defines the Swordfish Scalable Storage Management API.
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 12 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 7 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
2.1 Audience Assumptions

As Swordfish is designed as an extension of the Redfish specification, this document is written with the presumption

that the reader has a detailed understanding of ISO 30115 and any updates or clarifications introduced by the DMTF.

This document cannot be fully understood without that context.
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 13 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 8 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
3 Normative References
3.1 Overview

The documents listed in Table 3 is indispensable for the application of this document. For dated references, only the

edition cited applies. For undated references, the latest edition of the referenced document (including any

amendments) applies.
3.2 Approved references
Table 3: Approved normative references
Tag Title (Version) Author URL
ISO- Data elements and ISO/IEC http://www.iso.org/iso/home/store/catalogue_ics/
8601 interchange formats catalogue_detail_ics.htm?csnumber=70907
– Information
interchange –
Representation of
dates and times –
Part 1: Basic rules
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 14 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 9 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
Table 3: Approved normative references, cont.
Tag Title (Version) Author URL
ISO- ISO/IEC ISO/IEC http://isotc.iso.org/livelink/livelink/
Direct Directives, Part fetch/2000/2122/4230450/4230456/
2 ISO_IEC_Directives Part_2
Principles and Principles_and_rules_for_the
rules for the structure_and_drafting_of_ISO_and_IEC
structure and documents
drafting of ISO -2016%287th_edition%29-_PDF.pdf?
and IEC nodeid=17667902&vernum=-2
documents
(Seventh
Edition, 2016)
OData Open Data OASIS https://www.oasis-
Protocol (v. 4.0) open.org/standards#odatav4.0
RFC3986 Uniform The Internet http://www.rfc-base.org/txt/rfc-3986.txt
Resource Society
Identifier (URI):
Generic Syntax
(2005)
CSDL Common OASIS http://docs.oasis-open.org/odata/
Schema odata/v4.0/odata-v4.0-part3-csdl.html
Definition
Language (4.0)
ITIL ITIL Glossary ITIL https://www.axelos.com/Corporate/media/
(2011) Files/Glossaries/
ITIL_2011_Glossary_GB-v1-0.pdf
Units The Unified Regenstrief http://unitsofmeasure.org/trac
Code for Units Institute,
of Measure Inc. and the
(v2.0.1) UCUM
Organization
SPC-4 SCSI Primary T10 http://www.techstreet.com/cgi-
Commands - 4 bin/joint.cgi/incits
(SPC-4) INCITS
513-2015
Features Swordfish SNIA https://redfish.dmtf.org/registries/swordfish/v1/
Features SwordfishFeatureRegistry.1.0.1.json
Registry, version
1.0.1
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 15 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 10 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
Table 3: Approved normative references, cont.
Tag Title (Version) Author URL
Messages Swordfish SNIA https://redfish.dmtf.org/registries/swordfish/v1/
Message Swordfish.1.0.2.json
Registry, version
1.0.2
EnergyStar ENERGY STAR EPA https://www.energystar.gov/sites/default/files/ENERGY
Data Center STAR Data Center Storage Final Version 1.1 Specification
Storage Version Rev. April 2019.pdf
1.1 Updated
Program
Requirements –
April 1, 2019
ISO-20648 Information ISO/IEC https://www.iso.org/standard/68622.html
technology —
TLS
specification for
storage systemsi
ISO-30115 ISO/IEC ISO/IEC https://www.iso.org/standard/53235.html
30115(en)
Information
technology —
Redfish scalable
platforms
management
API specification
3.3 References under development
None defined in this document.
3.4 Other references
None defined in this document.
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 16 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 11 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
4 Terms and Definitions
4.1 Overview

In this document, some terms have a specific meaning beyond the normal English meaning. Those terms are defined

in this clause. New terms, frequently used Redfish terms.
4.2 Swordfish-specific Terms
4.2.1 Definitions
Table 4 summarizes the terms are used in this document.
Table 4: Swordfish terms
Term Definition
Entity An instance of a schema element.

Model A set of entities and the relationships between them that define the semantics,

behavior and state of that set.

OData A REST-based service that allows resources, identified using Uniform Resource

service Locators (URLs) and defined in a model, to be published and edited by Web clients

using simple HTTP messages.

Resource A central element in a model, which represents a physical construct or a logical

service, and is further defined by other model entities.
Schema A formal language representation of a model that conforms to a metamodel.

Service A particular resource that is directly accessed via an OData service entry point. This

Document resource serves as a starting point for locating and accessing the other resources and

associated metadata that together make up an instance of a Swordfish service.

Swordfish An extension to the Redfish Service that conforms to the Swordfish specification, and

service provides REST-ful storage management functionality.
4.2.2 Symbols and abbreviated terms
None in this document.
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 17 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 12 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
4.3 Reference to Redfish terms

Many terms in this document were originally defined in the Redfish Specification. Some of the more common terms

and definitions are reproduced in Table 5, as an aid to the reader.
Table 5: Redfish terms
Term Definition (as of 16 August 2019)
OData The Open Data Protocol, as defined in OData-Protocol.

OData Resource that provides information about the service root for generic OData clients.

Service
Document

Redfish Defines Redfish Resources according to OData schema representation. You can

Schema directly translate a Redfish Schema to a JSON Schema representation.

Redfish Implementation of the protocols, resources, and functions that deliver the interface

service that this specification defines and its associated behaviors for one or more managed

systems.
Request A message from a client to a service.

Service Resource that serves as the starting point for locating and accessing the other

Root resources and associated metadata that together make up an instance of a Redfish

Service.
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 18 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 13 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
4.4 Keywords (normative language terms)

This document conforms to ISO/IEC Directives, Part 2 for keyword usage. The most common terms and their

intended meanings are summarized in Table 6.
Table 6: Normative language terms
Term(s) Meaning

shall / Used to identify objectively verifiable criteria to be fulfilled and from which no

shall not deviation is permitted if compliance with the document is to be claimed

should / Used to identify a suggested possible choice or course of action deemed to be

should particularly suitable without necessarily mentioning or excluding others
not
may / Used to convey consent or liberty (or opportunity) to do something
need not
can / Expected or conceivable material, physical or causal outcome
cannot

must Identifies a constraint or obligation on the user of the document, typically due to one

or more legal requirements or laws of nature, that is not stated as a provision of the

standard

NB: “must” is not an alternative for “shall”, and should only be used for constraints

that arise from outside this standard
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 19 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 14 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
5 Swordfish Overview
5.1 Introduction

The Swordfish Scalable Storage Management API (“Swordfish”) defines a RESTful interface and a standardized data

model to provide a scalable, customer-centric interface for managing storage and related data services. It extends the

Redfish Scalable Platforms Management API Specification (DSP0266) from the DMTF.
5.2 Relation to Redfish
Figure 1: Extension Overview
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 20 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 15 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)

The Swordfish service interface extends the Redfish service interface, as illustrated in Figure 1. As such, a Swordfish

service is a Redfish service and includes all required elements of the Redfish model.

Storage systems managed by the Swordfish service are located in the ServiceRoot via the StorageSystems

resource collection. They are modeled using Redfish ComputerSystems. The physical infrastructure is modeled

using Redfish Chassis.

As modeling for storage systems may cover both logical and physical constructs, Swordfish management clients that

are focused on logical storage management use cases may choose to manage functionality entirely by way of logical

resources.

Each Swordfish service is accessed via well known URLs on the system supporting the Swordfish Service. Since

Swordfish is an extension of Redfish, these URLs are the same as for accessing the Redfish defined aspects of the

service.
5.3 Storage System Models

Swordfish has been designed to support a broad range of configurations, requirements, size and complexity, as well

as logical and physical architectures. As a result, there are two primary methods of modelling the storage system for

a Swordfish implementation:
1. Swordfish Integrated Configuration

The SIC uses the same ComputerSystem model instantiation as the server where the physical element resides.

The logical storage controller is modeled using the Redfish Storage and StorageController resources. The

Storage resource is located in the Redfish hierarchy contained by ComputerSystems, typically running as

ApplicationServers. The physical infrastructure is modeled using Redfish Chassis. Managed resources are

connected to the Storage resource, including Volumes the StoragePools. These relationships are illustrated in

Figure 2.
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 21 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 16 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
Figure 2: Integrated Configuration Overview

This configuration works well when the storage system can be modeled by simply instantiating a new Storage object

within an existing computer system. An example of a Storage System for an integrated configuration is shown in

Figure 3.
Figure 3: Integrated Configuration Example
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 22 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 17 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
2. Swordfish Standalone Configuration

The SSC uses separate ComputerSystem/StorageSystem model instantiation(s) to represent/model the logical

controller(s) for the system.

The logical storage controller is modeled using Redfish a ComputerSystems with properties set as a

StorageSystem. The physical infrastructure is modeled using Redfish Chassis. Managed resources are then

connected to the Storage resource, including Volumes, StoragePools, ConsistencyGroups, and

StorageGroups. These relationships are illustrated in Figure 4.
Figure 4: Standalone Configuration Overview

This configuration works well when the storage system needs a new ComputerSystem instance to model the logical

controller. An example of a Storage System for a hosted service configuration is shown in Figure 5.

Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 23 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 18 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
Figure 5: Standalone Configuration Example
5.4 The ServiceRoot and ServiceContainer entities
5.4.1 Overview

A GET of /redfish/v1 will return the ServiceRoot entity. A GET of /redfish/v1/odata will return the

ServiceContainer instances that represents the OData service document. Each of these instances provides links to

the remainder of the system.
The following are the elements utilized for Swordfish management.
Systems: A reference to a Systems resource collection;
Chassis: A reference to a Chassis resource collection;
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 24 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 19 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
StorageSystems: A reference to a StorageSystems resource collection.
5.4.2 The Systems resource collection

A resource collection that references a set of ComputerSystem resources that each represents a general purpose

application server. Each ComputerSystem resource will have an entry with the value of “ApplicationServer” in its

HostingRoles property. A particular ComputerSystem resource can be in both the StorageSystems collection and

the Systems collection.
5.4.3 The Chassis resource collection

A resource collection that references a set of Chassis resources. Each Chassis resource represents physical

containers, (i.e. sheet-metal confined spaces and logical zones like racks, enclosures, chassis and all other

containers). Subsystems (like sensors), which operate outside of a system’s data plane (meaning the resources are not

accessible to software running on the system) are linked either directly or indirectly through this resource.

5.4.4 The StorageSystems resource collection

A reference to a ComputerSystemCollection with members of type ComputerSystem that support storage

services. These ComputerSystem resources represent systems that support Swordfish storage management services.

They will have an entry with the value of “StorageServer” in their HostingRoles property.A resource collection that

references a set of ComputerSystem resources that each represents a storage server. Each ComputerSystem

resource will have an entry with the value of “StorageServer” in its HostingRoles property. A particular

ComputerSystem resource can be a member of both the StorageSystems resource collection and the Systems

resource collection.
5.5 Swordfish model overview
5.5.1 The Storage resource

The storage system exposes logical storage, associated resources and related functionality. Storage service resources

can be found in the service root or service container via the StorageSystem resource collection, and are attached to

the Storage object within the StorageSystem (ComputerSystem).

The following are the principal properties of Storage that point to resources managed or defined by the storage

system:

Drives: A reference to a collection that collects Drive resources used for storage.

Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 25 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 20 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)

Enclosures: A reference to a resource collection that collects Chassis resources that contain storage related

resources.

Endpoints: A reference to a resource collection that collects Endpoint resources used to access storage.

EndpointGroups: A reference to a resource collection that collects EndpointGroups resources.

FileSystems: A reference to a resource collection that collects FileSystem resources.

StorageGroups: A reference to a resource collection that collects StorageGroup resources.

ConsistencyGroups: A reference to a resource collection that collects ConsistencyGroup resources.

StoragePools: A reference to a resource collection that collects StorageGroup resources.

Volumes: A reference to a resource collection that collects Volume resources.
5.5.1.1 The Endpoint resource

Endpoints represent one end of a protocol specific connection that supports sending or receiving messages according

to a particular protocol.
5.5.1.2 The Endpoint Collection resource

The Endpoint Group is resource collection that references a set of Endpoint resources.

5.5.1.3 The ConsistencyGroup resource

ConsistencyGroups represent a set of volumes that are managed consistently and collectively as a group, to allow

system and application level activities to be performed on a set of data that spans volumes. This activities include

device-level replication activities as well as system level functions, such as reset.

When ConsistencyGroups are implemented, they are attached to a Storage resource and its internal Volumes

collection is constructed from a subset of the Volumes collection of the Storage resource.

5.5.1.4 The ConsistencyGroup Collection resource

The ConsistencyGroupCollection is a resource collection that references a set of ConsistencyGroup

resources.
5.5.1.5 The StorageGroup resource

StorageGroups represent a set of volumes that are managed as a group in order to facilitate mapping and masking, in

which the volumes of a storage group are collectively exposed or hidden to a set of clients.

The set of volumes is specified by the Mapped Volumes attribute. MappedVolumes is a resource collection of the

Mapped Volume construct (a tuple of a pointer to a volume and a corresponding Logical Unit Number for that

volume).
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 26 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 21 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)

The set of client endpoints to which the volumes can be exposed is specified by the

ClientEndpointGroupsattribute. The ClientEndpointGroup resource specifies a collection of EndpointGroup

resources.

The set of server endpoints to which the volumes can be exposed is specified by the

ServerEndpointGroupsattribute. The ServerEndpointGroup resource specifies a collection of EndpointGroup

resources.
5.5.1.6 The StoragePool resource

The StoragePool resource represents unassigned storage capacity that can be used to produce storage volumes or

other storage pools.

The following are the principal properties of StoragePool that are used to identify resources provisioned or

supported by the storage pool:

AllocatedVolumes: A reference to a resource collection that collects Volume resources that have been

provisioned from the storage pool.

AllocatedPools: A reference to a resource collection that collects StoragePool resources that have been

provisioned from the storage pool.
5.5.1.7 The Volume resource

Volume resource represents a block-addressable container of storage, sometimes referred to as a “Logical Unit”,

“LU”, “LUN”, or “StorageVolume” in the storage industry.
5.5.1.8 The FileSystem resource

This FileSystem resource represents a file system. Each FileSystem may contain a collection of FileShares that

can be presented to hosts.
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 27 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 22 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
6 Features and Profiles
6.1 Overview

Features are high-level descriptions of functionality which an implementation uses to advertise what functionality it

currently supports, and for some features, is capable of supporting.
...

INTERNATIONAL ISO/IEC
STANDARD 5965
First edition
Information technology — Swordfish
Scalable Storage Management API
Specification
PROOF/ÉPREUVE
Reference number
ISO/IEC 5965:2021(E)
ISO/IEC 2021
---------------------- Page: 1 ----------------------
ISO/IEC 5965:2021(E)
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2021

All rights reserved. Unless otherwise specified, or required in the context of its implementation, no part of this publication may

be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including photocopying, or posting

on the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address

below or ISO’s member body in the country of the requester.
ISO copyright office
CP 401 • Ch. de Blandonnet 8
CH-1214 Vernier, Geneva
Phone: +41 22 749 01 11
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
ii PROOF/ÉPREUVE © ISO/IEC 2021 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC 5965:2021(E)
Foreword

ISO (the International Organization for Standardization) and IEC (the International Electrotechnical

Commission) form the specialized system for worldwide standardization. National bodies that are

members of ISO or IEC participate in the development of International Standards through technical

committees established by the respective organization to deal with particular fields of technical activity.

ISO and IEC technical committees collaborate in fields of mutual interest. Other international

organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the

work.

The procedures used to develop this document and those intended for its further maintenance are

described in the ISO/IEC Directives, Part 1. In particular, the different approval criteria needed for the

different types of document should be noted (see www.iso.org/directives or
www.iec.ch/members_experts/refdocs).

Attention is drawn to the possibility that some of the elements of this document may be the subject of

patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights. Details

of any patent rights identified during the development of the document will be in the Introduction and/or

on the ISO list of patent declarations received (see www.iso.org/patents) or the IEC list of patent

declarations received (see patents.iec.ch).

Any trade name used in this document is information given for the convenience of users and does not

constitute an endorsement.

For an explanation of the voluntary nature of standards, the meaning of ISO specific terms and

expressions related to conformity assessment, as well as information about ISO's adherence to the World

Trade Organization (WTO) principles in the Technical Barriers to Trade (TBT), see

 www.iso.org/iso/foreword.html. In the IEC, see www.iec.ch/understanding-standards.

This document was prepared by SNIA (as Swordfish Scalable Storage Management API Specification,

Version 1.1.0c) and drafted in accordance with its editorial rules. It was adopted, under the JTC 1 PAS

procedure, by Joint Technical Committee ISO/IEC JTC 1, Information technology.

Any feedback or questions on this document should be directed to the user’s national standards body. A

complete listing of these bodies can be found at www.iso.org/members.html and www.iec.ch/national-

committees.
© ISO/IEC 2021 – All rights reserved Page 3 to 8
---------------------- Page: 3 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
Table of Contents
About SNIA
Acknowledgements
Table of Contents
1 Abstract 11
2 Scope 12
2.1 Audience Assumptions 13
3 Normative References
3.1 Overview 14
3.2 Approved references 14
3.3 References under development 16
3.4 Other references 16
4 Terms and Definitions 17
4.1 Overview 17
4.2 Swordfish-specific Terms 17
4.3 Reference to Redfish terms 18
4.4 Keywords (normative language terms) 19
5 Swordfish Overview 20
5.1 Introduction 20
5.2 Relation to Redfish 20
5.3 Storage System Models 21
5.4 The ServiceRoot and ServiceContainer entities 24
5.5 Swordfish model overview 25
6 Features and Profiles 28
6.1 Overview 28
6.2 Requirement for SupportedFeatures 28
6.3 EnergyStar for Storage Feature 28
6.4 Class of Service Feature 29
7 Schema Considerations 37
7.1 Schema Introduction 37
7.2 Default values and NULLABLE attributes 37
7.3 Common schema annotations 38
7.4 Property implementation requirements 39
7.5 Schema repository 40
7.6 Referencing other schemas 40
8 Implementation requirements 41
8.1 Security 41
8.2 General constraints 41
8.3 Discovering Swordfish resources 42
8.4 ClassOfService requirements 43
8.5 StorageSystems requirements 43
8.6 Entity Sets 43
8.7 Addressing entities within a collection 43
8.8 Addressing members of a ResourceCollection 44
8.9 HTTP status codes 44
9 Swordfish type definitions 48
9.1 Overview 48
9.2 Common properties 48
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 9 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 4 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
9.3 Complex Types 55
9.4 CapacitySource 1.1.2 56
9.5 ClassOfServiceCollection 63
9.6 ConsistencyGroup 1.0.1 64
9.7 ConsistencyGroupCollection 76
9.8 DataProtectionLoSCapabilities 1.1.3 78
9.9 DataSecurityLoSCapabilities 1.1.3 83
9.10 DataStorageLoSCapabilities 1.2.1 91
9.11 DriveCollection 95
9.12 EndpointGroup 1.2.0 97
9.13 EndpointGroupCollection 101
9.14 FeaturesRegistry 1.0.0 102
9.15 FileShare 1.1.3 105
9.16 FileShareCollection 111
9.17 FileSystem 1.2.2 112
9.18 FileSystemCollection 120
9.19 HostedStorageServices 121
9.20 IOConnectivityLoSCapabilities 1.1.3 122
9.21 IOPerformanceLoSCapabilities 1.1.3 126
9.22 LineOfService 1.0.0 130
9.23 LineOfServiceCollection 132
9.24 SpareResourceSet 1.0.1 133
9.25 StorageGroup 1.2.1 136
9.26 StorageGroupCollection 145
9.27 StoragePool 1.3.1 147
9.28 StoragePoolCollection 156
9.29 StorageReplicaInfo 1.3.0 157
9.30 StorageService 1.4.0 159
9.31 StorageServiceCollection 168
9.32 StorageSystemCollection 169
9.33 Volume 1.4.1 170
9.34 VolumeCollection 202
Annex A: Bibliography 205
A.1 Overview 205
A.2 Informational references 205
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 10 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 5 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
1 Abstract

The Swordfish Scalable Storage Management API (“Swordfish”) defines a RESTful interface and a standardized data

model to provide a scalable, customer-centric interface for managing storage and related data services. It extends the

Redfish Scalable Platforms Management API Specification (DSP0266) from the DMTF.
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 11 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 6 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
2 Scope

Swordfish extends the Redfish Scalable Platforms Management API Specification, as defined by ISO 30115 It defines

a comprehensive, RESTful API for storage management that addresses block storage, file systems, object storage, and

storage network infrastructure. It is centered around common operational and business concerns of storage

management, including:
Configuration and provisioning
Monitoring
Event and log management
Performance assessment
Diagnostics
Fault detection and remediation
Security
Accounting and resource consumption

Swordfish’s storage model is built around well-defined classes of service, which provide a means to map high-level

business goals and objectives to specific, storage-based actions and requirements, in a clear and consistent way that

can be applied uniformly across a broad spectrum of storage configurations and storage types (e.g., block storage, file

systems, object stores). Common storage management functionality covered by class of service includes snapshots,

replication, mapping and masking, and provisioning.

The Redfish specification provides the protocols and a core set of data models and behaviors for the management of

systems. It defines the elements and behaviors that are mandatory for all Redfish implementations. Additionally it

defines additional elements and behaviors that can be chosen by system vendors or manufacturers. The

specifications also defines points at which OEM (system vendor) extensions can be provided by a given

implementation. The specifications specifies normative requirements for Redfish Services and associated materials,

such as Redfish Schema files. The Redfish specifications does not set requirements for Redfish clients, but will

indicate what a Redfish client should do in order to access and utilize a Redfish Service successfully and effectively.

The Swordfish specification defines additional data models and behaviors for the management of storage systems

and storage infrastructure. A Swordfish implementation shall conform to all requirements specified in the Redfish

specifications.

Swordfish is suitable for a wide range of storage, from small-scale object drives, integrated RAID cards or RBODs

providing storage services, to external disk arrays or file servers, to infrastructure providing storage services for

converged, hyperscale and large scale cloud environments.
This document defines the Swordfish Scalable Storage Management API.
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 12 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 7 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
2.1 Audience Assumptions

As Swordfish is designed as an extension of the Redfish specification, this document is written with the presumption

that the reader has a detailed understanding of ISO 30115 and any updates or clarifications introduced by the DMTF.

This document cannot be fully understood without that context.
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 13 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 8 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
3 Normative References
3.1 Overview

The documents listed in Table 3 is indispensable for the application of this document. For dated references, only the

edition cited applies. For undated references, the latest edition of the referenced document (including any

amendments) applies.
3.2 Approved references
Table 3: Approved normative references
Tag Title (Version) Author URL
ISO- Data elements and ISO/IEC http://www.iso.org/iso/home/store/catalogue_ics/
8601 interchange formats catalogue_detail_ics.htm?csnumber=70907
– Information
interchange –
Representation of
dates and times –
Part 1: Basic rules
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 14 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 9 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
Table 3: Approved normative references, cont.
Tag Title (Version) Author URL
ISO- ISO/IEC ISO/IEC http://isotc.iso.org/livelink/livelink/
Direct Directives, Part fetch/2000/2122/4230450/4230456/
2 ISO_IEC_Directives Part_2
Principles and Principles_and_rules_for_the
rules for the structure_and_drafting_of_ISO_and_IEC
structure and documents
drafting of ISO -2016%287th_edition%29-_PDF.pdf?
and IEC nodeid=17667902&vernum=-2
documents
(Seventh
Edition, 2016)
OData Open Data OASIS https://www.oasis-
Protocol (v. 4.0) open.org/standards#odatav4.0
RFC3986 Uniform The Internet http://www.rfc-base.org/txt/rfc-3986.txt
Resource Society
Identifier (URI):
Generic Syntax
(2005)
CSDL Common OASIS http://docs.oasis-open.org/odata/
Schema odata/v4.0/odata-v4.0-part3-csdl.html
Definition
Language (4.0)
ITIL ITIL Glossary ITIL https://www.axelos.com/Corporate/media/
(2011) Files/Glossaries/
ITIL_2011_Glossary_GB-v1-0.pdf
Units The Unified Regenstrief http://unitsofmeasure.org/trac
Code for Units Institute,
of Measure Inc. and the
(v2.0.1) UCUM
Organization
SPC-4 SCSI Primary T10 http://www.techstreet.com/cgi-
Commands - 4 bin/joint.cgi/incits
(SPC-4) INCITS
513-2015
Features Swordfish SNIA https://redfish.dmtf.org/registries/swordfish/v1/
Features SwordfishFeatureRegistry.1.0.1.json
Registry, version
1.0.1
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 15 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 10 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
Table 3: Approved normative references, cont.
Tag Title (Version) Author URL
Messages Swordfish SNIA https://redfish.dmtf.org/registries/swordfish/v1/
Message Swordfish.1.0.2.json
Registry, version
1.0.2
EnergyStar ENERGY STAR EPA https://www.energystar.gov/sites/default/files/ENERGY
Data Center STAR Data Center Storage Final Version 1.1 Specification
Storage Version Rev. April 2019.pdf
1.1 Updated
Program
Requirements –
April 1, 2019
ISO-20648 Information ISO/IEC https://www.iso.org/standard/68622.html
technology —
TLS
specification for
storage systemsi
ISO-30115 ISO/IEC ISO/IEC https://www.iso.org/standard/53235.html
30115(en)
Information
technology —
Redfish scalable
platforms
management
API specification
3.3 References under development
None defined in this document.
3.4 Other references
None defined in this document.
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 16 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 11 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
4 Terms and Definitions
4.1 Overview

In this document, some terms have a specific meaning beyond the normal English meaning. Those terms are defined

in this clause. New terms, frequently used Redfish terms.
4.2 Swordfish-specific Terms
4.2.1 Definitions
Table 4 summarizes the terms are used in this document.
Table 4: Swordfish terms
Term Definition
Entity An instance of a schema element.

Model A set of entities and the relationships between them that define the semantics,

behavior and state of that set.

OData A REST-based service that allows resources, identified using Uniform Resource

service Locators (URLs) and defined in a model, to be published and edited by Web clients

using simple HTTP messages.

Resource A central element in a model, which represents a physical construct or a logical

service, and is further defined by other model entities.
Schema A formal language representation of a model that conforms to a metamodel.

Service A particular resource that is directly accessed via an OData service entry point. This

Document resource serves as a starting point for locating and accessing the other resources and

associated metadata that together make up an instance of a Swordfish service.

Swordfish An extension to the Redfish Service that conforms to the Swordfish specification, and

service provides REST-ful storage management functionality.
4.2.2 Symbols and abbreviated terms
None in this document.
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 17 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 12 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
4.3 Reference to Redfish terms

Many terms in this document were originally defined in the Redfish Specification. Some of the more common terms

and definitions are reproduced in Table 5, as an aid to the reader.
Table 5: Redfish terms
Term Definition (as of 16 August 2019)
OData The Open Data Protocol, as defined in OData-Protocol.

OData Resource that provides information about the service root for generic OData clients.

Service
Document

Redfish Defines Redfish Resources according to OData schema representation. You can

Schema directly translate a Redfish Schema to a JSON Schema representation.

Redfish Implementation of the protocols, resources, and functions that deliver the interface

service that this specification defines and its associated behaviors for one or more managed

systems.
Request A message from a client to a service.

Service Resource that serves as the starting point for locating and accessing the other

Root resources and associated metadata that together make up an instance of a Redfish

Service.
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 18 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 13 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
4.4 Keywords (normative language terms)

This document conforms to ISO/IEC Directives, Part 2 for keyword usage. The most common terms and their

intended meanings are summarized in Table 6.
Table 6: Normative language terms
Term(s) Meaning

shall / Used to identify objectively verifiable criteria to be fulfilled and from which no

shall not deviation is permitted if compliance with the document is to be claimed

should / Used to identify a suggested possible choice or course of action deemed to be

should particularly suitable without necessarily mentioning or excluding others
not
may / Used to convey consent or liberty (or opportunity) to do something
need not
can / Expected or conceivable material, physical or causal outcome
cannot

must Identifies a constraint or obligation on the user of the document, typically due to one

or more legal requirements or laws of nature, that is not stated as a provision of the

standard

NB: “must” is not an alternative for “shall”, and should only be used for constraints

that arise from outside this standard
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 19 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 14 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
5 Swordfish Overview
5.1 Introduction

The Swordfish Scalable Storage Management API (“Swordfish”) defines a RESTful interface and a standardized data

model to provide a scalable, customer-centric interface for managing storage and related data services. It extends the

Redfish Scalable Platforms Management API Specification (DSP0266) from the DMTF.
5.2 Relation to Redfish
Figure 1: Extension Overview
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 20 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 15 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)

The Swordfish service interface extends the Redfish service interface, as illustrated in Figure 1. As such, a Swordfish

service is a Redfish service and includes all required elements of the Redfish model.

Storage systems managed by the Swordfish service are located in the ServiceRoot via the StorageSystems

resource collection. They are modeled using Redfish ComputerSystems. The physical infrastructure is modeled

using Redfish Chassis.

As modeling for storage systems may cover both logical and physical constructs, Swordfish management clients that

are focused on logical storage management use cases may choose to manage functionality entirely by way of logical

resources.

Each Swordfish service is accessed via well known URLs on the system supporting the Swordfish Service. Since

Swordfish is an extension of Redfish, these URLs are the same as for accessing the Redfish defined aspects of the

service.
5.3 Storage System Models

Swordfish has been designed to support a broad range of configurations, requirements, size and complexity, as well

as logical and physical architectures. As a result, there are two primary methods of modelling the storage system for

a Swordfish implementation:
1. Swordfish Integrated Configuration

The SIC uses the same ComputerSystem model instantiation as the server where the physical element resides.

The logical storage controller is modeled using the Redfish Storage and StorageController resources. The

Storage resource is located in the Redfish hierarchy contained by ComputerSystems, typically running as

ApplicationServers. The physical infrastructure is modeled using Redfish Chassis. Managed resources are

connected to the Storage resource, including Volumes the StoragePools. These relationships are illustrated in

Figure 2.
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 21 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 16 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
Figure 2: Integrated Configuration Overview

This configuration works well when the storage system can be modeled by simply instantiating a new Storage object

within an existing computer system. An example of a Storage System for an integrated configuration is shown in

Figure 3.
Figure 3: Integrated Configuration Example
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 22 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 17 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
2. Swordfish Standalone Configuration

The SSC uses separate ComputerSystem/StorageSystem model instantiation(s) to represent/model the logical

controller(s) for the system.

The logical storage controller is modeled using Redfish a ComputerSystems with properties set as a

StorageSystem. The physical infrastructure is modeled using Redfish Chassis. Managed resources are then

connected to the Storage resource, including Volumes, StoragePools, ConsistencyGroups, and

StorageGroups. These relationships are illustrated in Figure 4.
Figure 4: Standalone Configuration Overview

This configuration works well when the storage system needs a new ComputerSystem instance to model the logical

controller. An example of a Storage System for a hosted service configuration is shown in Figure 5.

Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 23 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 18 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
Figure 5: Standalone Configuration Example
5.4 The ServiceRoot and ServiceContainer entities
5.4.1 Overview

A GET of /redfish/v1 will return the ServiceRoot entity. A GET of /redfish/v1/odata will return the

ServiceContainer instances that represents the OData service document. Each of these instances provides links to

the remainder of the system.
The following are the elements utilized for Swordfish management.
Systems: A reference to a Systems resource collection;
Chassis: A reference to a Chassis resource collection;
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 24 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 19 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
StorageSystems: A reference to a StorageSystems resource collection.
5.4.2 The Systems resource collection

A resource collection that references a set of ComputerSystem resources that each represents a general purpose

application server. Each ComputerSystem resource will have an entry with the value of “ApplicationServer” in its

HostingRoles property. A particular ComputerSystem resource can be in both the StorageSystems collection and

the Systems collection.
5.4.3 The Chassis resource collection

A resource collection that references a set of Chassis resources. Each Chassis resource represents physical

containers, (i.e. sheet-metal confined spaces and logical zones like racks, enclosures, chassis and all other

containers). Subsystems (like sensors), which operate outside of a system’s data plane (meaning the resources are not

accessible to software running on the system) are linked either directly or indirectly through this resource.

5.4.4 The StorageSystems resource collection

A reference to a ComputerSystemCollection with members of type ComputerSystem that support storage

services. These ComputerSystem resources represent systems that support Swordfish storage management services.

They will have an entry with the value of “StorageServer” in their HostingRoles property.A resource collection that

references a set of ComputerSystem resources that each represents a storage server. Each ComputerSystem

resource will have an entry with the value of “StorageServer” in its HostingRoles property. A particular

ComputerSystem resource can be a member of both the StorageSystems resource collection and the Systems

resource collection.
5.5 Swordfish model overview
5.5.1 The Storage resource

The storage system exposes logical storage, associated resources and related functionality. Storage service resources

can be found in the service root or service container via the StorageSystem resource collection, and are attached to

the Storage object within the StorageSystem (ComputerSystem).

The following are the principal properties of Storage that point to resources managed or defined by the storage

system:

Drives: A reference to a collection that collects Drive resources used for storage.

Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 25 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 20 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)

Enclosures: A reference to a resource collection that collects Chassis resources that contain storage related

resources.

Endpoints: A reference to a resource collection that collects Endpoint resources used to access storage.

EndpointGroups: A reference to a resource collection that collects EndpointGroups resources.

FileSystems: A reference to a resource collection that collects FileSystem resources.

StorageGroups: A reference to a resource collection that collects StorageGroup resources.

ConsistencyGroups: A reference to a resource collection that collects ConsistencyGroup resources.

StoragePools: A reference to a resource collection that collects StorageGroup resources.

Volumes: A reference to a resource collection that collects Volume resources.
5.5.1.1 The Endpoint resource

Endpoints represent one end of a protocol specific connection that supports sending or receiving messages according

to a particular protocol.
5.5.1.2 The Endpoint Collection resource

The Endpoint Group is resource collection that references a set of Endpoint resources.

5.5.1.3 The ConsistencyGroup resource

ConsistencyGroups represent a set of volumes that are managed consistently and collectively as a group, to allow

system and application level activities to be performed on a set of data that spans volumes. This activities include

device-level replication activities as well as system level functions, such as reset.

When ConsistencyGroups are implemented, they are attached to a Storage resource and its internal Volumes

collection is constructed from a subset of the Volumes collection of the Storage resource.

5.5.1.4 The ConsistencyGroup Collection resource

The ConsistencyGroupCollection is a resource collection that references a set of ConsistencyGroup

resources.
5.5.1.5 The StorageGroup resource

StorageGroups represent a set of volumes that are managed as a group in order to facilitate mapping and masking, in

which the volumes of a storage group are collectively exposed or hidden to a set of clients.

The set of volumes is specified by the Mapped Volumes attribute. MappedVolumes is a resource collection of the

Mapped Volume construct (a tuple of a pointer to a volume and a corresponding Logical Unit Number for that

volume).
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 26 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 21 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)

The set of client endpoints to which the volumes can be exposed is specified by the

ClientEndpointGroupsattribute. The ClientEndpointGroup resource specifies a collection of EndpointGroup

resources.

The set of server endpoints to which the volumes can be exposed is specified by the

ServerEndpointGroupsattribute. The ServerEndpointGroup resource specifies a collection of EndpointGroup

resources.
5.5.1.6 The StoragePool resource

The StoragePool resource represents unassigned storage capacity that can be used to produce storage volumes or

other storage pools.

The following are the principal properties of StoragePool that are used to identify resources provisioned or

supported by the storage pool:

AllocatedVolumes: A reference to a resource collection that collects Volume resources that have been

provisioned from the storage pool.

AllocatedPools: A reference to a resource collection that collects StoragePool resources that have been

provisioned from the storage pool.
5.5.1.7 The Volume resource

Volume resource represents a block-addressable container of storage, sometimes referred to as a “Logical Unit”,

“LU”, “LUN”, or “StorageVolume” in the storage industry.
5.5.1.8 The FileSystem resource

This FileSystem resource represents a file system. Each FileSystem may contain a collection of FileShares that

can be presented to hosts.
Swordfish SSM TECHNICAL POSITION
© ISO/IEC 2021 – All rights reserved
Page 27 of 205
API Specification Version 1.1.0d (29 September 2020)
---------------------- Page: 22 ----------------------
Swordfish SSM API Specification
ISO/IEC 5965:2021(E)
6 Features and Profiles
6.1 Overview

Features are high-level descriptions of functionality which an implementation uses to advertise what functionality it

currently supports, and
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.