clearwater-docker
clearwater-docker copied to clipboard
Homestead does not work if SCTP not installed
Symptoms
Homestead hangs on startup and does not function (hitting bug #49). Underlying cause appears to be that the node kernel does not have SCTP installed (and the OS does not have it available - this is a standard debian release on GKE which may not support SCTP).
Error message is as follows.
10-11-2016 17:44:47.064 UTC Status diameterstack.cpp:573: Starting Diameter stack
10-11-2016 17:44:47.066 UTC Error freeDiameter: ERROR: in '(*sock = socket(family, SOCK_STREAM, IPPROTO_SCTP))' : Protocol not supported
10-11-2016 17:44:47.066 UTC Error freeDiameter: ERROR: in '(fd_sctp_create_bind_server( &cnx->cc_socket, cnx->cc_family, ep_list, port ))' : Protocol not supported
10-11-2016 17:44:47.066 UTC Error freeDiameter: ERROR: in '(s->conn = fd_cnx_serv_sctp(fd_g_config->cnf_port, empty_conf_ep ? ((void *)0) : &fd_g_config->cnf_endpoints))' : Protocol not supported
10-11-2016 17:44:47.066 UTC Error freeDiameter: ERROR: in '((fd_servers_start()))' : Protocol not supported
10-11-2016 17:44:47.066 UTC Error main.cpp:803: Failed to initialize Diameter stack - function fd_core_start, rc 93
10-11-2016 17:44:47.066 UTC Status main.cpp:804: Homestead is shutting down
Probable resolution is to disable SCTP.
Impact
Deployment DOA.
Release and environment
GKE.
Steps to reproduce
See above - install on GKE.
Workaround - add the following line to the end of clearwater/base/Dockerfile
:
RUN sed -i 's/SCTP_streams.*/No_SCTP;/' /usr/share/clearwater/bin/generic_create_diameterconf
Probably not the right fix, but seems to get past the issue.
Fix for this (and explanation) is available here: https://github.com/Metaswitch/clearwater-infrastructure/pull/395 Not merged yet though as it needs testing.
Ported to https://github.com/Metaswitch/project-clearwater-issues/issues/12