Introducción
Este documento describe cómo sincronizar la instancia del producto con sus cuentas Smart en Cisco Hosted Collaboration Solution (HCS) 12.5 mediante
Mediación de colaboración alojada de Cisco (HCM-F)
Prerequisites
Requirements
Cisco recomienda que tenga conocimiento sobre estos temas:
Cisco Unified Communications Manager (CUCM) versión 12.5
HCM-F 12.5
CUCM Smart Licensing: modelo directo
Cisco Smart Software Management (CSSM)
Componentes Utilizados
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
CUCM 12.5.X
HCM-F 12.5.1
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Antecedentes
Hosted License Manager (HLM) se ejecuta en HCM-F como servicio. HLM/HCM-F se ha desarrollado para registrar aplicaciones de Cisco Unified Communications Applications (UC) en el servicio de licencias inteligente que se ejecuta en la nube de Cisco. Una vez que las aplicaciones de UC se asignan al servicio de licencias inteligentes, se realiza un seguimiento del consumo de licencias de estas aplicaciones desde el portal CSSM, que actúa como repositorio único de gestión de licencias para los partners de HCS.
El servicio HLM de HCM-F permite la configuración de una cuenta inteligente en HCM-F y permite cualquier operación basada en clústeres relacionada con esta cuenta inteligente de HCM-F.
El servicio de licencias inteligentes que reside en la nube de Cisco expone diferentes interfaces de programación de aplicaciones (API) a través de la autenticación de OAuth. Además, las aplicaciones de UC sí exponen API para permitir que HCM-F realice varios pasos durante el transcurso de la operación del clúster, como "Asignar" y "Anular asignación".
Por lo tanto, HCM-F hace uso de las API expuestas en ambos lados para realizar una operación de clúster.
Para esta integración se requiere conectividad de red con los servicios en la nube de Cisco:
cloudsso1.cisco.com -> 72.163.4.74
cloudsso2.cisco.com -> 173.37.144.211
cloudsso3.cisco.com -> 173.38.127.38
swapi.cisco.com -> 146.12.59.25
Todas las comunicaciones entre HCM-F/Proxy y los servicios en la nube de Cisco se realizan a través de la conexión TLS en el puerto TCP/443.
Configuración
Como administrador de partners de HCS, inicie sesión en el Cisco API Developer Portal y seleccione Explorar > Cuentas inteligentes y API de licencias > Cuentas inteligentes
Para configurar una cuenta inteligente en HCM-F, se requiere un cliente de API:
Las credenciales de cliente generadas en este paso utilizan el tipo de aplicación "API Service", requieren la asociación de la API Smart Account y se proporcionan para el acceso a la configuración de cuenta inteligente en HCM-F. Una vez que se proporcionan las credenciales de cliente correctas y el nombre de dominio de la cuenta inteligente, HCM-F completa la configuración y utiliza los mismos detalles de acceso para interactuar con el servicio de licencias inteligente.
Específicamente, se autentica contra cloudsso.cisco.com para obtener un token portador Oauth2.0 y luego recupera todas las cuentas virtuales del servicio de licencia de nube a través de swapi.cisco.com. El tiempo que tarda la obtención de cuentas virtuales depende del número de cuentas virtuales y cuentas virtuales sincronizadas desde el satélite. Esta operación tarda hasta una hora. Las cuentas virtuales que se sincronizan desde el satélite se ignoran.
Flujo de trabajo de configuración de HCM-F para Smart Licensing
Vaya a Infrastructure Manager > Smart Licensing > Configure Smart Account:
Esta información se rellena con el resultado generado en la sección que se ha tratado anteriormente en este documento.
Vaya a Infrastructure Manager > Smart Licensing > Transport Mode:
Es necesario configurar el modo de transporte en HCM-F para conectar las aplicaciones de HCM-F y UC al CSSM.
Nota: HCM-F 12.5.1 sólo admite la integración directa del modelo, es decir, el modo de transporte se puede establecer en directo o proxy
Vaya a Infrastructure Manager > Smart Licensing > Virtual Account Summary:
Nota: {Para ver las cuentas virtuales asociadas a la cuenta inteligente. Seleccione el nombre de la cuenta inteligente en la lista. La página Cuentas virtuales muestra la lista de cuentas virtuales.}
Asociación de clúster CSSM
Para "asignar" una aplicación de UC a CSSM, debe asegurarse de que tanto el clúster 12.5 como la aplicación de UC están presentes y configurados en el inventario de HCM-F, junto con las credenciales de administración y plataforma.
Una vez finalizada la configuración de Smart Account, HCM-F sincroniza todos los datos de CSSM y actualiza SDR, Smart Account y los datos de la cuenta virtual. Una vez actualizados los datos de la cuenta virtual en SDR , el usuario administrador puede asignar el clúster a cualquier cuenta virtual.
Esta operación del clúster se denomina "Asignación de clúster" y la eliminación del clúster del dispositivo virtual se denomina "Anulación de asignación de clúster". Los movimientos de clúster de un VA a otro se denominan "reasignación de clúster".
Para asignar un clúster a CSSM, vaya a
Infrastructure Manager > Smart Licensing > Resumen de cuenta virtual:
Seleccione la cuenta virtual que desea utilizar.
Asignación de Cluster: Seleccione Asignar:
Seleccione la aplicación de UC que desea asignar y pulse el botón Asignar:
Una vez finalizada la asignación, la aplicación de UC aparece como asignada a la cuenta virtual (VA) que utilizó:
(Licencias inteligentes > Resumen del clúster)
¿Qué ocurre cuando se asigna una aplicación de UC al servicio de licencias inteligentes a través de HCM-F?
Este es el flujo de trabajo de HLM que se ejecuta:
- Verificación
- Cambio de modo de licencia
- Cambio de modo de transporte
- Registro
Esto se puede ver en la sección Trabajos (Administrador de infraestructura > Administración > Trabajos):
Tutorial sobre registros (los registros de HLM se establecen en Detallado)
- HLM obtiene un clúster que asigna una solicitud de la base de datos y comprueba si el clúster es apto:
2019-06-26 13:17:35,199 INFO [53] Getting the Instance of Cluster Assignment Agent ClusterAssignmentRequest
2019-06-26 13:17:35,199 DEBUG [53] AgentMessageDispatcher::process -- Agent with instance >SMART_LIC_CLUSTER_OPERATION<Exist in memory,no need to read from persistence store-- ClusterAssign(SMART_LIC_CLUSTER_OPERATION)
2019-06-26 13:17:35,199 INFO [169] processing Agent SMART_LIC_CLUSTER_OPERATION
2019-06-26 13:17:35,332 DEBUG [169] isProgressInfoChanged : true
2019-06-26 13:17:35,332 DEBUG [169] job.getStatusInfo: :Verification - Inprogress|License Mode Change - Not Started|Transport Mode Change - Not Started|Registration - Not Started|
2019-06-26 13:17:35,357 INFO [169] jobKID from create: 26
2019-06-26 13:17:35,357 DEBUG [169] Update method at End : JobDTOcom.cisco.hcs.HLM.smartlic.dto.JobDTO Object {
sDRJobPK: 26
jobId: null
jobType: PROVISIONING
description: Assignment of Cluster cl-beta to HCS-DEMO Started
JobEntity: JOB_ENTITY_SMARTACCOUNT
entityName: null
status: IN_PROGRESS
isModifiable: true
isDeletable: true
isRestartable: false
isCancelable: false
progressInfo: {Verification=Inprogress, License Mode Change=Not Started, Transport Mode Change=Not Started, Registration=Not Started}
errorDescription: null
recommendedAction: null
2. La agrupación es admisible:
<com.cisco.hcs.hcsagent.message.smartlic.ClusterAssignmentResp>
<messageType>ClusterAssignmentResp</messageType>
<source>
<serviceName>ClusterAssign</serviceName>
<instance>SMART_LIC_CLUSTER_OPERATION</instance>
</source>
<destination>
<serviceName>SDRUI</serviceName>
<instance>HCS-SMARTLIC-LIB0</instance>
</destination>
<sessionID>5fbb89a2-c62b-4d85-b385-3648c8010413</sessionID>
<transactionID>b2e1cfe6-b8fb-462c-a874-374e19afd110</transactionID>
<fault>false</fault>
<Fork>false</Fork>
<requeueCount>0</requeueCount>
<jobId>26</jobId>
<responseCode>PASS</responseCode>
<responseDesc>SmartLicNoError</responseDesc>
<smartLicRespCode defined-in="com.cisco.hcs.hcsagent.message.smartlic.ClusterOperationsResponse">PASS</smartLicRespCode>
<smartLicRespReason defined-in="com.cisco.hcs.hcsagent.message.smartlic.ClusterOperationsResponse">SmartLicNoError</smartLicRespReason>
<smartLicRespCode>PASS</smartLicRespCode>
<smartLicRespReason>SmartLicNoError</smartLicRespReason>
</com.cisco.hcs.hcsagent.message.smartlic.ClusterAssignmentResp>
3. HLM cambia el tipo de producto en CUCM a HCS:
2019-06-26 13:17:35,646 DEBUG [33] First pool session created: SDRSyncSession@f11306
2019-06-26 13:17:35,650 INFO [169] UCAppDeploymentModeConnection: Opening secure connection to: https://XXX.YYY.ZZZ:8443/platform-services/services/DeploymentModeService?wsdl
2019-06-26 13:17:35,650 INFO [169] UCAppDeploymentModeConnectionPort successfully opened
2019-06-26 13:17:35,652 DEBUG [33] Pool session created: SDRSyncSession@2cd71b
2019-06-26 13:17:35,659 DEBUG [33] Pool session created: SDRSyncSession@a4e538
2019-06-26 13:17:35,667 DEBUG [33] Pool session created: SDRSyncSession@b3c0d9
2019-06-26 13:17:35,667 INFO [33] Pool is valid. Pool create time in Ms: 1561547855646, poolRunning: false
2019-06-26 13:17:35,667 INFO [33] Created 4 pool sessions.
4. HLM indica al servicio Cisco HCS Provisioning Adapter (CHPA) que asigne el clúster al CSSM:
2019-06-26 13:17:39,102 DEBUG [169] Agent: sending to [chpa]
-------
<com.cisco.hcs.hcsagent.message.chpa.GetTransportSettingsRequest>
<messageType>GetTransportSettingsRequest</messageType>
<source>
<serviceName>ClusterAssign</serviceName>
</source>
<destination>
<serviceName>chpa</serviceName>
</destination>
<sessionID>getTransport-4</sessionID>
<fault>false</fault>
<Fork>false</Fork>
<requeueCount>0</requeueCount>
<deviceId>
<type>ApplicationInstance</type>
<key class="com.cisco.hcs.sdr.v10_0.KIDInt">
<internalValue>4</internalValue>
</key>
</deviceId>
<clusterName>cl-beta</clusterName>
</com.cisco.hcs.hcsagent.message.chpa.GetTransportSettingsRequest>
---------
2019-06-26 13:17:39,104 DEBUG [169] Agent: Sent message to chpa(null)
2019-06-26 13:17:39,104 INFO [169] UCAppTimerTask , Timer Task started at:Wed Jun 26 13:17:39 CEST 2019
2019-06-26 13:17:39,104 DEBUG [169] com.cisco.hcs.HLM.smartlic.core.clusterops.utils.UCAppTimerRegister , UCApp Timer Task Registered successfully , initial delay ,0 interval , 300000
2019-06-26 13:17:39,104 DEBUG [81655] UCAppTimerTask , Timer Task Attempt of Retry 0
2019-06-26 13:17:39,104 INFO [169] JMS Message is Processed and leaving out from JMS thread
2019-06-26 13:17:44,207 DEBUG [45] KeepAliveConsumerProcessor::process -- enter
2019-06-26 13:17:44,207 DEBUG [94] KeepAliveConsumerProcessor::process -- enter
2019-06-26 13:17:44,208 DEBUG [45] KeepAliveConsumerProcessor::process -- received broadcast message for service sdrcnf
2019-06-26 13:17:44,208 DEBUG [45] noChange -- sdrcnf is Alive
2019-06-26 13:17:44,208 DEBUG [45] KeepAliveMonitor::setExpiresBy:
2019-06-26 13:17:44,208 DEBUG [94] KeepAliveConsumerProcessor::process -- received broadcast message for service sdrcnf
2019-06-26 13:17:44,208 DEBUG [45] now: 26/06/2019 01:17:44.208
2019-06-26 13:17:44,208 DEBUG [94] noChange -- sdrcnf is Alive
2019-06-26 13:17:44,208 DEBUG [45] expected by: 26/06/2019 01:19:44.208
2019-06-26 13:17:44,208 DEBUG [94] KeepAliveMonitor::setExpiresBy:
2019-06-26 13:17:44,208 DEBUG [94] now: 26/06/2019 01:17:44.208
2019-06-26 13:17:44,208 DEBUG [94] expected by: 26/06/2019 01:19:44.208
2019-06-26 13:17:46,105 INFO [36] Perfmon Category in Publish Counter update is Cisco HCS License Manager
2019-06-26 13:17:46,106 DEBUG [36] AgentJmx: JMS connection already up, reusing connection
2019-06-26 13:17:49,420 INFO [63] smartLicAuditProcessor::process enter...
2019-06-26 13:17:50,075 INFO [66] smartLicAuditProcessor::process enter...
5. La asignación del clúster se ha realizado correctamente:
2019-06-26 13:17:50,390 INFO [68] LicUsageAuditProcessor::process enter...
2019-06-26 13:17:52,331 DEBUG [53]
AgentMessageDispatcher -- Received msg by RouteBuilder[ClusterAssign-null] :
---------------
<com.cisco.hcs.hcsagent.message.chpa.GetTransportSettingsResponse>
<messageType>GetTransportSettingsResponse</messageType>
<source>
<serviceName>chpa</serviceName>
<instance>3998890f-ac1c-4ee8-baf8-6b0d2331387b</instance>
</source>
<destination>
<serviceName>ClusterAssign</serviceName>
</destination>
<sessionID>getTransport-4</sessionID>
<fault>false</fault>
<Fork>false</Fork>
<requeueCount>0</requeueCount>
<deviceId>
<type>ApplicationInstance</type>
<key class="com.cisco.hcs.sdr.v10_0.KIDInt">
<internalValue>4</internalValue>
</key>
</deviceId>
<responseCode>PASS</responseCode>
<responseReason>chpaNoError</responseReason>
<clusterName>cl-beta</clusterName>
<mode>HTTP/HTTPS Proxy</mode>
<url></url>
<ipAddress>proxy.esl.cisco.com</ipAddress>
<port>8080</port>
</com.cisco.hcs.hcsagent.message.chpa.GetTransportSettingsResponse>
-
progressInfo: {Verification=Pass, License Mode Change=Not Applicable, Transport Mode Change=Not Applicable, Registration=Pass}
errorDescription: null
recommendedAction: null
jobTypeChanged: true
descriptionChanged: true
JobEntityChanged: true
entityNameChanged: false
statusChanged: true
isModifiableChanged: false
isDeletableChanged: false
isRestartableChanged: false
isCancelableChanged: false
progressInfoChanged: false
errorDescriptionChanged: false
recommendedActionChanged: false
}