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  }