apache / couchdb-helm

Apache CouchDB Helm Chart
https://couchdb.apache.org/
Apache License 2.0
49 stars 64 forks source link

unable to setup couch db on ipv6 only environemnt. #96

Open rajeevpadinharepattu opened 2 years ago

rajeevpadinharepattu commented 2 years ago

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,['Argument1','Argument2','Argument3','Argument4']} <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

ikuradon commented 2 years ago

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: "::"