mechboxes/mech

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

kaitoan2000 opened this issue · 7 comments

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

No update for this issue :(

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.

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

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.

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

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.

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