apigeecs / apigee-migrate-tool

Export/Import Org Data. Import from CSV files
MIT License
52 stars 50 forks source link

Issues with running API Migration Tool #61

Open satyendrasrivastava opened 2 years ago

satyendrasrivastava commented 2 years ago

1) We are migrating from on premises version to public cloud. How to provide "to": version information for edge public cloud. This information need to be set into config.js https://github.com/apigeecs/apigee-migrate-tool/blob/master/config.js

2) When running this tool I am getting below error. I am guessing it is due to cert issue. We are using our company signed ssl certificate for management server. Please let us know workaround for this.

Running tasks: exportAll

Running "exportAll" task

Running "exportProxies" task ========================= export Proxies =========================== getting proxies...https://:/

Error: unable to verify the first certificate

satyendrasrivastava commented 2 years ago

Hi @kurtkanaskie , @adamjonescdk I am trying to export data from 4.17.05 version of apigee. I used both http and https urls for management servers but it is failing with ">>null" as output. ++++++++++++++ Running tasks: exportProxies

Running "exportProxies" task ========================= export Proxies =========================== getting proxies...http://xxxxxxx:8080

null +++++++++++++

Can you please check if this version of Apigee supported by this tool?

Regards, Satyendra

kurtkanaskie commented 2 years ago

Hi @satyendrasrivastava, I haven't tried this personally on 4.17.05 but I think it should work. Are you able to make management API calls using curl? Do you have to use curl -k ?

satyendrasrivastava commented 2 years ago

Hi @kurtkanaskie ,

Thanks for reply. Yes I can make management API call using curl. And Yes, We do curl -k for management API call.

We have another sandbox environment where management server is just http (not https) and it doesn't work with plain http.

============== Running tasks: exportProxies

Running "exportProxies" task ========================= export Proxies =========================== getting proxies...http://xxxxxxx:8080/ ">>" null

=========== Regards, Satyendra

satyendrasrivastava commented 2 years ago

I tried with just exportDevs only instead of exportAll it is not working. Here is the output. It is not printing Null but it is not exporting anything.

Running tasks: exportDevs

Running "exportDevs" task ========================= export Devs =========================== getting developers... http://xxxxxx:8080 getting developers...http://xxxxxx:8080/v1/organizations/xxxxx/developers ">>"

satyendrasrivastava commented 2 years ago

Hi @kurtkanaskie

I resolved the certificate error issue. I am facing issue running importKeys. It imports credentials but developer apps have pending api product approvals. Out of 95 Apps 53 apps are having pending api product approval. Not sure if it is issue with migrate tool of something wrong in cloud management Api .

Regards, Satyendra

kurtkanaskie commented 2 years ago

HI @satyendrasrivastava, Glad you resolved the certificate issue.

Regarding API Product approval, there's separate code to set status, there may be an issue with that. See: https://github.com/apigeecs/apigee-migrate-tool/blob/99a6ac3fd37823a9da761f46d40ee1a7c3f5bfe7/tasks/app.js#L207

Did you run with verbose mode on (-v)?

I'll admit I've not spent much time on the tool lately.

Regards, Kurt

Kurt Kanaskie

apigee https://apigee.com/api-management/ | Technical Solution Consultant - Specialist CE - BAP CoE

@.***

484 695 1106

On Mon, Mar 28, 2022 at 4:45 PM satyendrasrivastava < @.***> wrote:

Hi @kurtkanaskie https://github.com/kurtkanaskie

I resolved the certificate error issue. I am facing issue running importKeys. It imports credentials but developer apps have pending api product approvals. Out of 95 Apps 53 apps are having pending api product approval. Not sure if it is issue with migrate tool of something wrong in cloud management Api .

Regards, Satyendra

— Reply to this email directly, view it on GitHub https://github.com/apigeecs/apigee-migrate-tool/issues/61#issuecomment-1081124899, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD35LKRXVTKAWZMGMFCDRFTVCIK6XANCNFSM5Q4XMKOA . You are receiving this because you were mentioned.Message ID: @.***>

satyendrasrivastava commented 2 years ago

Hi @kurtkanaskie Thanks for reply. Looking into logs. It appears that tool is maping the approval call and getting back the correct response code 204 but when looking in apigee portal it is still showing Pending status.

Resp [204] for email_removed@brinker.com - app-web - OrderMgmtProduct - **key_removed** - https://api.enterprise.apigee.com/v1/organizations/org_name/developers/email_removed@brinker.com/apps/app-web/keys/**key_removed**/apiproducts/OrderMgmtProduct?action=approve ->

I tried the same api call using curl/postman got 204 response but this time apiproduct got approved successfully.

Is it something Apigee Management API blocking the approval status when we are running this tool in batch mode. When this tool runs it makes series of api calls to approve the api products. For example I have 10 API products for a given app. I see only one api product is in approved state for a given app rest 9 stay in pending state. Even though API returns success code 204 for all of them. In the next run another api product get approved. I tried to run multiple time an individual app like below

grunt importKeys -v --src=./data/apps/*/app-web

At this point I am not sure if it is the migration tool issue or Apigee Management API issue. But I am sure this was tested before. Tagging more folks to this. Guys Please help me.

@vinit4u16 @jerrylawson @swilliams11 @giteshk @stevetraut

satyendrasrivastava commented 2 years ago

Hi @kurtkanaskie ,

As per your comment below
---
Regarding API Product approval, there's separate code to set status, there
may be an issue with that.
See:
https://github.com/apigeecs/apigee-migrate-tool/blob/99a6ac3fd37823a9da761f46d40ee1a7c3f5bfe7/tasks/app.js#L207_

I worked with Apigee support on why management api for product approval giving successful response but it is not approving the all the products associated with a developer app. Apigee support said this API call is asynchronous so it returns a success response immediately and product approval happens in background. it has some traffic limit it seems.

They said if you make your client synchronous and introduce a delay (like 1/2 sec) then it will work. So is it possible for you to update your script to make product approval synchronous and introduce delay with some milliseconds. I am not a javascript expert so I am requesting you to send me updated scrip and i will test it in our environment and let you know. Appreciate your help in this matter. It will be helpful to other users who wants to use this in future.

Regards, Satyendra

satyendrasrivastava commented 2 years ago

Hi @kurtkanaskie ,

Can you please help?

mavicponiente commented 2 years ago

Hi @kurtkanaskie ,

Thanks for reply. Yes I can make management API call using curl. And Yes, We do curl -k for management API call.

We have another sandbox environment where management server is just http (not https) and it doesn't work with plain http.

============== Running tasks: exportProxies

Running "exportProxies" task ========================= export Proxies =========================== getting proxies...http://xxxxxxx:8080/ ">>" null

=========== Regards, Satyendra

Hi @satyendrasrivastava may I know what is your solution regarding your error encountered here when exporting?

saimalipatel commented 1 year ago

@satyendrasrivastava What have to done to resolve the cert issue?

vamsivarmask commented 6 months ago

@satyendrasrivastava @kurtkanaskie

We are on Apigee edge and we are trying the export the Products and ran into the same issue i.e

" Running "exportProducts" task ========================= export Products =========================== getting products...https://api.enterprise.apigee.com

null"

Can you please help by providing what was done to fix the issue.

And we tried to export Developers and this time the tool is making a call to Apigee to get the developers but failed as

"Running tasks: exportDevs

Running "exportDevs" task ========================= export Devs =========================== getting developers... https://api.enterprise.apigee.com getting developers...https://api.enterprise.apigee.com/v1/organizations/dish-nonprod/developers

Note: Basic auth always returns 401 for user accounts that have MFA enabled. https://docs.apigee.com/api-platform/system-administration/basic-auth Or maybe you just mistyped your password. To validate your password, login to the UI at https://login.apigee.com If necessary, reset your password at https://login.apigee.com/reset"

Inputs are much Appreciated

satyendrasrivastava commented 6 months ago

As far as I remember the “null” response was related to certificate issue as I was trying to export from on-premise management server that didn’t used public trusted certificates. In your case you are exporting from Apigee Edge.. So make sure you have correct credentials, org, env etc in configuration file.

Regards, Satyendra

From: vamsivarmask @.> Sent: Wednesday, February 21, 2024 1:28 PM To: apigeecs/apigee-migrate-tool @.> Cc: Satyendra Srivastava @.>; Mention @.> Subject: [EXTERNAL] Re: [apigeecs/apigee-migrate-tool] Issues with running API Migration Tool (Issue #61)

@satyendrasrivastavahttps://github.com/satyendrasrivastava @kurtkanaskiehttps://github.com/kurtkanaskie

We are on Apigee edge and we are trying the export the Products and ran into the same issue i.e

" Running "exportProducts" task ========================= export Products =========================== getting products...https://api.enterprise.apigee.comhttps://api.enterprise.apigee.com

null"

Can you please help by providing what was done to fix the issue.

And we tried to export Developers and this time the tool is making a call to Apigee to get the developers but failed as

"Running tasks: exportDevs

Running "exportDevs" task ========================= export Devs =========================== getting developers... https://api.enterprise.apigee.comhttps://api.enterprise.apigee.com getting developers...https://api.enterprise.apigee.com/v1/organizations/dish-nonprod/developershttps://api.enterprise.apigee.com/v1/organizations/dish-nonprod/developers

Note: Basic auth always returns 401 for user accounts that have MFA enabled. https://docs.apigee.com/api-platform/system-administration/basic-authhttps://docs.apigee.com/api-platform/system-administration/basic-auth Or maybe you just mistyped your password. To validate your password, login to the UI at https://login.apigee.comhttps://login.apigee.com If necessary, reset your password at https://login.apigee.com/resethttps://login.apigee.com/reset"

Inputs are much Appreciated

— Reply to this email directly, view it on GitHubhttps://github.com/apigeecs/apigee-migrate-tool/issues/61#issuecomment-1957752409, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHG5GQLFQHUMEXNALYKNUCLYUZDCFAVCNFSM5Q4XMKOKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOJVG43TKMRUGA4Q. You are receiving this because you were mentioned.Message ID: @.**@.>>


CONFIDENTIAL AND PROPRIETARY: This e-mail and any attachments are confidential and the proprietary property of Brinker International, Inc. and our brands, Chili’s Grill & Bar and Maggiano’s Little Italy. If this message was not intended for you, please notify the BrinkerHead who sent it and delete it from your system. Our lawyers also kindly remind you that any unauthorized review, use, distribution, copying or disclosure is strictly prohibited, and receipt by anyone other than the intended recipient is not a waiver of confidentiality or privilege.