turbulent / substance

Local Docker-powered development environments
Apache License 2.0
18 stars 8 forks source link

Add compatibility with VirtualBox 6.1 #54

Open CLARENNE-Q opened 4 years ago

CLARENNE-Q commented 4 years ago

Hello World !

Oracle today released a 6.1 maintenance release which improves stability and fixes regressions. See the Changelog : https://www.virtualbox.org/wiki/Changelog-6.1#v2

macOS host: Fix VM crashes (most visible on macOS Catalina)

I try to update from VirtualBox 6.0 to 6.1 and now substance crash on launch:

Quentin@MPB-Pro my-project % substance launch Provisioning engine "work" with driver "virtualbox" Traceback (most recent call last): File "/usr/local/lib/python3.7/site-packages/substance/command/command.py", line 241, in main self.runCommand(self.cmdString) File "/usr/local/lib/python3.7/site-packages/substance/command/command.py", line 250, in runCommand self.command.execute(self.commandInput) File "/usr/local/lib/python3.7/site-packages/substance/command/command.py", line 94, in execute return self.main() File "/usr/local/lib/python3.7/site-packages/substance/command/launch.py", line 29, in main .bind(Engine.launch) \ File "/usr/local/lib/python3.7/site-packages/substance/monads.py", line 167, in bind return mf(self.getOK(), *args, kwargs) File "/usr/local/lib/python3.7/site-packages/substance/engine.py", line 346, in launch .then(self.start) \ File "/usr/local/lib/python3.7/site-packages/substance/monads.py", line 207, in then r = okF() File "/usr/local/lib/python3.7/site-packages/substance/engine.py", line 390, in start return self.configure() \ File "/usr/local/lib/python3.7/site-packages/substance/engine.py", line 507, in configure return self.getDriver().configureMachine(self.getDriverID(), self) File "/usr/local/lib/python3.7/site-packages/substance/driver/virtualbox/init.py", line 193, in configureMachine return self.assertSetup() \ File "/usr/local/lib/python3.7/site-packages/substance/driver/virtualbox/init.py", line 33, in assertSetup return self.assertConfig().then(self.assertNetworking) File "/usr/local/lib/python3.7/site-packages/substance/monads.py", line 207, in then r = okF() File "/usr/local/lib/python3.7/site-packages/substance/driver/virtualbox/init.py", line 78, in assertNetworking dhcp = network.readDHCP(interface) \ File "/usr/local/lib/python3.7/site-packages/substance/driver/virtualbox/network.py", line 113, in readDHCP return readDHCPs() >> defer(filterDHCPs, interface=interface) File "/usr/local/lib/python3.7/site-packages/substance/driver/virtualbox/network.py", line 109, in readDHCPs .bind(defer(_mapAsBlocks, func=parseDHCPBlock)) File "/usr/local/lib/python3.7/site-packages/substance/monads.py", line 167, in bind return mf(self.getOK(), *args, *kwargs) File "/usr/local/lib/python3.7/site-packages/substance/driver/virtualbox/network.py", line 297, in _mapAsBlocks return OK(blocks).mapM(func) File "/usr/local/lib/python3.7/site-packages/substance/monads.py", line 240, in mapM return self.bind(mapper) File "/usr/local/lib/python3.7/site-packages/substance/monads.py", line 167, in bind return mf(self.getOK(), args, kwargs) File "/usr/local/lib/python3.7/site-packages/substance/monads.py", line 239, in mapper return mapM(self, mf, xs) File "/usr/local/lib/python3.7/site-packages/substance/monads.py", line 343, in mapM mapped = list(map(mf, xs)) File "/usr/local/lib/python3.7/site-packages/substance/driver/virtualbox/network.py", line 152, in parseDHCPBlock return _extractClassFromBlock(block, actions, DHCP) File "/usr/local/lib/python3.7/site-packages/substance/driver/virtualbox/network.py", line 316, in _extractClassFromBlock return OK(cls(**info)) File "/usr/local/lib/python3.7/site-packages/substance/driver/virtualbox/network.py", line 53, in init self.network = IPNetwork(gateway + "/" + netmask) TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'

Error running command launch: unsupported operand type(s) for +: 'NoneType' and 'str'

Is it possible to check this ?

Quentin