Tempo aproximado para leitura: 00:08:00 min
Dúvida
Como habilitar o migrador para um novo produto?
Ambiente
Cloud - Linha T-Cloud - Todas as versões
Solução
Para habilitar o migrador para um novo produto, siga os passos a seguir:
Para habilitar o migrador, será necessário criar um novo cadastro de migração através do menu Administração\Provisionamento\Cadastro de Templates
Neste cadastro, acesse a aba "Catálogo de Migração"

Para cadastrar um novo template, as seguintes informações devem ser informadas:
- migration_catalog:String contendo um identificador único que será o código do catálogo de migração.
- enabled:Habilita catálogo de migração para ser exibido na listagem de catálogos da tela de cadastro de migração
- user_id:Array de usuários que serão responsáveis pela manutenção deste template
- so:Sistema operacional do produto
- produto:Produto em que o catálogo será utilizado. Este campo adiciona o produto na seleção apresentada na tela de cadastro de migração

- description:Descrição do catálogo de migração. Este campo adiciona a descrição do catálogo na seleção apresentada na tela de cadastro de migração

- application:Array de dicionários com os campos que serão apresentados para subir os artefatos do produto. O dicionário deste campo possui as seguintes chaves:
- application_type:Código que será enviado no script na instância para identificar o tipo de artefato correspondente ao link de download
- label:Descrição apresentada na tela de cadastro do migrador
-structure_validation:Array com estrutura de pastas para validar dentro do arquivo .zip (aceita wildcard)

- database:Array de bancos que serão apresentados para subir o backup do banco
- database_type:Código do banco
- label:Descrição apresentada na tela de cadastro do migrador
-structure_validation:Array com estrutura de pastas para validar dentro do arquivo .zip(aceita wildcard)
-platform:Campo utilizado na migração do Datasul para identificar se o backup do banco foi gerado a partir de uma instância Linux ou Windows

- payload_script_database_pre:Payload de ação pré importação de dados do banco. A estrutura deste payload é a mesma utilizadas nas demais ações de instâncias configuradas no TCloud
- payload_script_database_pos: Payload de ação pós importação de dados do banco. A estrutura deste payload é a mesma utilizadas nas demais ações de instâncias configuradas no TCloud
- payload_script_migration:Payload a ser utilizado no step de execução de scripts na topologia que está recebendo a ação de migração de aplicação. A estrutura deste payload é a mesma utilizadas nas demais ações de instâncias configuradas no TCloud
- checklist_files: Array com os itens de checklist que serão apresentados para o usuário antes de apresentar a tela de upload de arquivos. Este checklist só será apresentado no fluxo doEvento Comercial Migração
-label: Descrição do item de checklist que será apresentado no TCloud
-link: Link do TDN, ou de outra página, que contenha a documentação referente ao item de checklist. Este campo é opcional e, caso seja informado, será adicionado ao item do checklist em um hyperlink no final de sua descrição com o texto "Saiba mais"
-type: Identificador do item de checklist
- checklist_homolog: Array com os itens de checklist que serão apresentados para o usuário após migração dos dados para que o cliente verifique os itens que devem ser validados antes de agendar o golive para migração. Este checklist só será apresentado no fluxo doEvento Comercial Migração
-label: Descrição do item de checklist que será apresentado no TCloud
-link: Link do TDN, ou de outra página, que contenha a documentação referente ao item de checklist. Este campo é opcional e, caso seja informado, será adicionado ao item do checklist em um hyperlink no final de sua descrição com o texto "Saiba mais"
-type: Identificador do item de checklist
Os dados de payload acima são usados nos pipelines gerados de importação de dados da aplicação e do banco
Detalhes da ação de importação de dados migrados de aplicação
O pipeline de importação de dados migrados de aplicação possui o seguinte diagrama de execução:

1 - Controle de fila da ação
2 - Troca de portas informadas na aplicação on primese, caso seja alterada alguma porta no momento da aplicação da migração
3 - Execução da ação cadastrada na chavepayload_script_migrationdo template de migração
Os scripts cadastrados na lista de comandospayload_script_migration receberão como argumento uma lista dos artefatos cadastrados na migração na chave "download_info"
Exemplo de payload recebido pelos scripts
{
"download_info": [{
"application_type": "bin",
"filename": "bin.zip",
"migration_id": 917
}, {
"application_type": "protheus_data",
"filename": "protheus_data.zip",
"migration_id": 917
}, {
"application_type": "rpo",
"filename": "rpo.zip",
"migration_id": 917
}, {
"application_type": "ini",
"filename": "ini.zip",
"migration_id": 917
}]
}
De posse destas informações, será possível resgatar a URL pré assinada para download de cada arquivo chamando a seguinte API do TCloud:
POSThttps://api-tcloud.fluig.cloudtotvs.com.br/prod/customer/{ccode}/topology/{topology_id}/migration/{migration_id}/get-application-presign-url/{type}
Obs: necessário passar no body desta API as chaves "topology_api_key" e "topology_api_secret"
Exemplo de retorno:
Exemplo de payload recebido pelos scripts
{"presigned_url": "https://tcloud-customer-migration.s3.amazonaws.com/CLAUDI3/917/application/ini/ini.zip?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIA6PDUB7WMDUGFLCIY%2F20220901%2Fsa-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220901T142003Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEO%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXSSLWVhc3QtMSJGMEQCIDkvX2eOvfGLhdhZRB%2FNpJ91wM7Uu9mLmWVbM9qXH4XfAiArKmskUqco%2B0SeAttx814Gcz9q7aYiFF0vDZkXanu%2BBCq5Awh3EAQaDDk5NDUyODMyOTExMiIMNB4ZlbSSPRFVgDMdKpYDbgI9Kjhf31RgNgSGEsxafVTmAMNBAyMWdgg1NHXOTPNQZ7ecBBzXid47CLAfSo82%2FT%2BGSRxjV7C2bc0JKXpwqU436DK6%2FJ88A9S%2FTh0FIUZFOY3l31FSFC5XcY7%2BhCgd%2BFOx6tbO6ZUdquarc27CdhRumeBY4ML7K39snXrOsc3EZeEs7hqHGSVcorQHiVdIqbrpA1vWp8LHUnJu%2F8CeASUVD3MeAdw%2FHjPubrAIMh7lITQ%2Fef8XrGOtn9tDBFzeWPg9BlZv6p4umuzIGS7quIOGtw%2FEY8P9f%2FP320kuiB9dM2r%2F7ThvQv%2Fc14CRUsG9UBm%2BY9rlMtxbaFDjaZ2anTgq8za3O%2F9zfKWyGMB0LZampxzl92SRRJ3XbYtL9iSy%2BCqkNqXLTvJGSkRQJv9rS7q0Qd5RHKEUk4hN2xilQ4Bz3H%2BbOrcM71cDezNZzsTDtAo6xcjhMGvPg99K1duYRK9XK2IceB4CWR7aGxmbp8fp9WL%2FGRF%2FbkTIccPXU%2Fiz4K%2BuuAtMzzLAEh1E47Km97vP1J6UUzCP%2F8KYBjqfAey2O7vaz3yKz4O%2Bw%2BeSfTGzNfrW6Fz6nwohxJKzJUfcYpJk4k9wAJcNjmcrwe9KIqxjX5zdjHDJEs%2BSaiXy0dCbVbMDK0Lgjp9HJNEw4BTK0OBoqlMUU7%2FOSJHiHNPfWgSueAtzA0ukvCp8%2BGyRzN8cr6kDSOWwPUo%2BHUdJ8kNZj%2F1UTWQfxAma6f1AhEHxz0XdT1xVu%2BxqbXYt49q1Yg%3D%3D&X-Amz-Signature=d77cac5ff6df6ca3c6f3015078fa9b9c10560ce5a376a7ec8d4786dsb5a1aa6b"}
Detalhe da ação de importação de dados migrados de Banco
Exemplo de um catálogo de migração
{
"migration_catalog": "protheus_windows_teste",
"application": [
{
"application_type": "bin",
"label": "Binários",
"structure_validation": [
"appserver/appserver.exe",
"appserver/dbapi.dll",
"dbaccess/dbaccess*.exe",
"dbaccess/dbapi.dll",
"dbaccess/dbaccess64.dll",
"smartclient/smartclient.exe"
]
},
.
.
.
],
"database": [
{
"database_type": "mssql",
"label": "Microsoft SQL Server",
"structure_validation": [
"dump/*.bak"
]
},
{
"database_type": "oracle",
"label": "Oracle"
}
],
"description": "Catalogo de Migração para o Protheus Windows",
"enabled": true,
"payload_script_database_pre": {
"cmd_list": [
{
"cmd": "protheus_stop_all.ps1",
"instance_type": [
"core_instance",
"protheus_special"
],
"timeout": 900
},
.
.
.
]
},
"payload_script_migration": {
"cmd_list": [
{
"cmd": "protheus_download_migration_files.ps1",
"instance_type": [
"core_instance"
],
"timeout": 14400
},
.
.
.
]
},
"payload_script_database_pos": {
"cmd_list": [
{
"cmd": "protheus_start_all.ps1",
"instance_type": [
"core_instance",
"protheus_special"
],
"timeout": 900
},
.
.
.
]
},
"product": "protheus",
"so": "windows",
"user_id": ["claudio.lourenco@totvs.com.br"],
"checklist_files": [
{
"label": "Você verificou XYZ?",
"link": "https://tdn.totvs.com.br/pages/viewpage.action?pageId=709420892",
"type": "ID123"
},
.
.
.
],
"checklist_homolog": [
{
"label": "Você verificou XYZ?",
"link": "https://tdn.totvs.com.br/pages/viewpage.action?pageId=709420892",
"type": "ID123"
},
.
.
.
]
}
0 Comentários