Ejemplo n.º 1
0
 def __init__(self):
     self.__ARQUIVO_XML = NOME_PROJETO + "_" + SERVIDOR_DEPLOY + ".xml"
     self.__CAMINHO_ARQUIVO_XML = path.join(WORKING_DIRECTORY, "xml_configuracao", self.__ARQUIVO_XML)
     self.__ARTEFATO = NOME_PROJETO + ".ear"
     self.__CAMINHO_ARTEFATO = path.join(WORKING_DIRECTORY, self.__ARTEFATO)
     self.__ARQUIVO_CHAVE_SSH = "teste.ppk"
     self.__SENHA_SSH = getenv("SENHA_SSH")
     self.__USUARIO_SSH = environ.get("UsuarioSSH")
     self.__REVISION_XML = getenv("GO_REVISION_XML_CONFIGURACAO")
     # variavel originada no implantar_artefato
     self.__MUDANCA = getenv("NUMERO_MUDANCA")
     self.__verificar_dependencias()
     self.__servidor_master = getenv("SERVIDOR_MASTER")
    def __init__(self):
        self.USUARIO_SSH = "tfsservice"
        self.ARQUIVO_CHAVE_SSH = "id_rsa"
        self.CAMINHO_CONF_APACHE = "/etc/httpd/scripts/arquivos/"
        self.script_reload_apache = "/etc/httpd/scripts/DeployApache.sh"

        self.PORTA_SERVICO = getenv("PORTA_SERVICO")
        self.PASTA_CONF_APACHE = getenv("PASTA_CONF_APACHE")

        # lista dos servidores apache, separado por virgula
        self.SERVIDORES_APACHE = getenv("SERVIDORES_APACHE")

        # lista dos servidores de load balance, separado por virgula
        self.SERVIDORES_LOAD_BALANCE = getenv("SERVIDORES_LOAD_BALANCE")
Ejemplo n.º 3
0
    def __init__(self):
        self.__SENHA_TOMCAT = getenv("SENHA_TOMCAT")
        self.__CONTEXT_PATH = getenv("ContextPath")
        self.__DOMINIO_TOMCAT = getenv("DominioTomcat")
        self.__SERVIDOR_PORTA_TOMCAT = getenv("ServidorPortaTomcat")
        self.__APLICACAO_PARAR = getenv("AplicacaoParar")
        self.__TEMPO_ESPERAR = getenv("TempoEsperar")
        self.__USUARIO_TOMCAT = getenv("UsuarioTomcat")
        self.__USUARIO_SSH = getenv("UsuarioSSH")
        self.__SENHA_SSH = getenv("SenhaSSH")
        self.__ARQUIVO_CHAVE_SSH = getenv("ArquivoChaveSSH")

        # Chamada ao metodo responsavel por verificar se todas as dependencias foram inicializadas corretamente
        self.__verificar_dependencias()
    def atualizar_conf_apache(self):
        novo_servidor_backend = getenv("NOVO_SERVIDOR_BACKEND")
        if novo_servidor_backend:
            self.editar_conf_apache(novo_servidor_backend)

        chave = DIRETORIO_CHAVES_SERVIDORES + self.ARQUIVO_CHAVE_SSH

        for servidor in self.SERVIDORES_APACHE.split(","):
            pasta_servidor = self.PASTA_CONF_APACHE + "/" + servidor
            ssh = SSH(servidor, self.USUARIO_SSH)
            ssh.chave_acesso(chave)
            ssh.abrir_conexao()

            for arquivo_conf in listdir(pasta_servidor):
                if arquivo_conf.endswith(".conf"):
                    ssh.enviar_arquivo(pasta_servidor + "/" + arquivo_conf, self.CAMINHO_CONF_APACHE)
                    comando_reload_apache = "{} {}".format(self.script_reload_apache, arquivo_conf)
                    ssh.executar_comando(comando_reload_apache)
            ssh.fechar_conexao()
Ejemplo n.º 5
0
    def __init__(self):
        self.arquivo_envio = NOME_PROJETO + '.' + getenv("EXTENSAO").lower()
        self.servidor_ssh = getenv("SERVIDOR_SSH")
        self.senha_ssh = getenv("SENHA_SSH")
        self.usuario_ssh = getenv("USUARIO_SSH")
        self.arquivo_chave_ssh = getenv("ArquivoChaveSSH")
        self.diretorio_ssh = getenv("DIRETORIO_SSH")

        if not NOME_PROJETO:
            Log.imprime("NOME DO PROJETO NAO INFORMADO",
                        "ERRO NA IMPLANTACAO VIA SSH.",
                        classe=ImplantadorSSH)
            exit(1)

        if not getenv("EXTENSAO"):
            Log.imprime("EXTENSAO DO ARQUIVO DE ENVIO NAO INFORMADA",
                        "ERRO NA IMPLANTACAO VIA SSH.",
                        classe=ImplantadorSSH)
            exit(1)

        if not self.servidor_ssh:
            Log.imprime("SERVIDOR NAO INFORMADO",
                        "ERRO NA IMPLANTACAO VIA SSH.",
                        classe=ImplantadorSSH)
            exit(1)

        if not self.senha_ssh and not self.arquivo_chave_ssh:
            Log.imprime("NENHUMA FORMA DE AUTENTICACAO INFORMADA",
                        "ERRO NA IMPLANTACAO VIA SSH.",
                        classe=ImplantadorSSH)
            exit(1)

        if not self.usuario_ssh:
            Log.imprime("USUARIO NAO INFORMADO",
                        "ERRO NA IMPLANTACAO VIA SSH.",
                        classe=ImplantadorSSH)
            exit(1)

        if not self.diretorio_ssh:
            Log.imprime("DIRETORIO PARA ENVIO NAO INFORMADO",
                        "ERRO NA IMPLANTACAO VIA SSH.",
                        classe=ImplantadorSSH)
            exit(1)
Ejemplo n.º 6
0
from python.assistentes.SSH import SSH
from python.assistentes.log import Log
from python.settings import getenv, DIRETORIO_CHAVES_SERVIDORES

__USUARIO_SSH = getenv("UsuarioSSH")
__SENHA_SSH = getenv("SenhaSSH")
__ARQUIVO_CHAVE_SSH = getenv("ArquivoChaveSSH")
__SERVIDOR_SSH = getenv("ServidorSSH")

if not __ARQUIVO_CHAVE_SSH and not __SENHA_SSH:
    Log.imprime("Arquivo chave para SSH ou a senha para SSH nao foi informado",
                "ERRO NA VALIDACAO DO NAGIOS",
                script="nagios_validar_configuracao.py",
                mensagem_de_erro=True)
    exit(1)

if not __USUARIO_SSH:
    __USUARIO_SSH = "tfsservice"

ssh = SSH(__SERVIDOR_SSH, __USUARIO_SSH)
if __SENHA_SSH:
    ssh.senha(__SENHA_SSH)
elif __ARQUIVO_CHAVE_SSH:
    chave = DIRETORIO_CHAVES_SERVIDORES + __ARQUIVO_CHAVE_SSH
    ssh.chave_acesso(chave)
ssh.abrir_conexao()

ssh.executar_comando("sleep 30")
ssh.executar_comando(
    "/usr/local/nagios/libexec/webinject.pl -c conf/classif567_cfg.xml")
ssh.executar_comando(
Ejemplo n.º 7
0
 def __init__(self):
     self.host_ftp = getenv("SERVIDOR_FTP")
     self.usuario_ftp = getenv("USUARIO_FTP")
     self.senha_ftp = getenv("SENHA_FTP")
     self.nome_arquivo_configuracao_ambiente = getenv(
         "NOME_ARQUIVO_CONFIGURACAO_AMBIENTE")
     self.ambiente = getenv("AMBIENTE")
     self.caminho_compartilhamento = getenv("CAMINHO_COMPARTILHAMENTO")
     self.ssl = getenv("SSL")
     self.diretorio_ftp = getenv("DIRETORIO_FTP")
     self.diretorio_descompactacao = "descompactado"
     self.pastas_nao_apagar = getenv("PASTAS_NAO_APAGAR")
     self.servidor_ssh = getenv("SERVIDOR_SSH")
     self.senha_ssh = getenv("SENHA_SSH")
     self.usuario_ssh = getenv("USUARIO_SSH")
     self.arquivo_chave_ssh = getenv("ARQUIVO_CHAVE_SSH")
     self.diretorio_ssh = getenv("DIRETORIO_SSH")
from sys import argv
from time import sleep

import requests

from python.assistentes.SSH import SSH
from python.assistentes.log import Log
from python.settings import getenv, DIRETORIO_CHAVES_SERVIDORES

etapa = None

for parametro in argv:
    if "-etapa" in parametro:
        etapa = str(parametro.replace("-etapa=", ""))

CONTEXT_PATH = getenv("ContextPath")
SERVIDOR_PORTA_TOMCAT = getenv("ServidorPortaTomcat")
CAMINHO_HEALTHCHECK = getenv("CaminhoArquivoHealthCheck")
USUARIO_SSH = getenv("UsuarioSSH")
SENHA_SSH = getenv("SenhaSSH")
ARQUIVO_CHAVE_SSH = getenv("ArquivoChaveSSH")
URL_VERIFICACAO = getenv("CaminhoUrlVerificacao")

if not CONTEXT_PATH:
    Log.imprime("CONTEXT_PATH nao informado",
                "ERRO NO LOAD BALANCE",
                script="manipular_load_balance.py",
                mensagem_de_erro=True)
    exit(1)

if not CAMINHO_HEALTHCHECK:
import os.path
from traceback import format_exc

from python.apis.api_sonar import Sonar
from python.assistentes.log import Log
from python.envio_email.envio_email import Email
from python.mongo.informacoes_artefatos_gocd import InformacoesArtefatos
from python.settings import getenv, NOME_PROJETO, NOME_EQUIPE, DESTINATARIOS_EMAIL, PIPELINE_NAME, WORKING_DIRECTORY
from python.tipos_arquivos.arquivo_xml import ArquivoXML

try:
    string_assunto = "INFORMACOES SOBRE QUALIDADE DO PRODUTO " + NOME_PROJETO
    string_mensagem = ""
    metodo_armazenamento = getenv("METODO_ARMAZENAMENTO_INFO_TESTES")

    if metodo_armazenamento == "SONAR":

        sonar = Sonar(getenv("NOME_PROJETO_SONAR"))

        informacoes = InformacoesArtefatos(NOME_EQUIPE, NOME_PROJETO)

        cobertura_testes_unitarios_anterior = float(
            informacoes.obter_cobertura_testes_unitarios())
        if cobertura_testes_unitarios_anterior == "":
            cobertura_testes_unitarios_anterior = 0

        quantidade_issues_total_aplicacao_anterior = int(
            informacoes.obter_quantidade_issues_total_aplicacao())
        if quantidade_issues_total_aplicacao_anterior == "":
            quantidade_issues_total_aplicacao_anterior = 0
Ejemplo n.º 10
0
from python.settings import getenv, DIRETORIO_CHAVES_SERVIDORES
from python.assistentes.SSH import SSH
from sys import argv

etapa = None

for parametro in argv:
    if "-etapa" in parametro:
        etapa = str(parametro).replace("-etapa=", "")

SERVIDOR_LOADBALANCE = getenv("SERVIDOR_LOADBALANCE")
USUARIO_LOADBALANCE = "tfsservice"
SENHA_LOADBALANCE = getenv("SENHA_LOADBALANCE")
ARQUIVO_CHAVE_SSH = "teste.ppk"
BACKEND = getenv("BACKEND")
SERVIDOR_BACKEND = getenv("SERVIDOR_BACKEND")

ssh = SSH(SERVIDOR_LOADBALANCE, USUARIO_LOADBALANCE)
if SENHA_LOADBALANCE:
    ssh.senha(SENHA_LOADBALANCE)
elif ARQUIVO_CHAVE_SSH:
    chave = DIRETORIO_CHAVES_SERVIDORES + ARQUIVO_CHAVE_SSH
    ssh.chave_acesso(chave)

ssh.abrir_conexao()

for BKE in BACKEND.split(","):
    if etapa.lower() == "pre_deploy":
        comando_ssh = "echo disable server " + BKE + "/" + SERVIDOR_BACKEND \
                      + " | sudo nc -U /var/lib/haproxy/stats"
    else:
from python.assistentes.SSH import SSH
from python.settings import getenv, DIRETORIO_CHAVES_SERVIDORES

SERVIDOR = getenv("SERVIDOR")
CAMINHO = getenv("CAMINHO")
COMANDO = getenv("COMANDO")
PARAMETROS = getenv("PARAMETROS")
USUARIO_SSH = getenv("USUARIO_SSH")
SENHA_SSH = getenv("SENHA_SSH")
ARQUIVO_CHAVE_SSH = getenv("ARQUIVO_CHAVE_SSH")

ssh = SSH(SERVIDOR, USUARIO_SSH)

if SENHA_SSH:
    ssh.senha(SENHA_SSH)
elif ARQUIVO_CHAVE_SSH:
    chave = DIRETORIO_CHAVES_SERVIDORES + ARQUIVO_CHAVE_SSH
    ssh.chave_acesso(chave)

ssh.abrir_conexao()

comando_executar = None

if PARAMETROS:
    comando_executar = "cd %s; ./%s %s" % (CAMINHO, COMANDO, PARAMETROS)
else:
    comando_executar = "cd %s; ./%s" % (CAMINHO, COMANDO)

ssh.executar_comando(comando_executar)

ssh.fechar_conexao()