Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Premesse

Ultra Automation and Monitoring Engine (UAME)

Elastic Services Controller (ESC)

Problema

Procedura per il ripristino delle VM

Passaggio 1. Controllare lo stato della macchina virtuale da UAME.

Passaggio 2. Ripristinare le VM da ESC.

Passaggio 3. Verificare se il ripristino è riuscito.

Ripristino riuscito

Ripristino non riuscito

Controllare i criteri di ripristino della ESC

Passaggio 4. Reinstallare le VM.

Ridistribuire le VM da UAME

Ispeziona log di ridistribuzione

Introduzione

Questo documento descrive le informazioni di alto livello su come ripristinare VM CNAT, VM CUPS e VM 5G-UPF.

Prerequisiti

Requisiti

Cisco raccomanda la conoscenza dei seguenti argomenti:

- Componenti delle soluzioni Cisco Ultra Virtual Packet Core

- Ultra Automation and Monitoring Engine (UAME)

- Elastic Service Controller (ESC)

- Openstack

Componenti usati

Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:

- USP 6.9.0

- UAME

- ESC: 4.5.0(112)

- StarOS: 21 15 28 (74825)

- Cloud - Openstack 13 (Queens)

Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.

Premesse

Ultra Automation and Monitoring Engine (UAME)

UAME è un nuovo modulo software di Ultra Automation Services (UAS) introdotto per:

- Supportare l'installazione integrata di funzioni di rete virtualizzate (VNF) 4G o 5G e funzioni di rete native cloud 5G.

- Ridurre il numero di macchine virtuali (VM) generalmente richieste da USP e UAS, sostituendo i componenti UEM, AutoIT, AutoDeploy e AutoVNF.

UAME fornisce l'orchestrazione della distribuzione per i seguenti elementi:

- 4GVNF :

- VNF basati su CUPS: L'UAME lavora con Virtual Network Function Manager (VNFM) per implementare VPC SI-based control plane (CP) e user plane (UP) VNF a supporto dell'architettura CUPS (Control and User Plane Separation).

- VNF non basati su CUPS: UAME è compatibile con le versioni precedenti e collabora con VNFM per fornire supporto di installazione per i gateway 4G non CUPS (basati su VPC-DI) e la funzione PCRF (Policy and Charging Rules Function) 4G.

- NF 5G:

- NF basati su VNF: l'UAME lavora con il VNFM per implementare le funzioni di rete (NF) basate su VPC-SI.

- NF basati su cloud nativi: UAME interagisce con VNFM per distribuire Ultra Cloud Core Subscriber Microservices Infrastructure (SMI). L'SMI lavora quindi con il VNFM per distribuire NF in un cluster Kubernetes (noto anche come K8s) basato su VM.

Elastic Services Controller (ESC)

ESC è la VNFM menzionata in questo articolo che è attualmente l'unica piattaforma supportata.

Problema

Le VM che ospitano VM SMI 5G native del cloud sono in stato ERROR in ESC.

crucs502-cnat-cn_oam1_0_d7f90c1e-4401-4be9-87f6-f39ecf04ea3a   VM_ERROR_STATE

crucs502-cnat-cn_master_0_05487525-c86f-47e1-a07e-fd33720d114f VM_ERROR_STATE

crucs502-4g-CRPC_CRPCF5_0_ee07bf60-a8f8-405f-9a0d-cfa7363e32e7 VM_ERROR_STATE

Procedura per il ripristino delle VM

Controllare lo stato della VM in UAME ed ESC. Avviare il processo di ripristino da ESC. Se ESC non è in grado di ripristinare la macchina virtuale, procedere con la ridistribuzione da UAME.

Passaggio 1. Controllare lo stato della macchina virtuale da UAME.

Accedere a UAME, individuare la cli confd e verificare lo stato come mostrato di seguito.

ubuntu@crucs502-uame-1:~$ /opt/cisco/usp/uas/confd-6.3.8/bin/confd_cli -u admin -C

Enter Password for 'admin':

elcome to the ConfD CLI

admin connected from 10.249.80.137 using ssh on crucs502-uame-1

crucs502-uame-1#

crucs502-uame-1#show vnfr state

VNFR ID STATE

---------------------------------

crucs502-4g-CRPCF504 alive

crucs502-4g-CRPCF505 alive

crucs502-4g-CRPCF506 alive

crucs502-4g-CRPCF507 error

crucs502-4g-CRPCF604 alive

crucs502-cnat-cnat error

Passaggio 2. Ripristinare le VM da ESC.

Provare a eseguire il ripristino da ESC manualmente.

Spoiler (Evidenziato da leggere)

Nota: Per completare il ripristino potrebbero essere necessari fino a 900 secondi (15 min.).

ora_avvio 300

tempo_attesa_ripristino 600

Nota: Per completare il ripristino potrebbero essere necessari fino a 900 secondi (15 min.). bootup_time 300recovery_wait_time 600

Accedere al master ESC, controllare lo stato e quindi eseguire i comandi di ripristino come illustrato di seguito.

Last login: Wed May 13 02:07:42 2020 from 10.x.x.x

####################################################################

# ESC on crucs502-esc-vnf-esc-core-esc-1 is in MASTER state.

####################################################################

[admin@crucs502-esc-vnf-esc-core-esc-1 ~]$ health.sh

============== ESC HA (MASTER) with DRBD =================

vimmanager (pgid 14643) is running

monitor (pgid 14712) is running

mona (pgid 14768) is running

drbd (pgid 0) is master

snmp is disabled at startup

etsi is disabled at startup

pgsql (pgid 15119) is running

keepalived (pgid 14070) is running

portal is disabled at startup

confd (pgid 15016) is running

filesystem (pgid 0) is running

escmanager (pgid 15254) is running

=======================================

ESC HEALTH PASSED

/opt/cisco/esc/esc-confd/esc-cli/esc_nc_cli recovery-vm-action DO crucs502-cnat-cn_oam1_0_d7f90c1e-4401-4be9-87f6-f39ecf04ea3a

tail -50f /var/log/esc/yangesc.log

2020-05-05 02:29:01.534 WARN ===== SEND NOTIFICATION STARTS =====

2020-05-05 02:29:01.534 WARN Type: VM_RECOVERY_COMPLETE

2020-05-05 02:29:01.534 WARN Status: SUCCESS

2020-05-05 02:29:01.534 WARN Status Code: 200

2020-05-05 02:29:01.534 WARN Status Msg: Recovery: Successfully recovered VM [crucs502-cnat-cn_oam1_0_d7f90c1e-4401-4be9-87f6-f39ecf04ea3a].

2020-05-05 02:29:01.534 WARN Tenant: core

2020-05-05 02:29:01.534 WARN Deployment name: crucs502-cnat-cnat-core

2020-05-05 02:29:01.534 WARN VM group name: oam1

<output trimmed>

/opt/cisco/esc/esc-confd/esc-cli/esc_nc_cli recovery-vm-action DO crucs502-cnat-cn_master_0_05487525-c86f-47e1-a07e-fd33720d114f

tail -50f /var/log/esc/yangesc.log

2020-05-05 02:12:51.512 WARN ===== SEND NOTIFICATION STARTS =====

2020-05-05 02:12:51.512 WARN Type: VM_RECOVERY_COMPLETE

2020-05-05 02:12:51.512 WARN Status: SUCCESS

2020-05-05 02:12:51.512 WARN Status Code: 200

2020-05-05 02:12:51.512 WARN Status Msg: Recovery: Successfully recovered VM [crucs502-cnat-cn_master_0_05487525-c86f-47e1-a07e-fd33720d114f].

2020-05-05 02:12:51.512 WARN Tenant: core

2020-05-05 02:12:51.512 WARN Deployment name: crucs502-cnat-cnat-core

<output trimmed>

Passaggio 3. Verificare se il ripristino è riuscito.

Controllare i log di yangesc (tail -50f /var/log/esc/yangesc.log) e cercare Status and Recovery come mostrato sopra. Se l'operazione ha esito positivo, passare alla CLI confd e verificare.

[admin@crucs502-esc-vnf-esc-core-esc-1 ~]$ /opt/cisco/esc/confd/bin/confd_cli -u admin -C

admin connected from 10.249.80.137 using ssh on crucs502-esc-vnf-esc-core-esc-1

crucs502-esc-vnf-esc-core-esc-1# show esc_datamodel opdata tenants tenant | select deployments state_machine

NAME DEPLOYMENT NAME STATE VM NAME STATE

-------------------------------------------------------------------------------------------------------------------------------------------

<trucated output>

crucs502-cnat-cn_etcd2_0_7263c87c-ee62-4b81-8e1e-a0f5c463a5b5 VM_ALIVE_STATE

crucs502-cnat-cn_etcd3_0_512ef3c0-96a2-4a10-83b0-4c7d13805856 VM_ALIVE_STATE

crucs502-cnat-cn_master_0_05487525-c86f-47e1-a07e-fd33720d114f VM_ALIVE_STATE

crucs502-cnat-cn_master_0_8cf66daa-9dfe-4c7e-817e-36624f9c98c2 VM_ALIVE_STATE

crucs502-cnat-cn_master_0_dff4ad36-7982-4131-a737-ccb6c8eae348 VM_ALIVE_STATE

crucs502-cnat-cn_oam1_0_d7f90c1e-4401-4be9-87f6-f39ecf04ea3a VM_ALIVE_STATE

Ripristino riuscito

When ESC shows VM_ALIVE_STATE, verify the status in UAME

crucs502-uame-1#show vnfr state

VNFR ID STATE

---------------------------------

crucs502-4g-CRPCF504 alive

crucs502-4g-CRPCF505 alive

crucs502-4g-CRPCF506 alive

crucs502-4g-CRPCF507 alive

crucs502-4g-CRPCF604 alive

crucs502-4g-CRPCF605 alive

crucs502-4g-CRPCF606 alive

crucs502-4g-CRPCF607 alive

crucs502-4g-CRPGW502 alive

crucs502-4g-CRPGW503 alive

crucs502-4g-CRPGW608 alive

crucs502-4g-CRPGW609 alive

crucs502-4g-CRPGW610 alive

crucs502-4g-CRPGW611 alive

crucs502-4g-CRPGW612 alive

crucs502-4g-CRPGW613 alive

crucs502-4g-CRPGW614 alive

crucs502-4g-CRPGW615 alive

crucs502-4g-CRSGW606 alive

crucs502-4g-CRSGW607 alive

crucs502-4g-CRSGW608 alive

crucs502-4g-CRSGW609 alive

crucs502-4g-CRSGW610 alive

crucs502-4g-CRSGW611 alive

crucs502-5g-upf-CRUPF014 alive

crucs502-5g-upf-CRUPF015 alive

crucs502-5g-upf-CRUPF016 alive

crucs502-5g-upf-CRUPF017 alive

crucs502-5g-upf-CRUPF018 alive

crucs502-5g-upf-CRUPF019 alive

crucs502-5g-upf-CRUPF020 alive

crucs502-5g-upf-CRUPF021 alive

crucs502-5g-upf-CRUPF022 alive

crucs502-5g-upf-CRUPF023 alive

crucs502-5g-upf-CRUPF024 alive

crucs502-5g-upf-CRUPF025 alive

crucs502-5g-upf-CRUPF026 alive

crucs502-5g-upf-CRUPF027 alive

crucs502-cnat-cnat alive

crucs502-cnat-smi-cm alive

crucs502-esc-vnf-esc alive

verify the same in openstack (source the correct overcloud rc file)

(crucs502) [stack@crucs502-ospd ~]$ nova list --fields name,status,host |egrep "CRPCF507|cnat"

<truncated output>

| 3eb43fe7-9f41-42d8-afe4-80f6fd62c385 | crucs502-4g-CRPCF507-core-CRPCF5071 | ACTIVE | crucs502-compute-11.localdomain |

| cc678283-2967-4404-a714-e4dd78000e82 | crucs502-cnat-cnat-core-etcd1 | ACTIVE | crucs502-osd-compute-0.localdomain |

| 711d6fcd-b816-49d4-a702-e993765757b0 | crucs502-cnat-cnat-core-master3 | ACTIVE | crucs502-osd-compute-3.localdomain |

| 46f64bde-a8db-48f2-bf3d-fe3b01295f2f | crucs502-cnat-cnat-core-oam1 | ACTIVE | crucs502-osd-compute-3.localdomain |

| f470ba3d-813e-434b-aac8-78bc646fda22 | crucs502-cnat-cnat-core-oam2 | ACTIVE | crucs502-osd-compute-2.localdomain |

Ripristino non riuscito

Nell'esempio viene mostrato un caso di ripristino non riuscito da ESC. In questo caso, la VM viene ridistribuita da UAME.

/opt/cisco/esc/esc-confd/esc-cli/esc_nc_cli recovery-vm-action DO crucs502-4g-CRPC_CRPCF5_0_ee07bf60-a8f8-405f-9a0d-cfa7363e32e7

Questo output mostra il messaggio di errore in yangesc.log

tail -50f /var/log/esc/yangesc.log

2020-05-05 02:57:21.143 WARN ===== SEND NOTIFICATION STARTS =====

2020-05-05 02:57:21.143 WARN Type: VM_RECOVERY_INIT

2020-05-05 02:57:21.143 WARN Status: SUCCESS

2020-05-05 02:57:21.143 WARN Status Code: 200

2020-05-05 02:57:21.143 WARN Status Msg: Recovery event for VM Generated ID [crucs502-4g-CRPC_CRPCF5_0_ee07bf60-a8f8-405f-9a0d-cfa7363e32e7] triggered.

2020-05-05 02:57:21.143 WARN Tenant: core

2020-05-05 02:57:21.143 WARN Deployment name: crucs502-4g-CRPCF507-core

2020-05-05 02:57:21.143 WARN VM group name: CRPCF5071

<output trimmed>

2020-05-05 02:57:21.144 WARN ===== SEND NOTIFICATION ENDS =====

2020-05-05 03:09:21.655 WARN

2020-05-05 03:09:21.655 WARN ===== SEND NOTIFICATION STARTS =====

2020-05-05 03:09:21.655 WARN Type: VM_RECOVERY_REBOOT

2020-05-05 03:09:21.655 WARN Status: SUCCESS

2020-05-05 03:09:21.655 WARN Status Code: 200

2020-05-05 03:09:21.655 WARN Status Msg: VM Generated ID [crucs502-4g-CRPC_CRPCF5_0_ee07bf60-a8f8-405f-9a0d-cfa7363e32e7] is rebooted.

2020-05-05 03:09:21.655 WARN Tenant: core

2020-05-05 03:09:21.655 WARN Deployment name: crucs502-4g-CRPCF507-core

2020-05-05 03:09:21.655 WARN VM group name: CRPCF5071

<output trimmed>

2020-05-05 03:09:21.656 WARN ===== SEND NOTIFICATION ENDS =====

2020-05-05 03:14:22.079 WARN

2020-05-05 03:14:22.079 WARN ===== SEND NOTIFICATION STARTS =====

2020-05-05 03:14:22.079 WARN Type: VM_RECOVERY_COMPLETE

2020-05-05 03:14:22.079 WARN Status: FAILURE

2020-05-05 03:14:22.079 WARN Status Code: 500

2020-05-05 03:14:22.079 WARN Status Msg: Recovery: Recovery completed with errors for VM: [crucs502-4g-CRPC_CRPCF5_0_ee07bf60-a8f8-405f-9a0d-cfa7363e32e7]

2020-05-05 03:14:22.079 WARN Tenant: core

2020-05-05 03:14:22.079 WARN Deployment name: crucs502-4g-CRPCF507-core

2020-05-05 03:14:22.079 WARN VM group name: CRPCF5071

<output trimmed>

Controllare i criteri di ripristino della ESC

In ESC il metodo di ripristino è solo reboot. Ciò indica che non è stato possibile ripristinare la VM con un riavvio. È necessario reinstallare.

crucs502-esc-vnf-esc-core-esc-1# show running-config | include recovery_policy

recovery_policy recovery_type AUTO

recovery_policy action_on_recovery REBOOT_ONLY

recovery_policy max_retries 1

Riconfermare lo stato della VM in UAME

Spoiler (Evidenziato da leggere)

Nota importante:  La ridistribuzione viene fornita con la configurazione day0. La configurazione del giorno 1 deve essere caricata separatamente.

Nota importante:  La ridistribuzione viene fornita con la configurazione day0. La configurazione del giorno 1 deve essere caricata separatamente.

ubuntu@crucs502-uame-1:~$ /opt/cisco/usp/uas/confd-6.3.8/bin/confd_cli -u admin -C

Enter Password for 'admin':

elcome to the ConfD CLI

admin connected from 10.249.80.137 using ssh on crucs502-uame-1

crucs502-uame-1#

crucs502-uame-1#

crucs502-uame-1#show vnfr state

VNFR ID STATE

---------------------------------

crucs502-4g-CRPCF504 alive

crucs502-4g-CRPCF505 alive

crucs502-4g-CRPCF506 alive

crucs502-4g-CRPCF507 error

crucs502-4g-CRPCF604 alive

Passaggio 4. Reinstallare le VM.

Ridistribuire le VM da UAME

crucs502-uame-1# recover nsd-id crucs502-4g vnfd CRPCF507 recovery-action redeploy

Ispeziona log di ridistribuzione

Visualizzare i registri UAME e i registri ESC. L'intero processo può richiedere fino a 15 minuti.

Registri UAME:

tail -50f /var/log/upstart /uame/log

<truncated output>

2020-05-06 08:57:22,252 - | VM_RECOVERY_DEPLOYED | CRPCF5071 | SUCCESS | Waiting for: VM_RECOVERY_COMPLETE|

2020-05-06 08:57:22,255 - Timing out in 143 seconds

2020-05-06 08:57:48,227 - | VM_RECOVERY_COMPLETE | crucs502-4g-CRPC_CRPCF5_0_ee07bf60-a8f8-405f-9a0d-cfa7363e32e7 | SUCCESS | (1/1)

2020-05-06 08:57:48,229 - NETCONF transaction completed successfully!

2020-05-06 08:57:48,231 - Released lock: esc_vnf_req

2020-05-06 08:57:48,347 - Deployment recover-vnf-deployment: crucs502-4g succeeded

2020-05-06 08:57:48,354 - Send Deployment notification for: crucs502-4g-CRPCF507

Registri ESC:

tail -50f /var/log/esc/yangesc.log

2020-05-06 08:58:01.454 WARN Type: VM_RECOVERY_COMPLETE

2020-05-06 08:58:01.454 WARN Status: SUCCESS

2020-05-06 08:58:01.454 WARN Status Code: 200

2020-05-06 08:58:01.454 WARN Status Msg: Recovery: Successfully recovered VM [crucs502-4g-CRPC_CRPCF5_0_ee07bf60-a8f8-405f-9a0d-cfa7363e32e7].

2020-05-06 08:58:01.454 WARN Tenant: core

2020-05-06 08:58:01.454 WARN Deployment ID: 4f958c43-dfa4-45d4-a69d-76289620c337

2020-05-06 08:58:01.454 WARN Deployment name: crucs502-4g-CRPCF507-core

2020-05-06 08:58:01.454 WARN VM group name: CRPCF5071

<output trimmed>

Verificare lo stato della macchina virtuale. Seguire la procedura descritta al punto 3.