Introdução
O Oracle Enterprise Manager (OEM) 13.5 suporta integração com Fleet Patching and Provisioning (FPP) a partir do RU 14 (13.5.0.14).
Para habilitar ou desabilitar essa integração, um FPP Server pode ser registrado ou removido via linha de comando “emcli”, para que as Gold Images e FPP Clients desse FPP Server apareçam na console do OEM na opção de Fleet Maintenance.
Problema
Ao tentar remover o registro de um FPP Server no Enterprise Manager via emcli, o comando falhou com o erro abaixo:
[oracle@emcc ~]$ emcli db_software_maintenance -setup -deregisterFPPServer -server_id="0E616BB20B74E2B8C3C00CFA1085E8CF" Status: 500 - Internal Server Error Internal Server Error. Error message - HTTP 500 Internal Server Error Verb deregisterFPPServer unsuccessful
Identificado que a cada tentativa de executar este comando, o arquivo de log “emoms.log” apresentava uma mensagem similar a essa:
2024-08-09 21:33:47,672 [[ACTIVE] ExecuteThread: '85' for queue: 'weblogic.kernel.Default (self-tuning)'] ERROR service.FPPRegistrationService logp.251 - Error while stopping the scheduled sync job 1CD8DF7DC6A3677BE0636101A8C0D1B3 java.lang.NullPointerException
Caminho deste log:
/u01/app/oracle/oem13c/gc_inst/em/EMGC_OMS1/sysman/log
No contexto de integração do OEM com o FPP, existe um JOB dentro do OEM para fazer a sincronização das informações do FPP Server para o Enterprise Manager, como a coleta de Gold Images, FPP Clients e etc. Ao executar o comando de remover o registro do FPP Server, o OEM tenta parar e remover esse JOB.
Eu não identifiquei a causa dessa operação falhar, mas consegui uma solução alternativa removendo a propriedade SYNC_JOB_SUBMISSION_GUID” do registro do FPP Server.
Solução
1) Faça login e sync no emcli novamente caso a sessão que estava aberta tenha se expirado:
emcli login -username=sysman sync
2) Liste os FPP Servers registrados no OEM para identificar o ID do servidor do FPP em específico:
[oracle@emcc ~]$ emcli db_software_maintenance -setup -getFPPServers FPP Servers retrieved succesfully. Following are the FPP Servers: ================================================================================================================================================================ TARGET NAME TARGET TYPE TARGET ID ================================================================================================================================================================ fppserver cluster 0E616BB20B74E2B8C3C00CFA1085E8CF ---------------------------------------------------------------------------------------------------------------------------------------------------------------- Total Rows: 1 Verb getFPPServers completed successfully
3) Com o resultado do comando acima, consulte os detalhes do FPP Server para confirmar que possui a propriedade “SYNC_JOB_SUBMISSION_GUID”, e o valor dessa propriedade é igual ao nome do JOB que apareceu no erro do log (neste exemplo, foi 1CD8DF7DC6A3677BE0636101A8C0D1B3):
[oracle@emcc ~]$ emcli db_software_maintenance -setup -getFPPServerDetails -server_id="0E616BB20B74E2B8C3C00CFA1085E8CF" FPP Server Details retrieved succesfully. FPP Server Details: ================================================================================================================================================================ NAME VALUE ================================================================================================================================================================ Target Name fppserver ---------------------------------------------------------------------------------------------------------------------------------------------------------------- REST_URL https://fppserver.dibiei.com:8894/rhp-restapi/rhp ---------------------------------------------------------------------------------------------------------------------------------------------------------------- AGENT_CREDENTIAL NC_HOST_oracle:SYSMAN ---------------------------------------------------------------------------------------------------------------------------------------------------------------- SYNC_JOB_SUBMISSION_GUID 1CD8DF7DC6A3677BE0636101A8C0D1B3 ---------------------------------------------------------------------------------------------------------------------------------------------------------------- Total Rows: 4 FPP Clients configured with this FPP Server: ================================================================================================================================================================ TARGET NAME TARGET TYPE TARGET ID ================================================================================================================================================================ Total Rows: 0 FPP Server REST Users: ================================================================================================================================================================ USERNAME ================================================================================================================================================================ fpp_rest_user ---------------------------------------------------------------------------------------------------------------------------------------------------------------- Total Rows: 1 Verb getFPPServerDetails completed successfully
4) Execute o comando abaixo para remover essa propriedade do registro do FPP Server:
emcli db_software_maintenance -setup -deleteFPPServerProperty -server_id="<FPP Server ID" -property_name="SYNC_JOB_SUBMISSION_GUID"
Exemplo:
[oracle@emcc ~]$ emcli db_software_maintenance -setup -deleteFPPServerProperty -server_id="0E616BB20B74E2B8C3C00CFA1085E8CF" -property_name="SYNC_JOB_SUBMISSION_GUID" FPP Server Property deleted succesfully. Verb deleteFPPServerProperty completed successfully
5) Se o comando acima concluir com sucesso, ao consultar os detalhes do FPP Server novamente, a propriedade SYNC_JOB_SUBMISSION_GUID não deve mais aparecer:
[oracle@emcc ~]$ emcli db_software_maintenance -setup -getFPPServerDetails -server_id="0E616BB20B74E2B8C3C00CFA1085E8CF" FPP Server Details retrieved succesfully. FPP Server Details: ================================================================================================================================================================ NAME VALUE ================================================================================================================================================================ Target Name fppserver ---------------------------------------------------------------------------------------------------------------------------------------------------------------- REST_URL https://fppserver.dibiei.com:8894/rhp-restapi/rhp ---------------------------------------------------------------------------------------------------------------------------------------------------------------- AGENT_CREDENTIAL NC_HOST_oracle:SYSMAN ---------------------------------------------------------------------------------------------------------------------------------------------------------------- Total Rows: 3 FPP Clients configured with this FPP Server: ================================================================================================================================================================ TARGET NAME TARGET TYPE TARGET ID ================================================================================================================================================================ Total Rows: 0 FPP Server REST Users: ================================================================================================================================================================ USERNAME ================================================================================================================================================================ fpp_rest_user ---------------------------------------------------------------------------------------------------------------------------------------------------------------- Total Rows: 1 Verb getFPPServerDetails completed successfully
6) Por fim, prossiga com o comando para remoção do registro do FPP Server que falhou inicialmente:
[oracle@emcc ~]$ emcli db_software_maintenance -setup -deregisterFPPServer -server_id="0E616BB20B74E2B8C3C00CFA1085E8CF" FPP Server de-registered successfully from Enterprise Manager. Verb deregisterFPPServer completed successfully