Project

General

Profile

Documentation #20942

Cannot specify multiple ports for civetweb port/listening_ports due to config parsing

Added by Robin Johnson about 2 years ago. Updated over 1 year ago.


Description

civetweb uses commas to split some configuration options, most notably listening_ports/port, but also commas could be used in access_log_file/error_log_file paths.

This conflicts with RGW trying to split the frontends config option by commas before consuming it.


src/rgw/rgw_main.cc:
list<string> frontends;
get_str_list(g_conf->rgw_frontends, ",", frontends);
multimap<string, RGWFrontendConfig *> fe_map;

Easy testcase:
rgw frontends = civetweb port=7480,[::]:7481


Related issues

Copied to rgw - Backport #23317: luminous: Cannot specify multiple ports for civetweb port/listening_ports due to config parsing Resolved

History

#1 Updated by Robin Johnson about 2 years ago

this bug has existed for a long time it seems.

#2 Updated by Jens Harbott about 2 years ago

This is badly documented, but you need to use a '+' instead of a ',' and it will get translated here: https://github.com/ceph/ceph/blob/master/src/rgw/rgw_civetweb_frontend.cc#L58

That is a special case only for the `port` argument though.

#3 Updated by Abhishek Lekshmanan about 2 years ago

This is supported from Luminous, needs doc.

#4 Updated by Abhishek Lekshmanan about 2 years ago

Also everything afteer civetweb is parsed as civetweb options, so rgw_frontends = civetweb port=8000+443s access_log_file="some access log file" would be valid

#5 Updated by Abhishek Lekshmanan about 2 years ago

  • Status changed from New to In Progress
  • Assignee set to Abhishek Lekshmanan

#6 Updated by Nathan Cutler about 2 years ago

  • Backport set to luminous

#7 Updated by Nathan Cutler about 2 years ago

  • Tracker changed from Bug to Documentation
  • Backport deleted (luminous)

Ah, it's a documentation issue now.

#8 Updated by Abhishek Lekshmanan over 1 year ago

  • Status changed from In Progress to Pending Backport
  • Backport set to luminous

#9 Updated by Nathan Cutler over 1 year ago

  • Copied to Backport #23317: luminous: Cannot specify multiple ports for civetweb port/listening_ports due to config parsing added

#10 Updated by Nathan Cutler over 1 year ago

  • Status changed from Pending Backport to Resolved

Also available in: Atom PDF