mechboxes / mech

Easy command line virtual machines for VMWare
https://mechboxes.github.io/mech/
MIT License
311 stars 49 forks source link

Exiting with failure status with Mech up, Ubuntu 16.04 4.13.0-43-generic #48~16.04.1-Ubuntu #35

Closed kaitoan2000 closed 6 years ago

kaitoan2000 commented 6 years ago

Hi there, I tried it with mech up but face this issue. Fact:

x091s@x091s-X250:/data/vmware$ uname -a
Linux x091s-X250 4.13.0-43-generic #48~16.04.1-Ubuntu SMP Thu May 17 12:56:46 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Command:

x091s@x091s-X250:/data/vmware$ mech init centos/6
Initializing mech
Loading metadata for box 'centos/6'
A `Mechfile` has been initialized and placed in this directory. You
are now ready to `mech up` your first virtual environment!
x091s@x091s-X250:/data/vmware$ mech up
Loading metadata for box 'centos/6' (1804.02)
Box 'centos/6' could not be found. Attempting to download...
URL: https://vagrantcloud.com/centos/boxes/6/versions/1804.02/providers/vmware_desktop.box
vmware_desktop.box [################################] 380024/380024 - 00:01:14
**Issue:**
Checking box 'centos/6' integrity...
tar: Pattern matching characters used in file names
tar: Use --wildcards to enable pattern matching, or --no-wildcards to suppress this warning
tar: *.vmx: Not found in archive
tar: Exiting with failure status due to previous errors
Bringing machine up...
Traceback (most recent call last):
  File "/usr/local/bin/mech", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/dist-packages/mech/__main__.py", line 39, in main
    return Mech(arguments)()
  File "/usr/local/lib/python2.7/dist-packages/mech/command.py", line 71, in __call__
    obj = klass(arguments)
  File "/usr/local/lib/python2.7/dist-packages/mech/mech.py", line 605, in up
    started = vmrun.start(gui=gui)
  File "/usr/local/lib/python2.7/dist-packages/mech/vmrun.py", line 143, in start
    return self.vmrun('start', self.vmx_file, 'gui' if gui else 'nogui', quiet=quiet)
  File "/usr/local/lib/python2.7/dist-packages/mech/vmrun.py", line 104, in vmrun
    logger.debug(" ".join("'{}'".format(c.replace("'", "\\'")) if ' ' in c else c for c in cmds))
  File "/usr/local/lib/python2.7/dist-packages/mech/vmrun.py", line 104, in <genexpr>
    logger.debug(" ".join("'{}'".format(c.replace("'", "\\'")) if ' ' in c else c for c in cmds))
TypeError: argument of type 'NoneType' is not iterable
phamthanhnhan14 commented 6 years ago

No update for this issue :(

Kronuz commented 6 years ago

There is not enough information about this issue, I cannot reproduce it. Traceback doesn’t match with current version either (it’s instead very old)

Are you still going experiencing problems with mech v0.7.5? Please make sure to include the output of mech —version As well as version information about operating system and Python.

phamthanhnhan14 commented 6 years ago

Hi, there are some informations: x091s@x091s-X250:~$ mech -version mech v0.7.5

python Python 2.7.12 (default, Dec 4 2017, 14:50:18)

uname -a Linux x091s-X250 4.15.0-24-generic #26~16.04.1-Ubuntu SMP Fri Jun 15 14:35:08 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

x091s@x091s-X250:/data/vmware$ mech up

Loading metadata for box 'centos/6' (1804.02) Box 'centos/6' could not be found. Attempting to download... URL: https://vagrantcloud.com/centos/boxes/6/versions/1804.02/providers/vmware_desktop.box vmware_desktop.box [################################] 380024/380024 - 00:03:59 Checking box 'centos/6' integrity... tar: Pattern matching characters used in file names tar: Use --wildcards to enable pattern matching, or --no-wildcards to suppress this warning tar: *.vmx: Not found in archive tar: Exiting with failure status due to previous errors Bringing machine up... Traceback (most recent call last):
File "/usr/local/bin/mech", line 11, in sys.exit(main()) File "/usr/local/lib/python2.7/dist-packages/mech/main.py", line 39, in main return Mech(arguments)() File "/usr/local/lib/python2.7/dist-packages/mech/command.py", line 89, in call obj = klass(arguments) File "/usr/local/lib/python2.7/dist-packages/mech/mech.py", line 607, in up started = vmrun.start(gui=gui) File "/usr/local/lib/python2.7/dist-packages/mech/vmrun.py", line 151, in start return self.vmrun('start', self.vmx_file, 'gui' if gui else 'nogui', quiet=quiet) File "/usr/local/lib/python2.7/dist-packages/mech/vmrun.py", line 112, in vmrun logger.debug(" ".join("'{}'".format(c.replace("'", "\'")) if ' ' in c else c for c in cmds)) File "/usr/local/lib/python2.7/dist-packages/mech/vmrun.py", line 112, in

logger.debug(" ".join("'{}'".format(c.replace("'", "\\'")) if ' ' in c else c for c in cmds)) TypeError: argument of type 'NoneType' is not iterable

enter image description here

Kronuz commented 6 years ago

Can you please try with v0.7.6, it should fix these errors and pass --wildcards when available.

Let me know if it works, to close the issue.

kaitoan2000 commented 6 years ago

Unfortunately, it's not fix my issue

x091s@x091s-X250:/data/vmware$ mech up Loading metadata for box 'centos/6' (1804.02) Box 'centos/6' could not be found. Attempting to download... URL: https://vagrantcloud.com/centos/boxes/6/versions/1804.02/providers/vmware_desktop.box vmware_desktop.box [################################] 380024/380024 - 00:18:09 Checking box 'centos/6' integrity... tar: Pattern matching characters used in file names tar: Use --wildcards to enable pattern matching, or --no-wildcards to suppress this warning tar: *.vmx: Not found in archive tar: Exiting with failure status due to previous errors Cannot find a valid box with a VMX file in it

mech -version mech v0.7.6

subworx commented 6 years ago

Same here. user@host:~$ mech --version mech v0.7.6

user@host:~$ mech up Loading metadata for box 'bento/ubuntu-18.04' (201808.24.0) Box 'bento/ubuntu-18.04' could not be found. Attempting to download... URL: https://vagrantcloud.com/bento/boxes/ubuntu-18.04/versions/201808.24.0/providers/vmware_desktop.box vmware_desktop.box [################################] 516182/516182 - 00:05:37 Checking box 'bento/ubuntu-18.04' integrity... tar: Pattern matching characters used in file names tar: Use --wildcards to enable pattern matching, or --no-wildcards to suppress this warning tar: *.vmx: Not found in archive tar: Exiting with failure status due to previous errors Cannot find a valid box with a VMX file in it

Also, seemingly the downloaded .box file gets deleted afterwards as I cannot find it any more, means each try takes forever and eats up quite some bandwidth.

Edit: I manually downloaded the box and unpacked it with "tar xf vmware_desktop.box", which yields a .vmx file. user@host:~/box$ tar --wildcards -tf vmware_desktop.box *.vmx ubuntu-18.04-amd64.vmx

Another edit: forked the repo and removed the wildcard check to always add wildcards. Works fine, it finds the file, but dies with another error :-/ This could be due to my local VMware not yet being upgraded to Pro, so I'll leave it out for now.

Thank you and best regards.

Kronuz commented 6 years ago

This will be fixed in next version. See #37 #49