Banyak detail terlacak di sini .
macOS 10.13.3
$ packer --version
1.2.1
$ vboxmanage --version
5.2.8r121009
Debug1.log
Log di atas sebagai intinya
Debug2.log
Log di atas sebagai intinya
"keep_input_artifact": benar
Sistem file HFS +
keluaran-virtualbox-iso /
$ ls -l
total 21220296
-rw-r--r-- 1 tanner staff 10864777216 Mar 5 18:46 WindowsServer2016Docker-disk001.vmdk
-rwx------ 1 tanner staff 10412 Mar 5 18:23 WindowsServer2016Docker.ovf
`` cangkang
$ ls -l * .box
-rw-r - r-- 1 staf penyamak 10729788371 Mar 5 18:56 windows_2016_docker_virtualbox.box
```shell
$ tar -tvf windows_2016_docker_virtualbox.box
-rw-r--r-- 0 tanner staff 2286 Mar 5 18:51 Vagrantfile
-rw-r--r-- 0 tanner staff 0 Mar 5 18:51 WindowsServer2016Docker-disk001.vmdk
-rw-r--r-- 0 tanner staff 10412 Mar 5 18:51 box.ovf
-rw-r--r-- 0 tanner staff 26 Mar 5 18:51 metadata.json
File tar dibuat secara internal , dapatkah kita mencapai batas ukuran file dalam pengemas (atau golang)?
File pembuatan pengemas: windows_2016_docker.json .
@Bayu_joo
Oh, saya dapat melakukan repro masalah di macOS 10.13.3 dan APFS, Packer 1.2.1, VirtualBox 5.2.8
$ packer build --only=virtualbox-iso windows_2016_docker.json
$ ls -l windows_2016_docker_virtualbox.box
-rw-r--r-- 1 stefan staff 10146394489 Mar 8 12:16 windows_2016_docker_virtualbox.box
$ tar tvf windows_2016_docker_virtualbox.box
-rw-r--r-- 0 stefan staff 2286 Mar 8 12:16 Vagrantfile
-rw-r--r-- 0 stefan staff 0 Mar 8 12:16 WindowsServer2016Docker-disk001.vmdk
-rw-r--r-- 0 stefan staff 10411 Mar 8 12:16 box.ovf
-rw-r--r-- 0 stefan staff 26 Mar 8 12:16 metadata.json
Saya telah mencoba lagi dengan Packer versi 1.1.3 yang lebih lama, masih macOS 10.13.3 dan APFS, VirtualBox 5.2.8 dan file kotak terlihat baik-baik saja setelahnya:
$ ls -l *box
-rw-r--r-- 1 stefan staff 10817278351 Mar 11 14:28 windows_2016_docker_virtualbox.box
$ tar tvf windows_2016_docker_virtualbox.box
-rw-r--r-- 0 501 20 2286 Mar 11 14:27 Vagrantfile
-rw-r--r-- 0 501 20 10952051712 Mar 11 14:27 WindowsServer2016Docker-disk001.vmdk
-rw-r--r-- 0 501 20 10412 Mar 11 14:27 box.ovf
-rw-r--r-- 0 501 20 26 Mar 11 14:27 metadata.json
~/code/packer-windows on my*
Apa perbedaan antara Packer 1.1.3 dan Packer 1.2.1?
Apakah func DirToBox berbeda secara signifikan di 1.2.1?
Maaf, tidak terlalu baik dengan git, jadi saya tidak tahu cara menampilkan kode itu seperti yang Anda lakukan
Kesalahan git tidak menunjukkan perubahan sejak packer 1.1.1 di packer / post-processor / vagrant / util.go.
Packer 1.1.3 dikompilasi dengan Go 1.9, Packer 1.2.1 dikompilasi dengan Go 1.10.
Sepertinya ada masalah dengan Golang 1.10.
Saya telah mengekstrak file packer / post-processor / vagrant / util.go ke dalam main.go kecil yang memanggil fungsi DirToBox
tanpa packer.Ui.
Kompilasi kode itu dengan Golang 1.9 file tar yang dibuat terlihat bagus.
Mengompilasi kode itu dengan Golang 1.10 file tar menunjukkan file nol byte.
Masalahnya juga terjadi dengan tingkat kompresi = 0, jadi tidak bergantung pada paket pgzip.
Sumber sampel dirtobox.go
, skrip Dockerfile
dan build.sh
untuk membangun biner Darwin dapat ditemukan dalam inti ini: https://gist.github.com/StefanScherer/c55fd0ae752687c806f8d5fb40cadc78
Saya telah membuat contoh direktori in
dengan file besar, menyusun biner dirtobox
untuk Darwin dan menjalankan pengujian
$ ./build.sh
$ ls -l in
total 21509960
-rw-r--r-- 1 stefan staff 11012556800 Mar 12 15:11 abigfile.tar
-rw-r--r-- 1 stefan staff 6 Mar 12 15:08 asmallfile.txt
$ ./dirtobox
2018/03/12 15:35:02 Turning dir into box: in => out.tar
2018/03/12 15:35:02 Skipping directory 'in' for box 'out.tar'
2018/03/12 15:35:02 Box add: 'in/abigfile.tar' to 'out.tar'
Compressing: %s abigfile.tar
2018/03/12 15:35:32 Box add: 'in/asmallfile.txt' to 'out.tar'
Compressing: %s asmallfile.txt
$ ls -l out.tar
-rw-r--r-- 1 stefan staff 11012560384 Mar 12 15:27 out.tar
$ tar tvf out.tar
-rw-r--r-- 0 stefan staff 0 Mar 12 15:11 abigfile.tar
-rw-r--r-- 0 stefan staff 6 Mar 12 15:08 asmallfile.txt
Mengubah Dockerfile
kembali ke golang: 1.9
FROM golang:1.9
WORKDIR /go/src/app
COPY . .
RUN go get -d -v ./...
RUN GOOS=darwin go build dirtobox.go
dan menjalankan ./build.sh
dan ./dirtobox
kembali menghasilkan file tar yang benar:
$ ls -l out.tar
-rw-r--r-- 1 stefan staff 11012559360 Mar 12 15:37 out.tar
$ tar tvf out.tar
-rw-r--r-- 0 501 20 11012556800 Mar 12 15:11 abigfile.tar
-rw-r--r-- 0 501 20 6 Mar 12 15:08 asmallfile.txt
Tampaknya terjadi dengan file> 8GByte.
Saatnya membuka masalah di golang ?
Triaging yang sangat baik @StefanScherer
Saya mengalami masalah yang sangat mirip dengan Vagrant hari ini - lihat DI SINI .
Utilitas tar yang panjang dan pendek yang disematkan dengan Vagrant 2.0.3 mengalami masalah dalam membongkar arsip dengan file besar - saat menggunakan bsdtar untuk mengekstrak file dari arsip tar kotak, saya akan mendapatkan vmdk yang sangat ramping, yaitu nol byte! Kotak yang lebih kecil tidak menyebabkan masalah apa pun.
Perhatikan bahwa tar sistem tidak memiliki masalah dalam mengekstrak file dari arsip kotak / tar yang sama ...
$ /opt/vagrant/embedded/bin/bsdtar --version
bsdtar 3.2.2 - libarchive 3.2.2 zlib/1.2.11 liblzma/5.2.3
$ tar --version
tar (GNU tar) 1.29
@StefanScherer - Apakah Anda yakin itu bukan versi tar yang Anda gunakan yang menyebabkan masalah?
@StefanScherer Hanya untuk referensi:
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.11.6
BuildVersion: 15G19009
$ go version
go version go1.10 darwin/amd64
$ packer version
Packer v1.2.2-dev...
Terima kasih @DanHam atas perhatiannya.
Mungkin ada masalah dengan bsdtar di macOS.
Masalah di Packer tampaknya ada pada Golang 1.10. Ini jelas membuat file tar yang berbeda antara Golang 1.9 dan 1.10.
Saya menggunakan biner Go lain dari https://github.com/mholt/archiver/releases untuk mengekstrak file tar yang dibuat dengan kode sampel dirtobox di atas yang dikompilasi dengan Golang 1.9 dan 1.10.
Pengarsip dapat mengekstrak file dari file tar yang dibuat dengan biner dirtobox Golang 1.9.
Dan pengarsip hanya menulis file kosong yang mengekstrak file tar yang dibuat dengan biner dirtobox Golang 1.10.
Tidak ada biner tar / bsdtar yang disertakan dalam pengujian itu.
Tes dengan bsdtar tertanam dari Vagrant 2.0.2 saya juga dapat mengekstrak file besar
$ /opt/vagrant/embedded/bin/bsdtar tvf out-go1.9.tar
-rw------- 0 501 20 10737418240 Mar 23 23:02 10Gigfile
$ /opt/vagrant/embedded/bin/bsdtar xvf out-go1.9.tar
x 10Gigfile
$ ls -l 10Gigfile
-rw------- 1 stefan staff 10737418240 Mar 23 23:02 10Gigfile
$ /opt/vagrant/embedded/bin/bsdtar tvf out-go1.10.tar
-rw------- 0 stefan staff 0 Mar 23 23:02 10Gigfile
$ /opt/vagrant/embedded/bin/bsdtar xvf out-go1.10.tar
x 10Gigfile
$ ls -l 10Gigfile
-rw------- 1 stefan staff 0 Mar 23 23:02 10Gigfile
@StefanScherer Ah ... Oke. Kupikir kita sudah menjelaskannya! Semoga berhasil melacak bug ...
Saya mengalami masalah baru-baru ini, tetapi saya tidak dapat membuat kemajuan apa pun dengan kembali ke Packer 1.1.3. Saya kira Anda tidak punya ide lain?
(Masalah didokumentasikan di https://github.com/Parallels/vagrant-parallels/issues/319, karena saya pikir itu adalah masalah plugin!)
Jadi menyelidiki lebih banyak lagi;
Saya kembali ke Packer 1.1.2 di OSX 10.12, dan itu berhasil menghasilkan Box stabil yang dapat saya gunakan.
Menguji dengan Packer 1.1.2 pada OSX 10.13 dan gagal karena beberapa alasan? Harddisk mengatakan itu 0
:
$ tar -tvf sdk-mac.box
-rw-r--r-- 0 user group 180 27 Mar 12:57 Vagrantfile
-rw-r--r-- 0 user group 25 27 Mar 12:57 metadata.json
-rw-r--r-- 0 user group 65536 27 Mar 12:56 sdk-mac.pvm/NVRAM.dat
-rw-r--r-- 0 user group 7224 27 Mar 12:56 sdk-mac.pvm/VmInfo.pvi
-rw-r--r-- 0 user group 26381 27 Mar 12:56 sdk-mac.pvm/config.pvs
-rw-r--r-- 0 user group 1710 27 Mar 12:56 sdk-mac.pvm/harddisk.hdd/DiskDescriptor.xml
-rw-r--r-- 0 user group 0 27 Mar 12:56 sdk-mac.pvm/harddisk.hdd/harddisk.hdd
-rw-r--r-- 0 user group 0 27 Mar 12:57 sdk-mac.pvm/harddisk.hdd/harddisk.hdd.0.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds
-rw-r--r-- 0 user group 8816 27 Mar 12:57 sdk-mac.pvm/harddisk.hdd/harddisk.hdd.drh
Jadi jelas terlihat seperti ini masalah pengemas di suatu tempat ... bagaimana Anda pergi tentang debugging ini, karena saya benar-benar perlu membuat gelandangan bekerja untuk mesin ini!
FYI. Ada pengemas dan golang baru dari homebrew hari ini untuk Sierra. Dan pengemas baru untuk High Sierra.
@basictheprogram Terima kasih atas pembaruannya!
Saya telah memperbarui keduanya ke Packer terbaru yang tersedia di Homebrew (1.2.2)
Saya tidak yakin apa lagi yang dapat menyebabkan masalah ini selain perbedaan OS?
Yang aneh adalah menjalankan $ tar .box
menunjukkan bahwa untuk kedua OS berpikir bahwa hard disk memiliki ukuran 0
... tetapi melakukan vagrant up
berfungsi dengan baik untuk yang Sierra. (Keduanya menjalankan Vagrant 2.0.3).
Sierra:
$ tar tvf sdk-mac.box
-rw-r--r-- 0 user group 180 27 Mar 15:25 Vagrantfile
-rw-r--r-- 0 user group 25 27 Mar 15:25 metadata.json
-rw-r--r-- 0 user group 65536 27 Mar 15:23 sdk-mac.pvm/NVRAM.dat
-rw-r--r-- 0 user group 7224 27 Mar 15:23 sdk-mac.pvm/VmInfo.pvi
-rw-r--r-- 0 user group 26385 27 Mar 15:23 sdk-mac.pvm/config.pvs
-rw-r--r-- 0 user group 1710 27 Mar 15:23 sdk-mac.pvm/harddisk.hdd/DiskDescriptor.xml
-rw-r--r-- 0 user group 0 27 Mar 15:23 sdk-mac.pvm/harddisk.hdd/harddisk.hdd
-rw-r--r-- 0 user group 0 27 Mar 15:25 sdk-mac.pvm/harddisk.hdd/harddisk.hdd.0.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds
-rw-r--r-- 0 user group 6784 27 Mar 15:25 sdk-mac.pvm/harddisk.hdd/harddisk.hdd.drh
Sierra Tinggi:
$ tar tvf sdk-mac.box
-rw-r--r-- 0 user group 180 27 Mar 15:29 Vagrantfile
-rw-r--r-- 0 user group 25 27 Mar 15:29 metadata.json
-rw-r--r-- 0 user group 65536 27 Mar 15:29 sdk-mac.pvm/NVRAM.dat
-rw-r--r-- 0 user group 7224 27 Mar 15:29 sdk-mac.pvm/VmInfo.pvi
-rw-r--r-- 0 user group 26381 27 Mar 15:29 sdk-mac.pvm/config.pvs
-rw-r--r-- 0 user group 1710 27 Mar 15:29 sdk-mac.pvm/harddisk.hdd/DiskDescriptor.xml
-rw-r--r-- 0 user group 0 27 Mar 15:29 sdk-mac.pvm/harddisk.hdd/harddisk.hdd
-rw-r--r-- 0 user group 0 27 Mar 15:29 sdk-mac.pvm/harddisk.hdd/harddisk.hdd.0.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds
-rw-r--r-- 0 user group 7728 27 Mar 15:29 sdk-mac.pvm/harddisk.hdd/harddisk.hdd.drh
Pada Sierra mengupgrade packer diinstal pergi.
$ sw_vers
ProductName: Mac OS X
Versi Produk: 10.12.6
BuildVersion: 16G1212
versi $ go
go versi go1.10 darwin / amd64
Pada pengemas peningkatan Sierra Tinggi tidak menginstal pergi
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.13.3
BuildVersion: 17D102
$ yang pergi
$ ls -l / usr / local / bin / go *
ls: / usr / local / bin / go *: Tidak ada file atau direktori seperti itu
Saya menginstal go secara manual dan semuanya berfungsi untuk saya sekarang.
Saya perlu mengkonfirmasi semua ini di instalasi lain.
Packer 1.2.2 biner untuk macOS (https://releases.hashicorp.com/packer/1.2.2/packer_1.2.2_darwin_amd64.zip) dikompilasi dengan Golang 1.8.1. Saya berasumsi itu harus bekerja lagi.
Homebrew Packer 1.2.2 dikompilasi dengan Golang 1.10
Sobat, mengapa mereka harus mengkompilasi binari ketika binari sudah digunakan oleh HashiCorp?
Investigasi yang luar biasa, teman-teman. Menurut saya ini adalah bug di Homebrew daripada bug di Packer - apakah Anda semua setuju? Haruskah saya menutup tiket ini?
Saya pikir bug itu ada di Golang dan pengemasnya dikompilasi dengan Golang buggy. Hashicorp harus mengkompilasi pengemas mereka dengan Golang 1.10.
Kedengarannya seperti biner buggy adalah Homebrew dan biner HashiCorp berfungsi?
Seseorang harus menguji biner HashiCorp 1.2.2. Bisa mengujinya besok.
Saya akan mengkompilasi ulang dan merilis ulang HashiCorp 1.2.2. biner di golang 1.10 sekarang. Kita harus memilikinya di golang terbaru.
Hm, tapi mungkin akan rusak sebagai 1.2.1.
Inilah biner yang dikompilasi golang-1.8, untuk orang-orang yang membutuhkan solusi:
packer_1.2.2_darwin_amd64.zip . Merilisnya yang dikompilasi dengan 1.8 adalah kecelakaan, dan hanya karena itu memperbaiki bug ini tidak berarti itu tidak mengenalkan yang lain.
@basictheprogram Sistem saya sudah menginstal go
ketika saya melakukan pemeriksaan:
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.12.6
BuildVersion: 16G1212
$ go version
go version go1.10 darwin/amd64
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.13.3
BuildVersion: 17D102
$ go version
go version go1.10 darwin/amd64
Saya baru saja menguji 1.8 biner terkompilasi dari Packer 1.2.2 @SwampDragons yang diposting di atas:
Sierra: kotak gelandangan gagal (untuk menemukan hard drive)
High Sierra: kotak gelandangan gagal lagi (masalah yang sama)
Menguji Packer 1.2.2 default yang dikompilasi dengan 1.10:
Sierra: kotak gelandangan gagal (untuk menemukan hard drive)
High Sierra: kotak gelandangan gagal lagi (masalah yang sama)
File .pvm
berukuran 16GB yang coba dikompres, dan kotak keluarannya 9GB ...
Saya mulai berpikir ini ada hubungannya dengan sistem saya sekarang.
Adakah yang bisa mengonfirmasi bahwa 1.2.2 berfungsi, dan jika demikian, penyiapan apa?
(Catatan aneh; Saya katakan sebelumnya bahwa saya telah mengerjakannya di Sierra dengan Brew's Packer, sekarang tidak berfungsi ...)
@SwampDragons seperti yang diharapkan:
docker run -it -v $(pwd):/test -w /test ubuntu tar tvf windows_2016_docker_virtualbox-brew-packer-1.2.2-golang-1.10.box
.@SwampDragons Saya telah menggunakan go 1.10 (diinstal melalui MacPorts) untuk mengkompilasi binari Packer saya. Seperti yang dinyatakan di atas, saya dapat membuat kotak besar tanpa masalah ...
@SurferL Pengaturan saya:
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.11.6
BuildVersion: 15G19009
$ go version
go version go1.10 darwin/amd64
$ packer version
Packer v1.2.2-dev...
Membongkar kotak (menggunakan tar GNU) dari versi Windows 2016 saya memberi saya:
.
└── [ 340] vmware_desktop
├── [ 983] Vagrantfile
├── [ 30] metadata.json
├── [ 8684] windows2016-vmware-iso.nvram
├── [13725794304] windows2016-vmware-iso.vmdk
├── [ 0] windows2016-vmware-iso.vmsd
├── [ 3515] windows2016-vmware-iso.vmx
└── [ 277] windows2016-vmware-iso.vmxf
1 directory, 7 files
Inilah mengapa saya sangat yakin (pada awalnya) bahwa kami melihat masalah ini daripada masalah dengan Packer. Namun, pekerjaan yang telah dilakukan @StefanScherer tampaknya menunjukkan bahwa masalahnya ada di tempat lain ...
EDIT: Baru saja melihat komentar @StefanScherer di atas ... jadi ini bisa menjadi masalah yang sama meskipun dengan beberapa info tambahan yang diberikan oleh Stefan?
Ini mungkin telah diperbaiki di https://golang.org/doc/devel/release.html#go1.10.minor
Saya dapat melihat perbaikan untuk arsip / zip di 1.10.1. Saya sudah mencoba dengan kode sampel yang dipreteli, tetapi masih ada masalah. Ini juga terjadi dengan biner Golang Linux. Tar macOS (bsdtar) tidak dapat membaca ukuran file dengan benar.
Saya telah membuat https://github.com/golang/go/issues/24599
Berikut adalah pengemas yang dibuat dengan go 1.10.1 untuk darwin. Akan sangat menghargai bantuan apa pun dalam pengujian jika ini menyelesaikan masalah.
Terima kasih @StefanScherer karena telah
Apa yang bisa kau lakukan?
Go1.10 memberi pengguna kontrol yang lebih baik atas format output. Anda dapat melihat tar.Header.Format ke tar.FormatGNU untuk mengatasi bug libarchive.
Sepertinya memang begitu. Jika ada yang ingin mengirimkan PR, silakan lakukan, jika tidak kami akan menambahkan solusi untuk rilis poin berikutnya. Mengompilasi pengemas dengan versi go yang lebih lama harus menjadi solusi yang layak untuk saat ini.
Akan dilakukan setelah beberapa tes.
Takut saya masih mendapatkan kesalahan yang sama dengan Packer yang dibangun dengan go 1.10.1 untuk Darwin yang disediakan @mwhooker ... .box
dihasilkan pada akhirnya berisi hard disk kosong yang seharusnya berukuran kotak 12GB
$ tar -tvf sdk-mac.box
-rw-r--r-- 0 user group 180 3 Apr 11:26 Vagrantfile
-rw-r--r-- 0 user group 25 3 Apr 11:26 metadata.json
-rw-r--r-- 0 user group 65536 3 Apr 11:25 sdk-mac.pvm/NVRAM.dat
-rw-r--r-- 0 user group 7224 3 Apr 11:25 sdk-mac.pvm/VmInfo.pvi
-rw-r--r-- 0 user group 26381 3 Apr 11:25 sdk-mac.pvm/config.pvs
-rw-r--r-- 0 user group 1710 3 Apr 11:25 sdk-mac.pvm/harddisk.hdd/DiskDescriptor.xml
-rw-r--r-- 0 user group 0 3 Apr 11:25 sdk-mac.pvm/harddisk.hdd/harddisk.hdd
-rw-r--r-- 0 user group 0 3 Apr 11:26 sdk-mac.pvm/harddisk.hdd/harddisk.hdd.0.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds
-rw-r--r-- 0 user group 8336 3 Apr 11:26 sdk-mac.pvm/harddisk.hdd/harddisk.hdd.drh
(dan menjalankan vagrant up
gagal dengan kesalahan hard disk)
Saya juga masih mendapatkan kesalahan ( vagrant up
hard disk) menggunakan Packer 1.1.3
, jadi saya tidak yakin apakah itu sesuatu dengan sistem saya?
Meskipun hard disk sepertinya diinisialisasi di sini?
$ tar -tvf sdk-mac.box
-rw-r--r-- 0 501 20 180 3 Apr 12:24 Vagrantfile
-rw-r--r-- 0 501 20 25 3 Apr 12:24 metadata.json
-rw-r--r-- 0 501 20 65536 3 Apr 12:23 sdk-mac.pvm/NVRAM.dat
-rw-r--r-- 0 501 20 7224 3 Apr 12:23 sdk-mac.pvm/VmInfo.pvi
-rw-r--r-- 0 501 20 26381 3 Apr 12:23 sdk-mac.pvm/config.pvs
-rw-r--r-- 0 501 20 1710 3 Apr 12:23 sdk-mac.pvm/harddisk.hdd/DiskDescriptor.xml
-rw-r--r-- 0 501 20 0 3 Apr 12:23 sdk-mac.pvm/harddisk.hdd/harddisk.hdd
-rw-r--r-- 0 501 20 19503513600 3 Apr 12:24 sdk-mac.pvm/harddisk.hdd/harddisk.hdd.0.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds
-rw-r--r-- 0 501 20 7472 3 Apr 12:24 sdk-mac.pvm/harddisk.hdd/harddisk.hdd.drh
Sudahkah Anda mencoba pengemas dari minuman?
@basictheprogram Ya, saya sudah mencoba 1.2.2 terbaru, serta kembali ke 1.1.3 dengan Brew tetapi keduanya tidak bekerja dengan masalah yang sama di atas
@SurferL Apakah Anda menggunakan vagrant box add...
? Saya cukup yakin bahwa versi tar yang disematkan Vagrants akan menyebabkan masalah ini terlepas dari perbaikan yang masuk ke Packer. Lihat komentar saya di sini .
Panjang dan pendek Anda mungkin perlu membongkar kotak secara manual ke lokasi yang benar di direktori .vagrant.d ... menggunakan GNU tar daripada bsdtar hingga versi Vagrant berikutnya dirilis.
@DanHam Terima kasih telah menunjukkan hal itu - Saya tidak menggunakan vagrant box add
, dan ini membuat bangunan saya berfungsi dengan Packer 1.1.3
!
Hanya beberapa info lagi:
Menggunakan Packer 1.2.2
dari minuman (dan menggunakan vagrant box add
tidak berfungsi), juga tidak menggunakan Packer yang dibangun dengan go 1.10.1 untuk Darwin (dan menggunakan vagrant box add
) ...
Saya akan mengunci masalah ini karena sudah ditutup selama _30 hari_ ⏳. Ini membantu pengelola kami menemukan dan fokus pada masalah aktif.
Jika Anda menemukan masalah yang tampaknya serupa dengan ini, buka masalah baru dan lengkapi template masalah sehingga kami dapat menangkap semua detail yang diperlukan untuk menyelidiki lebih lanjut.
Komentar yang paling membantu
Kesalahan git tidak menunjukkan perubahan sejak packer 1.1.1 di packer / post-processor / vagrant / util.go.
Packer 1.1.3 dikompilasi dengan Go 1.9, Packer 1.2.1 dikompilasi dengan Go 1.10.
Sepertinya ada masalah dengan Golang 1.10.
Saya telah mengekstrak file packer / post-processor / vagrant / util.go ke dalam main.go kecil yang memanggil fungsi
DirToBox
tanpa packer.Ui.Kompilasi kode itu dengan Golang 1.9 file tar yang dibuat terlihat bagus.
Mengompilasi kode itu dengan Golang 1.10 file tar menunjukkan file nol byte.
Masalahnya juga terjadi dengan tingkat kompresi = 0, jadi tidak bergantung pada paket pgzip.
Sumber sampel
dirtobox.go
, skripDockerfile
danbuild.sh
untuk membangun biner Darwin dapat ditemukan dalam inti ini: https://gist.github.com/StefanScherer/c55fd0ae752687c806f8d5fb40cadc78Saya telah membuat contoh direktori
in
dengan file besar, menyusun binerdirtobox
untuk Darwin dan menjalankan pengujianMengubah
Dockerfile
kembali ke golang: 1.9dan menjalankan
./build.sh
dan./dirtobox
kembali menghasilkan file tar yang benar: