Commit 985383ef5016dec1d3380e87563cb73d2e2763cc
1 parent
310d050a
Exists in
master
and in
39 other branches
Updated fabfile to suport solr 4.6
Signed-off-by: Gustavo Jaruga <darksshades@gmail.com> Signed-off-by: Matheus Faria <matheus.sousa.faria@gmail.com>
Showing
1 changed file
with
71 additions
and
4 deletions
Show diff stats
fabfile.py
@@ -5,7 +5,7 @@ from fabric.contrib.files import exists | @@ -5,7 +5,7 @@ from fabric.contrib.files import exists | ||
5 | from fabric.decorators import with_settings | 5 | from fabric.decorators import with_settings |
6 | from fabric.context_managers import prefix, cd, settings | 6 | from fabric.context_managers import prefix, cd, settings |
7 | 7 | ||
8 | -env.user = 'colab' # key depends on env | 8 | +env.user = 'colab' # key depends on env |
9 | env.use_shell = False | 9 | env.use_shell = False |
10 | 10 | ||
11 | environments = { | 11 | environments = { |
@@ -17,7 +17,7 @@ environments = { | @@ -17,7 +17,7 @@ environments = { | ||
17 | 'live': { | 17 | 'live': { |
18 | 'hosts': ['10.1.2.153'], | 18 | 'hosts': ['10.1.2.153'], |
19 | 'key_filename': '~/.ssh/id_rsa', | 19 | 'key_filename': '~/.ssh/id_rsa', |
20 | - 'port': 22, | 20 | + 'port': 22, |
21 | }, | 21 | }, |
22 | 'demo': { | 22 | 'demo': { |
23 | 'hosts': ['colab-demo.tracy.com.br'], | 23 | 'hosts': ['colab-demo.tracy.com.br'], |
@@ -90,8 +90,9 @@ def deploy(update=False): | @@ -90,8 +90,9 @@ def deploy(update=False): | ||
90 | sudo('supervisorctl restart all') | 90 | sudo('supervisorctl restart all') |
91 | 91 | ||
92 | 92 | ||
93 | +@with_settings(user='vagrant') | ||
93 | def rebuild_index(age=None, batch=None): | 94 | def rebuild_index(age=None, batch=None): |
94 | - with cd('~/colab/src/'), prefix(WORKON_COLAB): | 95 | + with cd('/vagrant/src/'), prefix(WORKON_COLAB): |
95 | age_arg = '' | 96 | age_arg = '' |
96 | if age: | 97 | if age: |
97 | age_arg = '--age={}'.format(age) | 98 | age_arg = '--age={}'.format(age) |
@@ -100,8 +101,22 @@ def rebuild_index(age=None, batch=None): | @@ -100,8 +101,22 @@ def rebuild_index(age=None, batch=None): | ||
100 | if batch: | 101 | if batch: |
101 | batch_arg = '--batch-size={}'.format(batch) | 102 | batch_arg = '--batch-size={}'.format(batch) |
102 | 103 | ||
104 | + cmd = 'python manage.py rebuild_index {} {}'.format(age_arg, batch_arg) | ||
105 | + returnMessage = run(cmd) | ||
106 | + if 'error: [Errno 111] Connection refused' in returnMessage: | ||
107 | + print red("Please run fab solr to start solr first") | ||
108 | + else: | ||
109 | + print green("All the index were updated") | ||
103 | 110 | ||
104 | - run('python manage.py rebuild_index {} {}'.format(age_arg, batch_arg)) | 111 | + |
112 | +@with_settings(user='vagrant') | ||
113 | +def solr_update_index(): | ||
114 | + with cd('/vagrant/src/'), prefix(WORKON_COLAB): | ||
115 | + returnMessage = run('python manage.py update_index') | ||
116 | + if 'error: [Errno 111] Connection refused' in returnMessage: | ||
117 | + print red("Please run fab solr to start solr first") | ||
118 | + else: | ||
119 | + print green("All the index were updated") | ||
105 | 120 | ||
106 | 121 | ||
107 | @with_settings(user='vagrant') | 122 | @with_settings(user='vagrant') |
@@ -128,3 +143,55 @@ def runserver(update_requirements=False): | @@ -128,3 +143,55 @@ def runserver(update_requirements=False): | ||
128 | run('python manage.py syncdb') | 143 | run('python manage.py syncdb') |
129 | run('python manage.py migrate') | 144 | run('python manage.py migrate') |
130 | run('python manage.py runserver 0.0.0.0:7000') | 145 | run('python manage.py runserver 0.0.0.0:7000') |
146 | + | ||
147 | + | ||
148 | +@with_settings(user='vagrant') | ||
149 | +def solr(port=8983): | ||
150 | + with cd('/vagrant/src/'), prefix(WORKON_COLAB): | ||
151 | + run('cd ~/solr-4.6.1/example; java -jar start.jar -Djetty.port={}'.format(port)) | ||
152 | + | ||
153 | + | ||
154 | +@with_settings(user='vagrant') | ||
155 | +def solr_rebuild_index(): | ||
156 | + with cd('/vagrant/src/'), prefix(WORKON_COLAB): | ||
157 | + returnMessage = run('python manage.py rebuild_index') | ||
158 | + if 'error: [Errno 111] Connection refused' in returnMessage: | ||
159 | + print red("Please run fab solr to start solr first") | ||
160 | + else: | ||
161 | + print green("All the index were updated") | ||
162 | + | ||
163 | + | ||
164 | +@with_settings(user='vagrant') | ||
165 | +def install_solr_4_6(): | ||
166 | + with cd('/vagrant/src/'), prefix(WORKON_COLAB): | ||
167 | + if not exists('~/solr-4.6.1'): | ||
168 | + run('wget https://archive.apache.org/dist/lucene/solr/4.6.1/solr-4.6.1.tgz -O /tmp/solr-4.6.1.tgz') | ||
169 | + run('tar xzf /tmp/solr-4.6.1.tgz -C /tmp/') | ||
170 | + run('cp -rf /tmp/solr-4.6.1 ~/solr-4.6.1') | ||
171 | + run('rm /tmp/solr-4.6.1') | ||
172 | + | ||
173 | + with cd('~/solr-4.6.1/example/solr/collection1/conf/'), prefix(WORKON_COLAB): | ||
174 | + if not exists('stopwords_en.txt'): | ||
175 | + run('cp stopwords.txt stopwords_en.txt') | ||
176 | + | ||
177 | + | ||
178 | +@with_settings(user='vagrant') | ||
179 | +def import_emails(): | ||
180 | + with cd('/vagrant/src/'), prefix(WORKON_COLAB): | ||
181 | + run('python manage.py import_emails') | ||
182 | + | ||
183 | + | ||
184 | +@with_settings(user='vagrant') | ||
185 | +def solr_4_build_schema(): | ||
186 | + with cd('/vagrant/src/'), prefix(WORKON_COLAB): | ||
187 | + solr_schema_file = '~/solr-4.6.1/example/solr/collection1/conf/schema.xml' | ||
188 | + run('python manage.py build_solr_schema -f {}'.format(solr_schema_file)) | ||
189 | + run(r'sed -i "s/<fields>/<fields>\n<field name=\"_version_\" type=\"long\" indexed=\"true\" stored =\"true\"\/>/" {}'.format(solr_schema_file)) | ||
190 | + | ||
191 | + | ||
192 | +def red(message): | ||
193 | + return "\033[0;31m" + message + "\033[0m" | ||
194 | + | ||
195 | + | ||
196 | +def green(message): | ||
197 | + return "\033[0;32m" + message + "\033[0m" |