vagrant-persistent-storage 0.0.42 → 0.0.43

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8fea4df76b7cb5b01f9ba4704e8e3fce7ab39670
4
- data.tar.gz: 51a041b7a43006744aef7d3a56c797cf49bbd811
3
+ metadata.gz: 0a8f0348728b20c7721a0b846f9be4a64d51ad67
4
+ data.tar.gz: 7d6c38360ac0fa416fd5f269bf3a536306f9024c
5
5
  SHA512:
6
- metadata.gz: 6e1f395a5816ff517a0ba44da407263c44029a4e74455fb1bce1524c9d707eea15429fdcae500ceabc8636eb3cbc4257ce0decd7e8c2f900c14e86f7fb693942
7
- data.tar.gz: 26db2ae4f77b3b8dec1392f518382ac9e6c4a3d042f2643f0d6aa797cab7440c19f883ebe22a9974619d87575eeb0527e478b83015f76be262a167f60dda8adb
6
+ metadata.gz: 42b14395e70fda63fab8a5786dd43d8e93a21926b62b5beaba2b76874f7ce5b6bba71f874238ecb77744f8841c8e08e6d38c6b2e1be64913f48c1c642029e230
7
+ data.tar.gz: 82ce8ce3fe1007c1e02f01c3c7e5fcf4f4552255f1337933cb36b0d93536cbeebae3d299dfc0c563bf0ef834ba154be80b4880f712c61b639322427afe0c8c74
data/README.md CHANGED
@@ -43,6 +43,11 @@ If you are using LVM and you would prefer to use the disk rather than a partitio
43
43
  config.persistent_storage.partition = false
44
44
  ```
45
45
 
46
+ When you expect a lot of writes in the disk (the case for `/home` mountpoints) it is recommended to change the disk variant to `Fixed` (fixed allocation) instead of the default `Standard` (dyanamic allocation). The tested types are `Standard` (default) and `Fixed`.
47
+ ```ruby
48
+ config.persistent_storage.variant = 'Fixed'
49
+ ```
50
+
46
51
  Every `vagrant up` will attach this file as hard disk to the guest machine.
47
52
  A `vagrant destroy` will detach the storage to avoid deletion of the storage by vagrant.
48
53
  A `vagrant destroy` generally destroys all attached drives. See [VBoxManage unregistervm --delete option][vboxmanage_delete].
@@ -106,6 +111,7 @@ If your box is not using LVM you must set `config.persistent_storage.use_lvm = f
106
111
  * [Alex Tomkins](https://github.com/tomkins)
107
112
  * [Marcin Wolny](https://github.com/mwolny)
108
113
  * [Adam Huffman](https://github.com/verdurin)
114
+ * [caio2k](https://github.com/caio2k)
109
115
 
110
116
  ## TODO
111
117
 
@@ -38,7 +38,8 @@ module VagrantPlugins
38
38
  env[:ui].info I18n.t("vagrant_persistent_storage.action.create_storage")
39
39
  location = env[:machine].config.persistent_storage.location
40
40
  size = env[:machine].config.persistent_storage.size
41
- env[:machine].provider.driver.create_storage(location, size)
41
+ variant = env[:machine].config.persistent_storage.variant
42
+ env[:machine].provider.driver.create_storage(location, size, variant)
42
43
  @app.call(env)
43
44
  end
44
45
 
@@ -5,6 +5,7 @@ module VagrantPlugins
5
5
  class Config < Vagrant.plugin('2', :config)
6
6
 
7
7
  attr_accessor :size
8
+ attr_accessor :variant
8
9
  attr_accessor :create
9
10
  attr_accessor :mount
10
11
  attr_accessor :manage
@@ -32,6 +33,7 @@ module VagrantPlugins
32
33
 
33
34
  def initialize
34
35
  @size = UNSET_VALUE
36
+ @variant = UNSET_VALUE
35
37
  @create = true
36
38
  @mount = true
37
39
  @manage = true
@@ -52,6 +54,7 @@ module VagrantPlugins
52
54
 
53
55
  def finalize!
54
56
  @size = 0 if @size == UNSET_VALUE
57
+ @variant = "Standard" if @variant == UNSET_VALUE
55
58
  @create = true if @create == UNSET_VALUE
56
59
  @mount = true if @mount == UNSET_VALUE
57
60
  @manage = true if @manage == UNSET_VALUE
@@ -132,6 +135,12 @@ module VagrantPlugins
132
135
  :is_class => volgroupname.class.to_s,
133
136
  })
134
137
  end
138
+ if !machine.config.persistent_storage.variant.kind_of?(String)
139
+ errors << I18n.t('vagrant_persistent_storage.config.not_a_string', {
140
+ :config_key => 'persistent_storage.variant',
141
+ :is_class => variant.class.to_s,
142
+ })
143
+ end
135
144
 
136
145
  mount_point_path = Pathname.new("#{machine.config.persistent_storage.location}")
137
146
  if ! (mount_point_path.absolute? || mount_point_path.relative?)
@@ -16,8 +16,8 @@ module VagrantPlugins
16
16
  end
17
17
  end
18
18
 
19
- def create_storage(location, size)
20
- execute("createhd", "--filename", File.expand_path(location), "--size", "#{size}")
19
+ def create_storage(location, size, variant)
20
+ execute("createhd", "--filename", File.expand_path(location), "--size", "#{size}", "--variant", "#{variant}")
21
21
  end
22
22
 
23
23
  def attach_storage(location)
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module PersistentStorage
3
- VERSION = "0.0.42"
3
+ VERSION = "0.0.43"
4
4
  end
5
5
  end
@@ -7,16 +7,13 @@ VAGRANTFILE_API_VERSION = "2"
7
7
  Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
8
8
 
9
9
  # Every Vagrant virtual environment requires a box to build off of.
10
- config.vm.box = "precise32"
11
-
12
- # The url from where the 'config.vm.box' box will be fetched if it
13
- # doesn't already exist on the user's system.
14
- #config.vm.box_url = "http://files.vagrantup.com/precise32.box"
10
+ config.vm.box = "ubuntu/precise32"
15
11
 
16
12
  # configure a persistent storage for mysql data
17
13
  config.persistent_storage.enabled = true
18
14
  config.persistent_storage.location = "virtualdrive.vdi"
19
15
  config.persistent_storage.size = 5000
16
+ config.persistent_storage.variant = 'Fixed'
20
17
  config.persistent_storage.mountname = 'mysql'
21
18
  config.persistent_storage.filesystem = 'ext4'
22
19
  config.persistent_storage.mountpoint = '/var/lib/mysql'
@@ -7,16 +7,13 @@ VAGRANTFILE_API_VERSION = "2"
7
7
  Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
8
8
 
9
9
  # Every Vagrant virtual environment requires a box to build off of.
10
- config.vm.box = "precise32"
11
-
12
- # The url from where the 'config.vm.box' box will be fetched if it
13
- # doesn't already exist on the user's system.
14
- config.vm.box_url = "http://files.vagrantup.com/precise32.box"
10
+ config.vm.box = "ubuntu/precise32"
15
11
 
16
12
  # configure a persistent storage for mysql data
17
13
  config.persistent_storage.enabled = true
18
14
  config.persistent_storage.location = "virtualdrive.vdi"
19
15
  config.persistent_storage.size = 5000
16
+ config.persistent_storage.variant = 'Standard'
20
17
  config.persistent_storage.mountname = 'mysql'
21
18
  config.persistent_storage.filesystem = 'ext4'
22
19
  config.persistent_storage.mountpoint = '/var/lib/mysql'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-persistent-storage
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.42
4
+ version: 0.0.43
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sebastian Kusnier
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-03-26 00:00:00.000000000 Z
11
+ date: 2019-02-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -91,7 +91,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
91
91
  version: '0'
92
92
  requirements: []
93
93
  rubyforge_project:
94
- rubygems_version: 2.6.12
94
+ rubygems_version: 2.5.2.3
95
95
  signing_key:
96
96
  specification_version: 4
97
97
  summary: A Vagrant plugin that creates a persistent storage and attaches it to guest