func CreateConfig(d *deployer.CommonData, i *metadata.InputData) (*metadata.Config, error) { if d.DefaultExportDir == "" { d.DefaultExportDir = "/var/lib/xen" } m, err := metadata.NewMetdataConfig(d, i.StorageConfigFile) if err != nil { return nil, utils.FormatError(err) } controller.RegisterSteps(func() func() error { return func() error { var err error m.Hwdriver, err = hwinfodriver.NewHostinfoDriver(m.SshConfig, i.Lshw, filepath.Join(d.RootDir, ".hwinfo.json")) if err != nil { return utils.FormatError(err) } m.Metadata = new(metadata.Metadata) m.EnvDriver = envdriver.NewDriver(m.SshConfig) return controller.SkipStep } }()) if err := metadata.RegisterSteps(d, i, m, &meta{}); err != nil { return nil, utils.FormatError(err) } return m, nil }
func NewPostProcessor(sshconf *ssh.Config, startDomain bool) *PostProcessor { p := new(PostProcessor) p.driver = xen_xl.NewDriver(sshconf) p.startDomain = startDomain return p }