SNIA Swordfish® Mockups Site

Welcome to the SNIA Swordfish Mockup site.

You can use this site to test drive a set of static, example Swordfish systems and learn how Swordfish is constructed. The Swordfish mockups are not designed to be interactive systems; they provide an overview of the Swordfish model and static examples of possible configurations.

The Swordfish mockups show the types of information that can be modeled by storage systems in different configurations. They show information that may be returned by those configurations but do not represent actual implementations.

From Swordfish v1.2.0 forward, storage systems can be found directly from the Service Root in the Storage collection (/redfish/v1/Storage). If a system implements the value-add StorageServices feature, a StorageServices collection is also available at the Service Root.

To use these mockups interactively, download the same configurations as emulated services from the SNIA Docker Hub.

Mockups conform to Swordfish v1.2.9

SNIA Swordfish

New! Working Draft Mockups

Initial Draft: Transceiver Mockups

This working draft adds optical transceiver reporting, configuration, and telemetry. It includes enhanced transceiver mapping to DMTF Redfish and Swordfish physical components, logical components, and relationships, plus the Transceiver and TransceiverMetrics schemas.

Initial Draft: Transceiver Mockups

Initial Draft: DNA Mockups

This mockup shows an example of a rack-scale DNA Data Storage system, modeling physical components in Chassis as well as logical entities represented as object storage.

Initial Draft: DNA Mockups

Available Mockups

The following list provides an index to the available mockups. Select a mockup to open its JSON navigator.

Traditional external Storage

Midrange External Array Mockup

This mockup shows an example of a midrange, iSCSI, external storage system. It shows a small number of instantiated volumes and storage pools, demonstrates the use of storage groups for mapping and masking, and shows the system directly instantiated in the Storage Collection at the Service Root.

Midrange External Array Mockup

Midrange External Array with Replication Mockup

This mockup shows an example of a midrange, iSCSI, external storage system with replication. In addition to the configuration shown in the Midrange External Mockup, it adds replication in the form of snapshots and demonstrates the use of consistency groups and storage groups related to replica sets.

Midrange External Array with Replication Mockup

Direct-Attach Storage Mockup

This mockup shows an example of a small direct attach configuration, where the storage is attached to a computer system, such as a RAID controller plugged into a server. It shows a small number of instantiated volumes and storage pools, demonstrating a minimal Swordfish configuration.

Direct-Attach Storage Mockup

Abstract Filesystem Mockups

This mockup shows an example of a file system, abstracted away from exposing the backend storage (only the filesystem and fileshare elements are modeled).

Abstract Filesystem Mockups

Implementing Telemetry (capacity and performance metrics)

This mockup shows an example of a small direct attach configuration where the telemetry service is enabled, including instrumentation of the Swordfish Capacity Metrics templates.

Implementing Telemetry (capacity and performance metrics)

Service-Based Configuration: Hosted Service Configuration Mockups

This mockup contains several systems with different configurations under the StorageServices collection. It demonstrates class of service implemented through underlying lines of service, local replication, enterprise block storage with customized class-of-service controls, a server-attached configuration, and a file service implemented on top of block storage.

Service-Based Configuration: Hosted Service Configuration Mockups

NVMe and NVMe-oF Configurations

NVMe SSD Configurations

Simple NVMe SSD Mockup

This mockup follows the Swordfish Integrated Configuration model. The NVM drive is modeled as a PCI-attached drive connected to a system and can also be found through the Storage collection.

Simple NVMe SSD Mockup

NVMe SSD with Endurance Groups and NVM Sets Mockup

This mockup shares many similarities with the simpler device model but adds NVMe Endurance Groups and NVM Sets using the Swordfish StoragePool schema with additional NVMe-specific properties.

NVMe SSD with Endurance Groups and NVM Sets Mockup

JBOF Mockup with NVMe SSDs

This mockup represents a JBOF (just a bunch of flash) enclosure and its contained drives. It reflects a PCIe front-end attach configuration with a set of drives.

JBOF Mockup with NVMe SSDs

Configurations including Ethernet attached Drives

Ethernet Attach Drive with NVMe-oF Attach

This mockup reflects an IP-attached drive configuration with a single Ethernet port configured. It includes a drive configured with a default endurance group and NVM Set, instantiated in the Storage Collection off the Service Root. The network configuration is modeled in the Chassis.

Ethernet Attach Drive with NVMe-oF Attach

EBOF Mockup

This mockup represents an EBOF (Ethernet-attached bunch of flash) enclosure and its contained drives. It reflects an Ethernet front-end attach configuration with a set of Ethernet-attached drives inside the chassis.

EBOF Mockup

NVMe Complex Devices (e.g., arrays)

Fabric Attach Array Mockup

The fabric attach array mockup shows a representation where the array exposes native NVMe resources for both front-end and internal components.

Fabric Attach Array Mockup

Opaque Array (NVMe Front End) Mockup

The opaque array reflects a system with an NVMe front end whose internal implementation is vendor specific and not necessarily presented by the vendor. This mockup presents an NVMe front end while also exposing a SATA drive backend, supporting both FRU management and volume or namespace creation.

Opaque Array (NVMe Front End) Mockup

NVMe/TCP Array Mockups

The NVMe/TCP array mockup shows a representation where the array exposes NVMe/TCP resources for the front-end interface.

NVMe/TCP Array Mockups

Subsystem (Fabric) Model - NVMe-oF

Fabric-Attached Subsystem Mockup - Ethernet

This mockup shows a logical exported NVMe-oF subsystem connecting via Ethernet using the Redfish Fabric model. The fabric model uses the Connection schema to characterize allowed host information and Endpoints and Zones to show network connectivity from the device's perspective. It also includes NVMe Domains containing NVM controllers, endurance groups, NVM sets, or namespaces.

Fabric-Attached Subsystem Mockup - Ethernet

Fabric-Attached Subsystem - RDMA

This mockup shows a logical exported NVMe-oF subsystem with connectivity via RDMA. Connectivity and access rights are represented using the Redfish Fabric model. The fabric model uses the Connection schema to characterize allowed host information and Endpoints and Zones to show network connectivity from the device's perspective. It also includes NVMe Domains containing NVM controllers, endurance groups, NVM sets, or namespaces.

Fabric-Attached Subsystem - RDMA

NVMe-oF Discovery Controller Mockups

This mockup presents multiple NVM subsystems. One subsystem contains a discovery controller with discovery information about the others. The other subsystems provide pointers to the subsystem containing the discovery controller.

NVMe-oF Discovery Controller Mockups

NVMe SMART Metrics

This mockup shows NVMe SMART Metrics on the NVMe I/O Controller. The NVMe SMART Metrics object mirrors the NVMe SMART log page and can be collected and populated with a single log-page call on the device.

NVMe SMART Metrics

NVMe Domains

This mockup features NVMe Domains (/redfish/v1/NVMeDomains). NVMe Domains contain a collection of domain members, which can be NVM controllers, endurance groups, NVM sets, or namespaces. Domains can constrain the set of firmware images available to like members. Other domain-level properties include ALUA group definitions, indicating common access characteristics and path prioritization behaviors across namespaces. It also includes examples that report persistent reservations.

NVMe Domains