github.com/iqoqo/nomad@v0.11.3-0.20200911112621-d7021c74d101/client/allocrunner/allocdir_hook.go (about)

     1  package allocrunner
     2  
     3  import (
     4  	log "github.com/hashicorp/go-hclog"
     5  	"github.com/hashicorp/nomad/client/allocdir"
     6  )
     7  
     8  // allocDirHook creates and destroys the root directory and shared directories
     9  // for an allocation.
    10  type allocDirHook struct {
    11  	allocDir *allocdir.AllocDir
    12  	logger   log.Logger
    13  }
    14  
    15  func newAllocDirHook(logger log.Logger, allocDir *allocdir.AllocDir) *allocDirHook {
    16  	ad := &allocDirHook{
    17  		allocDir: allocDir,
    18  	}
    19  	ad.logger = logger.Named(ad.Name())
    20  	return ad
    21  }
    22  
    23  func (h *allocDirHook) Name() string {
    24  	return "alloc_dir"
    25  }
    26  
    27  func (h *allocDirHook) Prerun() error {
    28  	return h.allocDir.Build()
    29  }
    30  
    31  func (h *allocDirHook) Destroy() error {
    32  	return h.allocDir.Destroy()
    33  }