Most of the VM-related methods have vm_name as their first positional argument, whereas .up() does not. This can lead to confusing results. e.g.,
>>> v = vagrant.Vagrant()
>>> v.up('web')
>>> v.status('web')
[Status(name='web', state='not_created', provider='virtualbox')]
In this case, web is configured with autostart: false, and the positional argument is applied to no_provider instead of vm_name. As a result, the web vm isn't started, and the "default" VMs are.
I would change the signature from:
def up(self, no_provision=False, provider=None, vm_name=None,
provision=None, provision_with=None, stream_output=False):
to:
def up(self, vm_name=None, provision=None, provision_with=None,
provider=None, stream_output=False):
- Changes
vm_name to be the first positional argument.
- Drops the
no_provision argument, as it's redundant to provision.
Most of the VM-related methods have
vm_nameas their first positional argument, whereas.up()does not. This can lead to confusing results. e.g.,In this case,
webis configured withautostart: false, and the positional argument is applied tono_providerinstead ofvm_name. As a result, thewebvm isn't started, and the "default" VMs are.I would change the signature from:
to:
vm_nameto be the first positional argument.no_provisionargument, as it's redundant toprovision.