Ah, I did not (at first). Thanks for pointing that out, I completely
missed the attachment earlier. This worked perfectly for me after
declaring the "@cores" variable!
On Friday, September 26, 2014 4:41:59 PM UTC-4, Alvaro Miranda Aguilera
wrote:
>
> did you put the code I sent attached to the email to the beggining to
> vagrantfile?
>
> @code is defined/created in the ruby code i sent
>
>
>
>
>
> # -*- mode: ruby -*-
> # vi: set ft=ruby :
>
> require 'rbconfig'
>
> case RbConfig::CONFIG['host_os'][/^[A-Za-z]+/]
> when 'darwin'
> @cores = Integer(`/usr/sbin/sysctl hw.ncpu`[/\d+/])
> when 'linux'
> @cores = if File.exists?("/sys/devices/system/cpu/present")
> File.read("/sys/devices/system/cpu/present").split('-').last.to_i+1
> else
> Dir["/sys/devices/system/cpu/cpu*"].select { |n| n=~/cpu\d+/ }.count
> end
> when 'mingw', 'mswin'
> @cores = Integer(ENV["NUMBER_OF_PROCESSORS"][/\d+/])
> else
> @cores = nil
> end
>
> puts @cores
>
> # Vagrantfile API/syntax version. Don't touch unless you know what you're
> doing!
> VAGRANTFILE_API_VERSION = "2"
>
> On Sat, Sep 27, 2014 at 1:24 AM, blong <[email protected] <javascript:>>
> wrote:
>
>> Hi Alvaro,
>>
>> Thanks for your suggestion. Is there a place where documentation for
>> variables like @cores
>> is available? I tried something similar, per your suggestion (below),
>> however the output is always : "Unable to detect CPU cores, will assign
>> 1 CPU to the VM".
>>
>> # Give VM 25% of system cpu cores, with a minimum of 1
>> if @cores
>> puts "Detected " + @cores + " CPU cores"
>> v.customize ["modifyvm", :id, "--cpus", max([@cores/4.to_i, 1]) ]
>> else
>> puts "Unable to detect CPU cores, will assign 1 CPU to the VM"
>> end
>>
>> Thanks again,
>> blong
>>
>> On Thursday, September 25, 2014 6:33:04 PM UTC-4, Alvaro Miranda Aguilera
>> wrote:
>>>
>>> Hello,
>>>
>>> Try the attached on top of your Vagrantfile.
>>>
>>> Vagrant includes his own ruby and some gems, I did copy this from
>>> celluloid/cpucount, and tested on OSX.
>>>
>>> then, on the config block you can do something like this:
>>>
>>> config.vm.provider "virtualbox" do |v|
>>> # Give VM 25% of system cpu cores
>>> if @cores
>>> v.customize ["modifyvm", :id, "--cpus", @cores/4.to_i ]
>>> end
>>> end
>>>
>>>
>>> On Fri, Sep 26, 2014 at 3:12 AM, blong <[email protected]> wrote:
>>>
>>>> I'm new to Ruby, so pardon my ignorance, but is there a way to load
>>>> rubygems and require additional libraries? For example, let's say I
>>>> wanted
>>>> to assign %25 of the CPU cores to Vagrant. I need something that's
>>>> platform independent, I was thinking something like this:
>>>>
>>>> require 'rubygems'
>>>> require 'facter'
>>>> Facter.loadfacts
>>>>
>>>> config.vm.provider "virtualbox" do |v|
>>>> # Give VM 25% of system cpu cores
>>>> v.customize ["modifyvm", :id, "--cpus", [((Facter.processorcount)
>>>> / 4).to_i, 1].max ]
>>>> end
>>>>
>>>> Any thoughts on how I can achieve this?
>>>>
>>>> Thanks,
>>>> blong
>>>>
>>>> On Thursday, March 20, 2014 6:28:39 PM UTC-4, Alvaro Miranda Aguilera
>>>> wrote:
>>>>>
>>>>> in one Vagrantfile I found on github,. they use this.
>>>>>
>>>>> if RUBY_PLATFORM.include? 'linux'
>>>>> b.vm.network :bridged, :bridge => "eth0"
>>>>> elseif RUBY_PLATFORM.include? 'darwin'
>>>>> b.vm.network :bridged, :bridge => "en1: Wi-Fi (AirPort)"
>>>>> end
>>>>>
>>>>>
>>>>> I assume, you can check if there is a in/windows or something.
>>>>>
>>>>> Alvaro.
>>>>>
>>>>>
>>>>> On Fri, Mar 21, 2014 at 9:50 AM, Luis Mayorga <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> This worked!!!
>>>>>>
>>>>>> if Gem.win_platform?
>>>>>>
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>>
>>>>>> On Thu, Mar 20, 2014 at 4:32 PM, Jeremy Voorhis <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>> The Vagrantfile is just a Ruby file that gets evaluated within a
>>>>>>> special context that implements the Vagrant DSL. You can definitely
>>>>>>> execute
>>>>>>> arbitrary Ruby code to specialize your VM.
>>>>>>>
>>>>>>>
>>>>>>> On Thu, Mar 20, 2014 at 1:25 PM, Luis Mayorga <[email protected]>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> I need to detect which platform is running vagrant. (We have
>>>>>>>> vagrant windows/mac users) and need to setup some initial variable
>>>>>>>> values
>>>>>>>> for some of the configuration parameters.
>>>>>>>>
>>>>>>>> --
>>>>>>>> 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 [email protected].
>>>>>>>>
>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Jeremy Voorhis
>>>>>>>
>>>>>>> --
>>>>>>> You received this message because you are subscribed to a topic in
>>>>>>> the Google Groups "Vagrant" group.
>>>>>>> To unsubscribe from this topic, visit https://groups.google.com/d/to
>>>>>>> pic/vagrant-up/lhd9_WfySXo/unsubscribe.
>>>>>>> To unsubscribe from this group and all its topics, send an email to
>>>>>>> [email protected].
>>>>>>>
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> 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 [email protected].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>> --
>>>> 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 [email protected].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>> --
>> 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 [email protected] <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
--
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 [email protected].
For more options, visit https://groups.google.com/d/optout.