Class: Puppet::Util::LinkManager
- Inherits:
-
Object
- Object
- Puppet::Util::LinkManager
- Defined in:
- lib/puppet/util/link_manager.rb
Overview
GraphDB master worker link manager
Instance Attribute Summary collapse
-
#jolokia_secret ⇒ Object
readonly
Returns the value of attribute jolokia_secret.
-
#master_endpoint ⇒ Object
readonly
Returns the value of attribute master_endpoint.
-
#master_repository_id ⇒ Object
readonly
Returns the value of attribute master_repository_id.
-
#replication_port ⇒ Object
readonly
Returns the value of attribute replication_port.
-
#worker_endpoint ⇒ Object
readonly
Returns the value of attribute worker_endpoint.
-
#worker_repository_id ⇒ Object
readonly
Returns the value of attribute worker_repository_id.
Instance Method Summary collapse
- #check_link ⇒ Object
- #create_link ⇒ Object
- #delete_link ⇒ Object
-
#initialize(master_endpoint, master_repository_id, worker_endpoint, worker_repository_id, jolokia_secret, replication_port) ⇒ LinkManager
constructor
A new instance of LinkManager.
Constructor Details
#initialize(master_endpoint, master_repository_id, worker_endpoint, worker_repository_id, jolokia_secret, replication_port) ⇒ LinkManager
Returns a new instance of LinkManager.
16 17 18 19 20 21 22 23 24 |
# File 'lib/puppet/util/link_manager.rb', line 16 def initialize(master_endpoint, master_repository_id, worker_endpoint, worker_repository_id, jolokia_secret, replication_port) @master_endpoint = master_endpoint @master_repository_id = master_repository_id @worker_endpoint = worker_endpoint @worker_repository_id = worker_repository_id @jolokia_secret = jolokia_secret @replication_port = replication_port end |
Instance Attribute Details
#jolokia_secret ⇒ Object (readonly)
Returns the value of attribute jolokia_secret.
13 14 15 |
# File 'lib/puppet/util/link_manager.rb', line 13 def jolokia_secret @jolokia_secret end |
#master_endpoint ⇒ Object (readonly)
Returns the value of attribute master_endpoint.
9 10 11 |
# File 'lib/puppet/util/link_manager.rb', line 9 def master_endpoint @master_endpoint end |
#master_repository_id ⇒ Object (readonly)
Returns the value of attribute master_repository_id.
10 11 12 |
# File 'lib/puppet/util/link_manager.rb', line 10 def master_repository_id @master_repository_id end |
#replication_port ⇒ Object (readonly)
Returns the value of attribute replication_port.
14 15 16 |
# File 'lib/puppet/util/link_manager.rb', line 14 def replication_port @replication_port end |
#worker_endpoint ⇒ Object (readonly)
Returns the value of attribute worker_endpoint.
11 12 13 |
# File 'lib/puppet/util/link_manager.rb', line 11 def worker_endpoint @worker_endpoint end |
#worker_repository_id ⇒ Object (readonly)
Returns the value of attribute worker_repository_id.
12 13 14 |
# File 'lib/puppet/util/link_manager.rb', line 12 def worker_repository_id @worker_repository_id end |
Instance Method Details
#check_link ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/puppet/util/link_manager.rb', line 26 def check_link uri = master_endpoint.dup uri.path = "/jolokia/read/ReplicationCluster:name=ClusterInfo!/#{master_repository_id}/NodeStatus" expected_massage = Regexp.escape("#{worker_endpoint}/repositories/#{worker_repository_id}".gsub('/', '\/')) Puppet::Util::RequestManager.perform_http_request(uri, { method: :get, auth: { user: '', password: jolokia_secret } }, { messages: [expected_massage], codes: [200] }, 0) end |
#create_link ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/puppet/util/link_manager.rb', line 38 def create_link uri = master_endpoint.dup uri.path = '/jolokia' body = { 'type' => 'EXEC', 'mbean' => "ReplicationCluster:name=ClusterInfo/#{master_repository_id}", 'operation' => 'addClusterNode', 'arguments' => ["#{worker_endpoint}/repositories/#{worker_repository_id}", replication_port, 0, true] } expected_massage = Regexp.escape("#{worker_endpoint}/repositories/#{worker_repository_id}".gsub('/', '\/')) Puppet::Util::RequestManager.perform_http_request(uri, { method: :post, body_data: body.to_json, auth: { user: '', password: jolokia_secret } }, { messages: [expected_massage], codes: [200] }, 0) end |
#delete_link ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/puppet/util/link_manager.rb', line 57 def delete_link uri = master_endpoint.dup uri.path = '/jolokia' body = { 'type' => 'EXEC', 'mbean' => "ReplicationCluster:name=ClusterInfo/#{master_repository_id}", 'operation' => 'removeClusterNode', 'arguments' => ["#{worker_endpoint}/repositories/#{worker_repository_id}"] } expected_massage = Regexp.escape("#{worker_endpoint}/repositories/#{worker_repository_id}".gsub('/', '\/')) Puppet::Util::RequestManager.perform_http_request(uri, { method: :post, body_data: body.to_json, auth: { user: '', password: jolokia_secret } }, { messages: [expected_massage], codes: [200] }, 0) end |