diff --git a/cmd/image_build.go b/cmd/image_build.go index 1dd8c47..bc4e9fb 100644 --- a/cmd/image_build.go +++ b/cmd/image_build.go @@ -24,6 +24,7 @@ import ( func imageBuildCommand() *cobra.Command { var vmID uint + var vmName string var provisionFile string var provisionOverrides []string @@ -57,6 +58,10 @@ func imageBuildCommand() *cobra.Command { baseImageName := args[0] newImageName := LocalImageName(args[1]) + if vmName == "" { + vmName = newImageName + } + ctx, cancel := onInterruptWrap(context.Background()) defer cancel() @@ -152,7 +157,7 @@ func imageBuildCommand() *cobra.Command { vmConfig := virter.VMConfig{ Image: baseImage, - Name: newImageName, + Name: vmName, MemoryKiB: memKiB, BootCapacityKiB: bootCapacityKiB, VCPUs: vcpus, @@ -179,6 +184,7 @@ func imageBuildCommand() *cobra.Command { } buildConfig := virter.ImageBuildConfig{ + ImageName: newImageName, ContainerName: containerName, ShutdownTimeout: shutdownTimeout, ProvisionConfig: provisionConfig, @@ -224,6 +230,7 @@ func imageBuildCommand() *cobra.Command { buildCmd.Flags().StringVarP(&provisionFile, "provision", "p", "", "name of toml file containing provisioning steps") buildCmd.Flags().StringArrayVarP(&provisionOverrides, "set", "s", []string{}, "set/override provisioning steps") buildCmd.Flags().UintVarP(&vmID, "id", "", 0, "ID for VM which determines the IP address") + buildCmd.Flags().StringVarP(&vmName, "name", "", "", "Name to use for provisioning VM") buildCmd.Flags().UintVar(&vcpus, "vcpus", 1, "Number of virtual CPUs to allocate for the VM") u := unit.MustNewUnit(sizeUnits) mem = u.MustNewValue(1*sizeUnits["G"], unit.None) diff --git a/internal/virter/image.go b/internal/virter/image.go index d767c16..01a4234 100644 --- a/internal/virter/image.go +++ b/internal/virter/image.go @@ -530,6 +530,7 @@ type ImageBuildTools struct { // ImageBuildConfig contains the configuration for building an image type ImageBuildConfig struct { + ImageName string ContainerName string ShutdownTimeout time.Duration ProvisionConfig ProvisionConfig @@ -578,7 +579,7 @@ func (v *Virter) imageBuildProvisionCommit(ctx context.Context, tools ImageBuild } } - err = v.VMCommit(ctx, tools.AfterNotifier, vmConfig.Name, vmConfig.Name, true, buildConfig.ShutdownTimeout, vmConfig.StaticDHCP, opts...) + err = v.VMCommit(ctx, tools.AfterNotifier, vmConfig.Name, buildConfig.ImageName, true, buildConfig.ShutdownTimeout, vmConfig.StaticDHCP, opts...) if err != nil { return err }