lorj_cloud 0.1.11 → 0.1.12

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: ac7410d472dd8330f134ae65232458feeaf04af8
4
- data.tar.gz: ac6f05d18594c89ff3fd97c9d4910389d0fe270f
3
+ metadata.gz: 26634b9c67df55b783869dd3e27efdcbcca992a3
4
+ data.tar.gz: 3b3430d3068e58f20d2434311d678bf7fe3c7579
5
5
  SHA512:
6
- metadata.gz: 0b16cc0c2abd0d281a1bfbc6268f8ae476d50b48ea9095c322db292df49510d8770c1bab686b6d1458783963d0a91c47dc4eb059f440a0f2838c6478103e404e
7
- data.tar.gz: 30d32069ae343d49bae3f133f4e312ff91bcddfde9ebc136e346dc0654db465b1ea9ab7d35f69c8ce92278822b11a9f7b993ca427c8fb489e808d466d77d0510
6
+ metadata.gz: 1dd52b5dba670954f34652a9da36fabe231f5e78ca585101e93b5dd5bb81b3c73659a400224ef75f2621171ca40abc181a1e1eab28263648ff518b91752ab10c
7
+ data.tar.gz: fc243f07fbc42a4d24b6e3faca2c4ac8814a6a5e061618696c08f7de0c3dcecd694e6e0fdb6374e08711eb0c6407d9a749b7c89f9557841581633d4e39dfac96
@@ -1,5 +1,5 @@
1
1
  # LorjCloud module
2
2
  module LorjCloud
3
- VERSION = '0.1.11'
4
- DATE = '2015-07-29'
3
+ VERSION = '0.1.12'
4
+ DATE = '2015-09-28'
5
5
  end
@@ -28,12 +28,12 @@ class CloudProcess
28
28
  hParams['credentials#tenant'])
29
29
  begin
30
30
  controller_connect(sCloudObj)
31
- rescue => e
32
- retry unless ssl_error_obj.error_detected(e.message, e.backtrace, e)
31
+ rescue => e
32
+ retry unless ssl_error_obj.error_detected(e.message, e.backtrace, e)
33
33
 
34
- PrcLib.error('%s:%s: Unable to connect.\n%s',
35
- self.class, sCloudObj, e.message)
36
- nil
34
+ PrcLib.error('%s:%s: Unable to connect.\n%s',
35
+ self.class, sCloudObj, e.message)
36
+ nil
37
37
  end
38
38
  end
39
39
  end
@@ -74,7 +74,7 @@ class Lorj::BaseDefinition # rubocop: disable ClassAndModuleChildren
74
74
  )
75
75
 
76
76
  obj_needs :CloudObject, :compute_connection
77
- obj_needs :data, 'server#flavor_name', :for => [:create_e]
77
+ obj_needs :data, 'server#flavor_name', :for => [:create_e]
78
78
  # Cloud provider will need to map to one of those predefined flavors.
79
79
  # limitation values may match exactly or at least ensure those limitation
80
80
  # are under provider limitation
@@ -82,16 +82,16 @@ class Lorj::BaseDefinition # rubocop: disable ClassAndModuleChildren
82
82
  # Cloud provider defines.
83
83
  # CloudProcess EHD = 160, then Provider EHD = 200 is ok
84
84
  # but Provider EHD = 150 is not ok.
85
- predefine_data_value('tiny', :desc => 'VCU: 1, RAM:512M, HD:1G, '\
85
+ predefine_data_value('tiny', :desc => 'VCU: 1, RAM:512M, HD:1G, '\
86
86
  'EHD: 0G, Swap: 0G')
87
- predefine_data_value('xsmall', :desc => 'VCU: 1, RAM:1G, HD:10G, '\
87
+ predefine_data_value('xsmall', :desc => 'VCU: 1, RAM:1G, HD:10G, '\
88
88
  'EHD: 10G, Swap: 0G')
89
- predefine_data_value('small', :desc => 'VCU: 2, RAM:2G, HD:30G, '\
89
+ predefine_data_value('small', :desc => 'VCU: 2, RAM:2G, HD:30G, '\
90
90
  'EHD: 10G, Swap: 0G')
91
- predefine_data_value('medium', :desc => 'VCU: 2, RAM:4G, HD:30G, '\
91
+ predefine_data_value('medium', :desc => 'VCU: 2, RAM:4G, HD:30G, '\
92
92
  'EHD: 50G, Swap: 0G')
93
- predefine_data_value('large', :desc => 'VCU: 4, RAM:8G, HD:30G, '\
93
+ predefine_data_value('large', :desc => 'VCU: 4, RAM:8G, HD:30G, '\
94
94
  'EHD: 100G, Swap: 0G')
95
- predefine_data_value('xlarge', :desc => 'VCU: 8, RAM:16G, HD:30G, '\
95
+ predefine_data_value('xlarge', :desc => 'VCU: 8, RAM:16G, HD:30G, '\
96
96
  'EHD: 200G, Swap: 0G')
97
97
  end
@@ -95,5 +95,5 @@ class Lorj::BaseDefinition # rubocop: disable Style/ClassAndModuleChildren
95
95
  )
96
96
 
97
97
  obj_needs :CloudObject, :compute_connection
98
- obj_needs :data, 'server#image_name', :for => [:create_e]
98
+ obj_needs :data, 'server#image_name', :for => [:create_e]
99
99
  end
@@ -26,8 +26,8 @@
26
26
  # is capable to connect to internet
27
27
  # And to create this connection if possible.
28
28
  class Lorj::BaseDefinition # rubocop: disable ClassAndModuleChildren
29
- define_obj(:internet_network, :nohandler => true)
29
+ define_obj(:internet_network, :nohandler => true)
30
30
 
31
- obj_needs :CloudObject, :external_network # External network to connect if
31
+ obj_needs :CloudObject, :external_network # External network to connect if
32
32
  # needed.
33
33
  end
@@ -21,7 +21,7 @@
21
21
  # Internet SERVER Object
22
22
  # internet server is a server connected to the internet network.
23
23
  class Lorj::BaseDefinition
24
- define_obj(:internet_server, :nohandler => true)
24
+ define_obj(:internet_server, :nohandler => true)
25
25
 
26
26
  obj_needs :CloudObject, :internet_network
27
27
  obj_needs :CloudObject, :server
@@ -119,7 +119,7 @@ class Lorj::BaseDefinition
119
119
  obj_needs :data, :keypair_path
120
120
  obj_needs :data, :keypair_base
121
121
  # By default optional. But required by the import case if needed.
122
- obj_needs :data, :public_key, :for => [:create_e]
122
+ obj_needs :data, :public_key, :for => [:create_e]
123
123
 
124
124
  def_attribute :public_key
125
125
  end
@@ -333,9 +333,9 @@ class CloudProcess
333
333
  begin
334
334
  loc_pubkey = File.read(File.join(loc_kpair[:keypair_path],
335
335
  loc_kpair[:public_key_name]))
336
- rescue => e
337
- PrcLib.error("Unable to read '%s'.\n%s",
338
- loc_kpair[:public_key_file], e.message)
336
+ rescue => e
337
+ PrcLib.error("Unable to read '%s'.\n%s",
338
+ loc_kpair[:public_key_file], e.message)
339
339
  else
340
340
  if loc_pubkey.split(' ')[1].strip == pub_keypair.split(' ')[1].strip
341
341
  is_coherent = true
@@ -46,8 +46,8 @@ class CloudProcess
46
46
  # Process Delete handler
47
47
  def forj_delete_network(sCloudObj, hParams)
48
48
  oProvider.delete(sCloudObj, hParams)
49
- rescue => e
50
- PrcLib.error("%s\n%s", e.message, e.backtrace.join("\n"))
49
+ rescue => e
50
+ PrcLib.error("%s\n%s", e.message, e.backtrace.join("\n"))
51
51
  end
52
52
 
53
53
  def forj_get_network(sCloudObj, sID, hParams)
@@ -67,10 +67,10 @@ class Lorj::BaseDefinition
67
67
  :delete_e => :forj_delete_network
68
68
  )
69
69
  obj_needs :CloudObject, :network_connection
70
- obj_needs :data, :network_name, :for => [:create_e]
70
+ obj_needs :data, :network_name, :for => [:create_e]
71
71
 
72
72
  obj_needs_optional
73
- obj_needs :data, :subnetwork_name, :for => [:create_e]
73
+ obj_needs :data, :subnetwork_name, :for => [:create_e]
74
74
 
75
75
  # Any attribute are queriable
76
76
  def_attribute :external # true if network is external or not.
@@ -87,8 +87,8 @@ class CloudProcess
87
87
  PrcLib.state("Creating network '%s'", name)
88
88
  network = controller_create(sCloudObj)
89
89
  PrcLib.info("Network '%s' created", network[:name])
90
- rescue => e
91
- PrcLib.fatal(1, "Unable to create network '%s'", name, e)
90
+ rescue => e
91
+ PrcLib.fatal(1, "Unable to create network '%s'", name, e)
92
92
  end
93
93
  network
94
94
  end
@@ -101,7 +101,7 @@ class CloudProcess
101
101
  query = { :name => hParams[:network_name] }
102
102
 
103
103
  query_single(sCloudObj, query, hParams[:network_name])
104
- rescue => e
105
- PrcLib.error("%s\n%s", e.message, e.backtrace.join("\n"))
104
+ rescue => e
105
+ PrcLib.error("%s\n%s", e.message, e.backtrace.join("\n"))
106
106
  end
107
107
  end
@@ -98,8 +98,8 @@ class CloudProcess
98
98
  end
99
99
  PrcLib.info("Public IP '%s' for server '%s' "\
100
100
  'assigned.', ip_address[:public_ip], name)
101
- rescue => e
102
- PrcLib.fatal(1, "Unable to assign a public IP to server '%s'", name, e)
101
+ rescue => e
102
+ PrcLib.fatal(1, "Unable to assign a public IP to server '%s'", name, e)
103
103
  end
104
104
  ip_address
105
105
  end
@@ -65,7 +65,7 @@ class Lorj::BaseDefinition
65
65
  obj_needs :CloudObject, :network, :for => [:create_e]
66
66
  obj_needs :CloudObject, :subnetwork, :for => [:create_e]
67
67
  obj_needs_optional
68
- obj_needs :data, :router_name, :for => [:create_e]
68
+ obj_needs :data, :router_name, :for => [:create_e]
69
69
 
70
70
  def_attribute :gateway_network_id
71
71
  end
@@ -73,9 +73,9 @@ end
73
73
  # Port Object
74
74
  # Identify port attached to network
75
75
  class Lorj::BaseDefinition
76
- define_obj :port, :nohandler => true
76
+ define_obj :port, :nohandler => true
77
77
 
78
- obj_needs :CloudObject, :network_connection
78
+ obj_needs :CloudObject, :network_connection
79
79
  def_attribute :device_id
80
80
 
81
81
  def_attribute :network_id
@@ -88,7 +88,7 @@ end
88
88
  # To keep the network model more generic.
89
89
  class Lorj::BaseDefinition
90
90
  # No process handler defined. Just Controller object
91
- define_obj :router_interface, :nohandler => true
91
+ define_obj :router_interface, :nohandler => true
92
92
 
93
93
  obj_needs :CloudObject, :network_connection
94
94
  obj_needs :CloudObject, :router, :for => [:create_e]
@@ -132,9 +132,9 @@ class CloudProcess
132
132
  PrcLib.info("Router '%s' created without external Network.",
133
133
  router_name)
134
134
  end
135
- rescue => e
136
- PrcLib.error "Unable to create '%s' router\n%s\n%s", router_name,
137
- e.message, e.backtrace.join("\n")
135
+ rescue => e
136
+ PrcLib.error "Unable to create '%s' router\n%s\n%s", router_name,
137
+ e.message, e.backtrace.join("\n")
138
138
  end
139
139
  router
140
140
  end
@@ -144,9 +144,9 @@ class CloudProcess
144
144
  begin
145
145
  #################
146
146
  provider_delete_router(net_conn_obj, router_obj)
147
- # net_conn_obj.routers.get(router.id).destroy
148
- rescue => e
149
- PrcLib.error("Unable to delete '%s' router ID", router_id, e)
147
+ # net_conn_obj.routers.get(router.id).destroy
148
+ rescue => e
149
+ PrcLib.error("Unable to delete '%s' router ID", router_id, e)
150
150
  end
151
151
  end
152
152
 
@@ -233,8 +233,8 @@ class CloudProcess
233
233
  networks = net_conn_obj
234
234
  begin
235
235
  netty = networks.get(name)
236
- rescue => e
237
- PrcLib.error("%s\n%s", e.message, e.backtrace.join("\n"))
236
+ rescue => e
237
+ PrcLib.error("%s\n%s", e.message, e.backtrace.join("\n"))
238
238
  end
239
239
  PrcLib.state("Found gateway '%s'", name) if netty
240
240
  PrcLib.state("Unable to find gateway '%s'", name) unless netty
@@ -79,7 +79,7 @@ class Lorj::BaseDefinition
79
79
  # :delete_e => :forj_delete_rule
80
80
  )
81
81
 
82
- undefine_attribute :name # Do not return any predefined name attribute
82
+ undefine_attribute :name # Do not return any predefined name attribute
83
83
 
84
84
  obj_needs :CloudObject, :network_connection
85
85
  obj_needs :CloudObject, :security_groups, :for => [:create_e]
@@ -87,7 +87,7 @@ class Lorj::BaseDefinition
87
87
  :extract_from => [:security_groups,
88
88
  :attrs, :id]
89
89
 
90
- obj_needs :data, :dir, :for => [:create_e]
90
+ obj_needs :data, :dir, :for => [:create_e]
91
91
  predefine_data_value :IN, :desc => 'Input NAT/firewall rule map type'
92
92
  predefine_data_value :OUT, :desc => 'Output NAT/firewall rule map type'
93
93
 
@@ -58,7 +58,7 @@ class CloudProcess
58
58
  # Need to set runtime data to get or if missing
59
59
  # create the required rule.
60
60
  params = {}
61
- params[:dir] = :IN
61
+ params[:dir] = :IN
62
62
  params[:proto] = 'tcp'
63
63
  params[:port_min] = portmin.to_i
64
64
  params[:port_max] = portmax.to_i
@@ -111,7 +111,7 @@ class Lorj::BaseDefinition
111
111
  )
112
112
 
113
113
  obj_needs :CloudObject, :network_connection
114
- obj_needs :data, :security_group, :for => [:create_e]
114
+ obj_needs :data, :security_group, :for => [:create_e]
115
115
  obj_needs_optional
116
116
  obj_needs :data, 'server#ports', :for => [:create_e]
117
117
  obj_needs :data, :sg_desc, :for => [:create_e]
@@ -58,8 +58,8 @@ class CloudProcess
58
58
  begin
59
59
  subnet = controller_create(sCloudObj, hParams)
60
60
  PrcLib.info("Subnet '%s' created.", subnet[:name])
61
- rescue => e
62
- PrcLib.fatal(1, "Unable to create '%s' subnet.", name, e)
61
+ rescue => e
62
+ PrcLib.fatal(1, "Unable to create '%s' subnet.", name, e)
63
63
  end
64
64
  subnet
65
65
  end
@@ -72,8 +72,8 @@ class CloudProcess
72
72
  begin
73
73
  provider_delete_subnetwork(net_conn_obj, sub_net_obj)
74
74
  net_conn_obj.subnets.get(sub_net_obj.id).destroy
75
- rescue => e
76
- PrcLib.error("%s\n%s", e.message, e.backtrace.join("\n"))
75
+ rescue => e
76
+ PrcLib.error("%s\n%s", e.message, e.backtrace.join("\n"))
77
77
  end
78
78
  end
79
79
 
@@ -48,6 +48,7 @@ class HpcloudController # rubocop: disable Metrics/ClassLength
48
48
  end
49
49
  end
50
50
  end
51
+
51
52
  def self.update_method(crud_type)
52
53
  define_method(crud_type) do |sObjectType, obj, hParams|
53
54
  method_name = "#{crud_type}_#{sObjectType}"
@@ -206,6 +207,7 @@ class HpcloudController # rubocop: disable Metrics/ClassLength
206
207
  hParams[:server])
207
208
  end
208
209
  end
210
+
209
211
  # rubocop: disable CyclomaticComplexity,
210
212
  def get(sObjectType, sUniqId, hParams)
211
213
  case sObjectType
@@ -56,7 +56,7 @@ class Hpcloud
56
56
  def_attr_mapping :external, :router_external
57
57
 
58
58
  define_obj :rule
59
- obj_needs :data, :dir, :mapping => :direction
59
+ obj_needs :data, :dir, :mapping => :direction
60
60
  attr_value_mapping :IN, 'ingress'
61
61
  attr_value_mapping :OUT, 'egress'
62
62
 
@@ -75,7 +75,7 @@ class Hpcloud
75
75
 
76
76
  define_obj :keypairs
77
77
 
78
- undefine_attribute :id # Do not return any predefined ID
78
+ undefine_attribute :id # Do not return any predefined ID
79
79
 
80
80
  # ************************************ Router Object
81
81
  define_obj :router
@@ -118,7 +118,7 @@ class Hpcloud
118
118
  define_obj :server_log
119
119
 
120
120
  # Excon::Response object type
121
- def_attr_mapping :output, 'output'
121
+ def_attr_mapping :output, 'output'
122
122
 
123
123
  # ************************************* Public IP Object
124
124
  define_obj :public_ip
@@ -73,11 +73,11 @@ module HPNetwork
73
73
  else
74
74
  max_value = range_used.max
75
75
  new_subnet = max_value.to_i + 1
76
- new_cidr = format('10.0.%s.0/24', new_subnet)
76
+ new_cidr = format('10.0.%s.0/24', new_subnet)
77
77
  end
78
78
  new_cidr
79
- rescue => e
80
- Logging.error("%s\n%s", e.message, e.backtrace.join("\n"))
79
+ rescue => e
80
+ Logging.error("%s\n%s", e.message, e.backtrace.join("\n"))
81
81
  end
82
82
 
83
83
  # router driver
@@ -117,17 +117,17 @@ class MockController
117
117
  attributes = oControlerObject
118
118
 
119
119
  attributes.rh_get(key)
120
- rescue => e
121
- controller_error "Unable to map '%s'.\n%s", key, e.message
120
+ rescue => e
121
+ controller_error "Unable to map '%s'.\n%s", key, e.message
122
122
  end
123
123
 
124
124
  def set_attr(oControlerObject, key, value)
125
125
  attributes = oControlerObject
126
126
 
127
127
  attributes.rh_set(value, key)
128
- rescue => e
129
- controller_error "Unable to map '%s' on '%s'.\n%s",
130
- key, sObjectType, e.message
128
+ rescue => e
129
+ controller_error "Unable to map '%s' on '%s'.\n%s",
130
+ key, sObjectType, e.message
131
131
  end
132
132
 
133
133
  def update(sObjectType, oObject, hParams)
@@ -56,7 +56,7 @@ class Openstack
56
56
  :decrypt => true
57
57
  obj_needs :data, 'credentials#auth_uri', :mapping => :openstack_auth_url
58
58
  obj_needs :data, 'credentials#tenant', :mapping => :openstack_tenant
59
- obj_needs :data, 'services#compute', :mapping => :openstack_region
59
+ obj_needs :data, 'services#compute', :mapping => :openstack_region
60
60
 
61
61
  obj_needs_optional # Data required if uri contains v3
62
62
  obj_needs :data, :user_domain, :mapping => :openstack_user_domain
@@ -68,7 +68,7 @@ class Openstack
68
68
  :decrypt => true
69
69
  obj_needs :data, 'credentials#auth_uri', :mapping => :openstack_auth_url
70
70
  obj_needs :data, 'credentials#tenant', :mapping => :openstack_tenant
71
- obj_needs :data, 'services#network', :mapping => :openstack_region
71
+ obj_needs :data, 'services#network', :mapping => :openstack_region
72
72
 
73
73
  obj_needs_optional # Data required if uri contains v3
74
74
  obj_needs :data, :user_domain, :mapping => :openstack_user_domain
@@ -86,7 +86,7 @@ class Openstack
86
86
 
87
87
  define_obj :keypairs
88
88
 
89
- undefine_attribute :id # Do not return any predefined ID
89
+ undefine_attribute :id # Do not return any predefined ID
90
90
 
91
91
  define_obj :server_log
92
92
 
@@ -98,7 +98,7 @@ class Openstack
98
98
  obj_needs :CloudObject, :tenants
99
99
 
100
100
  define_obj :rule
101
- obj_needs :data, :dir, :mapping => :direction
101
+ obj_needs :data, :dir, :mapping => :direction
102
102
  attr_value_mapping :IN, 'ingress'
103
103
  attr_value_mapping :OUT, 'egress'
104
104
 
@@ -460,6 +460,7 @@ class OpenstackController
460
460
  end
461
461
  build_result(version, body)
462
462
  end
463
+
463
464
  # Function to provide a wel formatted standard data, usable by openstack
464
465
  # provider
465
466
  #
@@ -226,7 +226,7 @@ class OpenstackController # :nodoc:
226
226
  else
227
227
  max_value = range_used.max
228
228
  new_subnet = max_value.to_i + 1
229
- new_cidr = format('10.0.%s.0/24', new_subnet)
229
+ new_cidr = format('10.0.%s.0/24', new_subnet)
230
230
  end
231
231
  new_cidr
232
232
  rescue => e
data/lorj_cloud.gemspec CHANGED
@@ -26,6 +26,7 @@ Gem::Specification.new do |spec|
26
26
  spec.add_runtime_dependency "lorj", ">= 1.0.19"
27
27
  spec.add_runtime_dependency 'subhash', '>= 0.1.5'
28
28
  spec.add_runtime_dependency "fog", "~> 1.30.0"
29
+ spec.add_runtime_dependency "net-ssh", "~> 2.9.2"
29
30
 
30
31
  # Ruby 1.8 restrictions - BEGIN - To be removed at next major release.
31
32
  # NOTE that gemspec is used at build time. Do not use RUBY_VERSION check
@@ -37,9 +38,9 @@ Gem::Specification.new do |spec|
37
38
  spec.add_development_dependency "ruby-debug"
38
39
  elsif RUBY_VERSION.match(/1\.9/)
39
40
  spec.add_development_dependency "debugger"
40
- spec.add_development_dependency "rubocop", "~> 0.30.0"
41
+ spec.add_development_dependency "rubocop", "~> 0.34.2"
41
42
  else
42
43
  spec.add_development_dependency "byebug"
43
- spec.add_development_dependency "rubocop", "~> 0.30.0"
44
+ spec.add_development_dependency "rubocop", "~> 0.34.2"
44
45
  end
45
46
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lorj_cloud
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.11
4
+ version: 0.1.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christophe Larsonneur
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-07-29 00:00:00.000000000 Z
11
+ date: 2015-09-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: 1.30.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: net-ssh
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 2.9.2
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 2.9.2
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: mime-types
99
113
  requirement: !ruby/object:Gem::Requirement
@@ -142,14 +156,14 @@ dependencies:
142
156
  requirements:
143
157
  - - "~>"
144
158
  - !ruby/object:Gem::Version
145
- version: 0.30.0
159
+ version: 0.34.2
146
160
  type: :development
147
161
  prerelease: false
148
162
  version_requirements: !ruby/object:Gem::Requirement
149
163
  requirements:
150
164
  - - "~>"
151
165
  - !ruby/object:Gem::Version
152
- version: 0.30.0
166
+ version: 0.34.2
153
167
  description: 'simplify cloud management, thanks to predefined process to manage cloud
154
168
  obj and make it work. '
155
169
  email:
@@ -229,7 +243,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
229
243
  version: '0'
230
244
  requirements: []
231
245
  rubyforge_project:
232
- rubygems_version: 2.2.3
246
+ rubygems_version: 2.4.8
233
247
  signing_key:
234
248
  specification_version: 4
235
249
  summary: Lorj cloud process.