Skip to content

Commit df30a13

Browse files
committed
Merge pull request docker-archive-public#2644 from dgageot/nathanleclaire-xtra_vbox_logs
Add extra logging to VirtualBox driver
2 parents c584b8e + 54bda62 commit df30a13

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

drivers/virtualbox/virtualbox.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -666,6 +666,9 @@ func (d *Driver) generateDiskImage(size int) error {
666666

667667
// magicString first so the automount script knows to format the disk
668668
file := &tar.Header{Name: magicString, Size: int64(len(magicString))}
669+
670+
log.Debug("Writing magic tar header")
671+
669672
if err := tw.WriteHeader(file); err != nil {
670673
return err
671674
}
@@ -677,6 +680,9 @@ func (d *Driver) generateDiskImage(size int) error {
677680
if err := tw.WriteHeader(file); err != nil {
678681
return err
679682
}
683+
684+
log.Debug("Writing SSH key tar header")
685+
680686
pubKey, err := ioutil.ReadFile(d.publicSSHKeyPath())
681687
if err != nil {
682688
return err
@@ -699,6 +705,9 @@ func (d *Driver) generateDiskImage(size int) error {
699705
return err
700706
}
701707
raw := bytes.NewReader(buf.Bytes())
708+
709+
log.Debug("Calling inner createDiskImage")
710+
702711
return createDiskImage(d.diskPath(), size, raw)
703712
}
704713

@@ -770,6 +779,8 @@ func createDiskImage(dest string, size int, r io.Reader) error {
770779
cmd := exec.Command(vboxManageCmd, "convertfromraw", "stdin", dest,
771780
fmt.Sprintf("%d", sizeBytes), "--format", "VMDK")
772781

782+
log.Debug(cmd)
783+
773784
if os.Getenv("MACHINE_DEBUG") != "" {
774785
cmd.Stdout = os.Stdout
775786
cmd.Stderr = os.Stderr
@@ -779,15 +790,22 @@ func createDiskImage(dest string, size int, r io.Reader) error {
779790
if err != nil {
780791
return err
781792
}
793+
794+
log.Debug("Starting command")
795+
782796
if err := cmd.Start(); err != nil {
783797
return err
784798
}
785799

800+
log.Debug("Copying to stdin")
801+
786802
n, err := io.Copy(stdin, r)
787803
if err != nil {
788804
return err
789805
}
790806

807+
log.Debug("Filling zeroes")
808+
791809
// The total number of bytes written to stdin must match sizeBytes, or
792810
// VBoxManage.exe on Windows will fail. Fill remaining with zeros.
793811
if left := sizeBytes - n; left > 0 {
@@ -796,11 +814,15 @@ func createDiskImage(dest string, size int, r io.Reader) error {
796814
}
797815
}
798816

817+
log.Debug("Closing STDIN")
818+
799819
// cmd won't exit until the stdin is closed.
800820
if err := stdin.Close(); err != nil {
801821
return err
802822
}
803823

824+
log.Debug("Waiting on cmd")
825+
804826
return cmd.Wait()
805827
}
806828

0 commit comments

Comments
 (0)