boxgrinder-core 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -1,4 +1,8 @@
1
1
 
2
+ v0.1.4
3
+
4
+ * Removed QueueHelper class
5
+
2
6
  v0.1.3
3
7
 
4
8
  * [BGBUILD-98] Use hashery gem
data/Rakefile CHANGED
@@ -19,7 +19,6 @@
19
19
  require 'rubygems'
20
20
  require 'spec/rake/spectask'
21
21
  require 'echoe'
22
- require 'rbconfig'
23
22
 
24
23
  Echoe.new("boxgrinder-core") do |p|
25
24
  p.project = "BoxGrinder"
@@ -46,24 +45,3 @@ Spec::Rake::SpecTask.new('spec:coverage') do |t|
46
45
  t.rcov_opts = ['--exclude', 'spec,teamcity/*,/usr/lib/ruby/,.gem/ruby,/boxgrinder-build/,/gems/']
47
46
  t.verbose = true
48
47
  end
49
-
50
- desc "Create RPM"
51
- task :rpm, :target, :version, :arch, :needs => ['clean', 'gem'] do |t, args|
52
- target = args[:target] || 'fedora'
53
- version = args[:version] || 'rawhide'
54
- arch = args[:arch] || RbConfig::CONFIG['host_cpu']
55
-
56
- Dir["**/rubygem-*.spec"].each do |spec|
57
- `mock -v -r #{target}-#{version}-#{arch} --buildsrpm --sources pkg/*.gem --spec #{spec} --resultdir pkg/`
58
- exit 1 unless $? == 0
59
- `mock -v -r #{target}-#{version}-#{arch} --rebuild pkg/*.rpm --resultdir pkg/`
60
- exit 1 unless $? == 0
61
- end
62
- end
63
-
64
- desc "Install RPM"
65
- task 'rpm:install' => [:rpm] do
66
- system "sudo yum -y remove rubygem-boxgrinder-core"
67
- system "sudo yum -y localinstall --nogpgcheck pkg/*.rpm"
68
- exit 1 unless $? == 0
69
- end
@@ -2,15 +2,15 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{boxgrinder-core}
5
- s.version = "0.1.3"
5
+ s.version = "0.1.4"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Marek Goldmann"]
9
- s.date = %q{2010-11-23}
9
+ s.date = %q{2010-12-03}
10
10
  s.description = %q{Core library for BoxGrinder}
11
11
  s.email = %q{info@boxgrinder.org}
12
- s.extra_rdoc_files = ["CHANGELOG", "LICENSE", "README", "lib/boxgrinder-core.rb", "lib/boxgrinder-core/defaults.rb", "lib/boxgrinder-core/helpers/appliance-config-helper.rb", "lib/boxgrinder-core/helpers/appliance-helper.rb", "lib/boxgrinder-core/helpers/exec-helper.rb", "lib/boxgrinder-core/helpers/log-helper.rb", "lib/boxgrinder-core/helpers/queue-helper.rb", "lib/boxgrinder-core/models/appliance-config.rb", "lib/boxgrinder-core/models/config.rb", "lib/boxgrinder-core/models/task.rb", "lib/boxgrinder-core/validators/appliance-config-validator.rb", "lib/boxgrinder-core/validators/errors.rb"]
13
- s.files = ["CHANGELOG", "LICENSE", "Manifest", "README", "Rakefile", "boxgrinder-core.gemspec", "lib/boxgrinder-core.rb", "lib/boxgrinder-core/defaults.rb", "lib/boxgrinder-core/helpers/appliance-config-helper.rb", "lib/boxgrinder-core/helpers/appliance-helper.rb", "lib/boxgrinder-core/helpers/exec-helper.rb", "lib/boxgrinder-core/helpers/log-helper.rb", "lib/boxgrinder-core/helpers/queue-helper.rb", "lib/boxgrinder-core/models/appliance-config.rb", "lib/boxgrinder-core/models/config.rb", "lib/boxgrinder-core/models/task.rb", "lib/boxgrinder-core/validators/appliance-config-validator.rb", "lib/boxgrinder-core/validators/errors.rb", "rubygem-boxgrinder-core.spec", "spec/helpers/appliance-config-helper-spec.rb", "spec/helpers/appliance-helper-spec.rb", "spec/helpers/exec-helper-spec.rb", "spec/helpers/log-helper-spec.rb", "spec/helpers/queue-helper-spec.rb", "spec/rspec/ls/one", "spec/rspec/ls/two", "spec/rspec/rspec-config-helper.rb", "spec/rspec/src/appliances/ephemeral-repo.appl", "spec/rspec/src/appliances/full.appl", "spec/rspec/src/appliances/repo.appl", "spec/validators/appliance-config-validator-spec.rb"]
12
+ s.extra_rdoc_files = ["CHANGELOG", "LICENSE", "README", "lib/boxgrinder-core.rb", "lib/boxgrinder-core/defaults.rb", "lib/boxgrinder-core/helpers/appliance-config-helper.rb", "lib/boxgrinder-core/helpers/appliance-helper.rb", "lib/boxgrinder-core/helpers/exec-helper.rb", "lib/boxgrinder-core/helpers/log-helper.rb", "lib/boxgrinder-core/models/appliance-config.rb", "lib/boxgrinder-core/models/config.rb", "lib/boxgrinder-core/models/task.rb", "lib/boxgrinder-core/validators/appliance-config-validator.rb", "lib/boxgrinder-core/validators/errors.rb"]
13
+ s.files = ["CHANGELOG", "LICENSE", "Manifest", "README", "Rakefile", "boxgrinder-core.gemspec", "lib/boxgrinder-core.rb", "lib/boxgrinder-core/defaults.rb", "lib/boxgrinder-core/helpers/appliance-config-helper.rb", "lib/boxgrinder-core/helpers/appliance-helper.rb", "lib/boxgrinder-core/helpers/exec-helper.rb", "lib/boxgrinder-core/helpers/log-helper.rb", "lib/boxgrinder-core/models/appliance-config.rb", "lib/boxgrinder-core/models/config.rb", "lib/boxgrinder-core/models/task.rb", "lib/boxgrinder-core/validators/appliance-config-validator.rb", "lib/boxgrinder-core/validators/errors.rb", "rubygem-boxgrinder-core.spec", "spec/helpers/appliance-config-helper-spec.rb", "spec/helpers/appliance-helper-spec.rb", "spec/helpers/exec-helper-spec.rb", "spec/helpers/log-helper-spec.rb", "spec/rspec/ls/one", "spec/rspec/ls/two", "spec/rspec/rspec-config-helper.rb", "spec/rspec/src/appliances/ephemeral-repo.appl", "spec/rspec/src/appliances/full.appl", "spec/rspec/src/appliances/repo.appl", "spec/validators/appliance-config-validator-spec.rb"]
14
14
  s.homepage = %q{http://www.jboss.org/boxgrinder}
15
15
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Boxgrinder-core", "--main", "README"]
16
16
  s.require_paths = ["lib"]
@@ -32,23 +32,23 @@ module BoxGrinder
32
32
  configs = []
33
33
 
34
34
  appliance_config =
35
- case definition_file_extension
36
- when '.appl', '.yml', '.yaml'
37
- read_yaml(definition_file)
38
- when '.xml'
39
- read_xml(definition_file)
40
- else
41
- unless content_type.nil?
42
- case content_type
43
- when 'application/x-yaml', 'text/yaml'
44
- read_yaml(definition_file)
45
- when 'application/xml', 'text/xml', 'application/x-xml'
46
- read_xml(definition_file)
47
- end
48
- else
49
- raise 'Unsupported file format for appliance definition file'
50
- end
35
+ case definition_file_extension
36
+ when '.appl', '.yml', '.yaml'
37
+ read_yaml(definition_file)
38
+ when '.xml'
39
+ read_xml(definition_file)
40
+ else
41
+ unless content_type.nil?
42
+ case content_type
43
+ when 'application/x-yaml', 'text/yaml'
44
+ read_yaml(definition_file)
45
+ when 'application/xml', 'text/xml', 'application/x-xml'
46
+ read_xml(definition_file)
47
+ end
51
48
  end
49
+ end
50
+
51
+ raise 'Unsupported file format for appliance definition file' if appliance_config.nil?
52
52
 
53
53
  configs << appliance_config
54
54
 
@@ -56,7 +56,7 @@ module BoxGrinder
56
56
  configs << read_definitions("#{File.dirname(definition_file)}/#{appliance_name}#{definition_file_extension}").first
57
57
  end unless appliance_config.appliances.nil? or !appliance_config.appliances.is_a?(Array)
58
58
 
59
- [ configs.flatten, appliance_config ]
59
+ [configs.flatten, appliance_config]
60
60
  end
61
61
 
62
62
  def read_yaml(file)
@@ -71,16 +71,16 @@ module BoxGrinder
71
71
 
72
72
  appliance_config = ApplianceConfig.new
73
73
 
74
- appliance_config.name = definition['name'] unless definition['name'].nil?
75
- appliance_config.summary = definition['summary'] unless definition['summary'].nil?
74
+ appliance_config.name = definition['name'] unless definition['name'].nil?
75
+ appliance_config.summary = definition['summary'] unless definition['summary'].nil?
76
76
 
77
77
  definition['variables'].each { |key, value| appliance_config.variables[key] = value } unless definition['variables'].nil?
78
78
 
79
- appliance_config.appliances = definition['appliances'] unless definition['appliances'].nil?
80
- appliance_config.repos = definition['repos'] unless definition['repos'].nil?
79
+ appliance_config.appliances = definition['appliances'] unless definition['appliances'].nil?
80
+ appliance_config.repos = definition['repos'] unless definition['repos'].nil?
81
81
 
82
- appliance_config.version = definition['version'].to_s unless definition['version'].nil?
83
- appliance_config.release = definition['release'].to_s unless definition['release'].nil?
82
+ appliance_config.version = definition['version'].to_s unless definition['version'].nil?
83
+ appliance_config.release = definition['release'].to_s unless definition['release'].nil?
84
84
 
85
85
  unless definition['default_repos'].nil?
86
86
  appliance_config.default_repos = definition['default_repos']
@@ -88,22 +88,22 @@ module BoxGrinder
88
88
  end
89
89
 
90
90
  unless definition['packages'].nil?
91
- appliance_config.packages.includes = definition['packages']['includes'] unless definition['packages']['includes'].nil?
92
- appliance_config.packages.excludes = definition['packages']['excludes'] unless definition['packages']['excludes'].nil?
91
+ appliance_config.packages.includes = definition['packages']['includes'] unless definition['packages']['includes'].nil?
92
+ appliance_config.packages.excludes = definition['packages']['excludes'] unless definition['packages']['excludes'].nil?
93
93
  end
94
94
 
95
95
  unless definition['os'].nil?
96
- appliance_config.os.name = definition['os']['name'].to_s unless definition['os']['name'].nil?
97
- appliance_config.os.version = definition['os']['version'].to_s unless definition['os']['version'].nil?
98
- appliance_config.os.password = definition['os']['password'].to_s unless definition['os']['password'].nil?
96
+ appliance_config.os.name = definition['os']['name'].to_s unless definition['os']['name'].nil?
97
+ appliance_config.os.version = definition['os']['version'].to_s unless definition['os']['version'].nil?
98
+ appliance_config.os.password = definition['os']['password'].to_s unless definition['os']['password'].nil?
99
99
  end
100
100
 
101
101
  unless definition['hardware'].nil?
102
- appliance_config.hardware.arch = definition['hardware']['arch'] unless definition['hardware']['arch'].nil?
103
- appliance_config.hardware.cpus = definition['hardware']['cpus'] unless definition['hardware']['cpus'].nil?
104
- appliance_config.hardware.memory = definition['hardware']['memory'] unless definition['hardware']['memory'].nil?
105
- appliance_config.hardware.network = definition['hardware']['network'] unless definition['hardware']['network'].nil?
106
- appliance_config.hardware.partitions = definition['hardware']['partitions'] unless definition['hardware']['partitions'].nil?
102
+ appliance_config.hardware.arch = definition['hardware']['arch'] unless definition['hardware']['arch'].nil?
103
+ appliance_config.hardware.cpus = definition['hardware']['cpus'] unless definition['hardware']['cpus'].nil?
104
+ appliance_config.hardware.memory = definition['hardware']['memory'] unless definition['hardware']['memory'].nil?
105
+ appliance_config.hardware.network = definition['hardware']['network'] unless definition['hardware']['network'].nil?
106
+ appliance_config.hardware.partitions = definition['hardware']['partitions'] unless definition['hardware']['partitions'].nil?
107
107
  end
108
108
 
109
109
  definition['post'].each { |key, value| appliance_config.post[key] = value } unless definition['post'].nil?
@@ -21,14 +21,14 @@ require 'boxgrinder-core/defaults'
21
21
 
22
22
  module BoxGrinder
23
23
  class ApplianceConfigValidator
24
- def initialize( appliance_config, options = {} )
24
+ def initialize(appliance_config, options = {})
25
25
  @appliance_config = appliance_config
26
- @options = options
26
+ @options = options
27
27
  end
28
28
 
29
29
  def validate
30
- check_for_missing_field( 'name' )
31
- check_for_missing_field( 'summary' )
30
+ check_for_missing_field('name')
31
+ check_for_missing_field('summary')
32
32
 
33
33
  validate_os
34
34
  validate_hardware
@@ -37,20 +37,10 @@ module BoxGrinder
37
37
 
38
38
  protected
39
39
 
40
- def check_for_missing_field( name )
40
+ def check_for_missing_field(name)
41
41
  raise ApplianceValidationError, "Missing field: appliance definition file should have field '#{name}'" if eval("@appliance_config.#{name}").nil?
42
42
  end
43
43
 
44
- def validate_os
45
- raise "No operating system plugins installed. Install one or more operating system plugin. See http://community.jboss.org/docs/DOC-15081 and http://community.jboss.org/docs/DOC-15214 for more info" if PluginManager.instance.plugins[:os].empty?
46
-
47
- os_plugin = PluginManager.instance.plugins[:os][@appliance_config.os.name.to_sym]
48
-
49
- raise ApplianceValidationError, "No operating system selected" if @appliance_config.os.name.nil?
50
- raise ApplianceValidationError, "Not supported operating system selected: #{@appliance_config.os.name}. Make sure you have installed right operating system plugin, see http://community.jboss.org/docs/DOC-15214. Supported OSes are: #{PluginManager.instance.plugins[:os].keys.join(", ")}" if os_plugin.nil?
51
- raise ApplianceValidationError, "Not supported operating system version selected: #{@appliance_config.os.version}. Supported versions are: #{os_plugin[:versions].join(", ")}" unless @appliance_config.os.version.nil? or os_plugin[:versions].include?( @appliance_config.os.version )
52
- end
53
-
54
44
  def validate_hardware
55
45
  raise ApplianceValidationError, "Not valid CPU amount: Too many or too less CPU's: '#{@appliance_config.hardware.cpus}'. Please choose from 1-4. Please correct your appliance definition file, thanks." unless @appliance_config.hardware.cpus >= 1 and @appliance_config.hardware.cpus <= 4
56
46
  raise ApplianceValidationError, "Not valid memory amount: '#{@appliance_config.hardware.memory}' is wrong value. Please correct your appliance definition file" if @appliance_config.hardware.memory =~ /\d/
@@ -59,6 +49,10 @@ module BoxGrinder
59
49
  raise ApplianceValidationError, "No partitions found. Please correct your appliance definition file" if @appliance_config.hardware.partitions.size == 0
60
50
  end
61
51
 
52
+ def validate_os
53
+ raise ApplianceValidationError, "No operating system selected" if @appliance_config.os.name.nil?
54
+ end
55
+
62
56
  def validate_repos
63
57
  return if @appliance_config.repos.size == 0
64
58
 
@@ -5,8 +5,8 @@
5
5
 
6
6
  Summary: Core library for BoxGrinder
7
7
  Name: rubygem-%{gemname}
8
- Version: 0.1.3
9
- Release: 3%{?dist}
8
+ Version: 0.1.4
9
+ Release: 1%{?dist}
10
10
  Group: Development/Languages
11
11
  License: LGPLv3+
12
12
  URL: http://www.jboss.org/boxgrinder
@@ -73,6 +73,9 @@ popd
73
73
  %{gemdir}/doc/%{gemname}-%{version}
74
74
 
75
75
  %changelog
76
+ * Thu Dec 02 2010 <mgoldman@redhat.com> - 0.1.4-1
77
+ - Updated to new upstream release: 0.1.4
78
+
76
79
  * Wed Nov 17 2010 <mgoldman@redhat.com> - 0.1.3-3
77
80
  - Added: BuildRequires: rubygem(echoe)
78
81
  - Changed the way Gem is installed and tests are exeuted
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: boxgrinder-core
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 19
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 3
10
- version: 0.1.3
9
+ - 4
10
+ version: 0.1.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Marek Goldmann
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-11-23 00:00:00 +01:00
18
+ date: 2010-12-03 00:00:00 +01:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -66,7 +66,6 @@ extra_rdoc_files:
66
66
  - lib/boxgrinder-core/helpers/appliance-helper.rb
67
67
  - lib/boxgrinder-core/helpers/exec-helper.rb
68
68
  - lib/boxgrinder-core/helpers/log-helper.rb
69
- - lib/boxgrinder-core/helpers/queue-helper.rb
70
69
  - lib/boxgrinder-core/models/appliance-config.rb
71
70
  - lib/boxgrinder-core/models/config.rb
72
71
  - lib/boxgrinder-core/models/task.rb
@@ -85,7 +84,6 @@ files:
85
84
  - lib/boxgrinder-core/helpers/appliance-helper.rb
86
85
  - lib/boxgrinder-core/helpers/exec-helper.rb
87
86
  - lib/boxgrinder-core/helpers/log-helper.rb
88
- - lib/boxgrinder-core/helpers/queue-helper.rb
89
87
  - lib/boxgrinder-core/models/appliance-config.rb
90
88
  - lib/boxgrinder-core/models/config.rb
91
89
  - lib/boxgrinder-core/models/task.rb
@@ -96,7 +94,6 @@ files:
96
94
  - spec/helpers/appliance-helper-spec.rb
97
95
  - spec/helpers/exec-helper-spec.rb
98
96
  - spec/helpers/log-helper-spec.rb
99
- - spec/helpers/queue-helper-spec.rb
100
97
  - spec/rspec/ls/one
101
98
  - spec/rspec/ls/two
102
99
  - spec/rspec/rspec-config-helper.rb
@@ -1,52 +0,0 @@
1
- #
2
- # Copyright 2010 Red Hat, Inc.
3
- #
4
- # This is free software; you can redistribute it and/or modify it
5
- # under the terms of the GNU Lesser General Public License as
6
- # published by the Free Software Foundation; either version 3 of
7
- # the License, or (at your option) any later version.
8
- #
9
- # This software is distributed in the hope that it will be useful,
10
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
- # Lesser General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU Lesser General Public
15
- # License along with this software; if not, write to the Free
16
- # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
17
- # 02110-1301 USA, or see the FSF site: http://www.fsf.org.
18
-
19
- require 'logger'
20
-
21
- module BoxGrinder
22
- class QueueHelper
23
- def initialize(options = {})
24
- @log = options[:log] || Logger.new(STDOUT)
25
- end
26
-
27
- def client(opts = {})
28
- begin
29
- require 'rubygems'
30
- require 'torquebox-messaging-client'
31
- rescue
32
- @log.error "Couldn't load TorqueBox messaging client."
33
- return nil
34
- end
35
-
36
- host = opts[:host] || 'localhost'
37
- port = opts[:port] || 1099
38
-
39
- naming_provider_url = "jnp://#{host}:#{port}/"
40
-
41
- @log.trace "Creating messaging client..."
42
-
43
- ret_val = TorqueBox::Messaging::Client.connect(:naming_provider_url => naming_provider_url ) do |client|
44
- yield client
45
- end
46
-
47
- @log.trace "Messaging client closed."
48
-
49
- ret_val
50
- end
51
- end
52
- end
@@ -1,24 +0,0 @@
1
- #
2
- # Copyright 2010 Red Hat, Inc.
3
- #
4
- # This is free software; you can redistribute it and/or modify it
5
- # under the terms of the GNU Lesser General Public License as
6
- # published by the Free Software Foundation; either version 3 of
7
- # the License, or (at your option) any later version.
8
- #
9
- # This software is distributed in the hope that it will be useful,
10
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
- # Lesser General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU Lesser General Public
15
- # License along with this software; if not, write to the Free
16
- # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
17
- # 02110-1301 USA, or see the FSF site: http://www.fsf.org.
18
-
19
- require 'boxgrinder-core/helpers/queue-helper'
20
-
21
- module BoxGrinder
22
- describe QueueHelper do
23
- end
24
- end