Épico 40837 - Instalação com ISO sem depender da iTFLEX
Descrição
Pai: Jonas
Definições NEPS
1. Descrição da ideia (O quê)
Permitir que o cliente consiga instalar o servidor sozinho atráves da ISO, sem depender da iTFLEX, seja em máquina física, virtual ou em CLOUD
2. Por que implementar? (O porquê)
Necessário para que os clientes possam ter autonomia na instalação de novos servidores. No formato atual eles dependem da iTFLEX em cada instalação, tanto pelas ferramentas aplicadas instalação (AWX), quanto pela necessidade de acesso remoto SSH / VPN
3. Situações contextuais (Em que contexto)
- Parceiro revende, instala e configura o Firewall para cliente o final
- Cliente final comprando só o produto e suporte ao produto direto da iTFLEX, sem serviço de gerenciamento.
- Desastre (falha do hardware, hd, etc..), o servidor é reinstalado novamente em outra máquina e as configurações são restauradas pelo Wizzard.
- O parceiro / suporte iTFLEX orienta o cliente final a fazer a instalação, para facilitar a implantação ou restaurar o ambiente
- Nosso produto instalado em ambiente de virtualização do cliente, onde o cliente cria a máquina virtual, placas de rede e faz instalação.
Em todos esses casos, a ITFLEX também não terá acesso SSH / VPN ao ambiente.
4. Problema que resolve (O problema)
Quais problemas do cliente estamos tentando resolver?
- Minimiza nossa dependência na instalação (reduz custos)
- Viabiliza novas ofertas de pacotes de produto + serviço mais enxutos
- Viabiliza instalação quando acesso SSH / VPN não estão disponíveis
- Simplifica o processo de instalação
- Formato atual está segurando o avanço do treinamento de certificação
- Formato atual está impactando o avanço de parceiros
5. Clientes afetados (Para quem)
Tipo de cliente, cliente final, parceiros, persona, etc.)
- Todos os parceiros
- Cliente final que compra a licença + suporte ao produto, MAS sem gerenciamento
- Qualquer cliente com limitação de acesso remoto ao ambiente
- Equipe de suporte (iTFLEX, Cliente parceiro) podendo reinstalar ambientes e recuperar configurações sem demandar o time especializado de serviços
6. Expectativas dos clientes
- Autonomia total para instalação
- Praticidade na instalação
- Logo após instalado, já iniciar a configuração ou restauração
- Possibilidade de restaurar configuração salva anterior, ou template de configuração
8. Restrições e limitações
Restrições: técnicas, IU, contextuais, habilidades e hábitos dos usuários, tempo, financeiro, etc.
- Nem sempre o acesso á Internet está disponível no momento da instalação, nesses casos a instalação toda é feita localmente.
- Sabemos que o sistema de licenciamento não está pronto
- Na CLOUD não instalamos o sistema, temos um sistema base CentOS 8.x para instalar
9. Riscos
- Cliente clonar o ambiente sem nossa autorização
- Sistema de licenciamento não está pronto, como nos proteger sem atrasar?
10. Critério de sucesso
- Permitir fazer uma instalação básica em até 1H
- Reinstalar o servidor e restaurar configurações em até 1H
- (Plus) Permitir Instalação remota por VNC Performing a remote CentOS installation using VNC
- (Plus) Permitir instalar com pendrive bootável
Definições de Infra
1. Laboratório
- Previsão/Inicio do Laboratório: 01/10/2020
- Documentação Laboratório
- Expectativas:
- Documentar como construir a ISO do CentOS 8 com KS da iTFLEX;
- Corrigir formato atual para funcionar como pendrive bootável;
- Testar o recurso de VNC Direct Mode;
- Documentar como instalar o CentOS sem depender de rede.
- Resultado do LAB:
- As 3 opções do GRUB continuam via rede
- Offline funciona, mas o KS não pede para configurar rede
- Porque não tem rede, o pós-instalação falha no wget do ansible
- Funcionaria somente com DHCP, mas fica ruim, pois o cliente não sabe o IP
- Será aberto RFC separado: Futuramente será 100% offline (CentOS + repo local itfllex para itflex-core)
- Entram 3 novas opções: As 3 acima com suporte a VNC
- No novo formato também funciona pendrive bootável
- As 3 opções do GRUB continuam via rede
- Expectativas:
2. Caso de uso
Como usuário vai usar e topologias onde é aplicado
Desenho do fluxo de uso: https://www.mindomo.com/pt/mindmap/0bf93e9bcd0842f3bfefa638c70a086a
3. Requisitos e regras de negócio
- Permitir instalação de servidor de firewall somente com ISO e acesso a Internet;
- Poder instalar com pendrive;
- Poder acessar o gerenciamento web / wizard de configuração após instalação;
- Tem relação com o épico de gerenciamento de módulos para permitir instalação completa do produto sem o AWX.
4. Testes
Expectativas e como o time de desenvolvimento pode fazer os testes
- Pode testar seguindo o laboratório e através de VM local ou no Proxmox.
5. Referências
- https://docs.centos.org/en-US/8-docs/advanced-install/assembly_performing-a-remote-installation-using-vnc/#performing-a-rhel-installation-in-vnc-connect-mode_performing-a-remote-installation-using-vnc
- https://docs.centos.org/en-US/8-docs/advanced-install/assembly_kickstart-installation-basics/#what-are-kickstart-installations_kickstart-installation-basics
6. Abordagem Sugerida
- Mover tarefas do ansible da ISO para dentro do ansible principal: Também é útil para manter a consistência das instalações, pois o ansible é uma ferramenta para manter as configurações de um servidor em um formato definido;
- Criar “mini-ansible” para fazer somente a config inicial do repo yum, instalação do pacote itflex-core e prov básico;
- Instalar somente o pacote itflex-core, os outros pacotes serão instalados no wizard / gerenciamento de módulos.
Definições Engenharia:
Praticidade para implantação/wizard: N/A
Serviços (INFRA): N/A
Módulos relacionados: N/A
Definições: N/A
Desenvolvimento:
Funcionalidade: N/A
Lembrar de sempre fazer:
Mais informações:
Atividades - Features:
- Ajustes no ANSIBLE ISO e deploy automatizado do tar.gz pelo GITLAB - 16h
- Geração do KS para CD - 12h
- Geração do KS para PenDrive - 12h
- Ajuste de Parâmetros Adicionais KS - 12h
Ajustes:
- No Ansible da ISO:
- Permanece as roles: "pre", "boot", "sysupdate", "ntp"
- Do Ansible da ISO que deve ser incluso na role do itflex-core: "firewall", "network", "init", "tools"(Ajustar), "logging"
- Incluir repo @base no itflex-repos