Class: Puppet::Util::MasterMasterLinkManager
- Inherits:
-
Object
- Object
- Puppet::Util::MasterMasterLinkManager
- Defined in:
- lib/puppet/util/master_master_link_manager.rb
Overview
GraphDB master master link manager
Instance Attribute Summary collapse
-
#master_endpoint ⇒ Object
readonly
Returns the value of attribute master_endpoint.
-
#master_repository_id ⇒ Object
readonly
Returns the value of attribute master_repository_id.
-
#peer_master_endpoint ⇒ Object
readonly
Returns the value of attribute peer_master_endpoint.
-
#peer_master_node_id ⇒ Object
readonly
Returns the value of attribute peer_master_node_id.
-
#peer_master_repository_id ⇒ Object
readonly
Returns the value of attribute peer_master_repository_id.
Instance Method Summary collapse
- #check_link ⇒ Object
- #create_link ⇒ Object
- #delete_link ⇒ Object
-
#initialize(master_endpoint, master_repository_id, peer_master_endpoint, peer_master_repository_id, peer_master_node_id) ⇒ MasterMasterLinkManager
constructor
A new instance of MasterMasterLinkManager.
Constructor Details
#initialize(master_endpoint, master_repository_id, peer_master_endpoint, peer_master_repository_id, peer_master_node_id) ⇒ MasterMasterLinkManager
Returns a new instance of MasterMasterLinkManager.
17 18 19 20 21 22 23 24 |
# File 'lib/puppet/util/master_master_link_manager.rb', line 17 def initialize(master_endpoint, master_repository_id, peer_master_endpoint, peer_master_repository_id, peer_master_node_id) @master_endpoint = master_endpoint @master_repository_id = master_repository_id @peer_master_endpoint = peer_master_endpoint @peer_master_repository_id = peer_master_repository_id @peer_master_node_id = peer_master_node_id end |
Instance Attribute Details
#master_endpoint ⇒ Object (readonly)
Returns the value of attribute master_endpoint.
11 12 13 |
# File 'lib/puppet/util/master_master_link_manager.rb', line 11 def master_endpoint @master_endpoint end |
#master_repository_id ⇒ Object (readonly)
Returns the value of attribute master_repository_id.
12 13 14 |
# File 'lib/puppet/util/master_master_link_manager.rb', line 12 def master_repository_id @master_repository_id end |
#peer_master_endpoint ⇒ Object (readonly)
Returns the value of attribute peer_master_endpoint.
13 14 15 |
# File 'lib/puppet/util/master_master_link_manager.rb', line 13 def peer_master_endpoint @peer_master_endpoint end |
#peer_master_node_id ⇒ Object (readonly)
Returns the value of attribute peer_master_node_id.
15 16 17 |
# File 'lib/puppet/util/master_master_link_manager.rb', line 15 def peer_master_node_id @peer_master_node_id end |
#peer_master_repository_id ⇒ Object (readonly)
Returns the value of attribute peer_master_repository_id.
14 15 16 |
# File 'lib/puppet/util/master_master_link_manager.rb', line 14 def peer_master_repository_id @peer_master_repository_id end |
Instance Method Details
#check_link ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/puppet/util/master_master_link_manager.rb', line 26 def check_link Puppet.debug "Check link between #{master_endpoint}/repositories/#{master_repository_id} and #{peer_master_endpoint}/repositories/#{peer_master_repository_id}" uri = master_endpoint.dup uri.path = "/jolokia/read/ReplicationCluster:name=ClusterInfo!/#{master_repository_id}/SyncPeers" expected_massage = Regexp.escape("#{peer_master_endpoint}/repositories/#{peer_master_repository_id}".gsub('/', '\/')) Puppet::Util::RequestManager.perform_http_request(uri, { method: :get }, { messages: [expected_massage], codes: [200] }, 0) end |
#create_link ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/puppet/util/master_master_link_manager.rb', line 40 def create_link Puppet.debug "Creating link between #{master_endpoint}/repositories/#{master_repository_id} and #{peer_master_endpoint}/repositories/#{peer_master_repository_id}" uri = master_endpoint.dup uri.path = '/jolokia' body = { 'type' => 'EXEC', 'mbean' => "ReplicationCluster:name=ClusterInfo/#{master_repository_id}", 'operation' => 'addSyncPeer', 'arguments' => [peer_master_node_id, "#{peer_master_endpoint}/repositories/#{peer_master_repository_id}"] } expected_massage = Regexp.escape("#{peer_master_endpoint}/repositories/#{peer_master_repository_id}".gsub('/', '\/')) Puppet::Util::RequestManager.perform_http_request(uri, { method: :post, content_type: 'application/json', body_data: body.to_json }, { messages: [expected_massage], codes: [200] }, 0) end |
#delete_link ⇒ Object
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/puppet/util/master_master_link_manager.rb', line 61 def delete_link Puppet.debug "Deleting link between #{master_endpoint}/repositories/#{master_repository_id} and #{peer_master_endpoint}/repositories/#{peer_master_repository_id}" uri = master_endpoint.dup uri.path = '/jolokia' expected_massage = Regexp.escape(peer_master_node_id.gsub('/', '\/')) body = { 'type' => 'EXEC', 'mbean' => "ReplicationCluster:name=ClusterInfo/#{master_repository_id}", 'operation' => 'removeSyncPeer', 'arguments' => [peer_master_node_id] } Puppet::Util::RequestManager.perform_http_request(uri, { method: :post, content_type: 'application/json', body_data: body.to_json }, { messages: [expected_massage], codes: [200] }, 0) end |