Contenu

Introduction:

Conditions préalables

Conditions requises

Components Used

Informations générales

Problème

Résolution

Introduction:

Ce document décrit comment dépanner l'intégration de Google Cloud avec CloudCenter Manager (CCM) version 4.8.0/4.7.x .

Conditions préalables

Conditions requises

Cisco vous recommande de prendre connaissance des rubriques suivantes :

- Interface Linux

- Environnements de machines virtuelles

- Compte Google Cloud

Components Used

Les informations contenues dans ce document sont basées sur les versions de logiciel suivantes :

- CloudCenter version 4.6.x à 4.8.x

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Informations générales

Une fois que vous avez correctement ajouté GCE orchestrator (CCO) à CCM et essayé de tester l'environnement en déployant une application qui inclut la sélection du type d'instance et de la zone, un message d'erreur s'affiche lors de la tentative de sélection du projet comme illustré dans l'image :

Problème

Dans les journaux osmosix de CCM, vous pouvez trouver cette erreur :

VENDOR_ID::1::USER_ID::2::2017-05-29 04:11:45,991 INFO  impl.CloudPropertiesServiceImpl [asyncOperationExecutor-6]  - cloud property task is invoked

VENDOR_ID::1::USER_ID::2::2017-05-29 04:11:46,006 INFO  impl.CloudManagementServiceImpl [asyncOperationExecutor-6]  - cloud data is not null

VENDOR_ID::1::USER_ID::2::2017-05-29 04:11:46,006 INFO  impl.CloudManagementServiceImpl [asyncOperationExecutor-6]  - got the region end point as null

VENDOR_ID::1::USER_ID::2::2017-05-29 04:11:46,011 INFO  impl.CloudPropertiesServiceImpl [asyncOperationExecutor-7]  - cloud property task is invoked

VENDOR_ID::1::USER_ID::2::2017-05-29 04:11:46,014 INFO  impl.CloudPropertiesServiceImpl [asyncOperationExecutor-8]  - cloud property task is invoked

VENDOR_ID::1::USER_ID::2::2017-05-29 04:11:46,024 INFO  impl.CloudManagementServiceImpl [asyncOperationExecutor-7]  - cloud data is not null

VENDOR_ID::1::USER_ID::2::2017-05-29 04:11:46,024 INFO  impl.CloudManagementServiceImpl [asyncOperationExecutor-7]  - got the region end point as null

VENDOR_ID::1::USER_ID::2::2017-05-29 04:11:46,032 INFO  impl.CloudManagementServiceImpl [asyncOperationExecutor-8]  - cloud data is not null

VENDOR_ID::1::USER_ID::2::2017-05-29 04:11:46,032 INFO  impl.CloudManagementServiceImpl [asyncOperationExecutor-8]  - got the region end point as null

VENDOR_ID::1::USER_ID::2::2017-05-29 04:11:46,765 ERROR impl.CloudPropertiesServiceImpl [asyncOperationExecutor-6]  - Failed to getCloudPropertiesFromGateway from gateway for propertyType : Project

VENDOR_ID::1::USER_ID::2::2017-05-29 04:11:46,765 ERROR impl.CloudPropertiesServiceImpl [asyncOperationExecutor-6]  - 500 Internal Server Error

org.springframework.web.client.HttpServerErrorException: 500 Internal Server Error

at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:94)

at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:641)

at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:597)

at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:557)

at org.springframework.web.client.RestTemplate.postForObject(RestTemplate.java:357)

at com.osmosix.commons.util.AjaxUtil.postJson(AjaxUtil.java:117)

at com.osmosix.mgmt.cloud.impl.CloudPropertiesServiceImpl.getCloudPropertiesFromGateway(CloudPropertiesServiceImpl.java:365)

at com.osmosix.mgmt.cloud.impl.CloudPropertiesServiceImpl$CloudPropertyTask.run(CloudPropertiesServiceImpl.java:461)

at com.osmosix.commons.operation.impl.AsyncOperationServiceImpl$2.run(AsyncOperationServiceImpl.java:134)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:748)

Cependant, si vous accédez aux journaux osmosix de CCO, vous obtenez une image claire.

2017-05-29 04:28:00,425 INFO  job.JobServiceController [http-apr-8443-exec-3]  - processing validateCloudAccount request...

2017-05-29 04:28:00,632 ERROR properties.CloudPropertiesController [http-apr-8443-exec-6]  - com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden

{

"code" : 403,

"errors" : [ {

"domain" : "global",

"message" : "Google Cloud Resource Manager API has not been used in project credible-spark-166514 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/cloudresourcemanager.googleapis.com/overview?project=credible-spark-166514 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.",

"reason" : "forbidden"

} ],

"message" : "Google Cloud Resource Manager API has not been used in project credible-spark-166514 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/cloudresourcemanager.googleapis.com/overview?project=credible-spark-166514 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.",

"status" : "PERMISSION_DENIED"

Résolution

Ces API doivent être activées pour que Cloud Center fonctionne correctement avec GCE :

- API du moteur de calcul Google

- API du Gestionnaire de ressources de cloud Google

Pour l'activer :

1. Dans la console GCE et accédez au tableau de bord de l'API, comme illustré dans l'image :

2. À la fin de la page, toutes les API activées sont répertoriées et vous trouverez probablement que Google Compute Engine API est déjà activée, si ce n'est pas le cas, comme l'illustre l'image :

3. Cependant, GCE ne place pas l'API du gestionnaire de ressources directement sur la page, vous devez donc la rechercher. Pour cela, sélectionnez l'option enable API en haut de la page et elle vous redirige vers la bibliothèque d'API.

4. Comme le montre l'image, recherchez Google Cloud Resource Manager API , sélectionnez-le et activez-le.

5. Afin de refléter ces modifications, redémarrez l'ordinateur CCO, puis essayez de déployer à nouveau l'application.