Apigee Edge installer fails to recognize component start

Not applicable

Installing Edge OPDK 4.15.04.00 and sometimes the installer does not recognize the start of a component. I've seen it happen with Cassandra, Manager, Gateway, QPID etc. Cassandra example:

Starting cassandra: Success Checking if apigee-cassandra is up.

............................................................................... Last chance. Waiting 2 minutes longer.

Failed

Cassandra failed to start or is unreachable. Exiting setup.

However Cassandra started properly and is listening. From cassandra.log:

INFO 19:38:31,547 Startup completed! Now serving reads.

--SF903141--

0 3 370
3 REPLIES 3

@Arjav Goswami One thought is check whether all required ports are open across the network. The scripts are going to be using RPC ports to check for status. If there is some firewall config that is not allowing RPC ports to be open, then the scripts will not get the notification that the processes are up.

You can see the port diagram in the Edge Install and Configuration Guide.

Not applicable

Thanks @mschreuder. Unfortunately the firewall is not running in the host.

@Andre Zelenkovas Given the processes are indeed starting then most likely there is some network connectivity issue, just need to trace down where it is.

First, some more detail on the up check: It first attempts to connect to the IP address & port for the component. For some components it also does a curl request to get the component's UUID via the component's API.

The IP address and port to check of the component is obtained from what was configured at install time and then the connection is attempted followed by the curl (for certain components). If that fails / does not respond, then after the timeout it will give you the error message you see.

There are a variety of things that could be causing an issue, some more thoughts:

- make sure that the hostname has been set correctly (check by doing hostname and also hostname -i to verify that they match what you expect them to be).

- if you have DHCP rather than static IPs then that can also be causing an issue because when you install Edge, the IP addresses for the components will be obtained and stored but if those are changing then that will cause the up checks to fail when they use the stored values rather than the current values. We advise against using DHCP and recommend using static IP addressing.

- if you've installed Apigee Edge onto one or more Virtual Machines then validate that the VM network settings are allowing the traffic to reach the components.

You can also manually verify network connectivity by using telnet to the component's ip address and port.

telnet ${HOSTIP} ${PORT}
Trying ${HOSTIP}...
Connected to ${HOSTIP}.
Escape character is '^]'.

If you get the "connected" message you know the network is good.

For gateway, you can also execute the below curl:

curl -f -s -m 10 <a href="http://${HOSTIP}:${PORT}/v1/servers/self/uuid">http://${HOSTIP}:${PORT}/v1/servers/self/uuid</a>

replacing {HOSTIP} and {PORT} with your values for your gateway host.

Listing the full set out for each component that has an API would be lengthy, but you can follow the trail by looking at the "wait-for-xxxxxxxxx.sh" scripts in your {APIGEE INSTALL DIR}/bin directory (where xxxxxxxxx is the name of the component, e.g. wait-for-cassandra.sh) and then following the logic in scripts.