Class: SmartMachine::Grids::Solr
- Defined in:
- lib/smart_machine/grids/solr.rb
Class Method Summary collapse
-
.create_core(*args) ⇒ Object
TODO: self.create_core method must be checked line by line to see if its working properly for solr8 and above.
-
.destroy_core(*args) ⇒ Object
TODO: self.destroy_core method must be checked line by line to see if its working properly for solr8 and above.
Instance Method Summary collapse
- #down ⇒ Object
-
#initialize ⇒ Solr
constructor
A new instance of Solr.
- #up(*args) ⇒ Object
Methods inherited from Base
#machine_has_engine_installed?, #platform_on_machine?, #user_bash
Methods included from Logger
configure_logger_for, included, #logger, logger_for
Constructor Details
#initialize ⇒ Solr
Returns a new instance of Solr.
5 6 |
# File 'lib/smart_machine/grids/solr.rb', line 5 def initialize end |
Class Method Details
.create_core(*args) ⇒ Object
TODO: self.create_core method must be checked line by line to see if its working properly for solr8 and above
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/smart_machine/grids/solr.rb', line 62 def self.create_core(*args) args.flatten! corename = args.empty? ? '' : args.shift if SmartMachine::Docker.running? puts "-----> Creating core #{corename} ... " if system("docker exec -it --user=solr solr solr create_core -c #{corename}") system("docker exec -it --user=solr solr solr config -c #{corename} -p 8983 -action set-user-property -property update.autoCreateFields -value false") puts "done" print "-----> Copying core files ... " system("sudo cp -r #{SmartMachine.config.root_path}/lib/smart_machine/grids/solr/sunspot/conf/* #{SmartMachine.config.user_home_path}/.smartmachine/grids/solr/data/#{corename}/conf/") if system("sudo chown -R 8983:8983 #{SmartMachine.config.user_home_path}/.smartmachine/grids/solr/data/#{corename}/conf", out: File::NULL) puts "done" end else puts "error" end end end |
.destroy_core(*args) ⇒ Object
TODO: self.destroy_core method must be checked line by line to see if its working properly for solr8 and above
84 85 86 87 88 89 90 91 92 93 94 95 96 |
# File 'lib/smart_machine/grids/solr.rb', line 84 def self.destroy_core(*args) args.flatten! corename = args.empty? ? '' : args.shift if SmartMachine::Docker.running? puts "-----> Removing core #{corename} ... " if system("docker exec -it --user=solr solr solr delete -c #{corename}") puts "done" else puts "error" end end end |
Instance Method Details
#down ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/smart_machine/grids/solr.rb', line 41 def down if SmartMachine::Docker.running? # Stopping & Removing containers - in reverse order print "-----> Stopping container solr ... " if system("docker stop 'solr'", out: File::NULL) puts "done" print "-----> Removing container solr ... " if system("docker rm 'solr'", out: File::NULL) puts "done" end end # Removing networks print "-----> Removing network solr-network ... " if system("docker network rm solr-network", out: File::NULL) puts "done" end end end |
#up(*args) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/smart_machine/grids/solr.rb', line 8 def up(*args) args.flatten! exposed = args.empty? ? '' : args.shift if SmartMachine::Docker.running? # Creating networks unless system("docker network inspect solr-network", [:out, :err] => File::NULL) print "-----> Creating network solr-network ... " if system("docker network create solr-network", out: File::NULL) puts "done" end end # Creating & Starting containers print "-----> Creating container solr ... " if system("docker create \ --name='solr' \ --user `id -u`:`id -g` \ #{"--publish='8983:8983'" if exposed == '--exposed'} \ --volume='#{SmartMachine.config.user_home_path}/.smartmachine/grids/solr/solr:/var/solr' \ --restart='always' \ --network='solr-network' \ solr:8.2.0", out: File::NULL) puts "done" print "-----> Starting container solr ... " if system("docker start solr", out: File::NULL) puts "done" end end end end |