apigee / apigee-deploy-maven-plugin

Apache License 2.0
80 stars 167 forks source link

Deploying multiple active revisions of same proxy with different virtual hosts and same base path #216

Closed sundarprince86 closed 1 year ago

sundarprince86 commented 1 year ago

Please find the detailed steps on what we are doing. We would like to achieve step 3. d without any manual intervention

  1. Created 2 virtual hosts as below

Name -> Alias

virtual-host-1 -> dev1.abc.com virtual-host-2 -> dev2.abc.com

  1. zip files for proxy code a) proxy-code-1 to be deployed referencing virtual-host-1 /testproxy/v1/dummyurl/actuator virtual-host-1

b) proxy-code-2 to be deployed referencing virtual-host-2

/testproxy/v1/dummyurl/actuator virtual-host-2
  1. Deployment We are deploying with apigee-deploy-maven-plugin

a) deploying proxy-code-1 with maven plugin via jenkins pipeline - no issues, revision 1 imported and activated Apigee console Environment Revision Status URL

dev 1 green https://dev1.abc.comk/testproxy/v1/dummyurl/actuator

b) redeploying proxy-code-1 with maven plugin via jenkins pipeline - no issues, revision 2 imported and activated (revision 1 deactivated) Apigee console Environment Revision Status URL

dev 2 green https://dev1.abc.comk/testproxy/v1/dummyurl/actuator

c)deploying proxy-code-2 with maven plugin via jenkins pipeline - no issues reported, revision 3 imported and activated (revision 2 deactivated) Apigee console Environment Revision Status URL

dev 3 green https://dev2.abc.comk/testproxy/v1/dummyurl/actuator

I am able to deploy the deactivated revions 2 code to dev evironment from console Apigee console Environment Revision Status URL

dev 2 green https://dev1.abc.comk/testproxy/v1/dummyurl/actuator dev 3 green https://dev2.abc.comk/testproxy/v1/dummyurl/actuator

d)deploying proxy-code-1 with maven plugin via jenkins pipeline , below mention error is thrown, revision 4 imported but not activated (revision 3 deactivated) "code" : "distribution.DeploymentPathConflict", "message" : "Path testproxy/v1/dummyurl/actuator conflicts with existing deployment path for revision 2 of the APIProxy test-api-proxy in organization abcd, environment dev" Apigee console Environment Revision Status URL

dev 2 green https://dev1.abc.comk/testproxy/v1/dummyurl/actuator

now I am able to deploy both version 3 and version 4 to dev env from console and I can see the below Apigee console Environment Revision Status URL

dev 4 green https://dev1.abc.comk/testproxy/v1/dummyurl/actuator dev 3 green https://dev2.abc.comk/testproxy/v1/dummyurl/actuator

Both proxy-code-1 and proxy-code-2 are pointing to different Target Servers and we have successfully tested which proves traffic is served in both endpoints even though Base path is same for revisions 3 and 4

https://dev1.abc.comk/testproxy/v1/dummyurl/actuator and

https://dev2.abc.comk/testproxy/v1/dummyurl/actuator

ssvaidyanathan commented 1 year ago

plugin version please?

sundarprince86 commented 1 year ago

I have updated in the community post instead. But it's here anyway Apigee edge maven version=1.2.3 Apigee config maven version=1.4.4

ssvaidyanathan commented 1 year ago

Just to be sure - can you update the deploy plugin from 1.2.3 to 1.3.3 and see if the issue still exist?

sundarprince86 commented 1 year ago

Sure. We will check and let you know. Do we need to make any changes in the parent POM?

ssvaidyanathan commented 1 year ago

No - just update the version number in your pom. no other changes

sundarprince86 commented 1 year ago

We repeated the scenarios with 1.3.3 plugin but the output is still the same.

12:09:02 [ERROR] Failed to execute goal io.apigee.build-tools.enterprise4g:apigee-edge-maven-plugin:1.3.3:deploy (default-cli) on project REDACTED-test-api-proxy: com.google.api.client.http.HttpResponseException: 400 Bad Request 12:09:02 [ERROR] { 12:09:02 [ERROR] "code" : "distribution.DeploymentPathConflict", 12:09:02 [ERROR] "message" : "Path /testproxy/v1/experience/actuator conflicts with existing deployment path for revision 69 of the APIProxy REDACTED-test-api-proxy in organization REDACTED, environment dev", 12:09:02 [ERROR] "contexts" : [ ] 12:09:02 [ERROR] } 12:09:02 [ERROR] -> [Help 1]

ssvaidyanathan commented 1 year ago

Thanks for checking. Let me take a look

ssvaidyanathan commented 1 year ago

For both the proxy deployments, can you tell me what is the value you have in your pom.xml for

<name>Proxy</name>

This is usually in the very top of your pom.xml

ssvaidyanathan commented 1 year ago

Working as expected. Needed the "override" flag to be passed.

Closing this issue