apigee/apigee-deploy-maven-plugin

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

Closed this issue · 9 comments

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

plugin version please?

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

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?

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

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

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]

Thanks for checking. Let me take a look

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

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

Closing this issue