المقدمة:
يوضح هذا المستند كيفية أستكشاف أخطاء تكامل Google Cloud وإصلاحها باستخدام إصدار مدير CloudCenter (CCM) 4.8.0/4.7.x .
المتطلبات الأساسية
المتطلبات
توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:
- واجهة Linux
- بيئات الأجهزة الافتراضية
- حساب Google السحابي
المكونات المستخدمة
تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج التالية:
- CloudCenter الإصدار 4.6.x إلى 4.8.x
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك مباشرة، فتأكد من فهمك للتأثير المحتمل لأي أمر.
معلومات أساسية
بعد إضافة GCE Orchestrator (CCO) إلى CCM بنجاح ومحاولة إختبار البيئة بواسطة نشر تطبيق يتضمن تحديد نوع المثيل والمنطقة، يتم عرض رسالة الخطأ أثناء محاولة تحديد المشروع كما هو موضح في الصورة:
المشكلة
في CCM مقياس سرعة، أنت يستطيع وجدت هذا خطأ:
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)
على أي حال، إذا ذهبت إلى سجلات CCO osmosix، تحصل على صورة واضحة.
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"
قرار
يجب تمكين واجهة برمجة التطبيقات هذه لكي يعمل Cloud Center بشكل صحيح مع GCE:
ولتمكينها:
- في وحدة التحكم GCE وانتقل إلى لوحة معلومات واجهة برمجة التطبيقات، كما هو موضح في الصورة:
- في نهاية الصفحة، يتم إدراج جميع واجهات برمجة التطبيقات الممكنة، وستجد على الأرجح أن واجهة برمجة تطبيقات Google Compute Engine API ممكنة بالفعل، في حالة عدم تمكينها، كما هو موضح في الصورة:
- ومع ذلك، لا يضع GCE واجهة برمجة تطبيقات إدارة الموارد في الصفحة مباشرة لذلك يجب عليك البحث عنها. لذلك ، حدد خيار تمكين واجهة برمجة التطبيقات من أعلى الصفحة ويعيد توجيهك إلى مكتبة واجهة برمجة التطبيقات.
- كما هو موضح في الصورة، ابحث عن واجهة برمجة تطبيقات Google Cloud Resource Manager API، وقم بتحديدها وتمكينها.
- لعكس هذه التغييرات، قم بإعادة تشغيل جهاز CCO ثم حاول نشر التطبيق مرة أخرى.