Hello

Identation is weird, not the problem but hard to read.

your loops also, make it hard to read.

There is some weird character in your v.customize, couldn't find which one.

I did copy and paste one of my files and got past the error, so is
something like a weird tilde or something:




this works:





Vagrant.configure("2") do |config|
    HOSTS=5
    (1..HOSTS).each do |host_id|
        config.vm.box = "centos/7"
        config.vm.define "mariadb#{host_id}" do |mariadb|
            mariadb.vm.hostname = "mariadb#{host_id}"
            mariadb.vm.network "private_network", ip:
"192.168.13.#{1+host_id}"
            #mariadb.vm.synced_folder '.', '/vagrant', disabled: true
            mariadb.vm.provider "virtualbox" do |v|
                v.name = "mariadb#{host_id}"
                v.memory = 1024
                v.cpus = 1
                [ "data", "log" ].each do |volume|
                port=2
                # MariaDB volumes
                file_to_disk = "./mariadb#{host_id}_#{volume}.vdi"
                  unless File.exist?(file_to_disk)
                    v.customize ['createhd', '--filename',
"#{file_to_disk}", '--size', (500 * 1024).floor]
                  end
                  v.customize ['storageattach', :id, '--storagectl', 'SATA
Controller', '--port', port, '--device', 0, '--type', 'hdd', '--medium',
"#{file_to_disk}"]
                  port=port+1
                end
            end
            mariadb.vm.provision :shell, path: "bash/bootstrap_avahi.sh",
run: "always"
            # All vms have been provisioned. Run Ansible
            if host_id == HOSTS
                mariadb.vm.provision :ansible do |ansible|
                    ansible.limit = "all" # Connect to all machines
                    ansible.playbook = "mariadb.yaml"
                    ansible.groups = {
                      "masters" => ["mariadb1", "mariadb2"],
                      "slaves" => ["mariadb3", "mariadb4", "mariadb5"]
                    }
                    #ansible.inventory_path =
".vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory"
                end
            end
        end
    end
end




NOTE:

I did add port, since you need to attach each disk on a different port. or
the 2nd disk will fail for port used.


On Mon, Aug 14, 2017 at 2:52 PM, rhys.james.campbell via Vagrant <
vagrant-up@googlegroups.com> wrote:

> Hello All,
>
> I've been trying to figure out how to add a second disk to my Vagrant
> hosts. I receive the following error on vagrant up;
>
> There was an error loading a Vagrantfile. The file being loaded
>> and the error message are shown below. This is usually caused by
>> a syntax error.
>> Path: <provider config: virtualbox>
>> Line number: 17
>> Message: ArgumentError: wrong number of arguments (given 5, expected 1..2)
>
>
>
> Here is my Vagrantfile;
>
>
> Vagrant.configure("2") do |config|
>     HOSTS=5
>     (1..HOSTS).each do |host_id|
>         config.vm.box = "centos/7"
>         config.vm.define "mariadb#{host_id}" do |mariadb|
>             mariadb.vm.hostname = "mariadb#{host_id}"
>             mariadb.vm.network "private_network", ip:
> "192.168.13.#{1+host_id}"
>             #mariadb.vm.synced_folder '.', '/vagrant', disabled: true
>             mariadb.vm.provider "virtualbox" do |v|
>                 v.name = "mariadb#{host_id}"
>                 v.memory = 1024
>                 v.cpus = 1
>                 [ "data", "log" ].each do |volume|
>                 # MariaDB volumes
>                 file_to_disk = "./mariadb#{host_id}_#{volume}.vdi"
>                   unless File.exist?(file_to_disk)
>                     v.customize[ 'createhd',
>                                  '--filename',
>                                  file_to_disk,
>                                  '--size',
>                                  500 * 1024 ]
>                   end
>                   v.customize[ 'storageattach',
>                                :id,
>                                '--storagectl',
>                                'SATA Controller',
>                                '--port',
>                                1,
>                                '--device',
>                                0,
>                                '--type',
>                                'hdd',
>                                '--medium',
>                                file_to_disk ]
>                 end
>             end
>             mariadb.vm.provision :shell, path: "bash/bootstrap_avahi.sh",
> run: "always"
>             # All vms have been provisioned. Run Ansible
>             if host_id == HOSTS
>                 mariadb.vm.provision :ansible do |ansible|
>                     ansible.limit = "all" # Connect to all machines
>                     ansible.playbook = "mariadb.yaml"
>                     ansible.groups = {
>                       "masters" => ["mariadb1", "mariadb2"],
>                       "slaves" => ["mariadb3", "mariadb4", "mariadb5"]
>                     }
>                     #ansible.inventory_path = ".vagrant/provisioners/
> ansible/inventory/vagrant_ansible_inventory"
>                 end
>             end
>         end
>     end
> end
>
> Can anyone tell me what I'm  doing wrong. I am using Vagrant 1.9.7 on OS X
> with VirtualBox 5.0.26.
>
>
> --
> This mailing list is governed under the HashiCorp Community Guidelines -
> https://www.hashicorp.com/community-guidelines.html. Behavior in
> violation of those guidelines may result in your removal from this mailing
> list.
>
> GitHub Issues: https://github.com/mitchellh/vagrant/issues
> IRC: #vagrant on Freenode
> ---
> You received this message because you are subscribed to the Google Groups
> "Vagrant" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to vagrant-up+unsubscr...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/vagrant-up/601afc0a-0751-458e-aee6-6ec1d40e95b0%40googlegroups.com
> <https://groups.google.com/d/msgid/vagrant-up/601afc0a-0751-458e-aee6-6ec1d40e95b0%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Alvaro

-- 
This mailing list is governed under the HashiCorp Community Guidelines - 
https://www.hashicorp.com/community-guidelines.html. Behavior in violation of 
those guidelines may result in your removal from this mailing list.

GitHub Issues: https://github.com/mitchellh/vagrant/issues
IRC: #vagrant on Freenode
--- 
You received this message because you are subscribed to the Google Groups 
"Vagrant" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vagrant-up+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vagrant-up/CAHqq0ewxFA48va9ZJ%2B_TU2iXNSZrSQLUkAKMGpRxOHazbPHXDQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to