Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
2019 Storage Developer Conference. © 2019 Dell, Inc.. All Rights Reserved. 1
Gofish – A Golang Client Library for Swordfish
Sean McGinnisDell EMC
2019 Storage Developer Conference. © 2019 Dell, Inc.. All Rights Reserved. 2
High Level View
Gofish
2019 Storage Developer Conference. © 2019 Dell, Inc.. All Rights Reserved. 3
Features
Hides internal details from consumer Presents basic object model Attempts to handle implementation specific
differences so users don’t need to
2019 Storage Developer Conference. © 2019 Dell, Inc.. All Rights Reserved. 4
Background Information
2019 Storage Developer Conference. © 2019 Dell, Inc.. All Rights Reserved. 5
What the Heck is Go? Statically typed language from Google Fast, efficient, and portable
Native concurrency Target different platforms at compile time
package main
import (“fmt”
)
func main() {message := “Hello, SDC!!”fmt.Println(message)
}
2019 Storage Developer Conference. © 2019 Dell, Inc.. All Rights Reserved. 6
Gofish History
Interest in support in OpenSDS project Open Source Liaison group efforts Open source way – saw a need and wanted
to “scratch the itch”
2019 Storage Developer Conference. © 2019 Dell, Inc.. All Rights Reserved. 7
Redfish Overview
Build off of capabilities of IMPI, SMASH, etc. Use modern, interoperable technology REST (HTTP) JSON data representation Clearly defined object schema
2019 Storage Developer Conference. © 2019 Dell, Inc.. All Rights Reserved. 8
Swordfish Overview
Built on top of Redfish specification Adds objects for storage management Close collaboration with DMTF Redfish team
2019 Storage Developer Conference. © 2019 Dell, Inc.. All Rights Reserved. 9
Object Model
2019 Storage Developer Conference. © 2019 Dell, Inc.. All Rights Reserved. 10
Redfish Objects
/redfish/v1
ServiceRoot
./Chassis/1
- Name- Model- Status
./Chassis/1
- Name- Model- Status
./Power
./Thermal
./Chassis/1
- Name- Model- Status
./Systems/1
- Name- Model- Status
./Processor/1
./Memory/1
./EthernetInterfaces/1
2019 Storage Developer Conference. © 2019 Dell, Inc.. All Rights Reserved. 11
Swordfish Objects
/redfish/v1
ServiceRoot
./StorageServices/1
- Name- Description- Status
./Enclosure/1
./Volumes/1
./StoragePools/1
./Endpoints/1
./Drives/1
./FileSystem/1
2019 Storage Developer Conference. © 2019 Dell, Inc.. All Rights Reserved. 12
Demo
2019 Storage Developer Conference. © 2019 Dell, Inc.. All Rights Reserved. 13
https://github.com/stmcginnis/gofish-demo
2019 Storage Developer Conference. © 2019 Dell, Inc.. All Rights Reserved. 14
Contributing
Typical GitHub workflow:
$ git clone https://github.com/stmcginnis/gofish$ git checkout –b [branch_name]$ git push [your_personal_github_account]
2019 Storage Developer Conference. © 2019 Dell, Inc.. All Rights Reserved. 15
Thanks to Contributors!
Juliano Martinezncode
Mike Pittelkomike-pittelko
2019 Storage Developer Conference. © 2019 Dell, Inc.. All Rights Reserved. 16
Call to Action
Try it out! Report any issues via the GitHub issue
tracker Submit pull requests for any updates and
fixes Spread the word!
2019 Storage Developer Conference. © 2019 Dell, Inc.. All Rights Reserved. 17
Links and References
https://github.com/stmcginnis/gofishhttps://redfish.dmtf.org/https://www.snia.org/forums/smi/swordfish
2019 Storage Developer Conference. © 2019 Dell, Inc.. All Rights Reserved. 18
Please take a moment to rate this session.
Your feedback matters to us.