def remover_container(self):
     print "Removendo containers"
     try:
         engine = create_engine(
             "postgresql://*****:*****@127.0.0.1/test")
         Session = sessionmaker()
         Session.configure(bind=engine)
         session = Session()
         servidores = session.query(Servidores).all()
         for s in servidores:
             print "Id:", s.id, "Nome:", s.nome, "IP:", s.endereco
         opcao = input("Digite o ID do servidor que deseja remover: ")
         servidor = session.query(Servidores).filter(
             Servidores.id == opcao).first()
         ask = raw_input(
             "Tem certeza que deseja remover o servidor %s? (s ou n): " %
             servidor.nome)
         if ask == 's':
             docker = Docker()
             docker.removerContainer(servidor.nome)
             session.delete(servidor)
             session.commit()
             print "Servidor %s removido com sucesso!" % servidor.nome
         else:
             print "Parece que vc desistiu!"
     except Exception as e:
         print "Erro: %s" % e
Example #2
0
    def acessar_servidor(self, login):

        try:
            srvs = session.query(Servidores).all()
            for s in srvs:
                print " %s - %s Administrador Atual [%s]" % (s.id, s.nome,
                                                             s.administrador)
            srv = input("Digite o numero do servidor que voce quer acessar: ")
            servidor = session.query(Servidores).filter(
                Servidores.id == srv).first()
            mf = MongoFunctions()
            mf.registrar_logs(login, servidor.endereco_ip)

            ssh = SSH()
            docker = Docker()
            print "Para sair digite exit"
            while True:
                comando = raw_input("root@%s # " % servidor.nome)
                print ssh.executarComandoRemoto(
                    docker.acessarContainer(servidor.nome, comando))
                if comando == "exit":
                    break
        except Exception as e:
            print "Erro: %s" % e
            session.rollback()
 def acessar_container(self):
     print "acessando containers"
     try:
         engine = create_engine("postgresql://*****:*****@127.0.0.1/test")
         Session = sessionmaker()
         Session.configure(bind=engine)
         session = Session()
         servidores = session.query(Servidores).all()
         for s in servidores:
             print "Id:",s.id,"Nome:",s.nome,"IP:",s.endereco
         opcao = input("Digite o ID do container que deseja acessar: ")
         servidor = session.query(Servidores).filter(Servidores.id==opcao).first()
         ask = raw_input("Tem certeza que deseja acessar o container %s? (s ou n): "%servidor.nome)
         if ask == 's':
             docker = Docker()
             ssh = SSH()
             print "Para sair digit exit"
             while True:
                 comando = raw_input("root@%s# "%servidor.nome)
                 if comando == 'exit':
                     break
                 s = ssh.executarComandoRemoto(docker.acessarContainer(servidor.nome, comando))
                 print s
         else:
             print "Parece que vc desistiu!"
     except Exception as e:
         print "Erro: %s"%e
Example #4
0
def index():
    '''
    Este e o metodo que renderiza a pagina index da nossa aplicacao.
    '''
    log.info('Pagina index acessada.')
    d = Docker()
    containers = d.listar_containers()
    return render_template('index.html', containers=containers)
Example #5
0
    def exec_comando_servidor(self):
        self.listar()
        servidor_id  = input("Digite o id do servidor: ")
        servidor = session.query(ServidorModel).filter_by(id=servidor_id).first()
        cmd = raw_input("Digite o comando a ser executado: ")

        #cmd = executar_comando(name,cmd)
        docker = Docker()
        print docker.shell(servidor.nome, cmd)
Example #6
0
def stop(id):
    '''
    Este e o metodo que para os containers no Docker.
    Recebe um parametro obrigatorio com o ID do container.
    '''
    d = Docker()
    d.parar_container(id)
    log.warning('Container desligado. ID: %s.' % id)
    return jsonify({'message': 'Container desligado.'})
Example #7
0
    def exec_comando_servidor(self):
        self.listar()
        servidor_id = input("Digite o id do servidor: ")
        servidor = session.query(ServidorModel).filter_by(
            id=servidor_id).first()
        cmd = raw_input("Digite o comando a ser executado: ")

        #cmd = executar_comando(name,cmd)
        docker = Docker()
        print docker.shell(servidor.nome, cmd)
Example #8
0
    def start(self, sid):
        s = Servico()
        servico = s.buscar(sid)
        print 'ID do servico:', servico.id
        print 'Contratante:', servico.cliente.nome
        print 'Produto:', servico.produto.nome
        print 'Data:', servico.data

        d = Docker()
        d.criar(servico.produto.nome, servico.produto.imagem)
        print 'Servico provicionado.'
 def cadastrar_servidor(self):
     try:
         servidor = {}
         servidor["nome"] = raw_input("Digite o nome desse servidor: ")
         servidor["administrador"] = raw_input("Digite o administrador: ")
         docker = Docker()
         docker.criarContainer(servidor['nome'])
         servidor["endereco"] = docker.pegarIPContainer(servidor['nome'])
         srv = ServidoresModel(servidor["nome"],servidor['endereco'],servidor["administrador"])
         session.add(srv)
         session.commit()
         print "Cadastrado com sucesso!!!"
     except Exception as e:
         print "Falhou ao conectar com o banco %s"%e
         session.rollback()
Example #10
0
 def cadastrar(self):
     self.nome = raw_input("Digite o nome do servidor:")
     self.descricao = raw_input("Digite uma descricao: ")
     try:
         # instancia dos objetos Docker
         docker = Docker()
         docker.criar(self.nome)
         container = docker.pegar_ip(self.nome)
         container = json.loads(container)
         self.ip = container[0].get("NetworkSettings").get("IPAddress")
         s = ServidorModel(self)
         session.add(s)
         session.commit()
     except Exception as e:
         session.rollback()
         print "Falhou ao cadastrar servidor: ",e            
Example #11
0
    def remover(self):
        docker = Docker()
        self.listar()
        servidor_id = input("Digite o id do servidor: ")

        try:
            servidor = session.query(ServidorModel) \
                              .filter_by(id=servidor_id).first()
            docker.remover(servidor.nome)

            session.delete(servidor)
            session.commit()
            print "Servidor removido com sucesso!"
        except Exception as e:
            session.rollback()
            print "Falhou ao remover servidor: ", e
Example #12
0
 def cadastrar(self):
     self.nome = raw_input("Digite o nome do servidor:")
     self.descricao = raw_input("Digite uma descricao: ")
     try:
         # instancia dos objetos Docker
         docker = Docker()
         docker.criar(self.nome)
         container = docker.pegar_ip(self.nome)
         container = json.loads(container)
         self.ip = container[0].get("NetworkSettings").get("IPAddress")
         s = ServidorModel(self)
         session.add(s)
         session.commit()
     except Exception as e:
         session.rollback()
         print "Falhou ao cadastrar servidor: ", e
 def cadastrar_servidor(self):
     try:
         servidor = {}
         servidor["nome"] = raw_input("Digite o nome desse servidor: ")
         servidor["administrador"] = raw_input("Digite o administrador: ")
         ssh = SSH()
         docker = Docker()
         ssh.executarComandoRemoto(docker.criarContainer(servidor['nome']))
         srv = json.loads(ssh.executarComandoRemoto(docker.pegarIPContainer(servidor['nome'])))
         servidor["endereco"] = srv[0]['NetworkSettings']['Networks']['bridge']['IPAddress']
         srv = ServidoresModel(servidor["nome"],servidor['endereco'],servidor["administrador"])
         session.add(srv)
         session.commit()
         print "Cadastrado com sucesso!!!"
     except Exception as e:
         print "Falhou ao conectar com o banco %s"%e
         session.rollback()
Example #14
0
    def remover(self):
        docker = Docker()
        self.listar()
        servidor_id  = input("Digite o id do servidor: ")


        try:
            servidor = session.query(ServidorModel) \
                              .filter_by(id=servidor_id).first()
            docker.remover(servidor.nome)

            session.delete(servidor)
            session.commit()
            print "Servidor removido com sucesso!"
        except Exception as e:
            session.rollback()
            print "Falhou ao remover servidor: ",e   
Example #15
0
    def cadastro_servidor(self):
        try:
            print "\n+Sistemas de Autenticacao\n"

            servidor = {}
            servidor["nome"] = raw_input("Digite o nome do servidor: ")
            servidor["administrador"] = raw_input("Digite o adm do servidor: ")
            docker = Docker()
            docker.criarContainer(servidor['nome'])
            servidor["endereco"] = docker.pegarIPContainer(servidor["nome"])
            srv = Servidores(servidor["nome"], servidor["endereco"],
                             servidor["administrador"])
            session.add(srv)
            session.commit()
            print "\nServidor Cadastrado com sucesso\n"
        except Exception as e:
            print "Falhou ao inserir no banco aqui %s" % e
            session.rollback()
Example #16
0
    def acessar_servidor(self,login):
        try:
            srvs = session.query(ServidoresModel).all()
            for s in srvs:
                print "%s - %s Administrador Atual[%s]"%(s.id,s.nome,s.administrator)
            srv = input("Digite o numero do servidor que voce quer acessar: ")
            servidor = session.query(ServidoresModel).filter(ServidoresModel.id==srv).first()
            mf = MongoFunctions()
            mf.registrar_logs(login,servidor.endereco_ip)

            docker = Docker()
            print "Para sair digite exit"
            while True:
                comando = raw_input("root@%s # "%servidor.nome)
                print docker.acessarContainer(servidor.nome,comando)
                if comando == "exit":
                    break
        except Exception as e:
            print "Erro! %s"%e
 def cadastrar_container(self):
     print "Cadastro de Servidores"
     try:
         nome = raw_input("Digite o nome do container: ")
         admLogin = raw_input("Digite o adm do container %s: " % nome)
         docker = Docker()
         docker.criarContainer(nome)
         ipServer = docker.pegarIPContainer(nome)
         engine = create_engine(
             "postgresql://*****:*****@127.0.0.1/test")
         Session = sessionmaker()
         Session.configure(bind=engine)
         session = Session()
         servidor = Servidores(nome, ipServer, admLogin)
         session.add(servidor)
         session.commit()
         print "(Container: %s - IP: %s - Adm: %s) cadastrado com sucesso" % (
             nome, ipServer, admLogin)
     except Exception as e:
         print "Erro: " % e
         session.rollback()
    def cadastrar_container(self):
        print "Cadastro de Servidores"
        try:
            nome = raw_input("Digite o nome do container: ")
            admLogin = raw_input("Digite o adm do container %s: "%nome)
            docker = Docker()
            ssh = SSH()
            ssh.executarComandoRemoto(docker.criarContainer(nome))
            srv = json.loads(ssh.executarComandoRemoto(docker.pegarIPContainer(nome)))
            ipServer = srv[0]["NetworkSettings"]["Networks"]["bridge"]["IPAddress"]

            engine = create_engine("postgresql://*****:*****@127.0.0.1/test")
            Session = sessionmaker()
            Session.configure(bind=engine)
            session = Session()
            servidor = Servidores(nome, ipServer, admLogin)
            session.add(servidor)
            session.commit()
            print "(Container: %s - IP: %s - Adm: %s) cadastrado com sucesso"%(nome, ipServer, admLogin)
        except Exception as e:
            print "Erro: "%e
            session.rollback()
Example #19
0
def start(id):
    '''
    Este e o metodo que inicializa os containers no Docker.
    Recebe um parametro obrigatorio com o ID do container.

    ====== ======
    Params Values
    ====== ======
      ID    123
    ====== ======

    * 1
    * 2
    * 3

    :Param: id
    :Returns: Json message
    '''
    d = Docker()
    d.iniciar_container(id)
    log.info('Container iniciado. ID: %s.' % id)
    return jsonify({'message': 'Container ligado.'})
Example #20
0
    def cadastro_servidor(self):
        try:
            print "\n+Sistemas de Autenticacao\n"

            servidor = {}
            servidor["nome"] = raw_input("Digite o nome do servidor: ")
            servidor["administrador"] = raw_input("Digite o adm do servidor: ")
            ssh = SSH()
            docker = Docker()
            ssh.executarComandoRemoto(docker.criarContainer(servidor["nome"]))
            srv = json.loads(
                ssh.executarComandoRemoto(
                    docker.pegarIPContainer(servidor['nome'])))
            servidor["endereco"] = srv[0]['NetworkSettings']['Networks'][
                'bridge']['IPAddress']
            srv = Servidores(servidor["nome"], servidor["endereco"],
                             servidor["administrador"])
            session.add(srv)
            session.commit()
            print "\nServidor Cadastrado com sucesso\n"
        except Exception as e:
            print "Falhou ao inserir no banco aqui %s" % e
            session.rollback()
Example #21
0
 def main(self):
     d = Docker()
     print "Criando container: ", self.arquivo.get("name")
     container = d.criar_container(self.arquivo.get("name"))
     d.iniciar_container(container)
     print "Clonando repositorio: ", self.arquivo.get("repo")
     print "Instalando aplicacao..."
     for c in self.arquivo.get("commands"):
         print "Executando: ", c
         saida = d.executar_comando(container, c)
         print saida
     print "Maquina provisionada no IP: ", d.inspecionar_container(
         container).get("NetworkSettings").get("IPAddress")
    def main(self):
        d = Docker()
        print 'Criando container:', self.arquivo.get('name')
        container = d.criar_container(self.arquivo.get('name'))
        d.iniciar_container(container)
        #        print 'Criando repositorio:', self.arquivo.get('repo')
        #        print 'Instalando app:', self.arquivo.get('name')

        for c in self.arquivo.get('commands'):
            print 'Executando...', c
            saida = d.exec_comando(container, c)
            print saida

        print 'Maquina provisionada no IP ', d.inspec_container(container).get(
            'NetworkSettings').get('IPAddress')
Example #23
0
 def __init__(self):
     self.docker = Docker()
Example #24
0
class Servidores:
    def __init__(self):
        self.docker = Docker()

    def cadastrar(self):
        t = input('Digite seu token de acesso: ')
        acesso = session.query(Tokens).filter(Tokens.token == t).first()
        if not acesso or (datetime.now() -\
                         acesso.data).total_seconds() > 3600:
            print 'TOKEN INVALIDO OU EXPIRADO!\n'
            return
        print 'CADASTRAR SERVIDOR.\n'

        self.name = raw_input('Digite o nome do servidor: ')
        self.descricao = raw_input('Digite uma descricao: ')

        self.docker.create(self.name)
        self.ip = self.docker.ip(self.name)

        try:
            servidor = ServidoresModel(self)
            session.add(servidor)
            s = session.query(ServidoresModel).filter(
                ServidoresModel.name == self.name).first()
            t = Tokens()
            t.token = acesso.token
            t.data = acesso.data
            t.usuarios_id = acesso.usuarios_id
            t.servidores_id = s.id
            session.add(t)
            session.commit()
            print 'SERVIDOR CADASTRADO COM SUCESSO!\n'
        except Exception as e:
            session.rollback()
            print 'FALHA AO CADASTRAR O SERVIDOR:', e

    def remover(self):
        self.listar()
        sid = input('Digite o id do servidor: ')
        servidor = session.query(ServidoresModel)\
                   .filter(ServidoresModel.id==sid).first()
        print 'APAGANDO SERVIDOR.\n'
        self.docker.rem(servidor.name)
        try:
            t = session.query(Tokens)\
                .filter(Tokens.servidores_id==servidor.id)\
                .first()
            session.delete(t)
            session.delete(servidor)
            session.commit()
            print 'SERVIDOR REMOVIDO COM SUCESSO.\n'
        except Exception as e:
            session.rollback()
            print 'FALHA AO REMOVER SERVIDOR: %s\n' % e

    def listar(self):
        print 'LISTAR SERVIDORES.\n'
        servidores = session.query(ServidoresModel).all()
        for s in servidores:
            print s.id, '-', s.name, ',', s.ip
        print '\n'