foreman_snapshot_management 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: '048b5bbc495a00c7caf44380c5ee03ccd319e592'
4
- data.tar.gz: 7d331abbbb267a00c70485e8a74bb1e76d30f684
3
+ metadata.gz: 30f8e2f14c91a5cf8d79a5c39ae5d65bcf9df35b
4
+ data.tar.gz: 2b0299b2785eba2d00c7d4e5fc901532d72647d5
5
5
  SHA512:
6
- metadata.gz: c2f5363bbd5646c3cd7383968fa0529ba483c9e42a0adcf1d483c6668cb5c5e43c8fdf19f46449658ceb07864022ce108644f0697724e4499fe1a493852e0018
7
- data.tar.gz: 473771e206b8768650d3085c7494f5b7b4a07c3859894bb7573a2acfff2e4501c44915eb0c545bcadc4938a3efa862d1b1e070aff1ce6525bea147d34971ed74
6
+ metadata.gz: 4854c380a31a34c47df1cae2040e3c6720b69337b0d0298a1b33dab96034796a5999731d24e417ef8348235e5c2c3b99f890de5a2f7e0a2c35421bf54b541206
7
+ data.tar.gz: 276fa74482b40f90600e250ca1ddc57308ce4d241ebe835d8d3e7c5af95e28ac207dbb65341fb44bda75cc8824f78ba1f083cbbdd197c4d3faab694beb450a8f
@@ -10,6 +10,7 @@ module ForemanSnapshotManagement
10
10
 
11
11
  define_model_callbacks :create, :save, :destroy, :revert
12
12
  attr_accessor :id, :raw_snapshot, :name, :description, :host_id, :parent, :create_time
13
+ define_attribute_methods :name, :description
13
14
 
14
15
  def self.all_for_host(host)
15
16
  snapshots = host.compute_resource.get_snapshots(host.uuid).map do |raw_snapshot|
@@ -19,7 +20,7 @@ module ForemanSnapshotManagement
19
20
 
20
21
  def self.find_for_host(host, id)
21
22
  raw_snapshot = host.compute_resource.get_snapshot(host.uuid, id)
22
- new_from_vmware(host, raw_snapshot)
23
+ new_from_vmware(host, raw_snapshot) if raw_snapshot
23
24
  end
24
25
 
25
26
  def self.new_from_vmware(host, raw_snapshot, opts = {})
@@ -55,16 +56,36 @@ module ForemanSnapshotManagement
55
56
  end
56
57
 
57
58
  def persisted?
58
- self.id.present?
59
+ @id.present?
60
+ end
61
+
62
+ def name=(value)
63
+ name_will_change! unless value == @name
64
+ @name = value
65
+ end
66
+
67
+ def description=(value)
68
+ description_will_change! unless value == @description
69
+ @description = value
59
70
  end
60
71
 
61
72
  # host accessors
62
73
  def host
63
- Host.find(self.host_id)
74
+ @host ||= Host.find(@host_id)
75
+ end
76
+
77
+ def host_id=(host_id)
78
+ if @host_id != host_id
79
+ @host_id = host_id
80
+ @host = nil
81
+ end
64
82
  end
65
83
 
66
84
  def host=(host)
67
- self.host_id = host.id
85
+ if @host_id != host.id
86
+ @host_id = host.id
87
+ @host = host
88
+ end
68
89
  end
69
90
 
70
91
  def create_time
@@ -81,14 +102,17 @@ module ForemanSnapshotManagement
81
102
 
82
103
  def update_attributes(new_attributes)
83
104
  assign_attributes(new_attributes)
84
- save
105
+ save if changed?
85
106
  end
86
107
 
87
108
  # crud
88
109
  def create
89
110
  run_callbacks(:create) do
90
111
  handle_snapshot_errors do
112
+ host.audit_comment = "Create snapshot #{name}"
113
+ host.save!
91
114
  host.compute_resource.create_snapshot(host.uuid, name, description)
115
+ changes_applied
92
116
  end
93
117
  end
94
118
  end
@@ -96,7 +120,10 @@ module ForemanSnapshotManagement
96
120
  def save
97
121
  run_callbacks(:save) do
98
122
  handle_snapshot_errors do
123
+ host.audit_comment = "Update snapshot #{name}"
124
+ host.save!
99
125
  host.compute_resource.update_snapshot(raw_snapshot, name, description)
126
+ changes_applied
100
127
  end
101
128
  end
102
129
  end
@@ -104,9 +131,11 @@ module ForemanSnapshotManagement
104
131
  def destroy
105
132
  run_callbacks(:destroy) do
106
133
  result = handle_snapshot_errors do
134
+ host.audit_comment = "Destroy snapshot #{name}"
135
+ host.save!
107
136
  result = host.compute_resource.remove_snapshot(raw_snapshot, false)
108
137
  end
109
- self.id = nil
138
+ @id = nil
110
139
  result
111
140
  end
112
141
  end
@@ -114,6 +143,8 @@ module ForemanSnapshotManagement
114
143
  def revert
115
144
  run_callbacks(:revert) do
116
145
  handle_snapshot_errors do
146
+ host.audit_comment = "Revert snapshot #{name}"
147
+ host.save!
117
148
  host.compute_resource.revert_snapshot(raw_snapshot)
118
149
  end
119
150
  end
@@ -1,3 +1,3 @@
1
1
  module ForemanSnapshotManagement
2
- VERSION = '1.1.0'.freeze
2
+ VERSION = '1.2.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_snapshot_management
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ATIX AG
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-19 00:00:00.000000000 Z
11
+ date: 2017-11-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop