vagrant-hypconfigmgmt 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/vagrant-hypconfigmgmt/command.rb +26 -0
- data/lib/vagrant-hypconfigmgmt/version.rb +1 -1
- data/spec/unit/command/configure_cgroup_spec.rb +35 -0
- data/spec/unit/command/ensure_settings_are_configured_spec.rb +4 -0
- data/spec/unit/command/get_cgroup_state_spec.rb +57 -0
- metadata +4 -4
- data/lib/vagrant-hypconfigmgmt/.command.rb.swo +0 -0
- data/pkg/vagrant-hypconfigmgmt-0.0.3.gem +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f62543b9cfe6dacdf66c31382c50129a190a02f1
|
4
|
+
data.tar.gz: e155f19effe974672617050a36902cf3ae04373b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2a4840c860526f349a5779d84eeeb0dd85a5d62a123d44b381c8b8aa94a3ea453c61801b172e67786f2cb14879ea0e901c91fe7450840f475b0c51a8ddfb8a5c
|
7
|
+
data.tar.gz: ebed8ca5546dbf1d3ab9ab6f8b2c2ebb3f17e019201a2da94ae7bc52373afb5ba0e4b5709d05fc9a6480c2f477e5b71427aa071f13f2a2e91b715570dd34302e
|
data/README.md
CHANGED
@@ -13,6 +13,9 @@ AVAILABLE_VARNISH_STATES = [true, false]
|
|
13
13
|
DEFAULT_FIREWALL_STATE = false
|
14
14
|
AVAILABLE_FIREWALL_STATES = [true, false]
|
15
15
|
|
16
|
+
DEFAULT_CGROUP_STATE = false
|
17
|
+
AVAILABLE_CGROUP_STATES = [true, false]
|
18
|
+
|
16
19
|
# paths to local settings file
|
17
20
|
H_V_SETTINGS_FILE = "local.yml"
|
18
21
|
H_V_BASE_SETTINGS_FILE = ".local.base.yml"
|
@@ -134,6 +137,19 @@ module VagrantHypconfigmgmt
|
|
134
137
|
env[:ui].info(message)
|
135
138
|
return firewall_state
|
136
139
|
end
|
140
|
+
|
141
|
+
|
142
|
+
def get_cgroup_state(env)
|
143
|
+
ask_message = "Do you want to enable production-like memory management? \n"
|
144
|
+
ask_message << "This might be slower but it is more in-line with a real Hypernode. \n"
|
145
|
+
ask_message << "Note: for LXC boxes this setting is disabled. \n"
|
146
|
+
ask_message << "Enter true or false [default false]: "
|
147
|
+
cgroup_enabled = get_setting(env, AVAILABLE_CGROUP_STATES, DEFAULT_CGROUP_STATE, ask_message)
|
148
|
+
cgroup_state = cgroup_enabled == 'true' ? true : false
|
149
|
+
message = "Production-like memory management will be #{cgroup_state ? 'enabled' : 'disabled'}"
|
150
|
+
env[:ui].info(message)
|
151
|
+
return cgroup_state
|
152
|
+
end
|
137
153
|
|
138
154
|
|
139
155
|
def get_fs_type(env)
|
@@ -306,6 +322,15 @@ HEREDOC
|
|
306
322
|
AVAILABLE_FIREWALL_STATES
|
307
323
|
) { get_firewall_state(env) }
|
308
324
|
end
|
325
|
+
|
326
|
+
|
327
|
+
def configure_cgroup(env)
|
328
|
+
ensure_setting_exists('cgroup')
|
329
|
+
ensure_attribute_configured(
|
330
|
+
env, 'cgroup', 'state',
|
331
|
+
AVAILABLE_CGROUP_STATES
|
332
|
+
) { get_cgroup_state(env) }
|
333
|
+
end
|
309
334
|
|
310
335
|
|
311
336
|
def configure_synced_folders(env)
|
@@ -330,6 +355,7 @@ HEREDOC
|
|
330
355
|
configure_varnish(env)
|
331
356
|
configure_synced_folders(env)
|
332
357
|
configure_firewall(env)
|
358
|
+
configure_cgroup(env)
|
333
359
|
configure_vagrant(env)
|
334
360
|
new_settings = retrieve_settings()
|
335
361
|
return new_settings.to_yaml != old_settings.to_yaml
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
# vim: set fileencoding=utf-8
|
3
|
+
|
4
|
+
require 'spec_helper'
|
5
|
+
require "vagrant-hypconfigmgmt/command"
|
6
|
+
|
7
|
+
describe VagrantHypconfigmgmt::Command do
|
8
|
+
# create a fake app and env to pass into the VagrantHypconfigmgmt::Command constructor
|
9
|
+
let(:app) { }
|
10
|
+
let(:env) { }
|
11
|
+
|
12
|
+
# Call the method under test after every 'it'. Similar to setUp in Python TestCase
|
13
|
+
after do
|
14
|
+
subject.configure_cgroup(env)
|
15
|
+
end
|
16
|
+
|
17
|
+
# instantiate class of which a method is to be tested
|
18
|
+
subject { described_class.new(app, env) }
|
19
|
+
|
20
|
+
# the method that we are going to test
|
21
|
+
describe "#configure_cgroup" do
|
22
|
+
|
23
|
+
context "when env is passed" do
|
24
|
+
it "configures the settings for cgroup" do
|
25
|
+
# check the cgroup settings is ensured to exist in the configuration file
|
26
|
+
expect(subject).to receive(:ensure_setting_exists).with('cgroup')
|
27
|
+
# check the cgroup state is ensured to be configured
|
28
|
+
expect(subject).to receive(:ensure_attribute_configured).with(
|
29
|
+
env, 'cgroup', 'state', AVAILABLE_CGROUP_STATES
|
30
|
+
)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
@@ -43,6 +43,8 @@ describe VagrantHypconfigmgmt::Command do
|
|
43
43
|
expect(subject).to receive(:configure_synced_folders).with(env)
|
44
44
|
# check the firewall settings are configured
|
45
45
|
expect(subject).to receive(:configure_firewall).with(env)
|
46
|
+
# check the memory management settings are configured
|
47
|
+
expect(subject).to receive(:configure_cgroup).with(env)
|
46
48
|
# check the vagrant settings are configured
|
47
49
|
expect(subject).to receive(:configure_vagrant).with(env)
|
48
50
|
# check true is returned when settings are updated
|
@@ -64,6 +66,8 @@ describe VagrantHypconfigmgmt::Command do
|
|
64
66
|
expect(subject).to receive(:configure_synced_folders).with(env)
|
65
67
|
# check the firewall settings are configured
|
66
68
|
expect(subject).to receive(:configure_firewall).with(env)
|
69
|
+
# check the memory management settings are configured
|
70
|
+
expect(subject).to receive(:configure_cgroup).with(env)
|
67
71
|
# check the vagrant settings are configured
|
68
72
|
expect(subject).to receive(:configure_vagrant).with(env)
|
69
73
|
# check false is returned when settings are not updated
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
# vim: set fileencoding=utf-8
|
3
|
+
|
4
|
+
require 'spec_helper'
|
5
|
+
require "vagrant-hypconfigmgmt/command"
|
6
|
+
|
7
|
+
describe VagrantHypconfigmgmt::Command do
|
8
|
+
# create a fake app and env to pass into the VagrantHypconfigmgmt::Command constructor
|
9
|
+
let(:app) { }
|
10
|
+
let(:env) { { :ui => ui } }
|
11
|
+
|
12
|
+
# pretend env contains the Vagrant ui element
|
13
|
+
let(:ui) do
|
14
|
+
double('ui').tap do |ui|
|
15
|
+
allow(ui).to receive(:info) { nil }
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
# instantiate class of which a method is to be tested
|
20
|
+
subject { described_class.new(app, env) }
|
21
|
+
|
22
|
+
# the method that we are going to test
|
23
|
+
describe "#get_cgroup_state" do
|
24
|
+
expected_message = "Do you want to enable production-like memory management? \n"
|
25
|
+
expected_message << "This might be slower but it is more in-line with a real Hypernode. \n"
|
26
|
+
expected_message << "Note: for LXC boxes this setting is disabled. \n"
|
27
|
+
expected_message << "Enter true or false [default false]: "
|
28
|
+
|
29
|
+
context "when the state is enabled" do
|
30
|
+
it "it notifies the user that it will be enabled and returns the value" do
|
31
|
+
# check if the setting is prompted for and pretend it returns a "cgroup enabled" answer
|
32
|
+
expect(subject).to receive(:get_setting).with(
|
33
|
+
env, AVAILABLE_CGROUP_STATES, DEFAULT_CGROUP_STATE, expected_message
|
34
|
+
).and_return("true")
|
35
|
+
# check if the user is notified that the cgroup will be enabled
|
36
|
+
expect(ui).to receive(:info).once.with(/.*enabled.*/)
|
37
|
+
# check if the function returns true if the cgroup should be enabled
|
38
|
+
expect( subject.get_cgroup_state(env) ).to eq(true)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
|
43
|
+
context "when the state is disabled" do
|
44
|
+
it "it notifies the user that it will be disabled and returns the value" do
|
45
|
+
# check if the setting is prompted for and pretend it returns a "cgroup disabled" answer
|
46
|
+
expect(subject).to receive(:get_setting).with(
|
47
|
+
env, AVAILABLE_CGROUP_STATES, DEFAULT_CGROUP_STATE, expected_message
|
48
|
+
).and_return("false")
|
49
|
+
# check if the user is notified that the cgroup will be disabled
|
50
|
+
expect(ui).to receive(:info).once.with(/.*disabled.*/)
|
51
|
+
# check if the function returns false if the cgroup should be disabled
|
52
|
+
expect( subject.get_cgroup_state(env) ).to eq(false)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-hypconfigmgmt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rick van de Loo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-10-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -95,13 +95,12 @@ files:
|
|
95
95
|
- README.md
|
96
96
|
- Rakefile
|
97
97
|
- lib/vagrant-hypconfigmgmt.rb
|
98
|
-
- lib/vagrant-hypconfigmgmt/.command.rb.swo
|
99
98
|
- lib/vagrant-hypconfigmgmt/command.rb
|
100
99
|
- lib/vagrant-hypconfigmgmt/config.rb
|
101
100
|
- lib/vagrant-hypconfigmgmt/version.rb
|
102
|
-
- pkg/vagrant-hypconfigmgmt-0.0.3.gem
|
103
101
|
- spec/spec_helper.rb
|
104
102
|
- spec/unit/command/call_spec.rb
|
103
|
+
- spec/unit/command/configure_cgroup_spec.rb
|
105
104
|
- spec/unit/command/configure_firewall_spec.rb
|
106
105
|
- spec/unit/command/configure_magento_spec.rb
|
107
106
|
- spec/unit/command/configure_php_spec.rb
|
@@ -116,6 +115,7 @@ files:
|
|
116
115
|
- spec/unit/command/ensure_setting_exists_spec.rb
|
117
116
|
- spec/unit/command/ensure_settings_are_configured_spec.rb
|
118
117
|
- spec/unit/command/ensure_vagrant_box_type_configured_spec.rb
|
118
|
+
- spec/unit/command/get_cgroup_state_spec.rb
|
119
119
|
- spec/unit/command/get_firewall_state_spec.rb
|
120
120
|
- spec/unit/command/get_fs_type_spec.rb
|
121
121
|
- spec/unit/command/get_magento_version_spec.rb
|
Binary file
|
Binary file
|