diff --git a/src/box/box.cc b/src/box/box.cc
index eb851cd4e4af9aa99e74f17f4203f27013afea94..aed274fc98c6048e5c960699b20f859dc2acd80d 100644
--- a/src/box/box.cc
+++ b/src/box/box.cc
@@ -135,12 +135,6 @@ box_check_config()
 {
 	box_check_wal_mode(cfg_gets("wal_mode"));
 
-	/* check primary port */
-	int primary_port = cfg_geti("primary_port");
-	if (primary_port < 0 || primary_port >= USHRT_MAX)
-		tnt_raise(ClientError, ER_CFG,
-			  "invalid primary port value");
-
 	/* check rows_per_wal configuration */
 	if (cfg_geti("rows_per_wal") <= 1) {
 		tnt_raise(ClientError, ER_CFG,
@@ -415,18 +409,18 @@ box_init()
 			      cfg_getd("wal_dir_rescan_delay"));
 	title("hot_standby", NULL);
 
-	const char *primary_port = cfg_gets("primary_port");
-	const char *admin_port = cfg_gets("admin_port");
+	const char *listen = cfg_gets("listen");
+	const char *admin = cfg_gets("admin");
 
 	/*
 	 * application server configuration).
 	 */
-	if (!primary_port && !admin_port)
+	if (!listen && !admin)
 		box_leave_local_standby_mode(NULL);
 	else {
 		void (*on_bind)(void *) = NULL;
-		if (primary_port) {
-			iproto_init(primary_port);
+		if (listen) {
+			iproto_init(listen);
 		} else {
 			/*
 			 * If no prmary port is given, leave local
@@ -436,8 +430,8 @@ box_init()
 			 */
 			on_bind = box_leave_local_standby_mode;
 		}
-		if (admin_port)
-			admin_init(admin_port, on_bind);
+		if (admin)
+			admin_init(admin, on_bind);
 	}
 	if (cfg_getd("io_collect_interval") > 0) {
 		ev_set_io_collect_interval(loop(),
diff --git a/src/box/lua/load_cfg.lua b/src/box/lua/load_cfg.lua
index 02deb93aa92f36f7624927e3686047265490f7e0..d96ae62410c6f71b487b944c91dfe1d4b040347b 100644
--- a/src/box/lua/load_cfg.lua
+++ b/src/box/lua/load_cfg.lua
@@ -20,14 +20,14 @@ end
 
 -- arguments that can be number or string
 local wrapper_cfg = {
-    admin_port          = normalize_port_uri,
-    primary_port        = normalize_port_uri,
+    admin              = normalize_port_uri,
+    listen             = normalize_port_uri,
 }
 
 -- all available options
 local default_cfg = {
-    admin_port          = nil,
-    primary_port        = nil,
+    admin               = nil,
+    listen              = nil,
     slab_alloc_arena    = 1.0,
     slab_alloc_minimal  = 64,
     slab_alloc_factor   = 2.0,
diff --git a/src/tarantool.cc b/src/tarantool.cc
index bc9700996019cc263b3e59c061d4690060439d27..d9ca591089eb6e8cd3fc14305de7798182e63183 100644
--- a/src/tarantool.cc
+++ b/src/tarantool.cc
@@ -109,27 +109,6 @@ title(const char *role, const char *fmt, ...)
 		bufptr += snprintf(bufptr, bufend - bufptr, "%s", s);
 	}
 
-#if 0
-	/**
-	 * The below code is broken for two reasons:
-	 * - primary_port and admin_port are no longer integers,
-	 *   but strings
-	 * - title is used in forks, and cfg_geti doesn't work
-	 *   in a fork, since Lua interpreter state is not
-	 *   fork-safe. And it is not fork-safe because it
-	 *   refers to tuple objects, which are not fork-safe.
-	 */
-	int ports[] = { cfg_geti("primary_port"), cfg_geti("admin_port") };
-	int *pptr = ports;
-	const char *names[] = { "pri", "adm", NULL };
-	const char **nptr = names;
-
-	for (; *nptr; nptr++, pptr++)
-		if (*pptr)
-			bufptr += snprintf(bufptr, bufend - bufptr,
-					   " %s: %i", *nptr, *pptr);
-#endif
-
 	set_proc_title(buf);
 }
 
diff --git a/test/app/float_value.result b/test/app/float_value.result
index 8f1a02c5dcf05f6ab969b99751dd612a0123de28..e6c4ad1368da5444942e9d4c048530e8dce8584a 100644
--- a/test/app/float_value.result
+++ b/test/app/float_value.result
@@ -2,7 +2,7 @@ box.cfg
 1	pid_file:box.pid
 2	slab_alloc_factor:2
 3	rows_per_wal:50
-4	admin_port:3313
+4	background:false
 5	logger:tarantool.log
 6	slab_alloc_arena:0.1
 7	wal_dir:.
@@ -13,10 +13,10 @@ box.cfg
 12	panic_on_snap_error:true
 13	panic_on_wal_error:false
 14	log_level:5
-15	readahead:16320
-16	too_long_threshold:0.01
-17	slab_alloc_minimal:64
-18	background:false
+15	admin:3313
+16	readahead:16320
+17	too_long_threshold:0.01
+18	slab_alloc_minimal:64
 19	wal_dir_rescan_delay:0.1
 ------------------------------------------------------
 Check that too_long_threshold = 0.01
diff --git a/test/app/float_value.test.lua b/test/app/float_value.test.lua
index ef17df5b375cd24ab74dfcbc3055f3d5f87b1dbf..bd39a55f03723e32792a80b1d89c7195f50bd0df 100755
--- a/test/app/float_value.test.lua
+++ b/test/app/float_value.test.lua
@@ -3,7 +3,7 @@
 -- Test floating points values (too_long_treshold) with fractional part
 --
 box.cfg{
-    admin_port = 3313,
+    admin = 3313,
     slab_alloc_arena = 0.1,
     pid_file = "box.pid",
     rows_per_wal = 50,
diff --git a/test/app/init_script.result b/test/app/init_script.result
index e3644e2e1716757d08752da26302118a8b60090b..beb33411320862e570ea8084e9673d68885817d2 100644
--- a/test/app/init_script.result
+++ b/test/app/init_script.result
@@ -6,22 +6,22 @@ box.cfg
 1	too_long_threshold:0.5
 2	slab_alloc_factor:2
 3	slab_alloc_minimal:64
-4	admin_port:3313
+4	background:false
 5	logger:tarantool.log
-6	primary_port:3314
+6	slab_alloc_arena:1
 7	wal_dir:.
-8	logger_nonblock:true
-9	snap_dir:.
-10	coredump:false
-11	wal_mode:write
-12	log_level:5
+8	listen:3314
+9	logger_nonblock:true
+10	snap_dir:.
+11	coredump:false
+12	wal_mode:write
 13	panic_on_snap_error:true
 14	panic_on_wal_error:false
-15	rows_per_wal:500000
-16	readahead:16320
-17	pid_file:box.pid
-18	background:false
-19	slab_alloc_arena:1
+15	pid_file:box.pid
+16	admin:3313
+17	rows_per_wal:500000
+18	readahead:16320
+19	log_level:5
 20	wal_dir_rescan_delay:0.1
 --
 -- Test insert from detached fiber
diff --git a/test/app/init_script.test.lua b/test/app/init_script.test.lua
index cd64a605f901a8f352aec62282c9649e0a29f6c0..41b523858abc6b5ef004e55987ad4c19450d03cf 100755
--- a/test/app/init_script.test.lua
+++ b/test/app/init_script.test.lua
@@ -3,8 +3,8 @@
 -- Testing init script
 --
 box.cfg{
-    admin_port = 3313,
-    primary_port = 3314,
+    admin  = 3313,
+    listen = 3314,
     pid_file = "box.pid",
     logger="tarantool.log"
 }
diff --git a/test/big/big.lua b/test/big/big.lua
index 2cb5be418382fe47fd897a144710d07e130a812f..62cdeea836d58e5bf1d549fa604319e78e184906 100644
--- a/test/big/big.lua
+++ b/test/big/big.lua
@@ -1,8 +1,8 @@
 #!/usr/bin/env tarantool
 
 box.cfg{
-    primary_port        = os.getenv("PRIMARY_PORT"),
-    admin_port          = os.getenv("ADMIN_PORT"),
+    listen              = os.getenv("LISTEN"),
+    admin               = os.getenv("ADMIN"),
     slab_alloc_arena    = 0.1,
     pid_file            = "tarantool.pid",
     rows_per_wal        = 50
diff --git a/test/box/access.result b/test/box/access.result
index 0f4d7614979ba1cce1dbac0b0ab7eef1c1396d86..207457a2fab55ee68b3732b7c0b727dab64be8c5 100644
--- a/test/box/access.result
+++ b/test/box/access.result
@@ -156,7 +156,7 @@ box.schema.user.drop('Петя_Иванов')
 ---
 ...
 -- gh-300: misleading error message if a function does not exist
-c = (require 'net.box'):new("127.0.0.1", box.cfg.primary_port)
+c = (require 'net.box'):new("127.0.0.1", box.cfg.listen)
 ---
 ...
 c:call('nosuchfunction')
diff --git a/test/box/access.test.lua b/test/box/access.test.lua
index 7a1f5119b4c22a3f469193a4dd4b41467cc0c0ba..3b41ced8c11c290901b4948ca066620661c08271 100644
--- a/test/box/access.test.lua
+++ b/test/box/access.test.lua
@@ -74,7 +74,7 @@ box.schema.user.create('Петя_Иванов')
 box.schema.user.drop('Петя_Иванов')
 
 -- gh-300: misleading error message if a function does not exist
-c = (require 'net.box'):new("127.0.0.1", box.cfg.primary_port)
+c = (require 'net.box'):new("127.0.0.1", box.cfg.listen)
 
 c:call('nosuchfunction')
 function nosuchfunction() end
diff --git a/test/box/admin.result b/test/box/admin.result
index 498e699f825166cef1d9839abbaf5b758469c5af..c59aa4046808594b58992ae4e767d80e19c1690c 100644
--- a/test/box/admin.result
+++ b/test/box/admin.result
@@ -6,8 +6,8 @@ space = box.schema.create_space('tweedledum', { id = 0 })
 space:create_index('primary', { type = 'hash' })
 ---
 ...
---# push filter 'primary_port: .*' to 'primary_port: <number>'
---# push filter 'admin_port: .*' to 'admin_port: <number>'
+--# push filter 'listen: .*' to 'listen: <uri>'
+--# push filter 'admin: .*' to 'admin: <uri>'
 help()
 ---
 - - Help topics:
@@ -22,21 +22,21 @@ box.cfg
 - too_long_threshold: 0.5
   slab_alloc_factor: 2
   rows_per_wal: 50
-  admin_port: <number>
+  background: false
   slab_alloc_arena: 0.1
   wal_dir: .
+  listen: <uri>
   logger_nonblock: true
   snap_dir: .
   coredump: false
   wal_mode: write
-  log_level: 5
   panic_on_snap_error: true
   panic_on_wal_error: false
+  log_level: 5
+  admin: <uri>
   readahead: 16320
-  primary_port: <number>
   pid_file: tarantool.pid
   slab_alloc_minimal: 64
-  background: false
   wal_dir_rescan_delay: 0.1
 ...
 space:insert{1, 'tuple'}
diff --git a/test/box/admin.test.lua b/test/box/admin.test.lua
index 833819b918b01720f00854305496fe9e1eb0a87c..506d46006cdf1b07534de7767dc2370631b26753 100644
--- a/test/box/admin.test.lua
+++ b/test/box/admin.test.lua
@@ -4,8 +4,8 @@
 space = box.schema.create_space('tweedledum', { id = 0 })
 space:create_index('primary', { type = 'hash' })
 
---# push filter 'primary_port: .*' to 'primary_port: <number>'
---# push filter 'admin_port: .*' to 'admin_port: <number>'
+--# push filter 'listen: .*' to 'listen: <uri>'
+--# push filter 'admin: .*' to 'admin: <uri>'
 help()
 box.cfg
 space:insert{1, 'tuple'}
diff --git a/test/box/box.lua b/test/box/box.lua
index 911fe7022fc1522a4f2789e28516a7b320818865..2fefb66c2132fc1fa8a3f9ed64ac9e482487038e 100644
--- a/test/box/box.lua
+++ b/test/box/box.lua
@@ -2,8 +2,8 @@
 os = require('os')
 
 box.cfg{
-    primary_port        = os.getenv("PRIMARY_PORT"),
-    admin_port          = os.getenv("ADMIN_PORT"),
+    listen              = os.getenv("LISTEN"),
+    admin               = os.getenv("ADMIN"),
     slab_alloc_arena    = 0.1,
     pid_file            = "tarantool.pid",
     rows_per_wal        = 50
diff --git a/test/box/box.net.box.result b/test/box/box.net.box.result
index f112b865d8d03267b5d1303b8264183cb2d395e2..d410e5032e755b06a6705e0299ae6f795228a505 100644
--- a/test/box/box.net.box.result
+++ b/test/box/box.net.box.result
@@ -10,7 +10,7 @@ log = require 'log'
 box.schema.user.grant('guest', 'read,write,execute', 'universe')
 ---
 ...
-port = box.cfg.primary_port
+port = box.cfg.listen
 ---
 ...
 space = box.schema.create_space('net_box_test_space')
diff --git a/test/box/box.net.box.test.lua b/test/box/box.net.box.test.lua
index 953e964a5f95145af2d1d8a7085a1ee8d8ecce6e..68e9356a6d511351462d71633864ec8ad3576bd9 100644
--- a/test/box/box.net.box.test.lua
+++ b/test/box/box.net.box.test.lua
@@ -3,7 +3,7 @@ fiber = require 'fiber'
 log = require 'log'
 
 box.schema.user.grant('guest', 'read,write,execute', 'universe')
-port = box.cfg.primary_port
+port = box.cfg.listen
 space = box.schema.create_space('net_box_test_space')
 space:create_index('primary', { type = 'tree' })
 
diff --git a/test/box/bsdsocket.result b/test/box/bsdsocket.result
index 5a93269d223fe9e7259e689f435ea5eb783a7156..4c9fb2fdf41e4f2fa5a6ca4aa621c356acdf862f 100644
--- a/test/box/bsdsocket.result
+++ b/test/box/bsdsocket.result
@@ -43,14 +43,14 @@ type(s:error())
 ---
 - nil
 ...
-primary_port = string.gsub(box.cfg.primary_port, '^.*:', '')
+port = string.gsub(box.cfg.listen, '^.*:', '')
 ---
 ...
 s:nonblock(false)
 ---
 - false
 ...
-s:sysconnect('127.0.0.1', primary_port)
+s:sysconnect('127.0.0.1', port)
 ---
 - true
 ...
@@ -807,7 +807,7 @@ socket.tcp_connect('127.0.0.1', 80, 0.00000000001)
 - null
 ...
 -- close
-s = socket.tcp_connect('127.0.0.1', primary_port)
+s = socket.tcp_connect('127.0.0.1', port)
 ---
 ...
 string.sub(s:read(128), 1, 9)
diff --git a/test/box/bsdsocket.test.lua b/test/box/bsdsocket.test.lua
index ba0155af47dbe64c967e400c660149ba8696b308..43a87179bbe9e9a82696edb1c82dbc0f84ac47a6 100644
--- a/test/box/bsdsocket.test.lua
+++ b/test/box/bsdsocket.test.lua
@@ -14,10 +14,10 @@ type(s)
 s:errno()
 type(s:error())
 
-primary_port = string.gsub(box.cfg.primary_port, '^.*:', '')
+port = string.gsub(box.cfg.listen, '^.*:', '')
 
 s:nonblock(false)
-s:sysconnect('127.0.0.1', primary_port)
+s:sysconnect('127.0.0.1', port)
 s:nonblock(true)
 s:nonblock()
 s:nonblock(false)
@@ -258,7 +258,7 @@ socket.tcp_connect('127.0.0.1', 80, 0.00000000001)
 
 -- close
 
-s = socket.tcp_connect('127.0.0.1', primary_port)
+s = socket.tcp_connect('127.0.0.1', port)
 string.sub(s:read(128), 1, 9)
 sa = { fh = 512 } setmetatable(sa, getmetatable(s))
 tostring(sa)
diff --git a/test/box/cfg.result b/test/box/cfg.result
index 2d9d9ba67c1c98a153b0c64a9e3ef50fe70a0fbe..04c0a7f051d4a8d7af2574b17904bb9279c7a069 100644
--- a/test/box/cfg.result
+++ b/test/box/cfg.result
@@ -1,5 +1,5 @@
---# push filter 'primary_port: .*' to 'primary_port: <number>'
---# push filter 'admin_port: .*' to 'admin_port: <number>'
+--# push filter 'listen: .*' to 'primary: <uri>'
+--# push filter 'admin: .*' to 'admin: <uri>'
 box.cfg.nosuchoption = 1
 ---
 - error: '[string "-- load_cfg.lua - internal file..."]:127: Attempt to modify a read-only
@@ -13,21 +13,21 @@ t
 - - 'too_long_threshold: 0.5'
   - 'slab_alloc_factor: 2'
   - 'rows_per_wal: 50'
-  - 'admin_port: <number>
+  - 'background: false'
   - 'slab_alloc_arena: 0.1'
   - 'wal_dir: .'
+  - 'primary: <uri>
   - 'logger_nonblock: true'
   - 'snap_dir: .'
   - 'coredump: false'
   - 'wal_mode: write'
-  - 'log_level: 5'
   - 'panic_on_snap_error: true'
   - 'panic_on_wal_error: false'
+  - 'log_level: 5'
+  - 'admin: <uri>
   - 'readahead: 16320'
-  - 'primary_port: <number>
   - 'pid_file: tarantool.pid'
   - 'slab_alloc_minimal: 64'
-  - 'background: false'
   - 'wal_dir_rescan_delay: 0.1'
 ...
 -- must be read-only
@@ -42,21 +42,21 @@ t
 - - 'too_long_threshold: 0.5'
   - 'slab_alloc_factor: 2'
   - 'rows_per_wal: 50'
-  - 'admin_port: <number>
+  - 'background: false'
   - 'slab_alloc_arena: 0.1'
   - 'wal_dir: .'
+  - 'primary: <uri>
   - 'logger_nonblock: true'
   - 'snap_dir: .'
   - 'coredump: false'
   - 'wal_mode: write'
-  - 'log_level: 5'
   - 'panic_on_snap_error: true'
   - 'panic_on_wal_error: false'
+  - 'log_level: 5'
+  - 'admin: <uri>
   - 'readahead: 16320'
-  - 'primary_port: <number>
   - 'pid_file: tarantool.pid'
   - 'slab_alloc_minimal: 64'
-  - 'background: false'
   - 'wal_dir_rescan_delay: 0.1'
 ...
 --# clear filter
diff --git a/test/box/cfg.test.lua b/test/box/cfg.test.lua
index ccacd0ee6228323619fbeff792ec6bb777c1c5df..ee99deae794a6f606d6711abe6d65f4d19adb0d6 100644
--- a/test/box/cfg.test.lua
+++ b/test/box/cfg.test.lua
@@ -1,5 +1,5 @@
---# push filter 'primary_port: .*' to 'primary_port: <number>'
---# push filter 'admin_port: .*' to 'admin_port: <number>'
+--# push filter 'listen: .*' to 'primary: <uri>'
+--# push filter 'admin: .*' to 'admin: <uri>'
 box.cfg.nosuchoption = 1
 t = {} for k,v in pairs(box.cfg) do if type(v) ~= 'table' and type(v) ~= 'function' then table.insert(t, k..': '..tostring(v)) end end
 t
diff --git a/test/box/configuration.test.py b/test/box/configuration.test.py
index 3489b2ba77486e4cba7c5686749fbff2f5ba4585..d311508eb170e41b805fc1d4228516ffd6065367 100644
--- a/test/box/configuration.test.py
+++ b/test/box/configuration.test.py
@@ -24,8 +24,8 @@ server.cfgfile_source = old_cfgfile
 old_script = server.script
 server.script = "box/lua/test_init.lua"
 server.deploy()
-sys.stdout.push_filter("admin_port: .*", "admin_port: <number>")
-sys.stdout.push_filter("primary_port: .*", "primary_port: <number>")
+sys.stdout.push_filter("admin: .*", "admin: <uri>")
+sys.stdout.push_filter("listen: .*", "listen: <uri>")
 admin("print_config()")
 sys.stdout.pop_filter()
 sys.stdout.pop_filter()
diff --git a/test/box/protocol.result b/test/box/protocol.result
index 829f15f04265bc470eeae42314fa0cea6552a8fe..fbbe9a349d1bfb0d36868ed35a4e8568f23f3d3a 100644
--- a/test/box/protocol.result
+++ b/test/box/protocol.result
@@ -13,10 +13,10 @@ space:create_index('primary', { type = 'tree'})
 for i=1,5 do space:insert{i} end
 ---
 ...
-primary_port = string.gsub(box.cfg.primary_port, '^.*:', '')
+port = string.gsub(box.cfg.listen, '^.*:', '')
 ---
 ...
-conn = (require 'net.box'):new('127.0.0.1', tonumber(primary_port))
+conn = (require 'net.box'):new('127.0.0.1', tonumber(port))
 ---
 ...
 conn.space[space.id]:select(3, { iterator = 'GE' })
diff --git a/test/box/protocol.test.lua b/test/box/protocol.test.lua
index cf1247521035c0b9c1bd628f70ff6cfcf5c6329a..975fb20ffa50199fbf1bf2e2e16568e5ff6e01ad 100644
--- a/test/box/protocol.test.lua
+++ b/test/box/protocol.test.lua
@@ -8,8 +8,8 @@ space = box.schema.create_space('tweedledum')
 space:create_index('primary', { type = 'tree'})
 for i=1,5 do space:insert{i} end
 
-primary_port = string.gsub(box.cfg.primary_port, '^.*:', '')
-conn = (require 'net.box'):new('127.0.0.1', tonumber(primary_port))
+port = string.gsub(box.cfg.listen, '^.*:', '')
+conn = (require 'net.box'):new('127.0.0.1', tonumber(port))
 conn.space[space.id]:select(3, { iterator = 'GE' })
 conn.space[space.id]:select(3, { iterator = 'LE' })
 conn.space[space.id]:select(3, { iterator = 'GT' })
diff --git a/test/box/socket.result b/test/box/socket.result
index 38dc37efa0056f889cecece2e831789ac1a49dc4..56b3945ee127fa8e4dfe8d6e67c5ebe30c1889ef 100644
--- a/test/box/socket.result
+++ b/test/box/socket.result
@@ -902,7 +902,7 @@ ping
 s:close()
 ---
 ...
- replies = 0 packet = require('msgpack').encode({[0] = 64, [1] = 0}) packet = require('msgpack').encode(packet:len())..packet function bug1160869()     local s = socket.tcp()     s:connect('127.0.0.1', string.gsub(box.cfg.primary_port, '^.*:', ''))     s:recv(128)     require('fiber').wrap(function()         while true do             _, status =  s:recv(18)             if status == "eof" then                 error("unexpected eof")             end             replies = replies + 1         end     end)     return s:send(packet) end 
+ replies = 0 packet = require('msgpack').encode({[0] = 64, [1] = 0}) packet = require('msgpack').encode(packet:len())..packet function bug1160869()     local s = socket.tcp()     s:connect('127.0.0.1', string.gsub(box.cfg.listen, '^.*:', ''))     s:recv(128)     require('fiber').wrap(function()         while true do             _, status =  s:recv(18)             if status == "eof" then                 error("unexpected eof")             end             replies = replies + 1         end     end)     return s:send(packet) end 
 ---
 ...
 bug1160869()
@@ -924,7 +924,7 @@ replies
 ---
 - 3
 ...
- s = nil syncno = 0 reps = 0 packet = require('msgpack').encode({[0] = 64, [1] = 0}) packet = require('msgpack').encode(packet:len())..packet function iostart()     if s ~= nil then         return     end     s = socket.tcp()     s:connect('127.0.0.1', string.gsub(box.cfg.primary_port, '^.*:', ''))     s:recv(128)     require('fiber').wrap(function()         while true do             s:recv(18)             if status == "eof" then                 error("unexpected eof")             end             reps = reps + 1         end     end) end  function iotest()     iostart()     syncno = syncno + 1     packet = require('msgpack').encode({[0] = 64, [1] = syncno})     packet = require('msgpack').encode(packet:len())..packet     return s:send(packet) end 
+ s = nil syncno = 0 reps = 0 packet = require('msgpack').encode({[0] = 64, [1] = 0}) packet = require('msgpack').encode(packet:len())..packet function iostart()     if s ~= nil then         return     end     s = socket.tcp()     s:connect('127.0.0.1', string.gsub(box.cfg.listen, '^.*:', ''))     s:recv(128)     require('fiber').wrap(function()         while true do             s:recv(18)             if status == "eof" then                 error("unexpected eof")             end             reps = reps + 1         end     end) end  function iotest()     iostart()     syncno = syncno + 1     packet = require('msgpack').encode({[0] = 64, [1] = syncno})     packet = require('msgpack').encode(packet:len())..packet     return s:send(packet) end 
 ---
 ...
 iotest()
diff --git a/test/box/socket.test.py b/test/box/socket.test.py
index 09605f622192769b0ba720680510f034f560daf1..f9b2b4b043eb8553633a3ff41594aa05c33bad8b 100644
--- a/test/box/socket.test.py
+++ b/test/box/socket.test.py
@@ -516,7 +516,7 @@ packet = require('msgpack').encode({[0] = 64, [1] = 0})
 packet = require('msgpack').encode(packet:len())..packet
 function bug1160869()
     local s = socket.tcp()
-    s:connect('127.0.0.1', string.gsub(box.cfg.primary_port, '^.*:', ''))
+    s:connect('127.0.0.1', string.gsub(box.cfg.listen, '^.*:', ''))
     s:recv(128)
     require('fiber').wrap(function()
         while true do
@@ -549,7 +549,7 @@ function iostart()
         return
     end
     s = socket.tcp()
-    s:connect('127.0.0.1', string.gsub(box.cfg.primary_port, '^.*:', ''))
+    s:connect('127.0.0.1', string.gsub(box.cfg.listen, '^.*:', ''))
     s:recv(128)
     require('fiber').wrap(function()
         while true do
diff --git a/test/lib/preprocessor.py b/test/lib/preprocessor.py
index bf565ab31d0d1f606f05b9f8ba53b1b85e2a7295..ca979a41b987f2aadba58f0cd84dca3130478efd 100644
--- a/test/lib/preprocessor.py
+++ b/test/lib/preprocessor.py
@@ -30,8 +30,8 @@ class TestState(object):
         # curcon is an array since we may have many connections
         self.curcon = [self.connections['default']]
         nmsp = Namespace()
-        setattr(nmsp, 'admin_port', default_server.admin.port)
-        setattr(nmsp, 'primary_port', default_server.sql.port)
+        setattr(nmsp, 'admin', default_server.admin.port)
+        setattr(nmsp, 'listen', default_server.sql.port)
         setattr(self.environ, 'default', nmsp)
 
     def parse_preprocessor(self, string):
@@ -143,10 +143,10 @@ class TestState(object):
             self.servers[sname] = temp
             self.servers[sname].deploy(silent=True)
             nmsp = Namespace()
-            setattr(nmsp, 'admin_port', temp.admin.port)
-            setattr(nmsp, 'primary_port', temp.sql.port)
+            setattr(nmsp, 'admin', temp.admin.port)
+            setattr(nmsp, 'listen', temp.sql.port)
             if temp.rpl_master:
-                setattr(nmsp, 'master_port', temp.rpl_master.sql.port)
+                setattr(nmsp, 'master', temp.rpl_master.sql.port)
             setattr(self.environ, sname, nmsp)
         elif ctype == 'start':
             if sname not in self.servers:
diff --git a/test/lib/tarantool_server.py b/test/lib/tarantool_server.py
index 8c27d430913f733ccfe8ddfb87c9c610453b036e..b47d48dffa54ca79757db1a4094b4e97d54d2991 100644
--- a/test/lib/tarantool_server.py
+++ b/test/lib/tarantool_server.py
@@ -464,10 +464,10 @@ class TarantoolServer(Server):
 
         check_port(self.admin.port)
 
-        os.putenv("PRIMARY_PORT", str(self.sql.port))
-        os.putenv("ADMIN_PORT", str(self.admin.port))
+        os.putenv("LISTEN", str(self.sql.port))
+        os.putenv("ADMIN", str(self.admin.port))
         if self.rpl_master:
-            os.putenv("MASTER_PORT", "127.0.0.1:"+str(self.rpl_master.sql.port))
+            os.putenv("MASTER", "127.0.0.1:"+str(self.rpl_master.sql.port))
         args = self.prepare_args()
         self.logfile_pos = self.logfile
         self.process = subprocess.Popen(args,
diff --git a/test/module/box.lua b/test/module/box.lua
index cf371180709c764c55c4c78846a1f01c5699f434..08d6b6e3d907e510ceee18fc1054c10aad5dde97 100644
--- a/test/module/box.lua
+++ b/test/module/box.lua
@@ -1,7 +1,7 @@
 #!/usr/bin/env tarantool
 box.cfg{
-    primary_port        = os.getenv("PRIMARY_PORT"),
-    admin_port          = os.getenv("ADMIN_PORT"),
+    listen              = os.getenv("LISTEN"),
+    admin               = os.getenv("ADMIN"),
     slab_alloc_arena    = 0.1,
     pid_file            = "tarantool.pid",
     rows_per_wal        = 50
diff --git a/test/replication/consistent.test.lua b/test/replication/consistent.test.lua
index 9cd4d4efbca70e7e983b27d936923c6b0b87d54c..a756258b8956bb6857496aac03be510ba6731a4c 100644
--- a/test/replication/consistent.test.lua
+++ b/test/replication/consistent.test.lua
@@ -35,7 +35,7 @@ do
 end;
 --# setopt delimiter ''
 --# set connection default
---# set variable replica_port to 'replica.primary_port'
+--# set variable replica_port to 'replica.listen'
 
 -- set begin lsn on master and replica.
 begin_lsn = box.info.lsn
diff --git a/test/replication/hot_standby.lua b/test/replication/hot_standby.lua
index 279e0f8b8b85e3cdb666b87c0b99bf1f382e9f1c..ffc2071338db2e829b6f352ead95c147156f9bbc 100644
--- a/test/replication/hot_standby.lua
+++ b/test/replication/hot_standby.lua
@@ -1,8 +1,8 @@
 #!/usr/bin/env tarantool
 os = require('os')
 box.cfg({
-    primary_port        = os.getenv("MASTER_PORT"),
-    admin_port          = os.getenv("ADMIN_PORT"),
+    listen              = os.getenv("MASTER"),
+    admin               = os.getenv("ADMIN"),
     slab_alloc_arena    = 0.1,
     pid_file            = "tarantool.pid",
     logger              = "tarantool.log",
diff --git a/test/replication/hot_standby.result b/test/replication/hot_standby.result
index fa9fe598473f4b7660b849e3951be45b65392773..24ed629b95eb11755ad2d986e90664219b916d96 100644
--- a/test/replication/hot_standby.result
+++ b/test/replication/hot_standby.result
@@ -57,7 +57,7 @@ end;
 --# setopt delimiter ''
 --# set connection default
 -- set begin lsn on master, replica and hot_standby.
---# set variable replica_port to 'replica.primary_port'
+--# set variable replica_port to 'replica.listen'
 a = (require 'net.box'):new('127.0.0.1', replica_port)
 ---
 ...
@@ -121,9 +121,9 @@ _select(1, 10)
 require('fiber').sleep(0.2)
 ---
 ...
--- hot_standby.primary_port is garbage, since hot_standby.lua
--- uses MASTER_PORT environment variable for its primary_port
---# set variable hot_standby_port to 'hot_standby.master_port'
+-- hot_standby.listen is garbage, since hot_standby.lua
+-- uses MASTER environment variable for its listen
+--# set variable hot_standby_port to 'hot_standby.master'
 a = (require 'net.box'):new('127.0.0.1', hot_standby_port)
 ---
 ...
diff --git a/test/replication/hot_standby.test.lua b/test/replication/hot_standby.test.lua
index 8847b10eeb3977f86fc2a8c41230479d51fbc7a7..997dbd1395da4394267c58d64ecfab1a345450c3 100644
--- a/test/replication/hot_standby.test.lua
+++ b/test/replication/hot_standby.test.lua
@@ -53,7 +53,7 @@ end;
 --# set connection default
 
 -- set begin lsn on master, replica and hot_standby.
---# set variable replica_port to 'replica.primary_port'
+--# set variable replica_port to 'replica.listen'
 a = (require 'net.box'):new('127.0.0.1', replica_port)
 a:call('_set_pri_lsn', box.info.node.id, box.info.node.lsn)
 a:close()
@@ -71,9 +71,9 @@ _select(1, 10)
 --# stop server default
 require('fiber').sleep(0.2)
 
--- hot_standby.primary_port is garbage, since hot_standby.lua
--- uses MASTER_PORT environment variable for its primary_port
---# set variable hot_standby_port to 'hot_standby.master_port'
+-- hot_standby.listen is garbage, since hot_standby.lua
+-- uses MASTER environment variable for its listen
+--# set variable hot_standby_port to 'hot_standby.master'
 a = (require 'net.box'):new('127.0.0.1', hot_standby_port)
 a:call('_set_pri_lsn', box.info.node.id, box.info.node.lsn)
 a:close()
diff --git a/test/replication/master.lua b/test/replication/master.lua
index 027352b10913a1b0f8eceda8a8cd04591bb5e1c9..3031d326f7ff4243f3184fa1523c0548ecebe3e1 100644
--- a/test/replication/master.lua
+++ b/test/replication/master.lua
@@ -1,8 +1,8 @@
 #!/usr/bin/env tarantool
 os = require('os')
 box.cfg({
-    primary_port        = os.getenv("PRIMARY_PORT"),
-    admin_port          = os.getenv("ADMIN_PORT"),
+    listen              = os.getenv("LISTEN"),
+    admin               = os.getenv("ADMIN"),
     slab_alloc_arena    = 0.1,
     pid_file            = "tarantool.pid",
     logger              = "| cat - >> tarantool.log",
diff --git a/test/replication/replica.lua b/test/replication/replica.lua
index 1be8b25dde4567d72667181f9f32487a47d93712..1ba51679c8bafeda5620d9d6caaa06d7d282234c 100644
--- a/test/replication/replica.lua
+++ b/test/replication/replica.lua
@@ -1,12 +1,12 @@
 #!/usr/bin/env tarantool
 
-print('MASTER_PORT: ',os.getenv("MASTER_PORT"))
+print('MASTER: ',os.getenv("MASTER"))
 print('MASTER_URI: ',os.getenv("MASTER_URI"))
 
 box.cfg({
-    primary_port        = os.getenv("PRIMARY_PORT"),
-    admin_port          = os.getenv("ADMIN_PORT"),
-    replication_source  = os.getenv("MASTER_PORT"),
+    listen              = os.getenv("LISTEN"),
+    admin               = os.getenv("ADMIN"),
+    replication_source  = os.getenv("MASTER"),
     slab_alloc_arena    = 0.1,
     pid_file            = "tarantool.pid",
     logger              = "tarantool.log",
diff --git a/test/replication/swap.test.py b/test/replication/swap.test.py
index 8709ab8e650df82722e8c06987eac69fde6676fa..451bf93a2c2cf0ff2b22d5441e5315bb3ab1f65e 100644
--- a/test/replication/swap.test.py
+++ b/test/replication/swap.test.py
@@ -25,7 +25,7 @@ master.admin("box.schema.user.create('%s', { password = '%s'})" % (LOGIN, PASSWO
 master.admin("box.schema.user.grant('%s', 'read,write,execute', 'universe')" % LOGIN)
 master.sql.py_con.authenticate(LOGIN, PASSWORD)
 master.uri = '%s:%s@%s:%s' % (LOGIN, PASSWORD, HOST, master.sql.port)
-os.putenv('MASTER_PORT', master.uri)
+os.putenv('MASTER', master.uri)
 
 # replica server
 replica = TarantoolServer()
diff --git a/test/wal/wal.lua b/test/wal/wal.lua
index 78ba7b29ff33f3b9d87626079aa2f736f34e7d90..9ef4a7971e6aa9ef505c68264d14bc486f7b6fb4 100644
--- a/test/wal/wal.lua
+++ b/test/wal/wal.lua
@@ -1,7 +1,7 @@
 #!/usr/bin/env tarantool
 box.cfg{
-    primary_port        = os.getenv("PRIMARY_PORT"),
-    admin_port          = os.getenv("ADMIN_PORT"),
+    listen              = os.getenv("LISTEN"),
+    admin              = os.getenv("ADMIN"),
     slab_alloc_arena    = 0.1,
     pid_file            = "tarantool.pid",
     wal_mode            = "none"