nifty 0.2.10 → 0.2.11

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8bb90e66cb5a6b7793a52fd759d51383d80351f3
4
- data.tar.gz: 7b415c03cf167b1484b264b543d99d1838c6d73c
3
+ metadata.gz: a37f362a5274415d81b8d55bf69284e1f34d88c0
4
+ data.tar.gz: b07d5c991ab1c91d8fae23d1295787983e776f80
5
5
  SHA512:
6
- metadata.gz: b23e146c4e2390dbc4d7052180dedd77b5e3d08fcdf4b679faff9b87b7567705d36a79401c632329a7346af2a79e5bd959e00b19eb2bee968a7356b25715d103
7
- data.tar.gz: 8b00582017c6899d7cf96497e0d7785683431b0347224d1a370511c70d06537b24ca4d0a41def9f54f4b00b5ce6a691280a453ba3669b2f80552ed0bf5a5854b
6
+ metadata.gz: ab2a37a5fe4643d3149263db7c9feac04c069b8ae8d615d2ff85cf47efff4b8d6daef1a58d20a7aa2d51860be78a1fa13f05588d45d37393c69ca68591fe27b1
7
+ data.tar.gz: c721a2292eec5c0148ea0967d77ebe23a2e5d513363cd1830abbc216bb344a96421c70c51bcde0225f8ea13094ccdc29807c29f984b54b59d04bd5bda5942b14
data/config/nifty.yml CHANGED
@@ -18,6 +18,7 @@ production:
18
18
  disk-expiration: true # Will expire old disks before the new one is registered
19
19
  permissions: "640" # UNIX-like image and template permissions in OpenNebula, MUST be a string
20
20
  groups: # Array of groups. If set, groups in appliance descriptor will be ignored and these groups will be used instead
21
+ users: # Handle only images/templates of specified users
21
22
  logging:
22
23
  level: ERROR # Logging level
23
24
  file: /var/log/nifty/nifty.log # File to write log to. To turn off file logging leave this field empty.
@@ -71,6 +71,10 @@ class Nifty::Backends::Opennebula < Nifty::Backend
71
71
  :groups => {
72
72
  :type => :array,
73
73
  :desc => 'Names of groups appliances will be registred to in OpenNebula'
74
+ },
75
+ :users => {
76
+ :type => :array,
77
+ :desc => 'Handle only images/templates of specified users'
74
78
  }
75
79
  }
76
80
  end
@@ -28,9 +28,11 @@ class Nifty::Backends::Utils::Opennebula::ImageHandler < Nifty::Backends::Utils:
28
28
  #
29
29
  # @param [String] appliance_id
30
30
  # @return [Array] array of images
31
- def images(appliance_id)
31
+ def images(appliance_id, users = [])
32
32
  reload!
33
33
 
34
+ return pool.find_all { |image| image["TEMPLATE/#{ATTRIBUTE_APPLIANCE_ID}"] == appliance_id && users.include?(image['UNAME']) } unless users.blank?
35
+
34
36
  pool.find_all { |image| image["TEMPLATE/#{ATTRIBUTE_APPLIANCE_ID}"] == appliance_id }
35
37
  end
36
38
 
@@ -49,9 +51,11 @@ class Nifty::Backends::Utils::Opennebula::ImageHandler < Nifty::Backends::Utils:
49
51
  pool.find_all { |image| image["TEMPLATE/#{ATTRIBUTE_APPLIANCE_ID}"].nil? && image["TEMPLATE/#{Nifty::Backends::Opennebula::VMCATCHER_APPLIANCE_ID}"] }
50
52
  end
51
53
 
52
- def images_by_version(version)
54
+ def images_by_version(version, users = [])
53
55
  reload!
54
56
 
57
+ return pool.find_all { |image| image["TEMPLATE/#{ATTRIBUTE_APPLIANCE_VERSION}"] == version && users.include?(image['UNAME']) } unless users.blank?
58
+
55
59
  pool.find_all { |image| image["TEMPLATE/#{ATTRIBUTE_APPLIANCE_VERSION}"] == version }
56
60
  end
57
61
 
@@ -20,9 +20,11 @@ class Nifty::Backends::Utils::Opennebula::TemplateHandler < Nifty::Backends::Uti
20
20
  #
21
21
  # @param [String] appliance_id
22
22
  # @return [Array] array of templates
23
- def templates(appliance_id)
23
+ def templates(appliance_id, users = [])
24
24
  reload!
25
25
 
26
+ return pool.find_all { |template| template["TEMPLATE/#{ATTRIBUTE_APPLIANCE_ID}"] == appliance_id && users.include?(template['UNAME']) } unless users.blank?
27
+
26
28
  pool.find_all { |template| template["TEMPLATE/#{ATTRIBUTE_APPLIANCE_ID}"] == appliance_id }
27
29
  end
28
30
 
@@ -7,9 +7,9 @@ module Nifty::Events::Opennebula::Utils::EventsCommon
7
7
  # @param [Cloud::Appliance::Descriptor::Appliance] appliance
8
8
  # @param [Hash] parameters
9
9
  def expire_appliance(template_handler, image_handler, appliance, parameters)
10
- delete_appliance(template_handler, appliance.identifier)
11
- outdate_disks(image_handler, appliance.identifier)
12
- expire_disks(image_handler, appliance, parameters[:"disk-expiration"])
10
+ delete_appliance(template_handler, appliance.identifier, parameters[:users])
11
+ outdate_disks(image_handler, appliance.identifier, parameters[:users])
12
+ expire_disks(image_handler, appliance, parameters[:"disk-expiration"], parameters[:users])
13
13
  end
14
14
 
15
15
  # Returns OpenNebula groups specified in appliance
@@ -37,8 +37,8 @@ module Nifty::Events::Opennebula::Utils::EventsCommon
37
37
  #
38
38
  # @param [Nifty::Backends::Utils::Opennebula::ImageHandler] image_handler
39
39
  # @param [String] appliance_id
40
- def outdate_disks(image_handler, appliance_id)
41
- registered_disks = image_handler.images(appliance_id)
40
+ def outdate_disks(image_handler, appliance_id, users)
41
+ registered_disks = image_handler.images(appliance_id, users)
42
42
  logger.debug('Outdating registered disks...')
43
43
  registered_disks.each { |disk| image_handler.outdate_image(disk) }
44
44
  end
@@ -49,8 +49,8 @@ module Nifty::Events::Opennebula::Utils::EventsCommon
49
49
  # @param [Nifty::Backends::Utils::Opennebula::ImageHandler] image_handler
50
50
  # @param [Cloud::Appliance::Descriptor::Appliance] appliance
51
51
  # @param [TrueClass,FalseClass] disk_expiration whether expire all disks or just outdated ones
52
- def expire_disks(image_handler, appliance, disk_expiration)
53
- registered_disks = disk_expiration ? image_handler.images(appliance.identifier) : image_handler.images_by_version(appliance.version)
52
+ def expire_disks(image_handler, appliance, disk_expiration, users)
53
+ registered_disks = disk_expiration ? image_handler.images(appliance.identifier, users) : image_handler.images_by_version(appliance.version, users)
54
54
  logger.debug('Expiring registered disks...')
55
55
  registered_disks.each do |disk|
56
56
  image_handler.expire_image(disk)
@@ -63,8 +63,8 @@ module Nifty::Events::Opennebula::Utils::EventsCommon
63
63
  #
64
64
  # @param [Nifty::Backends::Utils::Opennebula::TemplateHandler] template_handler
65
65
  # @param [String] appliance_id
66
- def delete_appliance(template_handler, appliance_id)
67
- registered_appliances = template_handler.templates(appliance_id)
66
+ def delete_appliance(template_handler, appliance_id, users)
67
+ registered_appliances = template_handler.templates(appliance_id, users)
68
68
  logger.debug('Deleting registered templates...')
69
69
  registered_appliances.each { |template| template_handler.delete_template template }
70
70
  end
data/lib/nifty/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Nifty
2
- VERSION = "0.2.10"
2
+ VERSION = "0.2.11"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nifty
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.10
4
+ version: 0.2.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michal Kimle
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-09 00:00:00.000000000 Z
11
+ date: 2016-11-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler