cobbler 2.0.2 → 2.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +3 -1
- data/Rakefile +2 -2
- data/cobbler.gemspec +10 -8
- data/config/cobbler.yml +2 -0
- data/lib/cobbler.rb +1 -1
- data/lib/cobbler/connection/handling.rb +19 -4
- data/lib/cobbler/system.rb +1 -1
- data/spec/spec_helper.rb +2 -1
- data/spec/unit/cobbler/connection/common_spec.rb +1 -0
- data/spec/unit/cobbler/connection/handling_spec.rb +2 -2
- metadata +58 -46
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA512:
|
3
|
-
data.tar.gz:
|
4
|
-
metadata.gz:
|
3
|
+
data.tar.gz: 63a2bf4f191921f4edc3ff20e7198f0b450de120e8a89cb7eb5f567b09d538c9a4cf059c17c64207ff16cbcab7600afb36856511434be7654e3428b59b8b10e7
|
4
|
+
metadata.gz: 48a3a3a1fe972ba74771ec51536896e6c383138c7a4528855edebbc41a78e1a1d9f390f7fce7f2874ceb37ee4a5bd3a51e065013c6deff21f33f8224cb397abb
|
5
5
|
SHA1:
|
6
|
-
data.tar.gz:
|
7
|
-
metadata.gz:
|
6
|
+
data.tar.gz: 1aa8159cf3d1ab92aa934c97384476f8d58395ed
|
7
|
+
metadata.gz: 5ab6018172c562e17fa1240e488d33a765e56251
|
data/Gemfile
CHANGED
@@ -6,10 +6,12 @@ source "http://rubygems.org"
|
|
6
6
|
if RUBY_VERSION < "1.9"
|
7
7
|
gem 'activesupport', '~> 3.1.12'
|
8
8
|
gem 'nokogiri', '~> 1.5.0'
|
9
|
+
gem 'highline', '~> 1.6.21'
|
10
|
+
gem 'i18n', '~> 0.6.11'
|
9
11
|
else
|
10
12
|
gem 'activesupport'
|
13
|
+
gem 'i18n'
|
11
14
|
end
|
12
|
-
gem 'i18n'
|
13
15
|
|
14
16
|
# Add dependencies to develop your gem here.
|
15
17
|
# Include everything needed to run rake, tests, features, etc.
|
data/Rakefile
CHANGED
@@ -37,7 +37,7 @@ require 'cobbler'
|
|
37
37
|
Jeweler::Tasks.new do |gem|
|
38
38
|
# gem is a Gem::Specification... see http://docgem.rubygems.org/read/chapter/20 for more options
|
39
39
|
gem.name = 'cobbler'
|
40
|
-
gem.version = "2.0.
|
40
|
+
gem.version = "2.0.3"
|
41
41
|
gem.author = 'duritong'
|
42
42
|
gem.email = 'peter.meier@immerda.ch'
|
43
43
|
gem.homepage = 'http://github.com/duritong/ruby-cobbler/'
|
@@ -66,7 +66,7 @@ task :default => :spec
|
|
66
66
|
gem 'rdoc'
|
67
67
|
require 'rdoc/task'
|
68
68
|
RDoc::Task.new do |rdoc|
|
69
|
-
version = '2.0.
|
69
|
+
version = '2.0.3'
|
70
70
|
rdoc.rdoc_dir = 'rdoc'
|
71
71
|
rdoc.title = "cobbler #{version}"
|
72
72
|
rdoc.rdoc_files.include('README*')
|
data/cobbler.gemspec
CHANGED
@@ -2,16 +2,14 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: cobbler 2.0.2 ruby lib
|
6
5
|
|
7
6
|
Gem::Specification.new do |s|
|
8
7
|
s.name = "cobbler"
|
9
|
-
s.version = "2.0.
|
8
|
+
s.version = "2.0.3"
|
10
9
|
|
11
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
|
-
s.require_paths = ["lib"]
|
13
11
|
s.authors = ["duritong"]
|
14
|
-
s.date = "
|
12
|
+
s.date = "2015-06-05"
|
15
13
|
s.description = " Provides Ruby bindings to interact with a Cobbler server.\n"
|
16
14
|
s.email = "peter.meier@immerda.ch"
|
17
15
|
s.extra_rdoc_files = [
|
@@ -59,7 +57,8 @@ Gem::Specification.new do |s|
|
|
59
57
|
]
|
60
58
|
s.homepage = "http://github.com/duritong/ruby-cobbler/"
|
61
59
|
s.licenses = ["GPLv2"]
|
62
|
-
s.
|
60
|
+
s.require_paths = ["lib"]
|
61
|
+
s.rubygems_version = "2.0.15"
|
63
62
|
s.summary = "An interface for interacting with a Cobbler server."
|
64
63
|
|
65
64
|
if s.respond_to? :specification_version then
|
@@ -68,7 +67,8 @@ Gem::Specification.new do |s|
|
|
68
67
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
69
68
|
s.add_runtime_dependency(%q<activesupport>, ["~> 3.1.12"])
|
70
69
|
s.add_runtime_dependency(%q<nokogiri>, ["~> 1.5.0"])
|
71
|
-
s.add_runtime_dependency(%q<
|
70
|
+
s.add_runtime_dependency(%q<highline>, ["~> 1.6.21"])
|
71
|
+
s.add_runtime_dependency(%q<i18n>, ["~> 0.6.11"])
|
72
72
|
s.add_development_dependency(%q<rspec>, ["~> 2.5.0"])
|
73
73
|
s.add_development_dependency(%q<rdoc>, ["~> 3.8"])
|
74
74
|
s.add_development_dependency(%q<mocha>, ["~> 0.10.0"])
|
@@ -78,7 +78,8 @@ Gem::Specification.new do |s|
|
|
78
78
|
else
|
79
79
|
s.add_dependency(%q<activesupport>, ["~> 3.1.12"])
|
80
80
|
s.add_dependency(%q<nokogiri>, ["~> 1.5.0"])
|
81
|
-
s.add_dependency(%q<
|
81
|
+
s.add_dependency(%q<highline>, ["~> 1.6.21"])
|
82
|
+
s.add_dependency(%q<i18n>, ["~> 0.6.11"])
|
82
83
|
s.add_dependency(%q<rspec>, ["~> 2.5.0"])
|
83
84
|
s.add_dependency(%q<rdoc>, ["~> 3.8"])
|
84
85
|
s.add_dependency(%q<mocha>, ["~> 0.10.0"])
|
@@ -89,7 +90,8 @@ Gem::Specification.new do |s|
|
|
89
90
|
else
|
90
91
|
s.add_dependency(%q<activesupport>, ["~> 3.1.12"])
|
91
92
|
s.add_dependency(%q<nokogiri>, ["~> 1.5.0"])
|
92
|
-
s.add_dependency(%q<
|
93
|
+
s.add_dependency(%q<highline>, ["~> 1.6.21"])
|
94
|
+
s.add_dependency(%q<i18n>, ["~> 0.6.11"])
|
93
95
|
s.add_dependency(%q<rspec>, ["~> 2.5.0"])
|
94
96
|
s.add_dependency(%q<rdoc>, ["~> 3.8"])
|
95
97
|
s.add_dependency(%q<mocha>, ["~> 0.10.0"])
|
data/config/cobbler.yml
CHANGED
data/lib/cobbler.rb
CHANGED
@@ -37,7 +37,7 @@ module Cobbler
|
|
37
37
|
|
38
38
|
# Set hostname, username, password for the Cobbler server, overriding any settings
|
39
39
|
# from cobbler.yml.
|
40
|
-
mattr_accessor :hostname, :username, :password
|
40
|
+
mattr_accessor :hostname, :username, :password, :secure, :verify_ssl, :timeout
|
41
41
|
|
42
42
|
# Returns the version for the remote cobbler instance.
|
43
43
|
def remote_version
|
@@ -81,12 +81,15 @@ module Cobbler
|
|
81
81
|
protected
|
82
82
|
# Returns a connection to the Cobbler server.
|
83
83
|
def connect
|
84
|
-
debug("Connecting to
|
85
|
-
@connection = XMLRPC::Client.new2("
|
84
|
+
debug("Connecting to #{protocol}://#{hostname}/cobbler_api")
|
85
|
+
@connection = XMLRPC::Client.new2("#{protocol}://#{hostname}/cobbler_api",nil,timeout).tap do |client|
|
86
86
|
client.http_header_extra = { 'Accept-Encoding' => 'identity' } if client.respond_to?(:http_header_extra=)
|
87
|
+
if secure && no_verify_ssl
|
88
|
+
client.instance_variable_get(:@http).instance_variable_set(:@verify_mode, OpenSSL::SSL::VERIFY_NONE)
|
89
|
+
end
|
87
90
|
end
|
88
91
|
end
|
89
|
-
|
92
|
+
|
90
93
|
private
|
91
94
|
# Establishes a connection with the Cobbler system.
|
92
95
|
def begin_transaction
|
@@ -105,6 +108,18 @@ module Cobbler
|
|
105
108
|
properties && !properties.empty? && properties != '~'
|
106
109
|
end
|
107
110
|
|
111
|
+
def protocol
|
112
|
+
secure ? "https" : "http"
|
113
|
+
end
|
114
|
+
|
115
|
+
def no_verify_ssl
|
116
|
+
if verify_ssl == false
|
117
|
+
true
|
118
|
+
else
|
119
|
+
false
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
108
123
|
end
|
109
124
|
end
|
110
125
|
end
|
data/lib/cobbler/system.rb
CHANGED
@@ -25,7 +25,7 @@
|
|
25
25
|
module Cobbler
|
26
26
|
class System < Base
|
27
27
|
cobbler_fields :name, :profile, :image, :kickstart, :netboot_enabled, :server, :virt_cpus,
|
28
|
-
:virt_file_size, :virt_path, :virt_ram, :virt_auto_boot, :virt_type, :gateway, :hostname
|
28
|
+
:virt_file_size, :virt_path, :virt_ram, :virt_auto_boot, :virt_type, :gateway, :hostname, :timeout
|
29
29
|
|
30
30
|
cobbler_collection :kernel_options, :packing => :hash
|
31
31
|
cobbler_collection :ks_meta, :packing => :hash, :store => :store_ksmeta
|
data/spec/spec_helper.rb
CHANGED
@@ -12,7 +12,8 @@ end
|
|
12
12
|
def with_real_cobbler(calzz,&blk)
|
13
13
|
unless ENV['NO_REAL_COBBLER'] == '1'
|
14
14
|
config = (ENV['COBBLER_YML'] || File.expand_path(File.join(File.dirname(__FILE__),'..','config','cobbler.yml')))
|
15
|
-
if File.exist?(config) && (yml = YAML::load(File.open(config))) && (yml['hostname'] && yml['username'] &&
|
15
|
+
if File.exist?(config) && (yml = YAML::load(File.open(config))) && (yml['hostname'] && yml['username'] && \
|
16
|
+
yml['password'] && yml['secure'])
|
16
17
|
yield(yml)
|
17
18
|
else
|
18
19
|
puts "No cobbler data found."
|
@@ -7,7 +7,7 @@ class TestConnection
|
|
7
7
|
end
|
8
8
|
|
9
9
|
describe Cobbler::Connection::Handling do
|
10
|
-
[:hostname, :username, :password].each do |field|
|
10
|
+
[:hostname, :username, :password, :timeout].each do |field|
|
11
11
|
it "should provide getters and setters for #{field}" do
|
12
12
|
TestConnection.should respond_to(field)
|
13
13
|
TestConnection.should respond_to("#{field}=".to_sym)
|
@@ -60,7 +60,7 @@ describe Cobbler::Connection::Handling do
|
|
60
60
|
it "should connect to the cobbler server" do
|
61
61
|
TestConnection.hostname = 'localhost'
|
62
62
|
@connection = Object.new
|
63
|
-
XMLRPC::Client.expects(:new2).with('http://localhost/cobbler_api').returns(@connection)
|
63
|
+
XMLRPC::Client.expects(:new2).with('http://localhost/cobbler_api',nil,nil).returns(@connection)
|
64
64
|
TestConnection.send(:connect)
|
65
65
|
end
|
66
66
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cobbler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- duritong
|
@@ -9,93 +9,105 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2015-06-05 00:00:00 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
|
15
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 3.1.12
|
20
|
-
|
21
|
-
name: activesupport
|
22
|
-
type: :runtime
|
20
|
+
version_requirements: *id001
|
23
21
|
prerelease: false
|
22
|
+
type: :runtime
|
23
|
+
name: activesupport
|
24
24
|
- !ruby/object:Gem::Dependency
|
25
|
-
|
25
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: 1.5.0
|
30
|
-
|
31
|
-
name: nokogiri
|
32
|
-
type: :runtime
|
30
|
+
version_requirements: *id002
|
33
31
|
prerelease: false
|
32
|
+
type: :runtime
|
33
|
+
name: nokogiri
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
|
-
|
35
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
|
-
-
|
38
|
-
- ">="
|
37
|
+
- - ~>
|
39
38
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
41
|
-
|
42
|
-
|
39
|
+
version: 1.6.21
|
40
|
+
version_requirements: *id003
|
41
|
+
prerelease: false
|
43
42
|
type: :runtime
|
43
|
+
name: highline
|
44
|
+
- !ruby/object:Gem::Dependency
|
45
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - ~>
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: 0.6.11
|
50
|
+
version_requirements: *id004
|
44
51
|
prerelease: false
|
52
|
+
type: :runtime
|
53
|
+
name: i18n
|
45
54
|
- !ruby/object:Gem::Dependency
|
46
|
-
|
55
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
47
56
|
requirements:
|
48
57
|
- - ~>
|
49
58
|
- !ruby/object:Gem::Version
|
50
59
|
version: 2.5.0
|
51
|
-
|
52
|
-
name: rspec
|
53
|
-
type: :development
|
60
|
+
version_requirements: *id005
|
54
61
|
prerelease: false
|
62
|
+
type: :development
|
63
|
+
name: rspec
|
55
64
|
- !ruby/object:Gem::Dependency
|
56
|
-
|
65
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
57
66
|
requirements:
|
58
67
|
- - ~>
|
59
68
|
- !ruby/object:Gem::Version
|
60
69
|
version: "3.8"
|
61
|
-
|
62
|
-
name: rdoc
|
63
|
-
type: :development
|
70
|
+
version_requirements: *id006
|
64
71
|
prerelease: false
|
72
|
+
type: :development
|
73
|
+
name: rdoc
|
65
74
|
- !ruby/object:Gem::Dependency
|
66
|
-
|
75
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
67
76
|
requirements:
|
68
77
|
- - ~>
|
69
78
|
- !ruby/object:Gem::Version
|
70
79
|
version: 0.10.0
|
71
|
-
|
72
|
-
name: mocha
|
73
|
-
type: :development
|
80
|
+
version_requirements: *id007
|
74
81
|
prerelease: false
|
82
|
+
type: :development
|
83
|
+
name: mocha
|
75
84
|
- !ruby/object:Gem::Dependency
|
76
|
-
|
85
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
77
86
|
requirements:
|
78
|
-
-
|
79
|
-
|
80
|
-
|
81
|
-
|
87
|
+
- &id009
|
88
|
+
- ">="
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: "0"
|
91
|
+
version_requirements: *id008
|
82
92
|
prerelease: false
|
93
|
+
type: :development
|
94
|
+
name: bundler
|
83
95
|
- !ruby/object:Gem::Dependency
|
84
|
-
|
96
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
85
97
|
requirements:
|
86
|
-
- *
|
87
|
-
|
88
|
-
name: jeweler
|
89
|
-
type: :development
|
98
|
+
- *id009
|
99
|
+
version_requirements: *id010
|
90
100
|
prerelease: false
|
101
|
+
type: :development
|
102
|
+
name: jeweler
|
91
103
|
- !ruby/object:Gem::Dependency
|
92
|
-
|
104
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
93
105
|
requirements:
|
94
|
-
- *
|
95
|
-
|
96
|
-
name: simplecov
|
97
|
-
type: :development
|
106
|
+
- *id009
|
107
|
+
version_requirements: *id011
|
98
108
|
prerelease: false
|
109
|
+
type: :development
|
110
|
+
name: simplecov
|
99
111
|
description: " Provides Ruby bindings to interact with a Cobbler server.\n"
|
100
112
|
email: peter.meier@immerda.ch
|
101
113
|
executables: []
|
@@ -155,14 +167,14 @@ require_paths:
|
|
155
167
|
- lib
|
156
168
|
required_ruby_version: !ruby/object:Gem::Requirement
|
157
169
|
requirements:
|
158
|
-
- *
|
170
|
+
- *id009
|
159
171
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
160
172
|
requirements:
|
161
|
-
- *
|
173
|
+
- *id009
|
162
174
|
requirements: []
|
163
175
|
|
164
176
|
rubyforge_project:
|
165
|
-
rubygems_version: 2.
|
177
|
+
rubygems_version: 2.0.15
|
166
178
|
signing_key:
|
167
179
|
specification_version: 4
|
168
180
|
summary: An interface for interacting with a Cobbler server.
|