vzlimit 0.0.1 → 0.0.2

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.
data/History.txt CHANGED
@@ -1,7 +1,12 @@
1
1
  === 0.0.1 2010-01-30
2
2
 
3
- * Initial release
4
- * Listing/configuriong resources
5
- * Memory Limits (privvmpages)
6
- * Disk limits
7
- * ATTENTION: May only work on x86 and x86_64 hardware yet!
3
+ * 1 major enhancement:
4
+ * Initial release
5
+
6
+ === 0.0.2 2010-02-02
7
+
8
+ * Fixed bug that hard limit is ignored
9
+ * Changed 'limit' command to 'set'
10
+ * Changed param '--memory' and '-m' to '--ram' and '-r'
11
+ * Fixed bug when calling 'vzlimit' without any parameters
12
+ * Added help page
data/Manifest.txt CHANGED
@@ -1,5 +1,6 @@
1
1
  History.txt
2
2
  Manifest.txt
3
+ PostInstall.txt
3
4
  README.rdoc
4
5
  Rakefile
5
6
  bin/vzlimit
@@ -15,3 +16,4 @@ test/test_vzlimit.rb
15
16
  test/test_vzlimit_cli.rb
16
17
  vzlimit.gemspec
17
18
  website/index.html
19
+ website/index.html$
data/PostInstall.txt ADDED
@@ -0,0 +1,7 @@
1
+
2
+ For more information on vzlimit, see http://vzlimit.rubyforge.org
3
+
4
+ NOTE: Change this information in PostInstall.txt
5
+ You can also delete it if you don't want it.
6
+
7
+
data/README.rdoc CHANGED
@@ -1,10 +1,10 @@
1
1
  = vzlimit
2
2
 
3
- * http://vzlimit.rubyforge.org/
3
+ * http://github.com/#{github_username}/#{project_name}
4
4
 
5
5
  == DESCRIPTION:
6
6
 
7
- vzlimit simplifies the resource management of the virtualization system 'OpenVZ'. It allows to list all the configured limits as well as changing them in human readable/writable units.
7
+ FIX (describe your package)
8
8
 
9
9
  == FEATURES/PROBLEMS:
10
10
 
@@ -12,14 +12,37 @@ vzlimit simplifies the resource management of the virtualization system 'OpenVZ'
12
12
 
13
13
  == SYNOPSIS:
14
14
 
15
- vzlimit list
15
+ FIX (code sample of usage)
16
16
 
17
17
  == REQUIREMENTS:
18
18
 
19
- * highline
20
- * rubyforge
21
- * hirb
19
+ * FIX (list of requirements)
22
20
 
23
21
  == INSTALL:
24
22
 
25
- * sudo gem install vzlimit
23
+ * FIX (sudo gem install, anything else)
24
+
25
+ == LICENSE:
26
+
27
+ (The MIT License)
28
+
29
+ Copyright (c) 2010 Remo Fritzsche
30
+
31
+ Permission is hereby granted, free of charge, to any person obtaining
32
+ a copy of this software and associated documentation files (the
33
+ 'Software'), to deal in the Software without restriction, including
34
+ without limitation the rights to use, copy, modify, merge, publish,
35
+ distribute, sublicense, and/or sell copies of the Software, and to
36
+ permit persons to whom the Software is furnished to do so, subject to
37
+ the following conditions:
38
+
39
+ The above copyright notice and this permission notice shall be
40
+ included in all copies or substantial portions of the Software.
41
+
42
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
43
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
44
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
45
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
46
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
47
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
48
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile CHANGED
@@ -12,9 +12,10 @@ Hoe.plugin :website
12
12
  # Run 'rake -T' to see list of generated tasks (from gem root directory)
13
13
  $hoe = Hoe.spec 'vzlimit' do
14
14
  self.developer 'Remo Fritzsche', 'dev@remofritzsche.com'
15
- #self.post_install_message = 'PostInstall.txt' # TODO remove if post-install message not required
16
- self.rubyforge_name = 'vzlimit' # TODO this is default value
15
+ self.post_install_message = 'PostInstall.txt' # TODO remove if post-install message not required
16
+ self.rubyforge_name = self.name # TODO this is default value
17
17
  self.extra_deps = [['highline','>= 1.5.1'], ['rubyforge','>= 2.0.3'], ['hirb', '>= 0.2.9']]
18
+
18
19
  end
19
20
 
20
21
  require 'newgem/tasks'
data/config/website.yml CHANGED
@@ -1,2 +1,2 @@
1
1
  host: remofritzsche@vzlimit.rubyforge.org
2
- remote_dir: /var/www/gforge-projects/vzlimit
2
+ remote_dir: /var/www/gforge-projects/vzlimit
data/lib/vzlimit/cli.rb CHANGED
@@ -14,7 +14,7 @@ module Vzlimit
14
14
 
15
15
  begin
16
16
  # Check action argument
17
- if !@arguments[0] ||! ACTIONS.include?(@arguments[0].to_sym)
17
+ if !@arguments[0] || (!ACTIONS.include?(@arguments[0].to_sym) &&! @arguments[0] =~ /^-.*/)
18
18
  usage
19
19
  end
20
20
 
@@ -24,8 +24,18 @@ module Vzlimit
24
24
  end
25
25
 
26
26
  # limit
27
- if @arguments[0].to_sym == :limit
28
- limit
27
+ if @arguments[0].to_sym == :set
28
+ set
29
+ end
30
+
31
+ # help
32
+ if @arguments[0] == '-h' || @arguments[0] == '--help'
33
+ help
34
+ end
35
+
36
+ # version
37
+ if @arguments[0] == '-v' || @arguments[0] == '--version'
38
+ version
29
39
  end
30
40
  rescue
31
41
  @h.say $!
@@ -96,9 +106,9 @@ module Vzlimit
96
106
 
97
107
  end
98
108
 
99
- def limit
109
+ def set
100
110
  @arguments.shift
101
- usage = 'Usage: vzlimit limit vpsid [options]'
111
+ usage = 'Usage: vzlimit set vpsid [options]'
102
112
  raise usage unless @arguments[0]
103
113
 
104
114
  vpsid = @arguments.shift
@@ -106,20 +116,20 @@ module Vzlimit
106
116
  disk = nil
107
117
 
108
118
  while (arg = @arguments.shift) do
109
- if ['-m', '--memory'].include? arg
119
+ if ['-r', '--ram'].include? arg
110
120
  memory = @arguments.shift
111
121
 
112
122
  if !(memory =~ /^[-+]?[0-9]*\.?[0-9]+:[-+]?[0-9]*\.?[0-9]+$/)
113
- raise "Usage: vzlimit limit vpsid #{arg} soft:hard"
123
+ raise "Usage: vzlimit set vpsid #{arg} soft:hard"
114
124
  end
115
125
  elsif ['-d', '--diskspace'].include? arg
116
126
  disk = @arguments.shift
117
127
 
118
128
  if !(disk =~ /^\d+:\d+$/)
119
- raise "Usage: vzlimit limit vpsid #{arg} soft:hard"
129
+ raise "Usage: vzlimit set vpsid #{arg} soft:hard"
120
130
  end
121
131
  else
122
- raise "Argument #{arg} not valid for action limit."
132
+ raise "Argument #{arg} not valid for action 'set'."
123
133
  end
124
134
  end
125
135
 
@@ -145,7 +155,7 @@ module Vzlimit
145
155
 
146
156
  # Convert MB limits to mempages
147
157
  soft = (soft_mb.to_f * 1024 / 4).to_i
148
- hard = (soft_mb.to_f * 1024 / 4).to_i
158
+ hard = (hard_mb.to_f * 1024 / 4).to_i
149
159
 
150
160
  # Execute command
151
161
  execute "vzctl set #{vpsid} --privvmpages #{soft}:#{hard} --save"
@@ -168,7 +178,7 @@ module Vzlimit
168
178
 
169
179
  # Convert MB limits to 1K-block
170
180
  soft = (soft_mb.to_f * 1024).to_i
171
- hard = (soft_mb.to_f * 1024).to_i
181
+ hard = (hard_mb.to_f * 1024).to_i
172
182
 
173
183
  # Execute command
174
184
  execute "vzctl set #{vpsid} --diskspace #{soft}:#{hard} --save"
@@ -196,6 +206,20 @@ module Vzlimit
196
206
 
197
207
  def usage
198
208
  @h.say "Usage: vzlimit action [params...]"
209
+ exit
199
210
  end
211
+
212
+ def version
213
+ @h.say "vzlimit version #{VERSION}"
214
+ end
215
+
216
+ def help
217
+ @h.say "vzlimit list | set <veid>"
218
+ @h.say "vzlimit set <veid>"
219
+ @h.say "\t[--ram, -r <soft-limit-in-mb>:<hard-limit-in-mb>]"
220
+ @h.say "\t[--diskspace, -d <soft-limit-in-mb>:<hard-limit-in-mb>]"
221
+ @h.say "vzlimit --help, -h"
222
+ @h.say "vzlimit --version, -v"
223
+ end
200
224
  end
201
- end
225
+ end
data/lib/vzlimit.rb CHANGED
@@ -4,6 +4,6 @@ $:.unshift(File.dirname(__FILE__)) unless
4
4
  require 'rubygems'
5
5
 
6
6
  module Vzlimit
7
- VERSION = '0.0.1'
7
+ VERSION = '0.0.2'
8
8
 
9
- end
9
+ end
data/website/index.html CHANGED
@@ -10,6 +10,14 @@
10
10
  </head>
11
11
  <body>
12
12
  <h1>vzlimit</h1>
13
- <p>Website comming soon.</p>
13
+ <p>A convenience way of managing OpenVZ container resource limits.</p>
14
+
15
+ <h2>Commands</h2>
16
+ <h3>List resource limits</h3>
17
+ <p><code>vzlimit list</code></p>
18
+ <h3>Set ram limit</h3>
19
+ <p><code>vzlimit set <i>vpsid</i> --ram, -r <i>soft(MB)</i>:<i>hard(MB)</i></code></p>
20
+ <h3>Set diskspace limit</h3>
21
+ <p><code>vzlimit set <i>vpsid</i> --diskspace, -d <i>soft(MB)</i>:<i>hard(MB)</i></code></p>
14
22
  </body>
15
23
  </html>
@@ -0,0 +1,17 @@
1
+ <html>
2
+ <head>
3
+ <title>vzlimit - managing OpenVZ limits with comfort</title>
4
+ <style type="text/css">
5
+ body
6
+ {
7
+ font-family: Georgia;
8
+ }
9
+ </style>
10
+ </head>
11
+ <body>
12
+ <h1>vzlimit</h1>
13
+ <p>A relaxed way of managing resources/limits for OpenVZ.</p>
14
+ <h2>Commands</h2>
15
+ <h3>List all
16
+ </body>
17
+ </html>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vzlimit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Remo Fritzsche
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-01-30 00:00:00 +01:00
12
+ date: 2010-02-01 00:00:00 +03:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -72,7 +72,7 @@ dependencies:
72
72
  - !ruby/object:Gem::Version
73
73
  version: 2.5.0
74
74
  version:
75
- description: vzlimit simplifies the resource management of the virtualization system 'OpenVZ'. It allows to list all the configured limits as well as changing them in human readable/writable units.
75
+ description: FIX (describe your package)
76
76
  email:
77
77
  - dev@remofritzsche.com
78
78
  executables:
@@ -82,9 +82,11 @@ extensions: []
82
82
  extra_rdoc_files:
83
83
  - History.txt
84
84
  - Manifest.txt
85
+ - PostInstall.txt
85
86
  files:
86
87
  - History.txt
87
88
  - Manifest.txt
89
+ - PostInstall.txt
88
90
  - README.rdoc
89
91
  - Rakefile
90
92
  - bin/vzlimit
@@ -100,11 +102,12 @@ files:
100
102
  - test/test_vzlimit_cli.rb
101
103
  - vzlimit.gemspec
102
104
  - website/index.html
105
+ - website/index.html$
103
106
  has_rdoc: true
104
- homepage: http://vzlimit.rubyforge.org/
107
+ homepage: http://github.com/#{github_username}/#{project_name}
105
108
  licenses: []
106
109
 
107
- post_install_message:
110
+ post_install_message: PostInstall.txt
108
111
  rdoc_options:
109
112
  - --main
110
113
  - README.rdoc
@@ -128,7 +131,7 @@ rubyforge_project: vzlimit
128
131
  rubygems_version: 1.3.5
129
132
  signing_key:
130
133
  specification_version: 3
131
- summary: vzlimit simplifies the resource management of the virtualization system 'OpenVZ'
134
+ summary: FIX (describe your package)
132
135
  test_files:
133
136
  - test/test_helper.rb
134
137
  - test/test_vzlimit.rb