apache / couchdb-helm

Apache CouchDB Helm Chart

Home Page:https://couchdb.apache.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

unable to setup couch db on ipv6 only environemnt.

rajeevpadinharepattu opened this issue · comments

Describe the bug
unable to setup couch db on ipv6 only environemnt

Version of Helm and Kubernetes:
CouchDB - 3.3.4
Kubernetes: 1.22

What happened:
After installing the chart the pods are in CrashLoopBackOff and getting the below logs from couchdb container

eic@devgpu01:~> kubectl get pods -n tycoai-db
NAME READY STATUS RESTARTS AGE
couchdb-couchdb-0 0/2 CrashLoopBackOff 15 (4m58s ago) 18m

eic@devgpu01:~> kubectl logs -n tycoai-db couchdb-couchdb-0 -c couchdb
2022-10-20 03:59:11 Can't set long node name!
Please check your configuration

2022-10-20 03:59:11 crash_report
{net_kernel,init,['Argument__1']}
<0.27.0>
[]
{exit,{error,badarg},[{gen_server,init_it,6,[{file,"gen_server.erl"},{line,349}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,247}]}]}
[net_sup,kernel_sup,<0.14.0>]
0
[]
[<0.24.0>]
[{longnames,true}]
true
running
1598
27
927
initial_call: pid: registered_name: error_info: ancestors: message_queue_len: messages: links: dictionary: trap_exit: status: heap_size: stack_size: reductions: 2022-10-20 03:59:11 supervisor_report
{local,net_sup}
start_error
{'EXIT',nodistribution}
[{pid,undefined},{id,net_kernel},{mfargs,{net_kernel,start_link,[[couchdb,longnames],true]}},{restart_type,permanent},{shutdown,2000},{child_type,worker}]
{local,kernel_sup}
start_error
{shutdown,{failed_to_start_child,net_kernel,{'EXIT',nodistribution}}}
[{pid,undefined},{id,net_sup},{mfargs,{erl_distribution,start_link,[]}},{restart_type,permanent},{shutdown,infinity},{child_type,supervisor}]
supervisor: errorContext: reason: offender: 2022-10-20 03:59:11 supervisor_report
{application_master,init,['Argument__1','Argument__2','Argument__3','Argument__4']}
<0.13.0>
supervisor: errorContext: reason: offender: 2022-10-20 03:59:11 crash_report
[]
{exit,{{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,net_kernel,{'EXIT',nodistribution}}}}},{kernel,start,[normal,[]]}},[{application_master,init,4,[{file,"application_master.erl"},{line,134}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,247}]}]}
[<0.12.0>]
1
[{'EXIT',<0.14.0>,normal}]
[<0.12.0>,<0.11.0>]
[]
true
running
376
27
214
initial_call: pid: registered_name: error_info: ancestors: message_queue_len: messages: links: dictionary: trap_exit: status: heap_size: stack_size: reductions: 2022-10-20 03:59:11 std_info
kernel
{{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,net_kernel,{'EXIT',nodistribution}}}}},{kernel,start,[normal,[]]}}
permanent
{"Kernel pid terminated",application_controller,"{application_start_failure,kernel,{{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,net_kernel,{'EXIT',nodistribution}}}}},{kernel,start,[normal,[]]}}}"}
application: exited: type: Kernel pid terminated (application_controller) ({application_start_failure,kernel,{{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,net_kernel,{'EXIT',nodistribution}}}}},{ker

Crash dump is being written to: erl_crash.dump...done

How to reproduce it (as minimally and precisely as possible):
Setup a ipv6 only kuberentes cluster
install any storage backend, we are using openEBS
and install couchdb on that

same here, and maybe I found a solution.
I don't know why, but CouchDB needs NODENAME environment on cluster mode.
And need append -proto_dist inet6_tcp to ERL_FLAGS for support IPv6.

This solution may not be right and still wip.
my fork:
https://github.com/ikuradon/couchdb-helm/tree/nodename
and sample config:

erlangFlags:
  proto_dist: inet6_tcp

couchdbConfig:
  couchdb:
    uuid: 7c99c0f7c8ef411f8dd74c8ca3476485
  chttpd:
    bind_address: "::"