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
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
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)
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)
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.'})
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)
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()
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 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
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()
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
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()
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()
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.'})
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()
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')
def __init__(self): self.docker = Docker()
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'