github.com/swiftstack/ProxyFS@v0.0.0-20210203235616-4017c267d62f/halter/config.go (about) 1 // Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 // SPDX-License-Identifier: Apache-2.0 3 4 package halter 5 6 import ( 7 "github.com/swiftstack/ProxyFS/conf" 8 "github.com/swiftstack/ProxyFS/trackedlock" 9 "github.com/swiftstack/ProxyFS/transitions" 10 ) 11 12 type globalsStruct struct { 13 trackedlock.Mutex 14 armedTriggers map[uint32]uint32 // key: haltLabel; value: haltAfterCount (remaining) 15 triggerNamesToNumbers map[string]uint32 16 triggerNumbersToNames map[uint32]string 17 testModeHaltCB func(err error) 18 } 19 20 var globals globalsStruct 21 22 func init() { 23 transitions.Register("halter", &globals) 24 } 25 26 func (dummy *globalsStruct) Up(confMap conf.ConfMap) (err error) { 27 globals.armedTriggers = make(map[uint32]uint32) 28 globals.triggerNamesToNumbers = make(map[string]uint32) 29 globals.triggerNumbersToNames = make(map[uint32]string) 30 for i, s := range HaltLabelStrings { 31 globals.triggerNamesToNumbers[s] = uint32(i) 32 globals.triggerNumbersToNames[uint32(i)] = s 33 } 34 globals.testModeHaltCB = nil 35 err = nil 36 return 37 } 38 39 func (dummy *globalsStruct) VolumeGroupCreated(confMap conf.ConfMap, volumeGroupName string, activePeer string, virtualIPAddr string) (err error) { 40 return nil 41 } 42 func (dummy *globalsStruct) VolumeGroupMoved(confMap conf.ConfMap, volumeGroupName string, activePeer string, virtualIPAddr string) (err error) { 43 return nil 44 } 45 func (dummy *globalsStruct) VolumeGroupDestroyed(confMap conf.ConfMap, volumeGroupName string) (err error) { 46 return nil 47 } 48 func (dummy *globalsStruct) VolumeCreated(confMap conf.ConfMap, volumeName string, volumeGroupName string) (err error) { 49 return nil 50 } 51 func (dummy *globalsStruct) VolumeMoved(confMap conf.ConfMap, volumeName string, volumeGroupName string) (err error) { 52 return nil 53 } 54 func (dummy *globalsStruct) VolumeDestroyed(confMap conf.ConfMap, volumeName string) (err error) { 55 return nil 56 } 57 func (dummy *globalsStruct) ServeVolume(confMap conf.ConfMap, volumeName string) (err error) { 58 return nil 59 } 60 func (dummy *globalsStruct) UnserveVolume(confMap conf.ConfMap, volumeName string) (err error) { 61 return nil 62 } 63 func (dummy *globalsStruct) VolumeToBeUnserved(confMap conf.ConfMap, volumeName string) (err error) { 64 return nil 65 } 66 func (dummy *globalsStruct) SignaledStart(confMap conf.ConfMap) (err error) { 67 return nil 68 } 69 func (dummy *globalsStruct) SignaledFinish(confMap conf.ConfMap) (err error) { 70 return nil 71 } 72 73 func (dummy *globalsStruct) Down(confMap conf.ConfMap) (err error) { 74 err = nil 75 return 76 } 77 78 func configureTestModeHaltCB(testHalt func(err error)) { 79 globals.Lock() 80 globals.testModeHaltCB = testHalt 81 globals.Unlock() 82 }