cobbler 2.0.0

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.
@@ -0,0 +1,163 @@
1
+ #
2
+ # lifecycle.rb
3
+ #
4
+ # Copyright (C) 2008,2009 Red Hat, Inc.
5
+ # Written by Darryl L. Pierce <dpierce@redhat.com>
6
+ # Extended 2012 by duritong <peter.meier@immerda.ch>
7
+ #
8
+ # This file is part of rubygem-cobbler.
9
+ #
10
+ # rubygem-cobbler is free software: you can redistribute it and/or modify
11
+ # it under the terms of the GNU Lesser General Public License as published
12
+ # by the Free Software Foundation, either version 2.1 of the License, or
13
+ # (at your option) any later version.
14
+ #
15
+ # rubygem-cobbler is distributed in the hope that it will be useful,
16
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
+ # GNU General Public License for more details.
19
+ #
20
+ # You should have received a copy of the GNU General Public License
21
+ # along with rubygem-cobbler. If not, see <http://www.gnu.org/licenses/>.
22
+
23
+ # +Lifecycle+ implements a default set of functionality that a cobbler item
24
+ # can have.
25
+ # Usually the +Lifecycle+ methods are used to define query functions and define
26
+ # which fields of a cobbler item is exposed through the api.
27
+ module Cobbler
28
+ module Common
29
+ module Lifecycle
30
+ def self.included(base)
31
+ base.extend ClassMethods
32
+ end
33
+
34
+ def definitions
35
+ @definitions ||= {}
36
+ end
37
+
38
+ def user_definitions
39
+ @user_definitions ||= {}
40
+ end
41
+
42
+ def locked_fields
43
+ self.class.locked_fields
44
+ end
45
+
46
+ def cobbler_record_fields
47
+ self.class.cobbler_record_fields
48
+ end
49
+ def cobbler_collections_store_callbacks
50
+ self.class.cobbler_collections_store_callbacks
51
+ end
52
+
53
+ def api_methods
54
+ self.class.api_methods
55
+ end
56
+
57
+ module ClassMethods
58
+ def api_methods
59
+ return @api_methods if @api_methods
60
+ model_name = self.name.gsub(/.*::/,'').underscore
61
+ @api_methods = {
62
+ :find_all => "get_#{model_name.pluralize}",
63
+ :find_one => "get_#{model_name}",
64
+ :handle => "get_#{model_name}_handle",
65
+ :remove => "remove_#{model_name}",
66
+ :save => "save_#{model_name}",
67
+ :new => "new_#{model_name}",
68
+ :modify => "modify_#{model_name}"
69
+ }
70
+ end
71
+
72
+ def cobbler_record_fields
73
+ @cobbler_record_fields ||= []
74
+ end
75
+
76
+ def locked_fields
77
+ @locked_fields ||= []
78
+ end
79
+
80
+ def cobbler_collections_store_callbacks
81
+ @cobbler_collections_store_callbacks ||= []
82
+ end
83
+
84
+ # Define/adjust all necessary lookup methods for a usual
85
+ # cobbler item.
86
+ #
87
+ def cobbler_lifecycle(lookup_methods={})
88
+ api_methods.merge!(lookup_methods)
89
+ end
90
+
91
+ # Allows for dynamically declaring fields that will come from
92
+ # Cobbler.
93
+ #
94
+ def cobbler_field(field,options={})
95
+ # name is always locked and findable as this is a special field
96
+ if field == :name
97
+ options[:locked] = true if options[:locked] || options[:locked].nil?
98
+ options[:findable] = api_methods[:find_one] if options[:findable] || options[:findable].nil?
99
+ end
100
+ options.each do |key,value|
101
+ case key
102
+ when :findable then
103
+ if value
104
+ module_eval <<-"MEND"
105
+ def self.find_by_#{field}(value)
106
+ properties = in_transaction{ make_call('#{value}',value) }
107
+ valid_properties?(properties) ? new(properties,false) : nil
108
+ end
109
+ MEND
110
+ end
111
+ when :locked then
112
+ locked_fields << field if value
113
+ end
114
+ end
115
+
116
+ module_eval("def #{field}() user_definitions['#{field}'] || definitions['#{field}']; end")
117
+ module_eval("def #{field}=(val) user_definitions['#{field}'] = val; end")
118
+
119
+ cobbler_record_fields << field
120
+ end
121
+
122
+ # Declare many fields at once.
123
+ def cobbler_fields(*fields)
124
+ fields.to_a.each {|field| cobbler_field field }
125
+ end
126
+
127
+ # Allows a field to be defined as a collection of objects. The type for that
128
+ # other class must be provided.
129
+ #
130
+ def cobbler_collection(field, options={})
131
+ classname = options[:type] || 'String'
132
+ packing = options[:packing] ? options[:packing].to_s.classify : 'Array'
133
+
134
+ packing_code = {
135
+ 'Array' => "(definitions['#{field}']||[]).each{|value| new_value << #{classname}.new(value) }",
136
+ 'Hash' => "(definitions['#{field}']||{}).each{|key,value| new_value[key] = #{classname}.new(value) }"
137
+ }
138
+
139
+ cobbler_collections_store_callbacks << options[:store] if options[:store]
140
+ # unless we have a seperate store callback we store collections normally
141
+ cobbler_record_fields << field unless options[:store]
142
+
143
+ module_eval <<-"MEND"
144
+ def #{field}
145
+ if !user_definitions['#{field}'] && !definitions['#{field}'].is_a?(#{packing})
146
+ new_value = #{packing}.new
147
+ #{packing_code[packing]}
148
+ definitions['#{field}'] = new_value
149
+ end
150
+ user_definitions['#{field}'] ||= definitions['#{field}']
151
+ # return always the user_definitions as we might do operations on these objects, e.g. <<
152
+ user_definitions['#{field}']
153
+ end
154
+
155
+ def #{field}=(value)
156
+ user_definitions['#{field}'] = value
157
+ end
158
+ MEND
159
+ end
160
+ end
161
+ end
162
+ end
163
+ end
@@ -0,0 +1,79 @@
1
+ #
2
+ # common.rb
3
+ #
4
+ # Copyright (C) 2008,2009 Red Hat, Inc.
5
+ # Written by Darryl L. Pierce <dpierce@redhat.com>
6
+ # Extended 2012 by duritong <peter.meier@immerda.ch>
7
+ #
8
+ # This file is part of rubygem-cobbler.
9
+ #
10
+ # rubygem-cobbler is free software: you can redistribute it and/or modify
11
+ # it under the terms of the GNU Lesser General Public License as published
12
+ # by the Free Software Foundation, either version 2.1 of the License, or
13
+ # (at your option) any later version.
14
+ #
15
+ # rubygem-cobbler is distributed in the hope that it will be useful,
16
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
+ # GNU General Public License for more details.
19
+ #
20
+ # You should have received a copy of the GNU General Public License
21
+ # along with rubygem-cobbler. If not, see <http://www.gnu.org/licenses/>.
22
+
23
+ # +Common+ provides common methods of the cobbler server exposed through the
24
+ # api.
25
+ module Cobbler
26
+ module Connection
27
+ module Common
28
+ def self.included(base)
29
+ base.extend(ClassMethods)
30
+ end
31
+
32
+ module ClassMethods
33
+ # tests a connections
34
+ def test_connection
35
+ !in_transaction do
36
+ result = login
37
+ logout if result
38
+ result
39
+ end.nil?
40
+ end
41
+
42
+ # start a sync on the cobbler server
43
+ def sync
44
+ in_transaction(true) do |token|
45
+ make_call('sync',token)
46
+ end
47
+ end
48
+
49
+ # get all events (for a certain user)
50
+ def events(for_user='')
51
+ in_transaction do
52
+ make_call('get_events',for_user)
53
+ end
54
+ end
55
+
56
+ # get the log for a certain event
57
+ def event_log(event_id)
58
+ in_transaction do
59
+ make_call('get_event_log',event_id)
60
+ end
61
+ end
62
+
63
+ # import a tree into cobbler
64
+ def import(path,name,arch,additional_options={})
65
+ in_transaction(true) do |token|
66
+ make_call('background_import',{'path' => path ,'name' => name , 'arch' => arch}.merge(additional_options),token)
67
+ end
68
+ end
69
+
70
+ # start syncing the following repositories.
71
+ def reposync(repos=[],tries=3)
72
+ in_transaction(true) do |token|
73
+ make_call('background_reposync',{'repos' => repos, 'tries' => tries},token)
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,108 @@
1
+ #
2
+ # handling.rb
3
+ #
4
+ # Copyright (C) 2008,2009 Red Hat, Inc.
5
+ # Written by Darryl L. Pierce <dpierce@redhat.com>
6
+ # Extended 2012 by duritong <peter.meier@immerda.ch>
7
+ #
8
+ # This file is part of rubygem-cobbler.
9
+ #
10
+ # rubygem-cobbler is free software: you can redistribute it and/or modify
11
+ # it under the terms of the GNU Lesser General Public License as published
12
+ # by the Free Software Foundation, either version 2.1 of the License, or
13
+ # (at your option) any later version.
14
+ #
15
+ # rubygem-cobbler is distributed in the hope that it will be useful,
16
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
+ # GNU General Public License for more details.
19
+ #
20
+ # You should have received a copy of the GNU General Public License
21
+ # along with rubygem-cobbler. If not, see <http://www.gnu.org/licenses/>.
22
+
23
+ require 'xmlrpc/client'
24
+
25
+ # +Handling+ provides common methods to handle the xmlrpc connection to the
26
+ # cobbler server
27
+ module Cobbler
28
+ module Connection
29
+ module Handling
30
+ include Cobbler::Common::Debug
31
+ def self.included(base)
32
+ base.extend ClassMethods
33
+ end
34
+
35
+ module ClassMethods
36
+
37
+ # Set hostname, username, password for the Cobbler server, overriding any settings
38
+ # from cobbler.yml.
39
+ attr_accessor :hostname, :username, :password
40
+
41
+ # Returns the version for the remote cobbler instance.
42
+ def remote_version
43
+ connect unless connection
44
+ @version ||= make_call("version")
45
+ end
46
+
47
+ # Logs into the Cobbler server.
48
+ def login
49
+ @auth_token ||= make_call('login', username, password)
50
+ end
51
+
52
+ def logout
53
+ make_call('logout',@auth_token)
54
+ @auth_token = nil
55
+ end
56
+
57
+
58
+ # Makes a remote call.
59
+ def make_call(*args)
60
+ raise Exception.new("No connection established on #{self.name}.") unless connection
61
+
62
+ debug("Remote call: #{args.first} (#{args[1..-1].inspect})")
63
+ result = connection.call(*args)
64
+ debug("Result: #{result}\n")
65
+ result
66
+ end
67
+
68
+ def in_transaction(do_login=false,&blk)
69
+ begin
70
+ begin_transaction
71
+ token = do_login ? login : nil
72
+ result = yield(token)
73
+ logout if do_login
74
+ ensure
75
+ end_transaction
76
+ end
77
+ result
78
+ end
79
+
80
+ protected
81
+ # Returns a connection to the Cobbler server.
82
+ def connect
83
+ debug("Connecting to http://#{hostname}/cobbler_api")
84
+ @connection = XMLRPC::Client.new2("http://#{hostname}/cobbler_api")
85
+ end
86
+
87
+ private
88
+ # Establishes a connection with the Cobbler system.
89
+ def begin_transaction
90
+ @connection = connect
91
+ end
92
+ # Ends a transaction and disconnects.
93
+ def end_transaction
94
+ @connection = @auth_token = @version = nil
95
+ end
96
+
97
+ def connection
98
+ @connection
99
+ end
100
+
101
+ def valid_properties?(properties)
102
+ properties && !properties.empty? && properties != '~'
103
+ end
104
+
105
+ end
106
+ end
107
+ end
108
+ end
@@ -0,0 +1,32 @@
1
+ #
2
+ # distro.rb
3
+ #
4
+ # Copyright (C) 2008,2009 Red Hat, Inc.
5
+ # Written by Darryl L. Pierce <dpierce@redhat.com>
6
+ # Extended 2012 by duritong <peter.meier@immerda.ch>
7
+ #
8
+ # This file is part of rubygem-cobbler.
9
+ #
10
+ # rubygem-cobbler is free software: you can redistribute it and/or modify
11
+ # it under the terms of the GNU Lesser General Public License as published
12
+ # by the Free Software Foundation, either version 2.1 of the License, or
13
+ # (at your option) any later version.
14
+ #
15
+ # rubygem-cobbler is distributed in the hope that it will be useful,
16
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
+ # GNU General Public License for more details.
19
+ #
20
+ # You should have received a copy of the GNU General Public License
21
+ # along with rubygem-cobbler. If not, see <http://www.gnu.org/licenses/>.
22
+
23
+ # +Distro+ represents a single distrobution within Cobbler.
24
+ #
25
+ module Cobbler
26
+ class Distro < Base
27
+ cobbler_fields :name, :kernel, :breed, :depth, :arch, :initrd,
28
+ :source_repos, :kernel_options, :parent, :ks_meta
29
+
30
+ cobbler_collection :owners
31
+ end
32
+ end
@@ -0,0 +1,31 @@
1
+ #
2
+ # image.rb
3
+ #
4
+ # Copyright (C) 2008,2009 Red Hat, Inc.
5
+ # Written by Darryl L. Pierce <dpierce@redhat.com>
6
+ # Extended 2012 by duritong <peter.meier@immerda.ch>
7
+ #
8
+ # This file is part of rubygem-cobbler.
9
+ #
10
+ # rubygem-cobbler is free software: you can redistribute it and/or modify
11
+ # it under the terms of the GNU Lesser General Public License as published
12
+ # by the Free Software Foundation, either version 2.1 of the License, or
13
+ # (at your option) any later version.
14
+ #
15
+ # rubygem-cobbler is distributed in the hope that it will be useful,
16
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
+ # GNU General Public License for more details.
19
+ #
20
+ # You should have received a copy of the GNU General Public License
21
+ # along with rubygem-cobbler. If not, see <http://www.gnu.org/licenses/>.
22
+
23
+ # +Image+ represents an image within Cobbler.
24
+ #
25
+ module Cobbler
26
+ class Image < Base
27
+ cobbler_fields :name, :owners, :depth, :virt_file_size,
28
+ :virt_path, :xml_file, :virt_bridge, :file, :parent,
29
+ :image_type, :virt_ram, :virt_auto_boot, :virt_cpus, :virt_type, :network_count
30
+ end
31
+ end
@@ -0,0 +1,34 @@
1
+ #
2
+ # profile.rb
3
+ #
4
+ # Copyright (C) 2008,2009 Red Hat, Inc.
5
+ # Written by Darryl L. Pierce <dpierce@redhat.com>
6
+ # Extended 2012 by duritong <peter.meier@immerda.ch>
7
+ #
8
+ # This file is part of rubygem-cobbler.
9
+ #
10
+ # rubygem-cobbler is free software: you can redistribute it and/or modify
11
+ # it under the terms of the GNU Lesser General Public License as published
12
+ # by the Free Software Foundation, either version 2.1 of the License, or
13
+ # (at your option) any later version.
14
+ #
15
+ # rubygem-cobbler is distributed in the hope that it will be useful,
16
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
+ # GNU General Public License for more details.
19
+ #
20
+ # You should have received a copy of the GNU General Public License
21
+ # along with rubygem-cobbler. If not, see <http://www.gnu.org/licenses/>.
22
+
23
+ # +Profile+ represents a single profile within Cobbler.
24
+ #
25
+ module Cobbler
26
+ class Profile < Base
27
+ cobbler_fields :name, :parent, :dhcp_tag, :depth, :virt_file_size,
28
+ :virt_path, :virt_type, :repos, :distro, :server, :virt_bridge,
29
+ :virt_ram, :virt_auto_boot, :kernel_options, :virt_cpus, :ks_meta,
30
+ :kickstart
31
+
32
+ cobbler_collection :owners
33
+ end
34
+ end
@@ -0,0 +1,33 @@
1
+ #
2
+ # repo.rb
3
+ #
4
+ # Copyright (C) 2008,2009 Red Hat, Inc.
5
+ # Written by Darryl L. Pierce <dpierce@redhat.com>
6
+ # Extended 2012 by duritong <peter.meier@immerda.ch>
7
+ #
8
+ # This file is part of rubygem-cobbler.
9
+ #
10
+ # rubygem-cobbler is free software: you can redistribute it and/or modify
11
+ # it under the terms of the GNU Lesser General Public License as published
12
+ # by the Free Software Foundation, either version 2.1 of the License, or
13
+ # (at your option) any later version.
14
+ #
15
+ # rubygem-cobbler is distributed in the hope that it will be useful,
16
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
+ # GNU General Public License for more details.
19
+ #
20
+ # You should have received a copy of the GNU General Public License
21
+ # along with rubygem-cobbler. If not, see <http://www.gnu.org/licenses/>.
22
+
23
+ # +Repo+ represents a single repository within Cobbler.
24
+ #
25
+ module Cobbler
26
+ class Repo < Base
27
+ cobbler_fields :name, :arch, :breed, :comment, :keep_updated, :mirror,
28
+ :parent, :rpm_list, :createrepo_flags, :environment, :mirror_locally, :priority,
29
+ :yumopts
30
+
31
+ cobbler_collection :owners
32
+ end
33
+ end
@@ -0,0 +1,45 @@
1
+ #
2
+ # system.rb
3
+ #
4
+ # Copyright (C) 2008,2009 Red Hat, Inc.
5
+ # Written by Darryl L. Pierce <dpierce@redhat.com>
6
+ # Extended 2012 by duritong <peter.meier@immerda.ch>
7
+ #
8
+ # This file is part of rubygem-cobbler.
9
+ #
10
+ # rubygem-cobbler is free software: you can redistribute it and/or modify
11
+ # it under the terms of the GNU Lesser General Public License as published
12
+ # by the Free Software Foundation, either version 2.1 of the License, or
13
+ # (at your option) any later version.
14
+ #
15
+ # rubygem-cobbler is distributed in the hope that it will be useful,
16
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
+ # GNU General Public License for more details.
19
+ #
20
+ # You should have received a copy of the GNU General Public License
21
+ # along with rubygem-cobbler. If not, see <http://www.gnu.org/licenses/>.
22
+
23
+ # +System+ represents a system within Cobbler.
24
+ #
25
+ module Cobbler
26
+ class System < Base
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
29
+
30
+ cobbler_collection :kernel_options, :packing => :hash
31
+ cobbler_collection :ks_meta, :packing => :hash
32
+ cobbler_collection :owners
33
+ cobbler_collection :interfaces, :packing => :hash, :store => :store_interfaces
34
+
35
+ def store_interfaces(sysid,token)
36
+ interfaces.each do |interface,values|
37
+ values2store = values.keys.inject({}) do |result,member|
38
+ result["#{member.to_s.gsub(/_/,'')}-#{interface}"] = values[member] if values[member]
39
+ result
40
+ end
41
+ self.class.make_call('modify_system',sysid,'modify_interface',values2store,token) unless values2store.empty?
42
+ end
43
+ end
44
+ end
45
+ end
data/lib/cobbler.rb ADDED
@@ -0,0 +1,35 @@
1
+ #
2
+ # cobbler.rb - Cobbler module declaration.
3
+ #
4
+ # Copyright (C) 2008,2009 Red Hat, Inc.
5
+ # Written by Darryl L. Pierce <dpierce@redhat.com>
6
+ # Extended 2012 by duritong <peter.meier@immerda.ch>
7
+ #
8
+ # This file is part of rubygem-cobbler.
9
+ #
10
+ # rubygem-cobbler is free software: you can redistribute it and/or modify
11
+ # it under the terms of the GNU Lesser General Public License as published
12
+ # by the Free Software Foundation, either version 2.1 of the License, or
13
+ # (at your option) any later version.
14
+ #
15
+ # rubygem-cobbler is distributed in the hope that it will be useful,
16
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
+ # GNU General Public License for more details.
19
+ #
20
+ # You should have received a copy of the GNU General Public License
21
+ # along with rubygem-cobbler. If not, see <http://www.gnu.org/licenses/>.
22
+
23
+ require 'active_support/inflector'
24
+ require 'cobbler/base'
25
+ require 'cobbler/distro'
26
+ require 'cobbler/image'
27
+ require 'cobbler/profile'
28
+ require 'cobbler/repo'
29
+ require 'cobbler/system'
30
+
31
+ module Cobbler
32
+
33
+ VERSION = '2.0.0'
34
+
35
+ end
@@ -0,0 +1,100 @@
1
+ # Generated from cobbler-0.0.1.gem by gem2rpm -*- rpm-spec -*-
2
+ %define ruby_sitelib %(ruby -rrbconfig -e "puts Config::CONFIG['sitelibdir']")
3
+ %define gemdir %(ruby -rubygems -e 'puts Gem::dir' 2>/dev/null)
4
+ %define gemname cobbler
5
+ %define geminstdir %{gemdir}/gems/%{gemname}-%{version}
6
+ %define installroot %{buildroot}%{geminstdir}
7
+
8
+ Summary: An interface for interacting with a Cobbler server
9
+ Name: rubygem-%{gemname}
10
+ Version: 2.0.0
11
+ Release: 1%{?dist}
12
+ Group: Development/Languages
13
+ License: LGPLv2+
14
+ URL: https://github.com/duritong/ruby-cobbler
15
+ Source0: https://rubygems.org/downloads/%{gemname}-%{version}.gem
16
+ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
17
+ Requires: rubygems
18
+ BuildRequires: ruby-flexmock
19
+ BuildRequires: rubygems
20
+ BuildRequires: rubygem-rake
21
+ BuildArch: noarch
22
+ Provides: rubygem(%{gemname}) = %{version}
23
+
24
+ %description
25
+ Provides Ruby bindings to interact with a Cobbler server.
26
+
27
+ %prep
28
+
29
+ %build
30
+
31
+ %check
32
+
33
+ cd %{installroot}
34
+
35
+ rake test
36
+
37
+ %install
38
+ rm -rf %{buildroot}
39
+ mkdir -p %{buildroot}%{gemdir}
40
+ gem install --local --install-dir %{buildroot}%{gemdir} --force %{SOURCE0}
41
+
42
+ chmod +x %{installroot}/examples/*.rb
43
+
44
+ %clean
45
+ rm -rf %{buildroot}
46
+
47
+ %files
48
+ %defattr(-, root, root, -)
49
+ %{gemdir}/gems/%{gemname}-%{version}/
50
+ %{gemdir}/cache/%{gemname}-%{version}.gem
51
+ %{gemdir}/specifications/%{gemname}-%{version}.gemspec
52
+
53
+ %doc %{geminstdir}/COPYING
54
+ %doc %{geminstdir}/NEWS
55
+ %doc %{geminstdir}/README
56
+
57
+ %{geminstdir}/config/cobbler.yml
58
+
59
+
60
+ %changelog
61
+ * Thu Jan 05 2012 duritong <peter.meier@immerda.ch> - 2.0.0-1
62
+ - Fix all issues when API returns ~ on a nonexisting system
63
+ - Add some missing fields to the System model
64
+ - Remove unnecessary object abstraction for interfaces
65
+ - Fix storing of interfaces
66
+ - Rework connection handling
67
+ - Rewrite to enable capabilities for all items and to work against 2.0
68
+
69
+ * Mon Sep 08 2008 Darryl Pierce <dpierce@redhat.com> - 0.1.0-1
70
+ - First official build for Fedora.
71
+
72
+ * Fri Sep 05 2008 Darryl Pierce <dpierce@redhat.com> - 0.0.2-4
73
+ - Bad BuildRequires slipped into the last version.
74
+
75
+ * Wed Sep 03 2008 Darryl Pierce <dpierce@redhat.com> - 0.0.2-3
76
+ - Added a build requirement for rubygem-rake.
77
+
78
+ * Tue Aug 26 2008 Darryl Pierce <dpierce@redhat.com> - 0.0.2-2
79
+ - Fixed the licensing in each source module to show the code is released under
80
+ LGPLv2.1.
81
+ - Added %check to the spec file to run tests prior to creating the RPM.
82
+
83
+ * Thu Aug 21 2008 Darryl Pierce <dpierce@redhat.com> - 0.0.2-1
84
+ - Added a call to update prior to saving or updating a system. If the update
85
+ fails, then an Exception is raised.
86
+
87
+ * Wed Aug 13 2008 Darryl Pierce <dpierce@redhat.com> - 0.0.1-3
88
+ - Added caching for the auth_token to prevent extraneous calls to login.
89
+ - Reworked and refined how cobbler_collection fields are processed, adding
90
+ support for both array and has properties.
91
+ - Rewrote the documentation for Cobbler::Base to make it easier to understand
92
+ how to extend it to support other Cobbler types.
93
+ - Refactored the examples to clean up the code.
94
+
95
+ * Wed Aug 13 2008 Darryl Pierce <dpierce@redhat.com> - 0.0.1-2
96
+ - Removed markup of cobbler.yml and a config file. Fixed a few small bugs
97
+ in the code for using it as a gem.
98
+
99
+ * Mon Aug 04 2008 Darryl Pierce <dpierce@redhat.com> - 0.0.1-1
100
+ - Initial package
data/spec/spec.opts ADDED
@@ -0,0 +1,6 @@
1
+ --format
2
+ s
3
+ --colour
4
+ --loadby
5
+ mtime
6
+ --backtrace