Azure / apiops

APIOps applies the concepts of GitOps and DevOps to API deployment. By using practices from these two methodologies, APIOps can enable everyone involved in the lifecycle of API design, development, and deployment with self-service and automated tools to ensure the quality of the specifications and APIs that they’re building.
https://azure.github.io/apiops
MIT License
328 stars 193 forks source link

[BUG] Properties are randomly overwritten/empty when moving between environments. #642

Open psvn opened 2 months ago

psvn commented 2 months ago

Release version

APIOps v6 (v6.0.1 and v6.0.1.1)

Describe the bug

The "Description" and "Web Service Url" properties of APIs are sometimes incorrectly overwritten/empty when moving between environments.

The environment I tested in consists of 3 APIM instances, Test, PreProd and Prod. What may differ a little from the standard config is that the 3 APIM instances are each in their own subscription. Since all other properties seem to work, I don't think that should be the cause.

The API's is imported WSDL services with no problem and have all properties correct in APIM test-Environment after the import.

When moving APIs (about 60 pcs) from Test to PreProd, sometimes the properties is overwritten with incorrect values ​​for some APIs. It can be overwritten in both Test and PreProd. There may be different APIs that are overwritten at different times.

Property "Description" becomes empty, Property "Web Service Url" gets the value for APIM (base url). This seems to happen a bit randomly, sometimes it works sometimes it doesn't. Never seen the problem with other properties.

It seems to appear at the Publish step and that it write wrong values to APIM Test or/and APIM Preprod. I normally use "publish-artifacts-in-last-commit", but I see that it also could appear when using "Publish-All-Artifact-in-repo".

Also tested version 5 of APIOps but there I don't experience the same problem.

Expected behavior

That the properties are the same as those in the repo and are not overwritten.

Actual behavior

See description

Reproduction Steps

See description. Hard to make a reproduction step. Properties are overwritten randomly at the publish step (I guess)

github-actions[bot] commented 2 months ago
  Thank you for opening this issue! Please be patient while we will look into it and get back to you as this is an open source project. In the meantime make sure you take a look at the [closed issues](https://github.com/Azure/apiops/issues?q=is%3Aissue+is%3Aclosed) in case your question has already been answered. Don't forget to provide any additional information if needed (e.g. scrubbed logs, detailed feature requests,etc.).
  Whenever it's feasible, please don't hesitate to send a Pull Request (PR) our way. We'd greatly appreciate it, and we'll gladly assess and incorporate your changes.
waelkdouh commented 2 months ago

Please check open/closed issues as this topic has been discussed before.

guythetechie commented 2 months ago

@psvn - I would suggest enabling trace logging. It will show the contents of the API calls to update your WSDL APIs. If your properties get overwritten unexpectedly, you can go back to the logs and see what was in the API calls to update them.

fabienmazieres commented 2 months ago

@psvn Could be related to my issue: #670