Chris Lionetti HPE - SNIA

Transcription

Accelerating Swordfish ImplementationsChris LionettiHPE2020 Storage Developer Conference EMEA. All Rights Reserved.1

The SNIA SwordfishTM Approach§Develop the management modelrrpoint-of-view of what a client needs to accomplishprovide information that the client needs§Cover block, file, and object storage§Traditional storage domain coverage & converged environmentsr§covering servers, storage and fabric togetherImplement the Swordfish API as an extension of the Redfish APIr§Build using DMTF’s Redfish technologiesRESTful interface over HTTPS in JSON format based on OData v42020 Storage Developer Conference EMEA. All Rights Reserved.2

Who is Developing Redfish and Swordfish*?American Megatrends, Inc.Artesyn Embedded TechnologiesEatonEricsson ABInsyde SoftwareCorp.MellanoxTechnologiesNew H3C TechnologiesCo., LtdOSIsoft, LLCQuanta ComputerSolarflare CommunicationsSupermicroVertivArm LimitedBroadcom Inc.CrayCiscoDell Inc.FujitsuHewlett Packard EnterpriseHuawei**IBMIntel CorporationLenovoMicrochip Technology Inc.NetAppToshiba Memory CorporationWestern DigitalVMware IncHitachiInspurKalrayManageEngineMicronNEC CorporationNGD Systems, Inc.Pure StorageQuest SoftwareSeagate TechnologySilicon Motion, Inc.SK HynixStarWindToshiba AmericaTurbonomic*as of September 20, 2019** Membership suspended2020 Storage Developer Conference EMEA. All Rights Reserved.3

Swordfish: Walking the Model2020 Storage Developer Conference EMEA. All Rights Reserved.44

See Example Swordfish Configurations§Technical Work Group (TWG) works with “mockups” (snapshotsof a state in time) of different types of systems§Published at http://swordfishmockups.com (/redfish/v1/)Note: Mockups are representations of implementations, not normative2020 Storage Developer Conference EMEA. All Rights Reserved.5

Overview of Swordfish Hierarchy§Explore the Swordfish data model tosee potential / typical implementation§Navigate the model to learn about,and see, various resources§SNIA mockups show examples ofblock storage systems§§§Simple: A small external arrayComplex: all of the elements in the blockstorage model, with remote replication. and an example of a file server withmultiple file shares2020 Storage Developer Conference EMEA. All Rights Reserved.6

Navigating through the Mockups rSelect the ./redfish/v1/StorageServices or /redfish/v1/StorageSystems link to see the“Collection” of Storage Services or SystemsrClick the “ /StorageSystems/Simple” link tosee the details of the Simple mockup“ /StorageSystems/1” to see the details ofthe complex storage service mockup“ /StorageSystems/FileService” to see thefilesystem mockup“ /StorageSystems/ISC” to see the ISCmockup (look for links to the hosting system)2020 Storage Developer Conference EMEA. All Rights Reserved.7

What’s in a StorageService/System? (Block)rClasses Of Service (if using Service)rrrrrrrLines of Service that are used to compose theClasses of ServiceVolumesPoolsGroupsEndpoints Pointer to related resources (system,chassis,.)2020 Storage Developer Conference EMEA. All Rights Reserved.8

What’s in a StorageService/System? (File)Same structure:r Classes Of Service (if using Service)r File systemsr Poolsr Groupsr Endpointsr r Pointer to related resources (system,chassis, block service or drives)2020 Storage Developer Conference EMEA. All Rights Reserved.9

Which Tools are right for you!rrrrrrSwordfish PowerShell ToolkitSwordfish to RestAPI MapSwordfish PowerShell Provider FrameworkSwordfish EmulatorSwordfish Mockup websiteRedfish Mockup Creator2020 Storage Developer Conference EMEA. All Rights Reserved.10

Which Tools are right for you!YOURStorage Managementsoftware HERE fish MockupCreatorSwordfish PowerShellProvider ExampleRestAPI to SwordfishMap exampleRedfish ServerRestAPI to SwordfishMap exampleSwordfish EmulatorWACExtensionUsesSwordfish Consumers (Clients)Swordfish ProviderYOUR StorageDevice HERE !Swordfish Providers (Storage Devices)2020 Storage Developer Conference EMEA. All Rights Reserved.11

WHAT IS THE POWERSHELL TOOLKIT?rOpen source project between HPE and Pure StoragerrSupported on Windows Server, Linux and l-ToolkitCan query a Swordfish Target, A simulator, or even SwordFishMockup.comPowerShell wrapper for REST API calls to Redfish and Swordfish2020 Storage Developer Conference EMEA. All Rights Reserved.12

PowerShell Toolkit - ObjectsrEverything is returned as objects (and nested objects)r Cast to Variabler Can filter by properties, or access like an arrayrCan dig deeper into single valuesrAnd you can even cast the Variable BACK to JSON format2020 Storage Developer Conference EMEA. All Rights Reserved.13

PowerShell Command HelprrGet a list of valid commandsGet Help on a specific commandrrrOption to show examplesOption to show AllVerbose option to see raw transactions2020 Storage Developer Conference EMEA. All Rights Reserved.14

PowerShell Toolkit Work ItemsThe PowerShell Toolkit commands;rrrrrrrrrrGet-SwordFishChassis ( Power, -SwordfishMockupCommand sets that need to be written;(in order of LoSNew/Set/Remove-SwordFishClassOfServiceCommon NomenclaturerRestAPI vs PowerShell. Create New, Read Get, Update Set, Delete RemoveAll Commands must have inline help before being checked into the buildAll Commands must work against BOTH the Swordfish Targets (directly) and SwordFishMockups.comAll Commands are open source, no compiled code or external DLL dependencies2020 Storage Developer Conference EMEA. All Rights Reserved.15

What you will needrrrRestAPI Documentation to your Target DevicePowerShell Toolkit that exposes your RestAPIBasic PowerShell knowledgerrAccess to SwordfishMockups.comAccess to the Swordfish Specri.e . Retrieve the Volume Object from your Device and expand its JSON2. Hold it side-by-side to a Volume Object from SwordFishMockups.com3. Look for Matches and check the Vendor RestAPI documentation vs the Swordfish Spec forsimilaritiesi.e. You may show the space of a Volume as MBytes, while the Swordfish Specs uses Bytes. You wouldneed to know to multiply your result by 1024 to before populating the relevant swordfish field4.Go through the rest of the Swordfish Spec looking for fields that you can implement and fill inusing your results.2020 Storage Developer Conference EMEA. All Rights Reserved.16

Create a File Structure to match SwordfishrUsing PowerShell you can create a function for each thing you wish to express in SwordFish.rMake a master script that runs youfunction against all things in yourdevice.rCreate PowerShell Objects thatcan be converted to JSON assaved as Index.json files.rIn example to right, Variables allstart with ‘ ’ and constants areshown in brown.SEE 020 Storage Developer Conference EMEA. All Rights Reserved.17

How to Serve Swordfish It’s a Cookbook!rrCodebase Assumes that you have created a Mockupthat runs against the output of that mockup.r The Mockup can be directed to pull live informationfor each Swordfish request.Code is hidden command in the Mockup called‘Listener.ps1’2020 Storage Developer Conference EMEA. All Rights Reserved.18

Swordfish Info: fish Mockups Site§§§§ISC and HSC configurationsBlock vs file configurationsSmall and large onsUser’s GuideGitHub for Swordfish ToolsPractical GuideOther DocumentationWhitepapers, PresentationsYouTube shorts & WebinarsParticipate§Join SNIA and the SSM TWG Implement2020 Storage Developer Conference EMEA. All Rights Reserved.191

Next Steps Develop a Swordfish Mockup of your own & submit it to the Swordfish forum; Feedback on spec adherence to validate your mockup.Will be posted as an additional example in the SwordfishMockups.com site.Join SNIA and the SSM TWG & help define the Schema; Ensure the Schema is defined sufficiently to represent your desired implementation Full NVMe Enablement: Functionality alignment across DMTF, NVMExpress/NVMe-MI and SNIA for NVMe use casesEnhanced profile support for SNIA Alliance partner organizationsHelp define the future of this Swordfish Consumer. WE ARE ALWAYS LOOKING FOR FEEDBACK REGARDING YOUR IMPLEMENTATION MAPING TO SWORDFISH !SwordFish PowerShell Toolkit and follow-on Windows Admin Client Module.notable projects; Swordfish DataDog implementation & PowerBIA GoLang Client library called GoFish; An EmberJS ClientLooking for more integration points (what can you come up with)Attend the SDC Swordfish Mockathon at this event. BYOAPI (Bring Your Own API), walk out with working provider that you can build upon.2020 Storage Developer Conference EMEA. All Rights Reserved.20

Q&A2020 Storage Developer Conference EMEA. All Rights Reserved. 21Thanks to the SSM TWG members for additional slide content

ManageEngine Micron NEC Corporation NGD Systems, Inc. Pure Storage Quest Software Seagate Technology Silicon Motion, Inc. SK Hynix StarWind Toshiba America Turbonomic *as of September 20, 2019 ** Membership suspended Arm Limited Broadcom Inc. Cray Cisco Dell Inc. Fujitsu Hewlett Packard Enterprise Huawei** IBM Intel Corporation Lenovo Microchip .