nix-community / vagrant-nixos-plugin

Vagrant plugin to add nixos guest capabilities and nix provisioning [maintainer=@zimbatm]
MIT License
68 stars 7 forks source link

Vagrant fails with `wrong number of arguments` when using `verbose: true` #17

Open chronicc opened 1 year ago

chronicc commented 1 year ago

Problem

When using this plugins provisioner with the config verbose: true, Vagrant fails with the following stack trace:

Bringing machine 'default' up with 'libvirt' provider...
==> default: Machine not provisioned because `--no-provision` is specified.
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: flag to force provisioning. Provisioners marked to run always will still run.
==> default: Running provisioner: nixos...
(eval):1:in `info': wrong number of arguments (given 2, expected 1) (ArgumentError)
    from /home/chronicc/.vagrant.d/gems/3.0.2/gems/vagrant-nixos-plugin-0.2.2/lib/vagrant-nixos/provisioner.rb:51:in `block (2 levels) in rebuild!'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/plugins/communicators/ssh/communicator.rb:254:in `block (2 levels) in execute'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/plugins/communicators/ssh/communicator.rb:618:in `block (3 levels) in shell_execute'
    from /usr/share/rubygems-integration/all/gems/net-ssh-6.1.0/lib/net/ssh/connection/channel.rb:598:in `do_extended_data'
    from /usr/share/rubygems-integration/all/gems/net-ssh-6.1.0/lib/net/ssh/connection/session.rb:673:in `channel_extended_data'
    from /usr/share/rubygems-integration/all/gems/net-ssh-6.1.0/lib/net/ssh/connection/session.rb:548:in `dispatch_incoming_packets'
    from /usr/share/rubygems-integration/all/gems/net-ssh-6.1.0/lib/net/ssh/connection/session.rb:248:in `ev_preprocess'
    from /usr/share/rubygems-integration/all/gems/net-ssh-6.1.0/lib/net/ssh/connection/event_loop.rb:100:in `each'
    from /usr/share/rubygems-integration/all/gems/net-ssh-6.1.0/lib/net/ssh/connection/event_loop.rb:100:in `ev_preprocess'
    from /usr/share/rubygems-integration/all/gems/net-ssh-6.1.0/lib/net/ssh/connection/event_loop.rb:28:in `process'
    from /usr/share/rubygems-integration/all/gems/net-ssh-6.1.0/lib/net/ssh/connection/session.rb:227:in `process'
    from /usr/share/rubygems-integration/all/gems/net-ssh-6.1.0/lib/net/ssh/connection/session.rb:180:in `block in loop'
    from /usr/share/rubygems-integration/all/gems/net-ssh-6.1.0/lib/net/ssh/connection/session.rb:180:in `loop'
    from /usr/share/rubygems-integration/all/gems/net-ssh-6.1.0/lib/net/ssh/connection/session.rb:180:in `loop'
    from /usr/share/rubygems-integration/all/gems/net-ssh-6.1.0/lib/net/ssh/connection/channel.rb:272:in `wait'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/plugins/communicators/ssh/communicator.rb:703:in `shell_execute'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/plugins/communicators/ssh/communicator.rb:247:in `block in execute'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/plugins/communicators/ssh/communicator.rb:392:in `connect'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/plugins/communicators/ssh/communicator.rb:240:in `execute'
    from /home/chronicc/.vagrant.d/gems/3.0.2/gems/vagrant-nixos-plugin-0.2.2/lib/vagrant-nixos/provisioner.rb:40:in `block in rebuild!'
    from <internal:kernel>:90:in `tap'
    from /home/chronicc/.vagrant.d/gems/3.0.2/gems/vagrant-nixos-plugin-0.2.2/lib/vagrant-nixos/provisioner.rb:39:in `rebuild!'
    from /home/chronicc/.vagrant.d/gems/3.0.2/gems/vagrant-nixos-plugin-0.2.2/lib/vagrant-nixos/provisioner.rb:24:in `provision'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/action/builtin/provision.rb:138:in `run_provisioner'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/action/warden.rb:127:in `call'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/action/warden.rb:127:in `block in finalize_action'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/action/warden.rb:48:in `call'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/action/builder.rb:149:in `call'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/action/runner.rb:89:in `block in run'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/util/busy.rb:19:in `busy'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/action/runner.rb:89:in `run'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/environment.rb:526:in `hook'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/action/builtin/provision.rb:126:in `call'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/action/builtin/provision.rb:126:in `block in call'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/action/builtin/provision.rb:103:in `each'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/action/builtin/provision.rb:103:in `call'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/action/warden.rb:48:in `call'
    from /home/chronicc/.vagrant.d/gems/3.0.2/gems/vagrant-libvirt-0.10.2/lib/vagrant-libvirt/action/cleanup_on_failure.rb:21:in `call'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/action/warden.rb:48:in `call'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/action/warden.rb:127:in `block in finalize_action'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/action/warden.rb:48:in `call'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/action/builder.rb:149:in `call'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/action/runner.rb:89:in `block in run'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/util/busy.rb:19:in `busy'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/action/runner.rb:89:in `run'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/action/builtin/call.rb:53:in `call'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/action/warden.rb:48:in `call'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/action/builtin/box_check_outdated.rb:36:in `call'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/action/warden.rb:48:in `call'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/action/builtin/config_validate.rb:25:in `call'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/action/warden.rb:48:in `call'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/action/builder.rb:149:in `call'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/action/runner.rb:89:in `block in run'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/util/busy.rb:19:in `busy'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/action/runner.rb:89:in `run'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/machine.rb:246:in `action_raw'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/machine.rb:215:in `block in action'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/environment.rb:614:in `lock'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/machine.rb:201:in `call'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/machine.rb:201:in `action'
    from /usr/share/rubygems-integration/all/gems/vagrant-2.2.19/lib/vagrant/batch_action.rb:86:in `block (2 levels) in run'

Workaround

With verbose: false the box is provisioned.

Expectation

The box is also provisioned when verbose: true is set.