Introdução
Este documento descreve as várias licenças do Network Services Orchestrator (NSO) e como elas podem ser ativadas usando o Cisco Smart License®.
Pré-requisitos
Requisitos
A Cisco recomenda que você tenha conhecimento destes tópicos:
- Como usar o NSO CLI
- Troubleshooting de NSO
- Conhecimento básico do Linux
Componentes Utilizados
As informações neste documento são baseadas nestas versões de software e hardware:
- NSO 4.5 e posterior
- NSO 4.4
- NSO 4.1/4.2/4.3
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Licenças NSO
Note: O usuário deve possuir uma licença NSO válida.
As licenças utilizadas pela NSO são as seguintes:
PID |
Exibir no SSM |
tipo |
Descrição |
R-NSO-K 9 |
|
Nível superior |
Exigido para cada instância de NSO |
NSO-P-PAK |
NSO-platform-production |
servidor |
Necessário para o nó ativo |
NSO-HA-LIC-P |
NSO-platform-production-standby |
servidor |
Necessário para o nó de espera |
NSO-DEV-P-PAK |
NSO-platform-development-test |
servidor |
Necessário para o ambiente de desenvolvimento |
NSO-PNF-() |
NSO-network-element |
Elemento de rede |
Descendente Se o dispositivo conectado for um dispositivo físico
|
NSO-VNF-() |
NSO-network-element |
Elemento de rede |
Descendente O dispositivo conectado é um dispositivo virtual |
NED-() |
Diferente para cada NED
Exemplo:
Cisco-ios-NED Cisco-iosxr-NED
|
NED |
Para NED. É necessário para cada tipo de vários dispositivos.
Exemplo:
NED-IOS-P: Para NED IOS NED-IOSX-P: Para NED IOS-XR
|
Note: Isso pode ser incluído em um Packet Identifier (PID) do pacote (pacote que inclui ESC e mais), de modo que é possível que esses PIDs não apareçam na ordem.
Smart Account e Virtual Account
Cada produto, incluindo NSO, solicita que o servidor Cisco adquira uma licença para se ativar. Basicamente, ele verifica se você adquiriu o número suficiente de licenças para o produto e se elas estão disponíveis para uso.
Uma Smart Account é atribuída a uma organização. Veja a empresa A, por exemplo:
- A empresa A pode ter os departamentos X, Y e Z e deseja gerenciar suas licenças separadamente.
- Uma Virtual Account pode ser atribuída a cada departamento.

Tokens podem ser gerados para cada Virtual Account. Usamos o token para acessar a Virtual Account do produto.
No Gerenciador Inteligente de Software, o status da licença em Virtual Accounts é visto da seguinte forma:

Configurar
Pode haver vários métodos de como o NSO se conecta ao servidor do Smart Licensing e isso depende do ambiente onde o NSO está instalado. Este documento também descreve as diferentes integrações entre o NSO e os servidores de licenciamento da Cisco.
Etapa 1. Gerar um token
1. Para criar um novo token, faça login no Cisco Smart Software Manager (CSSM) com a ID de usuário/ou ID do CCO e selecione a conta virtual apropriada. Clique em Gerenciar licenças para continuar. Localize o link na Cisco Software Central.

2. Clique na guia Inventário e selecione uma Virtual Account com a qual deseja trabalhar.

3. No CSSM, clique em Novo Token.
Preencha as informações necessárias. Observe que a data de expiração indica por quanto tempo o token é válido, portanto, os usuários precisam usar o token criado dentro de alguns dias. Curto e longo precisam ser equilibrados entre conveniência e risco de segurança. Além disso, NÃO se trata de por quanto tempo as licenças serão válidas.

5. O token recém-criado está na tabela.

6. Clique no link do token para mostrar uma janela pop-up. Copie o token da janela de diálogo para a área de transferência.

Etapa 2. Preparação do Registro de Token
Aqui estão os métodos de registro (direto/proxy/satélite).
Se o NSO ou qualquer produto da Cisco precisar de licenças inteligentes, converse com o Cisco Smart Software Manager (ou Cisco Cloud) para se registrar.
Há quatro opções principais para configurar o Smart License Supported Environment:

Opção 1. Acesso direto à nuvem
Com esse método, o servidor NSO precisa ser capaz de se comunicar com a Cisco Cloud diretamente com https. O uso de HTTP é suportado, no entanto, não é recomendado por motivo de segurança.
Nesse método, o processo de registro pode ser iniciado sem uma configuração especial.
Opção 2. Acesso direto à nuvem através de um proxy HTTPS
Se você precisar usar o servidor proxy HTTP(S) para se conectar à Web na Internet, o agente inteligente no NSO deverá ser configurado com informações do servidor proxy.
Quando a opção 2 é usada, o agente inteligente precisa ser instruído a enviar sua solicitação de registro ao servidor proxy em vez de enviar diretamente à Cisco.
A configuração depende da versão.
NSO 4.5 ou posterior
A partir do NSO 4.5, agora é possível configurar a licença inteligente através do ncs.conf. Se a configuração de licença inteligente existir tanto no ncs.conf quanto no NSO CDB, a configuração no ncs.conf terá precedência.
Isso significa que os comandos como smart-license smart-agent override-url url https://10.1.2.3/ não terão efeito se uma configuração diferente estiver presente no ncs.conf. Ao fazer uma instalação de sistema NSO, o ncs.conf por padrão inclui o seguinte:
<smart-license>
<smart-agent>
<java-executable>DEFAULT</java-executable>
<java-options>DEFAULT</java-options>
<production-url>DEFAULT</production-url>
<alpha-url>DEFAULT</alpha-url>
<override-url>
<url>DEFAULT</url>
</override-url>
<proxy>
<url>DEFAULT</url>
</proxy>
</smart-agent>
</smart-license>
DEFAULT significa que ele usa os valores padrão conforme definido em $install_dir/src/ncs/yang/tailf-ncs-smart-license.yang.
Para configurar leafs listados no ncs.conf no NSO CDB, certifique-se de remover a respectiva entrada do ncs.conf e executar o recarregamento /etc/init.d/ncs.
NSO 4.4
Configure a URL do proxy neste caminho.
smart-license smart-agent proxy url <proxy url>
admin@ncs(config)# smart-license smart-agent proxy url https://10.10.10.10:8080
admin@ncs(config)#
Na configuração padrão, o NSO se conecta a https://tools.cisco.com/its/service/oddce/services/DCEService, portanto o proxy HTTPS precisa ser usado.
Essa configuração de proxy é definida para HTTPS e HTTP automaticamente, portanto, se você alterar o URL de destino para HTTP para uso do satélite explicado na Opção 3. ou 4., uma configuração ainda poderá lidar com ambos os casos.
Opção 3. Acesso mediado por meio de uma rede local conectada por coletor
Em muitos casos, a rede NSO não está diretamente conectada à Internet. Além da opção 2, o satélite do Gerenciador Inteligente de Software pode ser introduzido; para que o NSO não precise trocar mensagens diretamente com o Cisco Cloud.
Os detalhes do produto do satélite do Gerenciador Inteligente de Software podem ser encontrados aqui.
Para saber como instalar, consulte o guia de instalação no link.
Quando você usa esse método, o NSOl fala com o satélite em vez da nuvem da Cisco.
Para alterar o destino, você pode modificar override-url:
admin@ncs(config)# smart-license smart-agent override-url url https://10.1.2.3/
admin@ncs(config)#
Esse URL pode ser encontrado na Web administrativa do satélite do Gerenciador Inteligente de Software.
Opção 4: Acesso mediado por meio de um coletor local desconectado
Este método é exatamente o mesmo que o método (3) do ponto de vista do NSO. A diferença é apenas como sincronizar com o Cisco Cloud a partir do satélite do Gerenciador Inteligente de Software.
Etapa 3. Registro de Token
Depois de usar o token, ative o NSO com o token gerado para o servidor Cisco. O token é usado na CLI do NSO para registrar-se no CSSM. Quando o comando é inserido, o processo de registro é iniciado de forma assíncrona.
admin@ncs# smart-license register idtoken YWVlMmQ3ZjEtYT....
result Registration process in progress. Use the 'show license status' command to check the progress and result.
admin@ncs#
Verificar
Use esta seção para confirmar se a sua configuração funciona corretamente.
Antes do registro
O Smart Licensing está sempre habilitado. A saída indica que o NSO não está registrado, e no MODO EVAL que expira em 89 dias 23 horas.
admin@ncs# show license status
Smart Licensing is ENABLED
Registration:
Status: UNREGISTERED
Export-Controlled Functionality: Allowed
License Authorization:
Status: EVAL MODE
Evaluation Period Remaining: 89 days, 23 hr, 17 min, 36 sec
Last Communication Attempt: NONE
Next Communication Attempt: NONE
Development mode: enabled
admin@ncs#
O status do registro pode ser verificado com o comando show license status. Se o registro ainda estiver em andamento, o comando mostrará essa saída e dirá: "REGISTRO PENDENTE".
<Ainda registrando...>
admin@ncs# show license status
Smart Licensing is ENABLED
Registration:
Status: UNREGISTERED - REGISTRATION PENDING
Initial Registration: First Attempt Pending
Export-Controlled Functionality: Allowed
License Authorization:
Status: EVAL MODE
Evaluation Period Remaining: 89 days, 23 hr, 16 min, 36 sec
Last Communication Attempt: SUCCEEDED on Aug 3 09:41:56 2016 UTC
Next Communication Attempt: NONE
Development mode: enabled
admin@ncs#
Depois de um tempo, o registro é concluído. Quando você vir o status REGISTERED, o sistema será registrado no CSSM.
<Registrado!!>
admin@ncs# show license status
Smart Licensing is ENABLED
Registration:
Status: REGISTERED
Smart Account: BU Production Test
Virtual Account: TAC-Japan-Cloudorch
Export-Controlled Functionality: Allowed
Initial Registration: SUCCEEDED on Aug 4 05:29:52 2016 UTC
Last Renewal Attempt: SUCCEEDED on Aug 4 05:30:03 2016 UTC
Next Renewal Attempt: Jan 31 05:30:03 2017 UTC
Registration Expires: Aug 4 05:24:56 2017 UTC
Export-Controlled Functionality: Allowed
License Authorization:
License Authorization:
Status: AUTHORIZED on Aug 4 05:30:05 2016 UTC
Last Communication Attempt: SUCCEEDED on Aug 4 05:25:02 2016 UTC
Next Communication Attempt: Sep 3 05:30:07 2016 UTC
Communication Deadline: Aug 4 05:24:56 2017 UTC
Development mode: enabled
admin@ncs#
Uso (status autorizado)
Que licença é usada pode ser vista com o comando show license summary. Neste exemplo, NSO-platform-production, NSO-network-element e cisco-ios-NED são usados no sistema. Observe que o status da autorização da licença é "AUTHORIZED". Isso significa que todos os componentes que requerem licenças estão funcionando corretamente sob um estado legal.
admin@ncs# show license summary
Smart Licensing is ENABLED
Registration:
Status: REGISTERED
Smart Account: COMPANY A
Virtual Account: Network Department
Last Renewal Attempt: None
Next Renewal Attempt: Jan 31 05:33:02 2017 UTC
License Authorization:
Status: AUTHORIZED
Last Communication Attempt: SUCCEEDED
Next Communication Attempt: Sep 3 05:33:06 2016 UTC
License Usage:
License Entitlement Tag Count Status
----------------------------------------------------------------------------------------------------------------------------------------------
348fbb21-7edf-42bb-baa7-198903058a54regid.2016-04.com.cisco.NSO-platform-production,4.2_348fbb21-7edf-42bb-baa7-198903058a54 1 InCompliance
5d641fa0-757d-43b0-a926-166cb6e3cfddregid.2015-10.com.cisco.NSO-network-element,1.0_5d641fa0-757d-43b0-a926-166cb6e3cfdd 3 InCompliance
d9eca34d-1f6a-4595-ad74-9c0c57e03c27regid.2015-10.com.cisco.cisco-ios-NED,1.0_d9eca34d-1f6a-4595-ad74-9c0c57e03c27 1 InCompliance
Development mode: disabled
admin@ncs#
Esta é uma saída do comando show license usage em um exemplo diferente. Neste exemplo, cisco-iosxr-NED também é adicionado e o status é OutOfCompliance. Isso indica que o registro no CSSM é adequado, no entanto, uma licença para cisco-iosxr-NED é insuficiente na Virtual Account. Devido ao status fora de conformidade do cisco-iosxr-NED, o status geral é OUT_OF_COMPLIANCE.
admin@ncs # show license usage
License Authorization Status : OUT_OF_COMPLIANCE as of Oc 24 06:14:11 2016 UTC
NSO-platform-production (regid.2016-04.com.cisco.NSO-platform-production, 1.0_d1445dab-9d96-4593-99f2-6f633b8a759c)
Description : API unavailable
Count : 1
Version : 1.0
Status : InCompliance
NSO-network-element (regid.2015-10.com.cisco.NSO-network-element, 1.0_5d641fa0-757d-43b0-a926-166cb6e3cfdd)
Description : API unavailable
Count : 3
Version : 1.0
Status : InCompliance
cisco-ios-NED (regid.2015-10.com.cisco.cisco-ios-NED, 1.0_d9eca34d-1f6a-4595-ad74-9c0c57e03c27)
Description : API unavailable
Count : 1
Version : 1.0
Status : InCompliance
cisco-iosxr-NED (regid.2015-10.com.cisco.cisco.cisco-iosxr-NED, 1.0_9956fc34-cbed-4d13-a1ea-6a36f4e40a99)
Description : API unavailable
Count : 1
Version : 1.0
Status : OutOfCompliance
Troubleshooting
Tente habilitar a depuração no recurso de licença inteligente. Quando a depuração está habilitada, o log de depuração é gerado no arquivo especificado em /smart-license/smart-agent/stdout-capture/file. o smart license debug gera muitos logs, e é recomendável desabilitar o debug após a coleta de dados.
Debug enable
admin@ncs# debug smart_lic all
ok
admin@ncs#
Debug disable
admin@ncs# no debug smart_lic all
ok
admin@ncs#
Configuração do log de licença inteligente
admin@ncs# show running-config smart-license
smart-license smart-agent stdout-capture disabled
smart-license smart-agent stdout-capture file ./logs/ncs-smart-licensing.log
admin@ncs#
Habilitar log de licença inteligente
admin@ncs(config)# smart-license smart-agent stdout-capture enabled
admin@ncs(config)# commit
Commit complete.
admin@ncs(config)#
Renovar o certificado SSL local do CSSM
Para clientes que têm CSSM local, o NSO pode falhar ao se conectar ao servidor se o certificado SSL tiver expirado.
Estas são as etapas para corrigir o problema gerando um arquivo onprem.crt:
1. Colete o novo certificado do servidor CSSM usando o openssl (a porta normalmente usada é a 443):
openssl s_client -showcerts -connect <>:443 | openssl x509 -out onprem.crt
2. Localize o diretório para importar o certificado. O diretório padrão é /etc/pki/ca-trust/extraído/java/cacerts. Para encontrá-lo, aqui está um comando para procurar os diretórios cacerts no sistema, e um exemplo da saída:
[root@localhost /]# find / -name cacerts 2>/dev/null | xargs -I {} ls -l {}
-r--r--r--. 1 root root 156478 Jun 26 08:02 /etc/pki/ca-trust/extracted/java/cacerts
lrwxrwxrwx. 1 root root 40 Aug 25 2022 /etc/pki/java/cacerts -> /etc/pki/ca-trust/extracted/java/cacerts
lrwxrwxrwx. 1 root root 21 Jun 15 04:52 /etc/java/java-17-openjdk/java-17-openjdk-17.0.15.0.6-3.el9.x86_64/lib/security/cacerts -> /etc/pki/java/cacerts
[root@localhost /]#
3. Carregue o certificado. A senha padrão para o armazenamento de chaves é changeit:
sudo keytool -import -alias ssm_onprem -file onprem.crt -keystore /etc/pki/ca-trust/extracted/java/cacerts
3.1 (Opcional) Para confirmar que o certificado foi carregado corretamente, execute este comando:
root@Ubuntu-24-9:/home/nso# keytool -list -keystore /etc/ssl/certs/java/cacerts -storepass changeit -alias ssm_onprem
Warning: use -cacerts option to access cacerts keystore
ssm_onprem, Aug 4, 2025, trustedCertEntry,
Certificate fingerprint (SHA-256): F7:00:C9:74:34:57:5E:BE:70:A7:0E:D2:9B:A8:2D:44:F1:CE:14:55:C3:D9:06:3F:83:68:95:A1:C6:B5:7F:26
root@Ubuntu-24-9:/home/nso#
4. Reinicie o agente inteligente (no modo de configuração):
admin@ncs(config)# smart-license smart-agent restart
result Started
5. Registre novamente o certificado:
admin@ncs# license smart deregister
ok
admin@ncs# license smart register idtoken TOKEN
Registration process in progress. Use the 'show license status' command to check the progress and result.
admin@ncs#
6. Para confirmar que o registro foi bem-sucedido com o comando show license summary cuja saída é mostrada neste artigo.