deffile

package
v1.2.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 17, 2019 License: BSD-3-Clause Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddBootstrap

func AddBootstrap(f *os.File, deffile *DefFileData, sysCfg *sys.Config) error

AddBoostrap adds all the data to the definition file related to bootstrapping

func AddMPIInstall

func AddMPIInstall(f *os.File, deffile *DefFileData) error

AddMPIInstall adds all the data to the definition file related to the installation of MPI

func CreateBasicDefFile

func CreateBasicDefFile(app *app.Info, data *DefFileData, sysCfg *sys.Config) error

CreateBasicDefFile creates a definition file for a given non-MPI configuration.

func CreateBindDefFile

func CreateBindDefFile(app *app.Info, data *DefFileData, sysCfg *sys.Config) error

CreateBindDefFile creates a definition file for a given bind-based configuration.

Note that the application must have been compiled on the host prior to calling this function. All data to handle the application once compiled is available in app.

func CreateHybridDefFile

func CreateHybridDefFile(app *app.Info, data *DefFileData, sysCfg *sys.Config) error

CreateHybridDefFile creates a definition file for a given bybrid-based configuration.

func UpdateDeffileTemplate

func UpdateDeffileTemplate(data DefFileData, sysCfg *sys.Config) error

UpdateDeffileTemplate update a template file and create a usable definition file

func UpdateDistroCodename

func UpdateDistroCodename(data, distro string) string

UpdateDefFileDistroCodename replaces the tag for the distro codename in a definition file by the actual target distro codename

Types

type DefFileData

type DefFileData struct {
	// Path is the path to the definition file
	Path string

	// DistroID is the linux distribution identifier to be used in the definition file
	DistroID distro.ID

	// MpiImplm is the MPI implementation ID (e.g., OMPI, MPICH)
	MpiImplm *implem.Info

	// Tags are the keys used in the template file for the MPI to use
	Tags TemplateTags

	// InternalEnv represents the build environment to use in the definition file
	InternalEnv *buildenv.Info

	// Model specifies the model to follow for MPI inside the container
	Model string
}

DefFileData is all the data associated to a definition file

func (*DefFileData) Backup

func (d *DefFileData) Backup(env *buildenv.Info) error

Backup a definition file based on a build environment (copy the file from the build directory to the install directory)

type TemplateTags

type TemplateTags struct {
	// Verion is the version of the MPI implementation tag
	Version string
	// Tarball is the tag used to refer to the MPI implementation tarball
	Tarball string
	// URL is the tag used to refer to the URL to be used to download MPI
	URL string
	// Dir is the tag to be used to refer to the directory where MPI is installed
	Dir string // todo: Should be removed
	// InstallConfFile is the tag used to specify where the installation configuration file is assumed to be in the image
	InstallConffile string
	// UninstallConfFile is the tag used to specify where the uninstallation configuration file is assumed to be in the image
	UninstallConffile string
	// Ifnet is the tag referring to the network interface to be used
	Ifnet string
}

TemplateTags gathers all the data related to a given template

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL