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 }