Apigee Hybrid : Getting error when trying to fetch deployment status of apiproxy

swapnan
Participant I

Getting the below when trying to get deployment status of a proxy after installing Apigee Hybrid 1.3.

{ "environment": "dev", "apiProxy": "ReverseProxy", "revision": "1", "deployStartTime": "1600360309702", "basePath": "/", "state": "ERROR", "errors": [ { "code": 13, "message": "ingress error for environment group dev-env-group: NOT_FOUND: failed to get ApigeeRouteConfig gcp-ushi-apigee-dev-npe-dev-env-group, namespace apigee: apigeerouteconfigs.apigee.cloud.google.com \"gcp-ushi-apigee-dev-npe-dev-env-group\" not found" } ], "instances": [ { "instance": "20201609-apigee-dev", "deployedRevisions": [ { "revision": "1", "percentage": 100 } ] } ] }

Please let me know what can cause this error. And on the UI after deploying an API we are seeing an deployment error but actual deployment is done.

0 3 932
3 REPLIES 3

jaherrera
Participant I

apigee hybrid anthos-gke

10640-valoresapigee.png

@@Dino-at-Google

@Anil Sagar

Is this multi DC installation?

Possible Causes

overrides.yaml is missing a virtualhost for the environment group

Exmaple: DC-1 override.yaml:

virtualhosts:
  - name: prod
    sslCertPath: ./certs/prod-cert.pem
    sslKeyPath: ./certs/prod-cert.key
  - name: dev
    sslCertPath: ./certs/dev-cert.pem
    sslKeyPath: ./certs/dev-cert.key

DC-2 override.yaml:

virtualhosts:
  - name: test
    sslCertPath: ./certs/test-cert.pem
    sslKeyPath: ./certs/test-cert.key
  - name: uat
    sslCertPath: ./certs/uat-cert.pem
    sslKeyPath: ./certs/uat-cert.key

Here both overrides has different virtual hosts names. So as to fix this issue following needs to be there in both DC's override.yaml

virtualhosts:
  - name: prod
    sslCertPath: ./certs/prod-cert.pem
    sslKeyPath: ./certs/prod-cert.key
  - name: dev
    sslCertPath: ./certs/dev-cert.pem
    sslKeyPath: ./certs/dev-cert.key
  - name: test
    sslCertPath: ./certs/test-cert.pem
    sslKeyPath: ./certs/test-cert.key
  - name: uat
    sslCertPath: ./certs/uat-cert.pem
    sslKeyPath: ./certs/uat-cert.key

Common Diagnosis Steps

  1. Look into override.yaml from all the DCs and see if env group is installed on every instance.
  2. Check output of following command to see what all env groups are installed on each DC:
<code>kubctl get arc -n apigee 

Remember to switch context to choose right cluster.

Solution

If it has been observed that there is mistmatch between env groups/virtual hosts then please match those in all DC's override.yaml and run following command to apply those:

<code>apigeectl apply -f overrides/overrides.yaml --settings virtualhosts

Important notes

  1. ApigeeRouteConfig means virtualhosts