diff --git a/cmd/minikube/cmd/start_flags.go b/cmd/minikube/cmd/start_flags.go index ad7516338f..e01fead457 100644 --- a/cmd/minikube/cmd/start_flags.go +++ b/cmd/minikube/cmd/start_flags.go @@ -28,9 +28,9 @@ import ( "github.com/spf13/cobra" "github.com/spf13/viper" "k8s.io/klog/v2" + "k8s.io/minikube/pkg/drivers/common/vmnet" "k8s.io/minikube/pkg/drivers/kic" "k8s.io/minikube/pkg/drivers/kic/oci" - "k8s.io/minikube/pkg/drivers/vmnet" "k8s.io/minikube/pkg/minikube/bootstrapper/bsutil" "k8s.io/minikube/pkg/minikube/bootstrapper/bsutil/kverify" "k8s.io/minikube/pkg/minikube/cni" diff --git a/pkg/drivers/common.go b/pkg/drivers/common/common.go similarity index 99% rename from pkg/drivers/common.go rename to pkg/drivers/common/common.go index f17590838f..1b0431eb98 100644 --- a/pkg/drivers/common.go +++ b/pkg/drivers/common/common.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package drivers +package common import ( "bufio" diff --git a/pkg/drivers/common_test.go b/pkg/drivers/common/common_test.go similarity index 99% rename from pkg/drivers/common_test.go rename to pkg/drivers/common/common_test.go index ee35cdb236..df19e45a7f 100644 --- a/pkg/drivers/common_test.go +++ b/pkg/drivers/common/common_test.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package drivers +package common import ( "os" diff --git a/pkg/drivers/iso.go b/pkg/drivers/common/iso.go similarity index 98% rename from pkg/drivers/iso.go rename to pkg/drivers/common/iso.go index 2acb7b9c75..6f9630c9c2 100644 --- a/pkg/drivers/iso.go +++ b/pkg/drivers/common/iso.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package drivers +package common import ( "fmt" diff --git a/pkg/drivers/iso_test.go b/pkg/drivers/common/iso_test.go similarity index 88% rename from pkg/drivers/iso_test.go rename to pkg/drivers/common/iso_test.go index 3bd3026f69..79d08e77b3 100644 --- a/pkg/drivers/iso_test.go +++ b/pkg/drivers/common/iso_test.go @@ -14,12 +14,14 @@ See the License for the specific language governing permissions and limitations under the License. */ -package drivers +package common import ( "testing" ) +const testISOPath = "testdata/test.iso" + func TestExtractFile(t *testing.T) { testDir := t.TempDir() @@ -32,42 +34,42 @@ func TestExtractFile(t *testing.T) { }{ { name: "all is right", - isoPath: "iso_test.iso", + isoPath: testISOPath, srcPath: "/test1.txt", destPath: testDir + "/test1.txt", expectedError: false, }, { name: "isoPath is error", - isoPath: "tests.iso", + isoPath: "testdata/missing.iso", srcPath: "/test1.txt", destPath: testDir + "/test1.txt", expectedError: true, }, { name: "srcPath is empty", - isoPath: "iso_tests.iso", + isoPath: testISOPath, srcPath: "", destPath: testDir + "/test1.txt", expectedError: true, }, { name: "srcPath is error", - isoPath: "iso_tests.iso", + isoPath: testISOPath, srcPath: "/t1.txt", destPath: testDir + "/test1.txt", expectedError: true, }, { name: "destPath is empty", - isoPath: "iso_test.iso", + isoPath: testISOPath, srcPath: "/test1.txt", destPath: "", expectedError: true, }, { name: "find files in a folder", - isoPath: "./iso_test.iso", + isoPath: testISOPath, srcPath: "/test2/test2.txt", destPath: testDir + "/test2.txt", expectedError: false, diff --git a/pkg/drivers/iso_test.iso b/pkg/drivers/common/testdata/test.iso similarity index 100% rename from pkg/drivers/iso_test.iso rename to pkg/drivers/common/testdata/test.iso diff --git a/pkg/drivers/vmnet/vmnet.go b/pkg/drivers/common/vmnet/vmnet.go similarity index 100% rename from pkg/drivers/vmnet/vmnet.go rename to pkg/drivers/common/vmnet/vmnet.go diff --git a/pkg/drivers/vmnet/vmnet_error.go b/pkg/drivers/common/vmnet/vmnet_error.go similarity index 100% rename from pkg/drivers/vmnet/vmnet_error.go rename to pkg/drivers/common/vmnet/vmnet_error.go diff --git a/pkg/drivers/vmnet/vmnet_stub.go b/pkg/drivers/common/vmnet/vmnet_stub.go similarity index 100% rename from pkg/drivers/vmnet/vmnet_stub.go rename to pkg/drivers/common/vmnet/vmnet_stub.go diff --git a/pkg/drivers/hyperkit/driver.go b/pkg/drivers/hyperkit/driver.go index cfc976855f..e03ff56f5a 100644 --- a/pkg/drivers/hyperkit/driver.go +++ b/pkg/drivers/hyperkit/driver.go @@ -37,7 +37,7 @@ import ( ps "github.com/mitchellh/go-ps" hyperkit "github.com/moby/hyperkit/go" "github.com/pkg/errors" - pkgdrivers "k8s.io/minikube/pkg/drivers" + "k8s.io/minikube/pkg/drivers/common" "k8s.io/minikube/pkg/minikube/detect" ) @@ -53,7 +53,7 @@ const ( // Driver is the machine driver for Hyperkit type Driver struct { *drivers.BaseDriver - *pkgdrivers.CommonDriver + *common.CommonDriver Boot2DockerURL string DiskSize int CPU int @@ -73,7 +73,7 @@ func NewDriver(_, _ string) *Driver { BaseDriver: &drivers.BaseDriver{ SSHUser: "docker", }, - CommonDriver: &pkgdrivers.CommonDriver{}, + CommonDriver: &common.CommonDriver{}, } } @@ -103,7 +103,7 @@ func (d *Driver) Create() error { } // TODO: handle different disk types. - if err := pkgdrivers.MakeDiskImage(d.BaseDriver, d.Boot2DockerURL, d.DiskSize); err != nil { + if err := common.MakeDiskImage(d.BaseDriver, d.Boot2DockerURL, d.DiskSize); err != nil { return errors.Wrap(err, "making disk image") } @@ -196,7 +196,7 @@ func (d *Driver) Remove() error { // Restart a host func (d *Driver) Restart() error { - return pkgdrivers.Restart(d) + return common.Restart(d) } func (d *Driver) createHost() (*hyperkit.HyperKit, error) { @@ -225,14 +225,14 @@ func (d *Driver) createHost() (*hyperkit.HyperKit, error) { h.Disks = []hyperkit.Disk{ &hyperkit.RawDisk{ - Path: pkgdrivers.GetDiskPath(d.BaseDriver), + Path: common.GetDiskPath(d.BaseDriver), Size: d.DiskSize, Trim: true, }, } for i := 0; i < d.ExtraDisks; i++ { h.Disks = append(h.Disks, &hyperkit.RawDisk{ - Path: pkgdrivers.ExtraDiskPath(d.BaseDriver, i), + Path: common.ExtraDiskPath(d.BaseDriver, i), Size: d.DiskSize, Trim: true, }) @@ -287,7 +287,7 @@ func (d *Driver) setupIP(mac string) error { return fmt.Errorf("hyperkit crashed! command line:\n hyperkit %s", d.Cmdline) } - d.IPAddress, err = pkgdrivers.GetIPAddressByMACAddress(mac) + d.IPAddress, err = common.GetIPAddressByMACAddress(mac) if err != nil { return &tempError{err} } @@ -430,7 +430,7 @@ func (d *Driver) extractKernel(isoPath string) error { {"/boot/initrd", "initrd"}, } { fullDestPath := d.ResolveStorePath(f.destPath) - if err := pkgdrivers.ExtractFile(isoPath, f.pathInIso, fullDestPath); err != nil { + if err := common.ExtractFile(isoPath, f.pathInIso, fullDestPath); err != nil { return err } } diff --git a/pkg/drivers/kic/kic.go b/pkg/drivers/kic/kic.go index 6be2547ea8..0b6e97af88 100644 --- a/pkg/drivers/kic/kic.go +++ b/pkg/drivers/kic/kic.go @@ -33,7 +33,7 @@ import ( "github.com/pkg/errors" "k8s.io/klog/v2" - pkgdrivers "k8s.io/minikube/pkg/drivers" + "k8s.io/minikube/pkg/drivers/common" "k8s.io/minikube/pkg/drivers/kic/oci" "k8s.io/minikube/pkg/minikube/assets" "k8s.io/minikube/pkg/minikube/command" @@ -52,7 +52,7 @@ import ( // Driver represents a kic driver https://minikube.sigs.k8s.io/docs/reference/drivers/docker type Driver struct { *drivers.BaseDriver - *pkgdrivers.CommonDriver + *common.CommonDriver URL string exec command.Runner NodeConfig Config diff --git a/pkg/drivers/krunkit/krunkit.go b/pkg/drivers/krunkit/krunkit.go index 22134ef6fc..559daa0cea 100644 --- a/pkg/drivers/krunkit/krunkit.go +++ b/pkg/drivers/krunkit/krunkit.go @@ -41,8 +41,8 @@ import ( "github.com/pkg/errors" "k8s.io/klog/v2" - pkgdrivers "k8s.io/minikube/pkg/drivers" - "k8s.io/minikube/pkg/drivers/vmnet" + "k8s.io/minikube/pkg/drivers/common" + "k8s.io/minikube/pkg/drivers/common/vmnet" "k8s.io/minikube/pkg/minikube/exit" "k8s.io/minikube/pkg/minikube/firewall" "k8s.io/minikube/pkg/minikube/out" @@ -65,7 +65,7 @@ const ( // Driver is the machine driver for krunkit. type Driver struct { *drivers.BaseDriver - *pkgdrivers.CommonDriver + *common.CommonDriver Boot2DockerURL string DiskSize int CPU int @@ -86,7 +86,7 @@ func NewDriver(hostName, storePath string) drivers.Driver { MachineName: hostName, StorePath: storePath, }, - CommonDriver: &pkgdrivers.CommonDriver{}, + CommonDriver: &common.CommonDriver{}, } } @@ -179,8 +179,8 @@ func (d *Driver) Create() error { if d.ExtraDisks > 0 { log.Info("Creating extra disk images...") for i := 0; i < d.ExtraDisks; i++ { - path := pkgdrivers.ExtraDiskPath(d.BaseDriver, i) - if err := pkgdrivers.CreateRawDisk(path, d.DiskSize); err != nil { + path := common.ExtraDiskPath(d.BaseDriver, i) + if err := common.CreateRawDisk(path, d.DiskSize); err != nil { return err } } @@ -228,7 +228,7 @@ func (d *Driver) startKrunkit(socketPath string) error { for i := 0; i < d.ExtraDisks; i++ { args = append(args, - "--device", fmt.Sprintf("virtio-blk,path=%s", pkgdrivers.ExtraDiskPath(d.BaseDriver, i))) + "--device", fmt.Sprintf("virtio-blk,path=%s", common.ExtraDiskPath(d.BaseDriver, i))) } log.Debugf("executing: krunkit %s", strings.Join(args, " ")) @@ -261,7 +261,7 @@ func (d *Driver) openLogfile() (*os.File, error) { func (d *Driver) setupIP(mac string) error { var err error getIP := func() error { - d.IPAddress, err = pkgdrivers.GetIPAddressByMACAddress(mac) + d.IPAddress, err = common.GetIPAddressByMACAddress(mac) if err != nil { return errors.Wrap(err, "failed to get IP address") } diff --git a/pkg/drivers/kvm/kvm.go b/pkg/drivers/kvm/kvm.go index 4b3785a553..8bd6ed8aa1 100644 --- a/pkg/drivers/kvm/kvm.go +++ b/pkg/drivers/kvm/kvm.go @@ -29,7 +29,7 @@ import ( "github.com/docker/machine/libmachine/log" "github.com/docker/machine/libmachine/state" "github.com/pkg/errors" - pkgdrivers "k8s.io/minikube/pkg/drivers" + "k8s.io/minikube/pkg/drivers/common" "k8s.io/minikube/pkg/util/retry" "libvirt.org/go/libvirt" ) @@ -37,7 +37,7 @@ import ( // Driver is the machine driver for KVM type Driver struct { *drivers.BaseDriver - *pkgdrivers.CommonDriver + *common.CommonDriver // How much memory, in MB, to allocate to the VM Memory int @@ -110,7 +110,7 @@ func NewDriver(hostName, storePath string) *Driver { StorePath: storePath, SSHUser: "docker", }, - CommonDriver: &pkgdrivers.CommonDriver{}, + CommonDriver: &common.CommonDriver{}, PrivateNetwork: defaultPrivateNetworkName, Network: defaultNetworkName, ConnectionURI: qemusystem, @@ -283,7 +283,7 @@ func (d *Driver) Kill() error { // Restart a host func (d *Driver) Restart() error { log.Info("restarting domain...") - return pkgdrivers.Restart(d) + return common.Restart(d) } // Start a host @@ -464,7 +464,7 @@ func (d *Driver) Create() error { } log.Infof("building disk image from %s", d.Boot2DockerURL) - if err := pkgdrivers.MakeDiskImage(d.BaseDriver, d.Boot2DockerURL, d.DiskSize); err != nil { + if err := common.MakeDiskImage(d.BaseDriver, d.Boot2DockerURL, d.DiskSize); err != nil { return errors.Wrap(err, "creating disk") } @@ -475,8 +475,8 @@ func (d *Driver) Create() error { return errors.New("cannot create more than 20 extra disks") } for i := 0; i < d.ExtraDisks; i++ { - diskpath := pkgdrivers.ExtraDiskPath(d.BaseDriver, i) - if err := pkgdrivers.CreateRawDisk(diskpath, d.DiskSize); err != nil { + diskpath := common.ExtraDiskPath(d.BaseDriver, i) + if err := common.CreateRawDisk(diskpath, d.DiskSize); err != nil { return errors.Wrap(err, "creating extra disks") } // Starting the logical names for the extra disks from hdd as the cdrom device is set to hdc. diff --git a/pkg/drivers/none/none.go b/pkg/drivers/none/none.go index cb50b53594..d3fa25e3de 100644 --- a/pkg/drivers/none/none.go +++ b/pkg/drivers/none/none.go @@ -25,7 +25,7 @@ import ( "github.com/pkg/errors" knet "k8s.io/apimachinery/pkg/util/net" "k8s.io/klog/v2" - pkgdrivers "k8s.io/minikube/pkg/drivers" + "k8s.io/minikube/pkg/drivers/common" "k8s.io/minikube/pkg/minikube/bootstrapper/bsutil/kverify" "k8s.io/minikube/pkg/minikube/command" "k8s.io/minikube/pkg/minikube/constants" @@ -46,7 +46,7 @@ var cleanupPaths = []string{ // https://minikube.sigs.k8s.io/docs/reference/drivers/none/ type Driver struct { *drivers.BaseDriver - *pkgdrivers.CommonDriver + *common.CommonDriver URL string runtime cruntime.Manager exec command.Runner diff --git a/pkg/drivers/qemu/qemu.go b/pkg/drivers/qemu/qemu.go index 9902cfa677..763a231584 100644 --- a/pkg/drivers/qemu/qemu.go +++ b/pkg/drivers/qemu/qemu.go @@ -41,7 +41,7 @@ import ( "github.com/pkg/errors" "k8s.io/klog/v2" - pkgdrivers "k8s.io/minikube/pkg/drivers" + "k8s.io/minikube/pkg/drivers/common" "k8s.io/minikube/pkg/minikube/detect" "k8s.io/minikube/pkg/minikube/exit" "k8s.io/minikube/pkg/minikube/firewall" @@ -62,7 +62,7 @@ const ( type Driver struct { *drivers.BaseDriver - *pkgdrivers.CommonDriver + *common.CommonDriver EnginePort int FirstQuery bool @@ -286,8 +286,8 @@ func (d *Driver) Create() error { if d.ExtraDisks > 0 { log.Info("Creating extra disk images...") for i := 0; i < d.ExtraDisks; i++ { - path := pkgdrivers.ExtraDiskPath(d.BaseDriver, i) - if err := pkgdrivers.CreateRawDisk(path, d.DiskSize); err != nil { + path := common.ExtraDiskPath(d.BaseDriver, i) + if err := common.CreateRawDisk(path, d.DiskSize); err != nil { return err } } @@ -474,7 +474,7 @@ func (d *Driver) Start() error { // low-indexed devices (e.g., firmware, ISO CDROM, cloud config, and network device) index := i + 10 startCmd = append(startCmd, - "-drive", fmt.Sprintf("file=%s,index=%d,media=disk,format=raw,if=virtio", pkgdrivers.ExtraDiskPath(d.BaseDriver, i), index), + "-drive", fmt.Sprintf("file=%s,index=%d,media=disk,format=raw,if=virtio", common.ExtraDiskPath(d.BaseDriver, i), index), ) } @@ -510,7 +510,7 @@ func (d *Driver) Start() error { case "socket_vmnet": var err error getIP := func() error { - d.IPAddress, err = pkgdrivers.GetIPAddressByMACAddress(d.MACAddress) + d.IPAddress, err = common.GetIPAddressByMACAddress(d.MACAddress) if err != nil { return errors.Wrap(err, "failed to get IP address") } diff --git a/pkg/drivers/ssh/ssh.go b/pkg/drivers/ssh/ssh.go index 6c41663015..9c4a7cb9ef 100644 --- a/pkg/drivers/ssh/ssh.go +++ b/pkg/drivers/ssh/ssh.go @@ -35,7 +35,7 @@ import ( "github.com/docker/machine/libmachine/state" "github.com/pkg/errors" "k8s.io/klog/v2" - pkgdrivers "k8s.io/minikube/pkg/drivers" + "k8s.io/minikube/pkg/drivers/common" "k8s.io/minikube/pkg/minikube/command" "k8s.io/minikube/pkg/minikube/cruntime" "k8s.io/minikube/pkg/minikube/sysinit" @@ -45,7 +45,7 @@ import ( // https://minikube.sigs.k8s.io/docs/reference/drivers/ssh/ type Driver struct { *drivers.BaseDriver - *pkgdrivers.CommonDriver + *common.CommonDriver EnginePort int SSHKey string runtime cruntime.Manager diff --git a/pkg/drivers/vfkit/vfkit.go b/pkg/drivers/vfkit/vfkit.go index bcb25bfe40..379142dbd7 100644 --- a/pkg/drivers/vfkit/vfkit.go +++ b/pkg/drivers/vfkit/vfkit.go @@ -43,8 +43,8 @@ import ( "github.com/pkg/errors" "k8s.io/klog/v2" - pkgdrivers "k8s.io/minikube/pkg/drivers" - "k8s.io/minikube/pkg/drivers/vmnet" + "k8s.io/minikube/pkg/drivers/common" + "k8s.io/minikube/pkg/drivers/common/vmnet" "k8s.io/minikube/pkg/minikube/detect" "k8s.io/minikube/pkg/minikube/exit" "k8s.io/minikube/pkg/minikube/firewall" @@ -66,7 +66,7 @@ const ( // Driver is the machine driver for vfkit (Virtualization.framework) type Driver struct { *drivers.BaseDriver - *pkgdrivers.CommonDriver + *common.CommonDriver Boot2DockerURL string DiskSize int CPU int @@ -84,7 +84,7 @@ func NewDriver(hostName, storePath string) drivers.Driver { MachineName: hostName, StorePath: storePath, }, - CommonDriver: &pkgdrivers.CommonDriver{}, + CommonDriver: &common.CommonDriver{}, } } @@ -210,8 +210,8 @@ func (d *Driver) Create() error { if d.ExtraDisks > 0 { log.Info("Creating extra disk images...") for i := 0; i < d.ExtraDisks; i++ { - path := pkgdrivers.ExtraDiskPath(d.BaseDriver, i) - if err := pkgdrivers.CreateRawDisk(path, d.DiskSize); err != nil { + path := common.ExtraDiskPath(d.BaseDriver, i) + if err := common.CreateRawDisk(path, d.DiskSize); err != nil { return err } } @@ -223,10 +223,10 @@ func (d *Driver) Create() error { func (d *Driver) extractKernel() error { log.Info("Extracting bzimage and initrd...") - if err := pkgdrivers.ExtractFile(d.isoPath(), "/boot/bzimage", d.kernelPath()); err != nil { + if err := common.ExtractFile(d.isoPath(), "/boot/bzimage", d.kernelPath()); err != nil { return err } - return pkgdrivers.ExtractFile(d.isoPath(), "/boot/initrd", d.initrdPath()) + return common.ExtractFile(d.isoPath(), "/boot/initrd", d.initrdPath()) } func (d *Driver) Start() error { @@ -301,7 +301,7 @@ func (d *Driver) startVfkit(socketPath string) error { for i := 0; i < d.ExtraDisks; i++ { startCmd = append(startCmd, - "--device", fmt.Sprintf("virtio-blk,path=%s", pkgdrivers.ExtraDiskPath(d.BaseDriver, i))) + "--device", fmt.Sprintf("virtio-blk,path=%s", common.ExtraDiskPath(d.BaseDriver, i))) } serialPath := d.ResolveStorePath(serialFileName) @@ -332,7 +332,7 @@ func (d *Driver) startVfkit(socketPath string) error { func (d *Driver) setupIP(mac string) error { var err error getIP := func() error { - d.IPAddress, err = pkgdrivers.GetIPAddressByMACAddress(mac) + d.IPAddress, err = common.GetIPAddressByMACAddress(mac) if err != nil { return errors.Wrap(err, "failed to get IP address") } diff --git a/pkg/minikube/registry/drvs/krunkit/krunkit.go b/pkg/minikube/registry/drvs/krunkit/krunkit.go index 21af1dd6a1..225231e968 100644 --- a/pkg/minikube/registry/drvs/krunkit/krunkit.go +++ b/pkg/minikube/registry/drvs/krunkit/krunkit.go @@ -28,8 +28,8 @@ import ( "github.com/docker/machine/libmachine/drivers" "github.com/google/uuid" + "k8s.io/minikube/pkg/drivers/common/vmnet" "k8s.io/minikube/pkg/drivers/krunkit" - "k8s.io/minikube/pkg/drivers/vmnet" "k8s.io/minikube/pkg/minikube/config" "k8s.io/minikube/pkg/minikube/download" "k8s.io/minikube/pkg/minikube/driver" diff --git a/pkg/minikube/registry/drvs/vfkit/vfkit.go b/pkg/minikube/registry/drvs/vfkit/vfkit.go index 06e7693547..0c401f6a1d 100644 --- a/pkg/minikube/registry/drvs/vfkit/vfkit.go +++ b/pkg/minikube/registry/drvs/vfkit/vfkit.go @@ -28,8 +28,8 @@ import ( "github.com/docker/machine/libmachine/drivers" "github.com/google/uuid" + "k8s.io/minikube/pkg/drivers/common/vmnet" "k8s.io/minikube/pkg/drivers/vfkit" - "k8s.io/minikube/pkg/drivers/vmnet" "k8s.io/minikube/pkg/minikube/config" "k8s.io/minikube/pkg/minikube/download" "k8s.io/minikube/pkg/minikube/driver"