Commit d59915d4ec14487883338bcddb976c659bd7030d

Authored by Guilherme Cantoni
1 parent 563619a4
Exists in master

Correção do problema de lock durante provisionamento do ambiente

O problema em questão foi gerado devido à bug do Vagrant/VirtualBox com a
versão do centos 6.5, vm utilizada como host do Docker.

O problema foi corrigido através da atualização da versão do host para o
CentOS 7, versão que não possui o bug com VirtualBox.

Também foram realizadas correções de encoding dos arquivos de
provisionamento, atualização da vm host e algumas otimizações no processo.
Vagrantfile
1   -# -*- mode: ruby -*-
2   -# vi: set ft=ruby :
3   -require "yaml"
4   -
5   -# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
6   -VAGRANTFILE_API_VERSION = "2"
7   -
8   -# Parâmetros de customização do ambiente de desenvolvimento
9   -params = if File.exists?("Vagrantfile.conf") then YAML::load_file("Vagrantfile.conf") else {} end
10   -params_source_dir = params["source_dir"] || "../sei"
11   -params_script_sei = params["script_sei"] || "../sei-db-ref-executivo/sei_2_5_2_BD_Ref_Exec.sql"
12   -params_script_sip = params["script_sip"] || "../sei-db-ref-executivo/sip_2_5_2_BD_Ref_Exec.sql"
13   -params_memoria_vm = params["memoria_vm"] || "2048"
14   -params_repo_arquivos = params["repositorio_arquivos"] || "../sei-arquivos"
15   -
16   -Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
17   - # All Vagrant configuration is done here. The most common configuration
18   - # options are documented and commented below. For a complete reference,
19   - # please see the online documentation at vagrantup.com.
20   -
21   - # Atribuição do hostname da máquina virtual
22   - config.vm.hostname = "sei-vagrant"
23   -
24   - # Every Vagrant virtual environment requires a box to build off of.
25   - config.vm.box = "guilhermeadc/centos65"
26   - config.vm.box_download_checksum = "76a2a61de2d89f6cfd4d795e57cc4406"
27   - config.vm.box_download_checksum_type = "md5"
28   -
29   - # Disable automatic box update checking. If you disable this, then
30   - # boxes will only be checked for updates when the user runs
31   - # `vagrant box outdated`. This is not recommended.
32   - config.vm.box_check_update = true
33   -
34   - # Configuração do redirecionamento entre Máquina Virtual e Host
35   - # Necessário permissões de root para utilizar a porta 80 (> 1024)
36   - config.vm.network :forwarded_port, guest: 80, host: 80 # SIP e SEI (Apache)
37   - config.vm.network :forwarded_port, guest: 3306, host: 3306 # Banco de Dados (Mysql)
38   - config.vm.network :forwarded_port, guest: 8080, host: 8080 # Jod Converter (Tomcat)
39   - config.vm.network :forwarded_port, guest: 8983, host: 8983 # Solr Indexer (Jetty)
40   -
41   - # Diretórios compartilhados com a durante a execução
42   - config.vm.synced_folder ".", "/mnt/sei/ops"
43   - config.vm.synced_folder params_source_dir, "/mnt/sei/src", mount_options: ["dmode=777", "fmode=777"]
44   - config.vm.synced_folder params_repo_arquivos, "/mnt/sei/arquivos", create: true, mount_options: ["dmode=777", "fmode=777"]
45   - config.vm.synced_folder File.dirname(params_script_sei), "/mnt/sei/db_sei"
46   - config.vm.synced_folder File.dirname(params_script_sip), "/mnt/sei/db_sip"
47   -
48   - # Provider-specific configuration so you can fine-tune various
49   - # backing providers for Vagrant. These expose provider-specific options.
50   - config.vm.provider "virtualbox" do |vb|
51   - # Don't boot with headless mode
52   - # vb.gui = true
53   - # Use VBoxManage to customize the VM. For example to change memory:
54   - vb.customize ["modifyvm", :id, "--memory", params_memoria_vm, "--usb", "off", "--audio", "none"]
55   - end
56   -
57   - $script_banco_dados = <<SCRIPT
58   - mkdir -p /mnt/sei/ops/mysql/.tmp/
59   - cp /mnt/sei/db_sei/$1 /mnt/sei/ops/mysql/.tmp/sei_mysql.sql
60   - cp /mnt/sei/db_sip/$2 /mnt/sei/ops/mysql/.tmp/sip_mysql.sql
61   - cp /mnt/sei/ops/sei/ConfiguracaoSEI.php /mnt/sei/src/sei/ConfiguracaoSEI.php
62   - cp /mnt/sei/ops/sei/ConfiguracaoSip.php /mnt/sei/src/sip/ConfiguracaoSip.php
63   -SCRIPT
64   -
65   - config.vm.provision "shell",
66   - inline: $script_banco_dados,
67   - args: [File.basename(params_script_sei), File.basename(params_script_sip)]
68   -
69   - # Provisionamento da Máquina Virtual responsável por manter os containers do Docker
70   - config.vm.provision "docker" do |docker|
71   -
72   - # Constrói imagens dos containers utilizados no provicionamento
73   - docker.build_image "/mnt/sei/ops/mysql", args: "-t 'sei.gov/mysql'"
74   - docker.build_image "/mnt/sei/ops/sei", args: "-t 'sei.gov/sei'"
75   - docker.build_image "/mnt/sei/ops/solr", args: "-t 'sei.gov/solr'"
76   - docker.build_image "/mnt/sei/ops/jod", args: "-t 'sei.gov/jod'"
77   -
78   - # Provisiona docker containers na máquina virtual
79   - # docker run -it --name sei_data -v /mnt/sei/arquivos:/var/sei/arquivos centos:centos6 true
80   - docker.run "sei_data", image: "centos:centos6",
81   - args: "-v /mnt/sei/arquivos:/var/sei/arquivos",
82   - cmd: "true"
83   -
84   - # docker run -it --name sei_db -p 3306:3306 --rm sei.gov/mysql:latest
85   - docker.run "sei_db", image: "sei.gov/mysql:latest",
86   - daemonize: true,
87   - args: "-p 3306:3306"
88   -
89   - # docker run -it --name sei_solr -p 8983:8983 --rm -v /mnt/sei/src/sei/solr:/mnt/sei/index sei.gov/solr:latest
90   - docker.run "sei_solr", image: "sei.gov/solr:latest",
91   - daemonize: true,
92   - args: "-p 8983:8983 -v /mnt/sei/src/sei/solr:/mnt/sei/index"
93   -
94   - # docker run -it --name sei_jod -p 8080:8080 --rm sei.gov/jod:latest
95   - docker.run "sei_jod", image: "sei.gov/jod:latest",
96   - daemonize: true,
97   - args: "-p 8080:8080"
98   -
99   - # docker run -it --name sei_www -p 80:80 --rm --link sei_solr:solr --link sei_db:db --link sei_jod:jod -v /mnt/sei/src:/var/www/html -v /mnt/sei/ops/sei:/mnt/sei/ops/sei --volumes-from sei_data sei.gov/sei:latest
100   - docker.run "sei_www", image: "sei.gov/sei:latest",
101   - daemonize: true,
102   - args: "-p 80:80 --link sei_db:db --link sei_solr:solr --link sei_jod:jod -v /mnt/sei/src:/var/www/html -v /mnt/sei/ops/sei:/mnt/sei/ops/sei --volumes-from sei_data"
103   - end
104   -
105   - # Limpeza de arquivos temporários criados durante o provisionamento do sistema
106   - config.vm.provision "shell", inline: "rm -rf /mnt/sei/ops/mysql/.tmp"
107   -
108   - # Inicialização dos containers em caso de reinicialização da máquina host
109   - config.vm.provision "shell", run: "always", inline: "docker start sei_data sei_db sei_solr sei_jod sei_www"
110   -end
  1 +# -*- mode: ruby -*-
  2 +# vi: set ft=ruby :
  3 +require "yaml"
  4 +
  5 +# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
  6 +VAGRANTFILE_API_VERSION = "2"
  7 +
  8 +# Parâmetros de customização do ambiente de desenvolvimento
  9 +params = if File.exists?("Vagrantfile.conf") then YAML::load_file("Vagrantfile.conf") else {} end
  10 +params_source_dir = params["source_dir"] || "../sei"
  11 +params_script_sei = params["script_sei"] || "../sei-db-ref-executivo/sei_2_5_2_BD_Ref_Exec.sql"
  12 +params_script_sip = params["script_sip"] || "../sei-db-ref-executivo/sip_2_5_2_BD_Ref_Exec.sql"
  13 +params_memoria_vm = params["memoria_vm"] || "1024"
  14 +params_repo_arquivos = params["repositorio_arquivos"] || "../sei-arquivos"
  15 +
  16 +Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  17 + # All Vagrant configuration is done here. The most common configuration
  18 + # options are documented and commented below. For a complete reference,
  19 + # please see the online documentation at vagrantup.com.
  20 +
  21 + # Atribuição do hostname da máquina virtual
  22 + config.vm.hostname = "sei-vagrant"
  23 +
  24 + # Every Vagrant virtual environment requires a box to build off of.
  25 + # config.vm.box = "guilhermeadc/centos65"
  26 + # config.vm.box_download_checksum = "76a2a61de2d89f6cfd4d795e57cc4406"
  27 + # config.vm.box_download_checksum_type = "md5"
  28 + config.vm.box = "chef/centos-7.0"
  29 +
  30 + # Disable automatic box update checking. If you disable this, then
  31 + # boxes will only be checked for updates when the user runs
  32 + # `vagrant box outdated`. This is not recommended.
  33 + config.vm.box_check_update = true
  34 +
  35 + # Configuração do redirecionamento entre Máquina Virtual e Host
  36 + # Necessário permissões de root para utilizar a porta 80 (> 1024)
  37 + config.vm.network :forwarded_port, guest: 80, host: 80 # SIP e SEI (Apache)
  38 + config.vm.network :forwarded_port, guest: 3306, host: 3306 # Banco de Dados (Mysql)
  39 + config.vm.network :forwarded_port, guest: 8080, host: 8080 # Jod Converter (Tomcat)
  40 + config.vm.network :forwarded_port, guest: 8983, host: 8983 # Solr Indexer (Jetty)
  41 +
  42 + # Diretórios compartilhados com a durante a execução
  43 + config.vm.synced_folder ".", "/mnt/sei/ops"
  44 + config.vm.synced_folder params_source_dir, "/mnt/sei/src", mount_options: ["dmode=777", "fmode=777"]
  45 + config.vm.synced_folder params_repo_arquivos, "/mnt/sei/arquivos", create: true, mount_options: ["dmode=777", "fmode=777"]
  46 + config.vm.synced_folder File.dirname(params_script_sei), "/mnt/sei/db_sei"
  47 + config.vm.synced_folder File.dirname(params_script_sip), "/mnt/sei/db_sip"
  48 +
  49 + # Provider-specific configuration so you can fine-tune various
  50 + # backing providers for Vagrant. These expose provider-specific options.
  51 + config.vm.provider "virtualbox" do |vb|
  52 + # Don't boot with headless mode
  53 + # vb.gui = true
  54 + # Use VBoxManage to customize the VM. For example to change memory:
  55 + vb.customize ["modifyvm", :id, "--memory", params_memoria_vm, "--usb", "off", "--audio", "none"]
  56 + end
  57 +
  58 + $script_banco_dados = <<SCRIPT
  59 + mkdir -p /mnt/sei/ops/mysql/.tmp/
  60 + cp /mnt/sei/db_sei/$1 /mnt/sei/ops/mysql/.tmp/sei_mysql.sql
  61 + cp /mnt/sei/db_sip/$2 /mnt/sei/ops/mysql/.tmp/sip_mysql.sql
  62 + cp /mnt/sei/ops/sei/ConfiguracaoSEI.php /mnt/sei/src/sei/ConfiguracaoSEI.php
  63 + cp /mnt/sei/ops/sei/ConfiguracaoSip.php /mnt/sei/src/sip/ConfiguracaoSip.php
  64 +SCRIPT
  65 +
  66 +# Atualização da VM de host do docker
  67 + config.vm.provision "shell", run: "always", inline: "yum -y update && yum -y upgrade"
  68 +
  69 + config.vm.provision "shell",
  70 + inline: $script_banco_dados,
  71 + args: [File.basename(params_script_sei), File.basename(params_script_sip)]
  72 +
  73 + # Provisionamento da Máquina Virtual responsável por manter os containers do Docker
  74 + config.vm.provision "docker" do |docker|
  75 +
  76 + # Constrói imagens dos containers utilizados no provicionamento
  77 + docker.build_image "/mnt/sei/ops/solr", args: "-t 'processoeletronico/solr'"
  78 + docker.build_image "/mnt/sei/ops/mysql", args: "-t 'processoeletronico/mysql'"
  79 + docker.build_image "/mnt/sei/ops/sei", args: "-t 'processoeletronico/sei'"
  80 + docker.build_image "/mnt/sei/ops/jod", args: "-t 'processoeletronico/jod'"
  81 +
  82 + # Provisiona docker containers na máquina virtual
  83 + # docker run -it --name sei_data -v /mnt/sei/arquivos:/var/sei/arquivos centos:centos6 true
  84 + docker.run "sei_data", image: "centos:centos6",
  85 + args: "-v /mnt/sei/arquivos:/var/sei/arquivos",
  86 + cmd: "true"
  87 +
  88 + # docker run -it --name sei_db -p 3306:3306 --rm processoeletronico/mysql:latest
  89 + docker.run "sei_db", image: "processoeletronico/mysql:latest",
  90 + daemonize: true,
  91 + args: "-p 3306:3306"
  92 +
  93 + # docker run -it --name sei_solr -p 8983:8983 --rm -v /mnt/sei/src/sei/solr:/mnt/sei/index processoeletronico/solr:latest
  94 + docker.run "sei_solr", image: "processoeletronico/solr:latest",
  95 + daemonize: true,
  96 + args: "-p 8983:8983 -v /mnt/sei/src/sei/solr:/mnt/sei/index"
  97 +
  98 + # docker run -it --name sei_jod -p 8080:8080 --rm processoeletronico/jod:latest
  99 + docker.run "sei_jod", image: "processoeletronico/jod:latest",
  100 + daemonize: true,
  101 + args: "-p 8080:8080"
  102 +
  103 + # docker run -it --name sei_www -p 80:80 --rm --link sei_solr:solr --link sei_db:db --link sei_jod:jod -v /mnt/sei/src:/var/www/html -v /mnt/sei/ops/sei:/mnt/sei/ops/sei --volumes-from sei_data processoeletronico/sei:latest
  104 + docker.run "sei_www", image: "processoeletronico/sei:latest",
  105 + daemonize: true,
  106 + args: "-p 80:80 --link sei_db:db --link sei_solr:solr --link sei_jod:jod -v /mnt/sei/src:/var/www/html -v /mnt/sei/ops/sei:/mnt/sei/ops/sei --volumes-from sei_data"
  107 + end
  108 +
  109 + # Limpeza de arquivos temporários criados durante o provisionamento do sistema
  110 + config.vm.provision "shell", inline: "rm -rf /mnt/sei/ops/mysql/.tmp"
  111 +
  112 + # Inicialização dos containers em caso de reinicialização da máquina host
  113 + config.vm.provision "shell", run: "always", inline: "docker start sei_db sei_solr sei_jod sei_www"
  114 +end
111 115 \ No newline at end of file
... ...
Vagrantfile.conf.example
... ... @@ -13,4 +13,4 @@ script_sip: &quot;../sei-db-ref-executivo/sip_2_5_2_BD_Ref_Exec.sql&quot;
13 13 repositorio_arquivos: "../sei-arquivos"
14 14  
15 15 # Quantidade de memória utilizada pela VM do VirtualBox (em Megabytes)
16   -memoria_vm: "2048"
  16 +memoria_vm: "1024"
... ...
jod/Dockerfile
... ... @@ -27,7 +27,8 @@ RUN yum -y update libreoffice libreoffice-headless &amp;&amp; \
27 27 yum install -y libreoffice libreoffice-headless
28 28  
29 29 # Instalação da api de serviços de conversão de documentos
30   -RUN wget -q -O /opt/jodconverter-tomcat-2.2.2.zip http://sourceforge.net/projects/jodconverter/files/JODConverter/2.2.2/jodconverter-tomcat-2.2.2.zip/download
  30 +ADD jodconverter-tomcat-2.2.2.zip /opt/
  31 +# RUN wget -q -O /opt/jodconverter-tomcat-2.2.2.zip http://sourceforge.net/projects/jodconverter/files/JODConverter/2.2.2/jodconverter-tomcat-2.2.2.zip/download
31 32 RUN unzip /opt/jodconverter-tomcat-2.2.2.zip -d /opt && rm /opt/jodconverter-tomcat-2.2.2.zip
32 33  
33 34 # Script de inicialização dos serviços
... ...
jod/jodconverter-tomcat-2.2.2.zip 0 → 100644
No preview for this file type
jod/run.sh
1   -#!/bin/bash
  1 +#!/usr/bin/env bash
  2 +
2 3 SOFFICE_PATH=/usr/bin/soffice
3 4 TOMCAT6_PATH=/opt/jodconverter-tomcat-2.2.2/bin/catalina.sh
4 5  
... ... @@ -6,4 +7,4 @@ echo &quot;Iniciando o serviço LibreOffice headless&quot;
6 7 $SOFFICE_PATH --headless --nologo --nofirststartwizard --accept="socket,host=127.0.0.1,port=8100;urp" & > /dev/null 2>&1
7 8  
8 9 echo "Iniciando o serviço Tomcat 6"
9   -$TOMCAT6_PATH run
10 10 \ No newline at end of file
  11 +$TOMCAT6_PATH run
... ...
sei/Dockerfile
... ... @@ -16,14 +16,14 @@ MAINTAINER PEN - Processo Eletrônico Nacional
16 16 # Ref: http://sei.processoeletronico.gov.br/wiki/manual_de_instalacao#<SESSAO DE INSTALAÇÃO DO SEI e SIP>
17 17  
18 18 # Instalação do servidor web Apache 2.2, memcache e demais componentes
19   -RUN yum -y update httpd-2.2.* mysql-5.1.* memcached openssl wget curl unzip gcc java-1.7.0-openjdk libxml2 && \
  19 +RUN yum -y update && \
20 20 yum -y install httpd-2.2.* mysql-5.1.* memcached openssl wget curl unzip gcc java-1.7.0-openjdk libxml2
21 21  
22 22 # Configuração do charset do Apache
23 23 RUN echo "AddDefaultCharset iso-8859-1" | tee -a /etc/httpd/conf/httpd.conf
24 24  
25 25 # Instalação do PHP 5 e demais bibliotecas
26   -RUN yum -y update php-* && \
  26 +RUN yum -y update && \
27 27 yum -y install php-5.3.* php-common php-cli php-pear php-bcmath php-gd php-gmp \
28 28 php-imap php-intl php-ldap php-mbstring php-mysql php-odbc php-pdo php-pecl-apc \
29 29 php-pspell php-zlib php-snmp php-soap php-xml php-xmlrpc php-zts php-devel \
... ... @@ -34,8 +34,8 @@ RUN pecl install uploadprogress &amp;&amp; \
34 34 echo "extension=uploadprogress.so" >> /etc/php.d/uploadprogress.ini
35 35  
36 36 # Configuração dos parâmetros do SEI e SIP
37   -ADD ConfiguracaoSEI.php /var/www/html/sei/ConfiguracaoSEI.php
38   -ADD ConfiguracaoSip.php /var/www/html/sip/ConfiguracaoSip.php
  37 +ADD ConfiguracaoSEI.php /opt/sei/ConfiguracaoSEI.php
  38 +ADD ConfiguracaoSip.php /opt/sip/ConfiguracaoSip.php
39 39  
40 40 # Copia arquivos necessários para a instalação
41 41 ADD sei.ini /etc/php.d/sei.ini
... ... @@ -48,4 +48,4 @@ RUN chmod +x /run.sh
48 48 EXPOSE 80
49 49  
50 50 # Inicialização dos serviços Apache e Memcache
51 51 -CMD ["/run.sh"]
  52 +CMD ["/run.sh"]
52 53 \ No newline at end of file
... ...
sei/run.sh
1   -#!/bin/bash
  1 +#!/usr/bin/env bash
2 2  
3 3 echo "127.0.0.1 sip_www" | tee -a /etc/hosts
4 4  
5 5 # Atribuição dos parâmetros de configuração do SEI
6   -cp /mnt/sei/ops/sei/ConfiguracaoSEI.php /var/www/html/sei/ConfiguracaoSEI.php
7   -cp /mnt/sei/ops/sip/ConfiguracaoSip.php /var/www/html/sip/ConfiguracaoSip.php
  6 +cp /opt/sei/ConfiguracaoSEI.php /var/www/html/sei/ConfiguracaoSEI.php
  7 +cp /opt/sip/ConfiguracaoSip.php /var/www/html/sip/ConfiguracaoSip.php
8 8  
9 9 # Criação do diretório padrão de upload de arquivos
10 10 mkdir /var/www/html/sei/upload && chmod -R 666 /var/www/html/sei/upload
11 11 mkdir /var/www/html/sip/upload && chmod -R 666 /var/www/html/sip/upload
12 12  
  13 +# Permissão de execução para utilitário de conversão de PDFs
  14 +chmod +x /var/www/html/sei/ferramentas/wkhtmltopdf-amd64
  15 +
13 16 # Inicialização do serviço de cache
14 17 /etc/init.d/memcached start 2>&1 > /dev/null
15 18  
... ...
solr/Dockerfile
... ... @@ -15,22 +15,18 @@ MAINTAINER PEN - Processo Eletrônico Nacional
15 15 # Instalação do MySQL seguindo as recomendações descritas na documentação do SEI
16 16 # Ref: http://<WIKI DO PROJETO>#<SESSAO DE INSTALAÇÃO DO MYSQL>
17 17  
18   -# Instalação do pacote Java JDK
19   -RUN yum update -y java-1.7.0-openjdk && \
20   - yum install -y java-1.7.0-openjdk
21   -
22   -# Instalação dos utilitários utilizados no provisionamento
23   -RUN yum install -y wget tar curl which
  18 +# Instalação do pacote Java JDK e utilitários utilizados no provisionamento
  19 +RUN yum update -y && \
  20 + yum install -y java-1.7.0-openjdk wget tar curl which
24 21  
25 22 # Criação de usuário de execução do serviço
26 23 RUN useradd solr
27 24  
28 25 # Obtenção do pacote de instalação do Solr 4.0
29   -RUN wget -q -O /opt/solr-4.0.0.tgz http://archive.apache.org/dist/lucene/solr/4.0.0/apache-solr-4.0.0.tgz
  26 +ADD apache-solr-4.0.0.tgz /opt/
30 27  
31 28 # Instalação do Apache Solr
32   -RUN tar xvz -C /opt -f /opt/solr-4.0.0.tgz && mv /opt/apache-solr-4.0.0 /opt/solr && \
33   - chown -R solr:solr /opt/solr && rm /opt/solr-4.0.0.tgz
  29 +RUN mv /opt/apache-solr-4.0.0 /opt/solr && chown -R solr:solr /opt/solr
34 30  
35 31 # Configuração dos parâmetros default
36 32 RUN echo "JAVA_OPTIONS='-Dsolr.solr.home=/opt/solr/example/solr $JAVA_OPTIONS'" | tee -a /etc/default/jetty && \
... ... @@ -74,18 +70,18 @@ RUN mkdir /var/opt/sei/sei-protocolos/conteudo &amp;&amp; \
74 70  
75 71 # Configuração dos links a instalação do Solr e o índice Protocolo
76 72 RUN ln -s /opt/solr/contrib/ /var/opt/sei/sei-protocolos/contrib && \
77   - ln -s /opt/solr/dist/ /var/opt/sei/sei-protocolos/dist && \
78   - ln -s /opt/solr/example/lib/ /var/opt/sei/sei-protocolos/lib
  73 + ln -s /opt/solr/dist/ /var/opt/sei/sei-protocolos/dist && \
  74 + ln -s /opt/solr/example/lib/ /var/opt/sei/sei-protocolos/lib
79 75  
80 76 # Configuração dos links a instalação do Solr e o índice Base de Conhecimento
81 77 RUN ln -s /opt/solr/contrib/ /var/opt/sei/sei-bases-conhecimento/contrib && \
82   - ln -s /opt/solr/dist/ /var/opt/sei/sei-bases-conhecimento/dist && \
83   - ln -s /opt/solr/example/lib/ /var/opt/sei/sei-bases-conhecimento/lib
  78 + ln -s /opt/solr/dist/ /var/opt/sei/sei-bases-conhecimento/dist && \
  79 + ln -s /opt/solr/example/lib/ /var/opt/sei/sei-bases-conhecimento/lib
84 80  
85 81 # Configuração dos links a instalação do Solr e o índice Publicações
86 82 RUN ln -s /opt/solr/contrib/ /var/opt/sei/sei-publicacoes/contrib && \
87   - ln -s /opt/solr/dist/ /var/opt/sei/sei-publicacoes/dist && \
88   - ln -s /opt/solr/example/lib/ /var/opt/sei/sei-publicacoes/lib
  83 + ln -s /opt/solr/dist/ /var/opt/sei/sei-publicacoes/dist && \
  84 + ln -s /opt/solr/example/lib/ /var/opt/sei/sei-publicacoes/lib
89 85  
90 86 # Configuração de log e permissões de pastas
91 87 RUN mkdir /var/log/solr
... ... @@ -93,15 +89,15 @@ RUN chown solr:solr -R /opt/solr /var/opt/sei /var/log/solr
93 89  
94 90 # Construção dos índices de protocolos do SEI
95 91 RUN service solr start && sleep 20 && \
96   - curl 'http://localhost:8983/solr/admin/cores?action=CREATE&name=sei-protocolos&instanceDir=/var/opt/sei/sei-protocolos&config=sei-protocolos-config.xml&schema=sei-protocolos-schema.xml&dataDir=/var/opt/sei/sei-protocolos/conteudo'
  92 + curl 'http://localhost:8983/solr/admin/cores?action=CREATE&name=sei-protocolos&instanceDir=/var/opt/sei/sei-protocolos&config=sei-protocolos-config.xml&schema=sei-protocolos-schema.xml&dataDir=/var/opt/sei/sei-protocolos/conteudo'
97 93  
98 94 # Construção dos índices da base de conhecimento do SEI
99 95 RUN service solr start && sleep 20 && \
100   - curl 'http://localhost:8983/solr/admin/cores?action=CREATE&name=sei-bases-conhecimento&instanceDir=/var/opt/sei/sei-bases-conhecimento&config=sei-bases-conhecimento-config.xml&schema=sei-bases-conhecimento-schema.xml&dataDir=/var/opt/sei/sei-bases-conhecimento/conteudo'
  96 + curl 'http://localhost:8983/solr/admin/cores?action=CREATE&name=sei-bases-conhecimento&instanceDir=/var/opt/sei/sei-bases-conhecimento&config=sei-bases-conhecimento-config.xml&schema=sei-bases-conhecimento-schema.xml&dataDir=/var/opt/sei/sei-bases-conhecimento/conteudo'
101 97  
102 98 # Construção dos índices de publicações do SEI
103 99 RUN service solr start && sleep 20 && \
104   - curl 'http://localhost:8983/solr/admin/cores?action=CREATE&name=sei-publicacoes&instanceDir=/var/opt/sei/sei-publicacoes&config=sei-publicacoes-config.xml&schema=sei-publicacoes-schema.xml&dataDir=/var/opt/sei/sei-publicacoes/conteudo'
  100 + curl 'http://localhost:8983/solr/admin/cores?action=CREATE&name=sei-publicacoes&instanceDir=/var/opt/sei/sei-publicacoes&config=sei-publicacoes-config.xml&schema=sei-publicacoes-schema.xml&dataDir=/var/opt/sei/sei-publicacoes/conteudo'
105 101  
106 102 # Construção dos índices de publicações do SEI
107 103 RUN service solr start && sleep 20 && \
... ... @@ -116,4 +112,4 @@ WORKDIR /opt/solr/example
116 112 EXPOSE 8983
117 113  
118 114 # Inicialização dos serviços Apache e Memcache
119 115 -CMD ["java", "-jar", "start.jar"]
  116 +CMD ["java", "-jar", "start.jar"]
120 117 \ No newline at end of file
... ...
solr/jetty 0 → 100644
... ... @@ -0,0 +1,3 @@
  1 +JAVA_OPTIONS='-Dsolr.solr.home=/opt/apache-solr-4.0.0/example/solr $JAVA_OPTIONS'
  2 +JETTY_HOME='/opt/apache-solr-4.0.0/example/'
  3 +JETTY_USER=solr
0 4 \ No newline at end of file
... ...
solr/jetty.sh 0 → 100644
... ... @@ -0,0 +1,605 @@
  1 +#!/usr/bin/env bash
  2 +#
  3 +# Startup script for jetty under *nix systems (it works under NT/cygwin too).
  4 +
  5 +# To get the service to restart correctly on reboot, uncomment below (3 lines):
  6 +# ========================
  7 +# chkconfig: 3 99 99
  8 +# description: Jetty 7 webserver
  9 +# processname: jetty
  10 +# ========================
  11 +
  12 +# Configuration files
  13 +#
  14 +# /etc/default/jetty
  15 +# If it exists, this is read at the start of script. It may perform any
  16 +# sequence of shell commands, like setting relevant environment variables.
  17 +#
  18 +# $HOME/.jettyrc
  19 +# If it exists, this is read at the start of script. It may perform any
  20 +# sequence of shell commands, like setting relevant environment variables.
  21 +#
  22 +# /etc/jetty.conf
  23 +# If found, and no configurations were given on the command line,
  24 +# the file will be used as this script's configuration.
  25 +# Each line in the file may contain:
  26 +# - A comment denoted by the pound (#) sign as first non-blank character.
  27 +# - The path to a regular file, which will be passed to jetty as a
  28 +# config.xml file.
  29 +# - The path to a directory. Each *.xml file in the directory will be
  30 +# passed to jetty as a config.xml file.
  31 +#
  32 +# The files will be checked for existence before being passed to jetty.
  33 +#
  34 +# $JETTY_HOME/etc/jetty.xml
  35 +# If found, used as this script's configuration file, but only if
  36 +# /etc/jetty.conf was not present. See above.
  37 +#
  38 +# Configuration variables
  39 +#
  40 +# JAVA
  41 +# Command to invoke Java. If not set, java (from the PATH) will be used.
  42 +#
  43 +# JAVA_OPTIONS
  44 +# Extra options to pass to the JVM
  45 +#
  46 +# JETTY_HOME
  47 +# Where Jetty is installed. If not set, the script will try go
  48 +# guess it by first looking at the invocation path for the script,
  49 +# and then by looking in standard locations as $HOME/opt/jetty
  50 +# and /opt/jetty. The java system property "jetty.home" will be
  51 +# set to this value for use by configure.xml files, f.e.:
  52 +#
  53 +# <Arg><Property name="jetty.home" default="."/>/webapps/jetty.war</Arg>
  54 +#
  55 +# JETTY_PORT
  56 +# Override the default port for Jetty servers. If not set then the
  57 +# default value in the xml configuration file will be used. The java
  58 +# system property "jetty.port" will be set to this value for use in
  59 +# configure.xml files. For example, the following idiom is widely
  60 +# used in the demo config files to respect this property in Listener
  61 +# configuration elements:
  62 +#
  63 +# <Set name="Port"><Property name="jetty.port" default="8080"/></Set>
  64 +#
  65 +# Note: that the config file could ignore this property simply by saying:
  66 +#
  67 +# <Set name="Port">8080</Set>
  68 +#
  69 +# JETTY_RUN
  70 +# Where the jetty.pid file should be stored. It defaults to the
  71 +# first available of /var/run, /usr/var/run, JETTY_HOME and /tmp
  72 +# if not set.
  73 +#
  74 +# JETTY_PID
  75 +# The Jetty PID file, defaults to $JETTY_RUN/jetty.pid
  76 +#
  77 +# JETTY_ARGS
  78 +# The default arguments to pass to jetty.
  79 +#
  80 +# JETTY_USER
  81 +# if set, then used as a username to run the server as
  82 +#
  83 +
  84 +usage()
  85 +{
  86 + echo "Usage: ${0##*/} [-d] {start|stop|run|restart|check|supervise} [ CONFIGS ... ] "
  87 + exit 1
  88 +}
  89 +
  90 +[ $# -gt 0 ] || usage
  91 +
  92 +
  93 +##################################################
  94 +# Some utility functions
  95 +##################################################
  96 +findDirectory()
  97 +{
  98 + local L OP=$1
  99 + shift
  100 + for L in "$@"; do
  101 + [ "$OP" "$L" ] || continue
  102 + printf %s "$L"
  103 + break
  104 + done
  105 +}
  106 +
  107 +running()
  108 +{
  109 + local PID=$(cat "$1" 2>/dev/null) || return 1
  110 + kill -0 "$PID" 2>/dev/null
  111 +}
  112 +
  113 +started()
  114 +{
  115 + # wait for 60s to see "STARTED" in PID file, needs jetty-started.xml as argument
  116 + for T in 1 2 3 4 5 6 7 9 10 11 12 13 14 15
  117 + do
  118 + sleep 4
  119 + [ -z "$(grep STARTED $1 2>/dev/null)" ] || return 0
  120 + [ -z "$(grep STOPPED $1 2>/dev/null)" ] || return 1
  121 + [ -z "$(grep FAILED $1 2>/dev/null)" ] || return 1
  122 + local PID=$(cat "$2" 2>/dev/null) || return 1
  123 + kill -0 "$PID" 2>/dev/null || return 1
  124 + echo -n ". "
  125 + done
  126 +
  127 + return 1;
  128 +}
  129 +
  130 +
  131 +readConfig()
  132 +{
  133 + (( DEBUG )) && echo "Reading $1.."
  134 + source "$1"
  135 +}
  136 +
  137 +
  138 +
  139 +##################################################
  140 +# Get the action & configs
  141 +##################################################
  142 +CONFIGS=()
  143 +NO_START=0
  144 +DEBUG=0
  145 +
  146 +while [[ $1 = -* ]]; do
  147 + case $1 in
  148 + -d) DEBUG=1 ;;
  149 + esac
  150 + shift
  151 +done
  152 +ACTION=$1
  153 +shift
  154 +
  155 +##################################################
  156 +# Read any configuration files
  157 +##################################################
  158 +ETC=/etc
  159 +if [ $UID != 0 ]
  160 +then
  161 + ETC=$HOME/etc
  162 +fi
  163 +
  164 +for CONFIG in $ETC/default/jetty{,7} $HOME/.jettyrc; do
  165 + if [ -f "$CONFIG" ] ; then
  166 + readConfig "$CONFIG"
  167 + fi
  168 +done
  169 +
  170 +
  171 +##################################################
  172 +# Set tmp if not already set.
  173 +##################################################
  174 +TMPDIR=${TMPDIR:-/tmp}
  175 +
  176 +##################################################
  177 +# Jetty's hallmark
  178 +##################################################
  179 +JETTY_INSTALL_TRACE_FILE="etc/jetty.xml"
  180 +
  181 +
  182 +##################################################
  183 +# Try to determine JETTY_HOME if not set
  184 +##################################################
  185 +if [ -z "$JETTY_HOME" ]
  186 +then
  187 + JETTY_SH=$0
  188 + case "$JETTY_SH" in
  189 + /*) ;;
  190 + ./*) ;;
  191 + *) JETTY_SH=./$JETTY_SH ;;
  192 + esac
  193 + JETTY_HOME=${JETTY_SH%/*/*}
  194 +
  195 + if [ ! -f "${JETTY_SH%/*/*}/$JETTY_INSTALL_TRACE_FILE" ]
  196 + then
  197 + JETTY_HOME=
  198 + fi
  199 +fi
  200 +
  201 +
  202 +##################################################
  203 +# if no JETTY_HOME, search likely locations.
  204 +##################################################
  205 +if [ -z "$JETTY_HOME" ] ; then
  206 + STANDARD_LOCATIONS=(
  207 + "/usr/share"
  208 + "/usr/share/java"
  209 + "${HOME}"
  210 + "${HOME}/src"
  211 + "${HOME}/opt"
  212 + "/opt"
  213 + "/java"
  214 + "/usr/local"
  215 + "/usr/local/share"
  216 + "/usr/local/share/java"
  217 + "/home"
  218 + )
  219 + JETTY_DIR_NAMES=(
  220 + "jetty-7"
  221 + "jetty7"
  222 + "jetty-7.*"
  223 + "jetty"
  224 + "Jetty-7"
  225 + "Jetty7"
  226 + "Jetty-7.*"
  227 + "Jetty"
  228 + )
  229 +
  230 + for L in "${STANDARD_LOCATIONS[@]}"
  231 + do
  232 + for N in "${JETTY_DIR_NAMES[@]}"
  233 + do
  234 + POSSIBLE_JETTY_HOME=("$L/"$N)
  235 + if [ ! -d "$POSSIBLE_JETTY_HOME" ]
  236 + then
  237 + # Not a directory. skip.
  238 + unset POSSIBLE_JETTY_HOME
  239 + elif [ ! -f "$POSSIBLE_JETTY_HOME/$JETTY_INSTALL_TRACE_FILE" ]
  240 + then
  241 + # Trace file not found. skip.
  242 + unset POSSIBLE_JETTY_HOME
  243 + else
  244 + # Good hit, Use it
  245 + JETTY_HOME=$POSSIBLE_JETTY_HOME
  246 + # Break out of JETTY_DIR_NAMES loop
  247 + break
  248 + fi
  249 + done
  250 + if [ -n "$POSSIBLE_JETTY_HOME" ]
  251 + then
  252 + # We have found our JETTY_HOME
  253 + # Break out of STANDARD_LOCATIONS loop
  254 + break
  255 + fi
  256 + done
  257 +fi
  258 +
  259 +
  260 +##################################################
  261 +# No JETTY_HOME yet? We're out of luck!
  262 +##################################################
  263 +if [ -z "$JETTY_HOME" ]; then
  264 + echo "** ERROR: JETTY_HOME not set, you need to set it or install in a standard location"
  265 + exit 1
  266 +fi
  267 +
  268 +cd "$JETTY_HOME"
  269 +JETTY_HOME=$PWD
  270 +
  271 +
  272 +#####################################################
  273 +# Check that jetty is where we think it is
  274 +#####################################################
  275 +if [ ! -r "$JETTY_HOME/$JETTY_INSTALL_TRACE_FILE" ]
  276 +then
  277 + echo "** ERROR: Oops! Jetty doesn't appear to be installed in $JETTY_HOME"
  278 + echo "** ERROR: $JETTY_HOME/$JETTY_INSTALL_TRACE_FILE is not readable!"
  279 + exit 1
  280 +fi
  281 +
  282 +##################################################
  283 +# Try to find this script's configuration file,
  284 +# but only if no configurations were given on the
  285 +# command line.
  286 +##################################################
  287 +if [ -z "$JETTY_CONF" ]
  288 +then
  289 + if [ -f $ETC/jetty.conf ]
  290 + then
  291 + JETTY_CONF=$ETC/jetty.conf
  292 + elif [ -f "$JETTY_HOME/etc/jetty.conf" ]
  293 + then
  294 + JETTY_CONF=$JETTY_HOME/etc/jetty.conf
  295 + fi
  296 +fi
  297 +
  298 +##################################################
  299 +# Get the list of config.xml files from jetty.conf
  300 +##################################################
  301 +if [ -z "$CONFIGS" ] && [ -f "$JETTY_CONF" ] && [ -r "$JETTY_CONF" ]
  302 +then
  303 + while read -r CONF
  304 + do
  305 + if expr "$CONF" : '#' >/dev/null ; then
  306 + continue
  307 + fi
  308 +
  309 + if [ -d "$CONF" ]
  310 + then
  311 + # assume it's a directory with configure.xml files
  312 + # for example: /etc/jetty.d/
  313 + # sort the files before adding them to the list of CONFIGS
  314 + for XMLFILE in "$CONF/"*.xml
  315 + do
  316 + if [ -r "$XMLFILE" ] && [ -f "$XMLFILE" ]
  317 + then
  318 + CONFIGS+=("$XMLFILE")
  319 + else
  320 + echo "** WARNING: Cannot read '$XMLFILE' specified in '$JETTY_CONF'"
  321 + fi
  322 + done
  323 + else
  324 + # assume it's a command line parameter (let start.jar deal with its validity)
  325 + CONFIGS+=("$CONF")
  326 + fi
  327 + done < "$JETTY_CONF"
  328 +fi
  329 +
  330 +#####################################################
  331 +# Find a location for the pid file
  332 +#####################################################
  333 +if [ -z "$JETTY_RUN" ]
  334 +then
  335 + JETTY_RUN=$(findDirectory -w /var/run /usr/var/run $JETTY_HOME /tmp)
  336 +fi
  337 +
  338 +#####################################################
  339 +# Find a pid and state file
  340 +#####################################################
  341 +if [ -z "$JETTY_PID" ]
  342 +then
  343 + JETTY_PID="$JETTY_RUN/jetty.pid"
  344 +fi
  345 +
  346 +if [ -z "$JETTY_STATE" ]
  347 +then
  348 + JETTY_STATE=$JETTY_HOME/jetty.state
  349 +fi
  350 +JAVA_OPTIONS+=("-Djetty.state=$JETTY_STATE")
  351 +rm -f $JETTY_STATE
  352 +
  353 +##################################################
  354 +# Setup JAVA if unset
  355 +##################################################
  356 +if [ -z "$JAVA" ]
  357 +then
  358 + JAVA=$(which java)
  359 +fi
  360 +
  361 +if [ -z "$JAVA" ]
  362 +then
  363 + echo "Cannot find a Java JDK. Please set either set JAVA or put java (>=1.5) in your PATH." 2>&2
  364 + exit 1
  365 +fi
  366 +
  367 +#####################################################
  368 +# See if JETTY_PORT is defined
  369 +#####################################################
  370 +if [ "$JETTY_PORT" ]
  371 +then
  372 + JAVA_OPTIONS+=("-Djetty.port=$JETTY_PORT")
  373 +fi
  374 +
  375 +#####################################################
  376 +# See if JETTY_LOGS is defined
  377 +#####################################################
  378 +if [ "$JETTY_LOGS" ]
  379 +then
  380 + JAVA_OPTIONS+=("-Djetty.logs=$JETTY_LOGS")
  381 +fi
  382 +
  383 +#####################################################
  384 +# Are we running on Windows? Could be, with Cygwin/NT.
  385 +#####################################################
  386 +case "`uname`" in
  387 +CYGWIN*) PATH_SEPARATOR=";";;
  388 +*) PATH_SEPARATOR=":";;
  389 +esac
  390 +
  391 +
  392 +#####################################################
  393 +# Add jetty properties to Java VM options.
  394 +#####################################################
  395 +JAVA_OPTIONS+=("-Djetty.home=$JETTY_HOME" "-Djava.io.tmpdir=$TMPDIR")
  396 +
  397 +[ -f "$JETTY_HOME/etc/start.config" ] && JAVA_OPTIONS=("-DSTART=$JETTY_HOME/etc/start.config" "${JAVA_OPTIONS[@]}")
  398 +
  399 +#####################################################
  400 +# This is how the Jetty server will be started
  401 +#####################################################
  402 +
  403 +JETTY_START=$JETTY_HOME/start.jar
  404 +[ ! -f "$JETTY_START" ] && JETTY_START=$JETTY_HOME/lib/start.jar
  405 +
  406 +START_INI=$(dirname $JETTY_START)/start.ini
  407 +[ -r "$START_INI" ] || START_INI=""
  408 +
  409 +RUN_ARGS=(${JAVA_OPTIONS[@]} -jar "$JETTY_START" $JETTY_ARGS "${CONFIGS[@]}")
  410 +RUN_CMD=("$JAVA" ${RUN_ARGS[@]})
  411 +
  412 +#####################################################
  413 +# Comment these out after you're happy with what
  414 +# the script is doing.
  415 +#####################################################
  416 +if (( DEBUG ))
  417 +then
  418 + echo "JETTY_HOME = $JETTY_HOME"
  419 + echo "JETTY_CONF = $JETTY_CONF"
  420 + echo "JETTY_RUN = $JETTY_RUN"
  421 + echo "JETTY_PID = $JETTY_PID"
  422 + echo "JETTY_ARGS = $JETTY_ARGS"
  423 + echo "CONFIGS = ${CONFIGS[*]}"
  424 + echo "JAVA_OPTIONS = ${JAVA_OPTIONS[*]}"
  425 + echo "JAVA = $JAVA"
  426 + echo "RUN_CMD = ${RUN_CMD}"
  427 +fi
  428 +
  429 +##################################################
  430 +# Do the action
  431 +##################################################
  432 +case "$ACTION" in
  433 + start)
  434 + echo -n "Starting Jetty: "
  435 +
  436 + if (( NO_START )); then
  437 + echo "Not starting jetty - NO_START=1";
  438 + exit
  439 + fi
  440 +
  441 + if [ $UID -eq 0 ] && type start-stop-daemon > /dev/null 2>&1
  442 + then
  443 + unset CH_USER
  444 + if [ -n "$JETTY_USER" ]
  445 + then
  446 + CH_USER="-c$JETTY_USER"
  447 + fi
  448 +
  449 + start-stop-daemon -S -p"$JETTY_PID" $CH_USER -d"$JETTY_HOME" -b -m -a "$JAVA" -- "${RUN_ARGS[@]}" --daemon
  450 +
  451 + else
  452 +
  453 + if [ -f "$JETTY_PID" ]
  454 + then
  455 + if running $JETTY_PID
  456 + then
  457 + echo "Already Running!"
  458 + exit 1
  459 + else
  460 + # dead pid file - remove
  461 + rm -f "$JETTY_PID"
  462 + fi
  463 + fi
  464 +
  465 + if [ "$JETTY_USER" ]
  466 + then
  467 + touch "$JETTY_PID"
  468 + chown "$JETTY_USER" "$JETTY_PID"
  469 + # FIXME: Broken solution: wordsplitting, pathname expansion, arbitrary command execution, etc.
  470 + su - "$JETTY_USER" -c "
  471 + exec ${RUN_CMD[*]} --daemon &
  472 + disown \$!
  473 + echo \$! > '$JETTY_PID'"
  474 + else
  475 + "${RUN_CMD[@]}" &
  476 + disown $!
  477 + echo $! > "$JETTY_PID"
  478 + fi
  479 +
  480 + fi
  481 +
  482 + if expr "${CONFIGS[*]}" : '.*etc/jetty-started.xml.*' >/dev/null
  483 + then
  484 + if started "$JETTY_STATE" "$JETTY_PID"
  485 + then
  486 + echo "OK `date`"
  487 + else
  488 + echo "FAILED `date`"
  489 + fi
  490 + else
  491 + echo "ok `date`"
  492 + fi
  493 +
  494 + ;;
  495 +
  496 + stop)
  497 + echo -n "Stopping Jetty: "
  498 + if [ $UID -eq 0 ] && type start-stop-daemon > /dev/null 2>&1; then
  499 + start-stop-daemon -K -p"$JETTY_PID" -d"$JETTY_HOME" -a "$JAVA" -s HUP
  500 +
  501 + TIMEOUT=30
  502 + while running "$JETTY_PID"; do
  503 + if (( TIMEOUT-- == 0 )); then
  504 + start-stop-daemon -K -p"$JETTY_PID" -d"$JETTY_HOME" -a "$JAVA" -s KILL
  505 + fi
  506 +
  507 + sleep 1
  508 + done
  509 +
  510 + rm -f "$JETTY_PID"
  511 + echo OK
  512 + else
  513 + PID=$(cat "$JETTY_PID" 2>/dev/null)
  514 + kill "$PID" 2>/dev/null
  515 +
  516 + TIMEOUT=30
  517 + while running $JETTY_PID; do
  518 + if (( TIMEOUT-- == 0 )); then
  519 + kill -KILL "$PID" 2>/dev/null
  520 + fi
  521 +
  522 + sleep 1
  523 + done
  524 +
  525 + rm -f "$JETTY_PID"
  526 + echo OK
  527 + fi
  528 +
  529 + ;;
  530 +
  531 + restart)
  532 + JETTY_SH=$0
  533 + if [ ! -f $JETTY_SH ]; then
  534 + if [ ! -f $JETTY_HOME/bin/jetty.sh ]; then
  535 + echo "$JETTY_HOME/bin/jetty.sh does not exist."
  536 + exit 1
  537 + fi
  538 + JETTY_SH=$JETTY_HOME/bin/jetty.sh
  539 + fi
  540 +
  541 + "$JETTY_SH" stop "$@"
  542 + "$JETTY_SH" start "$@"
  543 +
  544 + ;;
  545 +
  546 + supervise)
  547 + #
  548 + # Under control of daemontools supervise monitor which
  549 + # handles restarts and shutdowns via the svc program.
  550 + #
  551 + exec "${RUN_CMD[@]}"
  552 +
  553 + ;;
  554 +
  555 + run|demo)
  556 + echo "Running Jetty: "
  557 +
  558 + if [ -f "$JETTY_PID" ]
  559 + then
  560 + if running "$JETTY_PID"
  561 + then
  562 + echo "Already Running!"
  563 + exit 1
  564 + else
  565 + # dead pid file - remove
  566 + rm -f "$JETTY_PID"
  567 + fi
  568 + fi
  569 +
  570 + exec "${RUN_CMD[@]}"
  571 +
  572 + ;;
  573 +
  574 + check|status)
  575 + echo "Checking arguments to Jetty: "
  576 + echo "JETTY_HOME = $JETTY_HOME"
  577 + echo "JETTY_CONF = $JETTY_CONF"
  578 + echo "JETTY_RUN = $JETTY_RUN"
  579 + echo "JETTY_PID = $JETTY_PID"
  580 + echo "JETTY_PORT = $JETTY_PORT"
  581 + echo "JETTY_LOGS = $JETTY_LOGS"
  582 + echo "START_INI = $START_INI"
  583 + echo "CONFIGS = ${CONFIGS[*]}"
  584 + echo "JAVA_OPTIONS = ${JAVA_OPTIONS[*]}"
  585 + echo "JAVA = $JAVA"
  586 + echo "CLASSPATH = $CLASSPATH"
  587 + echo "RUN_CMD = ${RUN_CMD[*]}"
  588 + echo
  589 +
  590 + if [ -f "$JETTY_PID" ]
  591 + then
  592 + echo "Jetty running pid=$(< "$JETTY_PID")"
  593 + exit 0
  594 + fi
  595 + exit 1
  596 +
  597 + ;;
  598 +
  599 + *)
  600 + usage
  601 +
  602 + ;;
  603 +esac
  604 +
  605 +exit 0
0 606 \ No newline at end of file
... ...