From 1e9efd2f0754f395ade37f5a3bce5dfa90bf6c0f Mon Sep 17 00:00:00 2001 From: Nipa Kumar Date: Fri, 31 Mar 2017 15:33:13 -0700 Subject: [PATCH] Update section name to [CONFIGDB] instead of [IFMAP] as ifmap is deprecated. Change-Id: Ib14187808337f2bd8ffa56d901eebb331dbd5746 Partial-Bug:1678321 --- src/control-node/contrail-control.conf | 10 +- src/control-node/main.cc | 2 +- src/control-node/options.cc | 101 +++++--------- src/control-node/options.h | 41 +++--- src/control-node/test/options_test.cc | 179 ++++++++++++------------- src/dns/cmn/dns_options.cc | 118 +++++++--------- src/dns/cmn/dns_options.h | 30 ++--- src/dns/contrail-dns.conf | 10 +- src/dns/main.cc | 2 +- src/dns/test/dns_options_test.cc | 175 ++++++++++++------------ 10 files changed, 285 insertions(+), 383 deletions(-) diff --git a/src/control-node/contrail-control.conf b/src/control-node/contrail-control.conf index 404d51bb0a1..12d9d501d8c 100644 --- a/src/control-node/contrail-control.conf +++ b/src/control-node/contrail-control.conf @@ -31,15 +31,7 @@ log_local=1 # second. System logs are dropped if the sending rate is exceeded # sandesh_send_rate_limit= -[IFMAP] -# certs_store= -# password=control-node -# server_url= # e.g. https://127.0.0.1:8443 -# user=control-node -# stale_entries_cleanup_timeout=300 # in seconds -# end_of_rib_timeout=10 # in seconds -# peer_response_wait_time=60 # in seconds -# +[CONFIGDB] # AMQP related configs # rabbitmq_server_list=ip1:port1 ip2:por1 # rabbitmq_user=guest diff --git a/src/control-node/main.cc b/src/control-node/main.cc index 233695195f3..fe0d74c52df 100644 --- a/src/control-node/main.cc +++ b/src/control-node/main.cc @@ -265,7 +265,7 @@ int main(int argc, char *argv[]) { // TODO Coming Soon ConfigClientManager *config_client_manager = new ConfigClientManager(&evm, &ifmap_server, options.hostname(), - module_name, options.ifmap_config_options()); + module_name, options.configdb_options()); IFMap_Initialize(&ifmap_server, config_client_manager); ifmap_server.set_config_manager(config_client_manager); diff --git a/src/control-node/options.cc b/src/control-node/options.cc index 2df3b40c30c..e686dd7a271 100644 --- a/src/control-node/options.cc +++ b/src/control-node/options.cc @@ -158,57 +158,36 @@ void Options::Initialize(EventManager &evm, g_sandesh_constants.DEFAULT_SANDESH_SEND_RATELIMIT), "Sandesh send rate limit in messages/sec") - ("IFMAP.certs_store", opt::value(), - "Certificates store to use for communication with IFMAP server") - ("IFMAP.password", opt::value()->default_value("control-node"), - "IFMAP server password") - ("IFMAP.server_url", opt::value()->default_value( - ifmap_config_options_.server_url), "IFMAP server URL") - ("IFMAP.user", opt::value()->default_value("control-node"), - "IFMAP server username") - ("IFMAP.config_user", - opt::value()->default_value("control-node"), - "Config database username") - ("IFMAP.config_password", - opt::value()->default_value("control-node"), - "Config database password") - ("IFMAP.config_db_server_list", + ("CONFIGDB.config_db_server_list", opt::value >()->default_value( default_config_db_server_list, default_config_db_server), "Config database server list") - ("IFMAP.stale_entries_cleanup_timeout", - opt::value()->default_value(300), - "IFMAP stale entries cleanup timeout") - ("IFMAP.end_of_rib_timeout", opt::value()->default_value(10), - "IFMAP end of rib timeout") - ("IFMAP.peer_response_wait_time", opt::value()->default_value(60), - "IFMAP peer response wait time") - ("IFMAP.rabbitmq_server_list", + ("CONFIGDB.rabbitmq_server_list", opt::value >()->default_value( default_rabbitmq_server_list, default_rabbitmq_server), "RabbitMQ server list") - ("IFMAP.rabbitmq_user", + ("CONFIGDB.rabbitmq_user", opt::value()->default_value("guest"), "RabbitMQ user") - ("IFMAP.rabbitmq_password", + ("CONFIGDB.rabbitmq_password", opt::value()->default_value("guest"), "RabbitMQ password") - ("IFMAP.rabbitmq_vhost", + ("CONFIGDB.rabbitmq_vhost", opt::value()->default_value(""), "RabbitMQ vhost") - ("IFMAP.rabbitmq_use_ssl", + ("CONFIGDB.rabbitmq_use_ssl", opt::value()->default_value(false), "Use SSL for RabbitMQ connection") - ("IFMAP.rabbitmq_ssl_version", + ("CONFIGDB.rabbitmq_ssl_version", opt::value()->default_value(""), "SSL version for RabbitMQ connection") - ("IFMAP.rabbitmq_ssl_keyfile", + ("CONFIGDB.rabbitmq_ssl_keyfile", opt::value()->default_value(""), "Keyfile for SSL RabbitMQ connection") - ("IFMAP.rabbitmq_ssl_certfile", + ("CONFIGDB.rabbitmq_ssl_certfile", opt::value()->default_value(""), "Certificate file for SSL RabbitMQ connection") - ("IFMAP.rabbitmq_ssl_ca_certs", + ("CONFIGDB.rabbitmq_ssl_ca_certs", opt::value()->default_value(""), "CA Certificate file for SSL RabbitMQ connection") @@ -360,56 +339,36 @@ bool Options::Process(int argc, char *argv[], GetOptValue(var_map, sandesh_ratelimit_, "DEFAULT.sandesh_send_rate_limit"); - GetOptValue(var_map, ifmap_config_options_.password, - "IFMAP.password"); - GetOptValue(var_map, ifmap_config_options_.server_url, - "IFMAP.server_url"); - GetOptValue(var_map, ifmap_config_options_.user, - "IFMAP.user"); - GetOptValue(var_map, ifmap_config_options_.certs_store, - "IFMAP.certs_store"); - GetOptValue(var_map, ifmap_config_options_.config_db_username, - "IFMAP.config_user"); - GetOptValue(var_map, ifmap_config_options_.config_db_password, - "IFMAP.config_password"); GetOptValue< vector >(var_map, - ifmap_config_options_.config_db_server_list, - "IFMAP.config_db_server_list"); - GetOptValue(var_map, - ifmap_config_options_.stale_entries_cleanup_timeout, - "IFMAP.stale_entries_cleanup_timeout"); - GetOptValue(var_map, ifmap_config_options_.end_of_rib_timeout, - "IFMAP.end_of_rib_timeout"); - GetOptValue(var_map, - ifmap_config_options_.peer_response_wait_time, - "IFMAP.peer_response_wait_time"); + configdb_options_.config_db_server_list, + "CONFIGDB.config_db_server_list"); GetOptValue< vector >(var_map, - ifmap_config_options_.rabbitmq_server_list, - "IFMAP.rabbitmq_server_list"); + configdb_options_.rabbitmq_server_list, + "CONFIGDB.rabbitmq_server_list"); GetOptValue(var_map, - ifmap_config_options_.rabbitmq_user, - "IFMAP.rabbitmq_user"); + configdb_options_.rabbitmq_user, + "CONFIGDB.rabbitmq_user"); GetOptValue(var_map, - ifmap_config_options_.rabbitmq_password, - "IFMAP.rabbitmq_password"); + configdb_options_.rabbitmq_password, + "CONFIGDB.rabbitmq_password"); GetOptValue(var_map, - ifmap_config_options_.rabbitmq_vhost, - "IFMAP.rabbitmq_vhost"); + configdb_options_.rabbitmq_vhost, + "CONFIGDB.rabbitmq_vhost"); GetOptValue(var_map, - ifmap_config_options_.rabbitmq_use_ssl, - "IFMAP.rabbitmq_use_ssl"); + configdb_options_.rabbitmq_use_ssl, + "CONFIGDB.rabbitmq_use_ssl"); GetOptValue(var_map, - ifmap_config_options_.rabbitmq_ssl_version, - "IFMAP.rabbitmq_ssl_version"); + configdb_options_.rabbitmq_ssl_version, + "CONFIGDB.rabbitmq_ssl_version"); GetOptValue(var_map, - ifmap_config_options_.rabbitmq_ssl_keyfile, - "IFMAP.rabbitmq_ssl_keyfile"); + configdb_options_.rabbitmq_ssl_keyfile, + "CONFIGDB.rabbitmq_ssl_keyfile"); GetOptValue(var_map, - ifmap_config_options_.rabbitmq_ssl_certfile, - "IFMAP.rabbitmq_ssl_certfile"); + configdb_options_.rabbitmq_ssl_certfile, + "CONFIGDB.rabbitmq_ssl_certfile"); GetOptValue(var_map, - ifmap_config_options_.rabbitmq_ssl_ca_certs, - "IFMAP.rabbitmq_ssl_ca_certs"); + configdb_options_.rabbitmq_ssl_ca_certs, + "CONFIGDB.rabbitmq_ssl_ca_certs"); GetOptValue(var_map, sandesh_config_.keyfile, "SANDESH.sandesh_keyfile"); diff --git a/src/control-node/options.h b/src/control-node/options.h index 492bee7a212..500faa964dd 100644 --- a/src/control-node/options.h +++ b/src/control-node/options.h @@ -36,36 +36,29 @@ class Options { bool use_syslog() const { return use_syslog_; } std::string syslog_facility() const { return syslog_facility_; } bool task_track_run_time() const { return task_track_run_time_; } - std::string ifmap_server_url() const { - return ifmap_config_options_.server_url; - } - std::string ifmap_password() const { - return ifmap_config_options_.password; - } - std::string ifmap_user() const { return ifmap_config_options_.user; } - std::string ifmap_certs_store() const { - return ifmap_config_options_.certs_store; + std::string config_db_user() const { + return configdb_options_.config_db_username; } - int ifmap_stale_entries_cleanup_timeout() const { - return ifmap_config_options_.stale_entries_cleanup_timeout; + std::string config_db_password() const { + return configdb_options_.config_db_password; } - int ifmap_end_of_rib_timeout() const { - return ifmap_config_options_.end_of_rib_timeout; + std::vector config_db_server_list() const { + return configdb_options_.config_db_server_list; } - int ifmap_peer_response_wait_time() const { - return ifmap_config_options_.peer_response_wait_time; + std::vector rabbitmq_server_list() const { + return configdb_options_.rabbitmq_server_list; } - std::string config_db_user() const { - return ifmap_config_options_.config_db_username; + std::string rabbitmq_user() const { + return configdb_options_.rabbitmq_user; } - std::string config_db_password() const { - return ifmap_config_options_.config_db_password; + std::string rabbitmq_password() const { + return configdb_options_.rabbitmq_password; } - std::vector config_db_server_list() const { - return ifmap_config_options_.config_db_server_list; + bool rabbitmq_ssl_enabled() const { + return configdb_options_.rabbitmq_use_ssl; } - const IFMapConfigOptions &ifmap_config_options() const { - return ifmap_config_options_; + const IFMapConfigOptions &configdb_options() const { + return configdb_options_; } uint16_t xmpp_port() const { return xmpp_port_; } bool xmpp_auth_enabled() const { return xmpp_auth_enable_; } @@ -127,7 +120,7 @@ class Options { bool use_syslog_; std::string syslog_facility_; bool task_track_run_time_; - IFMapConfigOptions ifmap_config_options_; + IFMapConfigOptions configdb_options_; uint16_t xmpp_port_; bool xmpp_auth_enable_; std::string xmpp_server_cert_; diff --git a/src/control-node/test/options_test.cc b/src/control-node/test/options_test.cc index f2deaf4b46e..9b71cb3fcd9 100644 --- a/src/control-node/test/options_test.cc +++ b/src/control-node/test/options_test.cc @@ -32,6 +32,8 @@ class OptionsTest : public ::testing::Test { hostname_ = host_name(error); host_ip_ = GetHostIp(evm_.io_service(), hostname_); default_collector_server_list_.push_back("127.0.0.1:8086"); + default_rabbitmq_server_list_.push_back(host_ip_ + ":5672"); + default_configdb_server_list_.push_back(host_ip_ + ":9042"); } virtual void TearDown() { @@ -42,6 +44,8 @@ class OptionsTest : public ::testing::Test { std::string hostname_; std::string host_ip_; std::vector default_collector_server_list_; + std::vector default_rabbitmq_server_list_; + std::vector default_configdb_server_list_; Options options_; }; @@ -68,13 +72,14 @@ TEST_F(OptionsTest, NoArguments) { EXPECT_EQ(options_.log_file_size(), 10*1024*1024); EXPECT_EQ(options_.log_level(), "SYS_NOTICE"); EXPECT_EQ(options_.log_local(), false); - EXPECT_EQ(options_.ifmap_server_url(), ""); - EXPECT_EQ(options_.ifmap_password(), "control-node"); - EXPECT_EQ(options_.ifmap_user(), "control-node"); - EXPECT_EQ(options_.ifmap_certs_store(), ""); - EXPECT_EQ(options_.ifmap_stale_entries_cleanup_timeout(), 300); - EXPECT_EQ(options_.ifmap_end_of_rib_timeout(), 10); - EXPECT_EQ(options_.ifmap_peer_response_wait_time(), 60); + EXPECT_EQ(options_.rabbitmq_user(), "guest"); + EXPECT_EQ(options_.rabbitmq_password(), "guest"); + EXPECT_EQ(options_.rabbitmq_ssl_enabled(), false); + TASK_UTIL_EXPECT_VECTOR_EQ(default_rabbitmq_server_list_, + options_.rabbitmq_server_list()); + TASK_UTIL_EXPECT_VECTOR_EQ(default_configdb_server_list_, + options_.config_db_server_list()); + EXPECT_EQ(options_.xmpp_port(), default_xmpp_port); EXPECT_EQ(options_.test_mode(), false); EXPECT_EQ(options_.sandesh_send_rate_limit(), @@ -109,13 +114,6 @@ TEST_F(OptionsTest, DefaultConfFile) { EXPECT_EQ(options_.log_file_size(), 10*1024*1024); EXPECT_EQ(options_.log_level(), "SYS_NOTICE"); EXPECT_EQ(options_.log_local(), true); - EXPECT_EQ(options_.ifmap_server_url(), ""); - EXPECT_EQ(options_.ifmap_password(), "control-node"); - EXPECT_EQ(options_.ifmap_user(), "control-node"); - EXPECT_EQ(options_.ifmap_certs_store(), ""); - EXPECT_EQ(options_.ifmap_stale_entries_cleanup_timeout(), 300); - EXPECT_EQ(options_.ifmap_end_of_rib_timeout(), 10); - EXPECT_EQ(options_.ifmap_peer_response_wait_time(), 60); EXPECT_EQ(options_.xmpp_port(), default_xmpp_port); EXPECT_EQ(options_.test_mode(), false); EXPECT_EQ(options_.gr_helper_bgp_disable(), false); @@ -152,10 +150,13 @@ TEST_F(OptionsTest, OverrideStringFromCommandLine) { EXPECT_EQ(options_.log_file_size(), 10*1024*1024); EXPECT_EQ(options_.log_level(), "SYS_NOTICE"); EXPECT_EQ(options_.log_local(), true); - EXPECT_EQ(options_.ifmap_server_url(), ""); - EXPECT_EQ(options_.ifmap_password(), "control-node"); - EXPECT_EQ(options_.ifmap_user(), "control-node"); - EXPECT_EQ(options_.ifmap_certs_store(), ""); + EXPECT_EQ(options_.rabbitmq_user(), "guest"); + EXPECT_EQ(options_.rabbitmq_password(), "guest"); + EXPECT_EQ(options_.rabbitmq_ssl_enabled(), false); + TASK_UTIL_EXPECT_VECTOR_EQ(default_rabbitmq_server_list_, + options_.rabbitmq_server_list()); + TASK_UTIL_EXPECT_VECTOR_EQ(default_configdb_server_list_, + options_.config_db_server_list()); EXPECT_EQ(options_.xmpp_port(), default_xmpp_port); EXPECT_EQ(options_.test_mode(), false); EXPECT_EQ(options_.sandesh_send_rate_limit(), 5); @@ -191,10 +192,13 @@ TEST_F(OptionsTest, OverrideBooleanFromCommandLine) { EXPECT_EQ(options_.log_file_size(), 10*1024*1024); EXPECT_EQ(options_.log_level(), "SYS_NOTICE"); EXPECT_EQ(options_.log_local(), true); - EXPECT_EQ(options_.ifmap_server_url(), ""); - EXPECT_EQ(options_.ifmap_password(), "control-node"); - EXPECT_EQ(options_.ifmap_user(), "control-node"); - EXPECT_EQ(options_.ifmap_certs_store(), ""); + EXPECT_EQ(options_.rabbitmq_user(), "guest"); + EXPECT_EQ(options_.rabbitmq_password(), "guest"); + EXPECT_EQ(options_.rabbitmq_ssl_enabled(), false); + TASK_UTIL_EXPECT_VECTOR_EQ(default_rabbitmq_server_list_, + options_.rabbitmq_server_list()); + TASK_UTIL_EXPECT_VECTOR_EQ(default_configdb_server_list_, + options_.config_db_server_list()); EXPECT_EQ(options_.xmpp_port(), default_xmpp_port); EXPECT_EQ(options_.test_mode(), true); // Overridden from command line. EXPECT_EQ(options_.gr_helper_bgp_disable(), false); @@ -232,14 +236,10 @@ TEST_F(OptionsTest, CustomConfigFile) { "sandesh_send_rate_limit=5\n" "\n" "\n" - "[IFMAP]\n" - "certs_store=test-store\n" - "password=test-password\n" - "server_url=https://127.0.0.1:100\n" - "user=test-user\n" - "stale_entries_cleanup_timeout=120\n" - "end_of_rib_timeout=110\n" - "peer_response_wait_time=100\n"; + "[CONFIGDB]\n" + "rabbitmq_user=test-user\n" + "rabbitmq_password=test-password\n" + "\n"; ofstream config_file; config_file.open("./options_test_config_file.conf"); @@ -276,13 +276,6 @@ TEST_F(OptionsTest, CustomConfigFile) { EXPECT_EQ(options_.log_file_size(), 1024); EXPECT_EQ(options_.log_level(), "SYS_DEBUG"); EXPECT_EQ(options_.log_local(), false); - EXPECT_EQ(options_.ifmap_server_url(), "https://127.0.0.1:100"); - EXPECT_EQ(options_.ifmap_password(), "test-password"); - EXPECT_EQ(options_.ifmap_user(), "test-user"); - EXPECT_EQ(options_.ifmap_certs_store(), "test-store"); - EXPECT_EQ(options_.ifmap_stale_entries_cleanup_timeout(), 120); - EXPECT_EQ(options_.ifmap_end_of_rib_timeout(), 110); - EXPECT_EQ(options_.ifmap_peer_response_wait_time(), 100); EXPECT_EQ(options_.xmpp_port(), 100); EXPECT_EQ(options_.task_track_run_time(), false); EXPECT_EQ(options_.test_mode(), false); @@ -294,6 +287,8 @@ TEST_F(OptionsTest, CustomConfigFile) { EXPECT_EQ(options_.xmpp_server_key(), "/etc/server.key"); EXPECT_EQ(options_.xmpp_ca_cert(), "/etc/ca-cert.pem"); EXPECT_EQ(options_.sandesh_send_rate_limit(), 5); + EXPECT_EQ(options_.rabbitmq_user(), "test-user"); + EXPECT_EQ(options_.rabbitmq_password(), "test-password"); } TEST_F(OptionsTest, CustomConfigFileAndOverrideFromCommandLine) { @@ -318,11 +313,10 @@ TEST_F(OptionsTest, CustomConfigFileAndOverrideFromCommandLine) { "xmpp_server_port=100\n" "sandesh_send_rate_limit=5\n" "\n" - "[IFMAP]\n" - "certs_store=test-store\n" - "password=test-password\n" - "server_url=https://127.0.0.1:100\n" - "user=test-user\n"; + "[CONFIGDB]\n" + "rabbitmq_user=test-user\n" + "rabbitmq_password=test-password\n" + "\n"; ofstream config_file; config_file.open("./options_test_config_file.conf"); @@ -376,10 +370,9 @@ TEST_F(OptionsTest, CustomConfigFileAndOverrideFromCommandLine) { EXPECT_EQ(options_.log_file_size(), 1024); EXPECT_EQ(options_.log_level(), "SYS_DEBUG"); EXPECT_EQ(options_.log_local(), true); - EXPECT_EQ(options_.ifmap_server_url(), "https://127.0.0.1:100"); - EXPECT_EQ(options_.ifmap_password(), "test-password"); - EXPECT_EQ(options_.ifmap_user(), "test-user"); - EXPECT_EQ(options_.ifmap_certs_store(), "test-store"); + + EXPECT_EQ(options_.rabbitmq_user(), "test-user"); + EXPECT_EQ(options_.rabbitmq_password(), "test-password"); EXPECT_EQ(options_.xmpp_port(), 100); EXPECT_EQ(options_.test_mode(), true); EXPECT_EQ(options_.sandesh_send_rate_limit(), 7); @@ -498,24 +491,22 @@ TEST_F(OptionsTest, MultitokenVector) { collector_server_list); } -TEST_F(OptionsTest, UnresolvableHostName) { +TEST_F(OptionsTest, DISABLED_UnresolvableHostName) { hostname_ = "uresolvable_host"; host_ip_ = GetHostIp(evm_.io_service(), hostname_); EXPECT_EQ("", host_ip_); } -TEST_F(OptionsTest, OverrideIFMapOptionsFromCommandLine) { - int argc = 9; +TEST_F(OptionsTest, OverrideConfigdbOptionsFromCommandLine) { + int argc = 7; char *argv[argc]; char argv_0[] = "options_test"; char argv_1[] = "--conf_file=controller/src/control-node/contrail-control.conf"; - char argv_2[] = "--IFMAP.server_url=https://66.55.44.33"; - char argv_3[] = "--IFMAP.password=mynewpassword"; - char argv_4[] = "--IFMAP.user=mynewuser"; - char argv_5[] = "--IFMAP.certs_store=mynewcertstore"; - char argv_6[] = "--IFMAP.stale_entries_cleanup_timeout=99"; - char argv_7[] = "--IFMAP.end_of_rib_timeout=88"; - char argv_8[] = "--IFMAP.peer_response_wait_time=77"; + char argv_2[] = "--CONFIGDB.rabbitmq_user=myuser"; + char argv_3[] = "--CONFIGDB.rabbitmq_password=mynewpassword"; + char argv_4[] = "--CONFIGDB.rabbitmq_use_ssl=false"; + char argv_5[] = "--CONFIGDB.rabbitmq_server_list=10.1.1.1:100 10.1.1.2:100"; + char argv_6[] = "--CONFIGDB.config_db_server_list=20.1.1.1:100 20.1.1.2:100"; argv[0] = argv_0; argv[1] = argv_1; argv[2] = argv_2; @@ -523,47 +514,48 @@ TEST_F(OptionsTest, OverrideIFMapOptionsFromCommandLine) { argv[4] = argv_4; argv[5] = argv_5; argv[6] = argv_6; - argv[7] = argv_7; - argv[8] = argv_8; options_.Parse(evm_, argc, argv); - EXPECT_EQ(options_.ifmap_server_url(), "https://66.55.44.33"); - EXPECT_EQ(options_.ifmap_password(), "mynewpassword"); - EXPECT_EQ(options_.ifmap_user(), "mynewuser"); - EXPECT_EQ(options_.ifmap_certs_store(), "mynewcertstore"); - EXPECT_EQ(options_.ifmap_stale_entries_cleanup_timeout(), 99); // default 10 - EXPECT_EQ(options_.ifmap_end_of_rib_timeout(), 88); // default 10 - EXPECT_EQ(options_.ifmap_peer_response_wait_time(), 77); // default 60 + EXPECT_EQ(options_.rabbitmq_user(), "myuser"); + EXPECT_EQ(options_.rabbitmq_password(), "mynewpassword"); + EXPECT_EQ(options_.rabbitmq_ssl_enabled(), false); + + vector rabbitmq_server_list; + rabbitmq_server_list.push_back("10.1.1.1:100"); + rabbitmq_server_list.push_back("10.1.1.2:100"); + TASK_UTIL_EXPECT_VECTOR_EQ(rabbitmq_server_list, + options_.rabbitmq_server_list()); + vector config_db_server_list; + config_db_server_list.push_back("20.1.1.1:100"); + config_db_server_list.push_back("20.1.1.2:100"); + TASK_UTIL_EXPECT_VECTOR_EQ(config_db_server_list, + options_.config_db_server_list()); } -TEST_F(OptionsTest, CustomIFMapConfigFileAndOverrideFromCommandLine) { +TEST_F(OptionsTest, CustomConfigDBFileAndOverrideFromCommandLine) { string config = "" - "[IFMAP]\n" - "certs_store=test-store\n" - "password=test-password\n" - "server_url=https://127.0.0.1:100\n" - "user=test-user\n" - "stale_entries_cleanup_timeout=120\n" - "end_of_rib_timeout=110\n" - "peer_response_wait_time=100\n"; + "[CONFIGDB]\n" + "rabbitmq_user=test-user\n" + "rabbitmq_password=test-password\n" + "rabbitmq_use_ssl=true\n" + "rabbitmq_server_list=10.1.1.1:100 10.1.1.2:100\n" + "config_db_server_list=20.1.1.1:100 20.1.1.2:100\n"; ofstream config_file; config_file.open("./options_test_config_file.conf"); config_file << config; config_file.close(); - int argc = 9; + int argc = 7; char *argv[argc]; char argv_0[] = "options_test"; char argv_1[] = "--conf_file=./options_test_config_file.conf"; - char argv_2[] = "--IFMAP.certs_store=new-test-store"; - char argv_3[] = "--IFMAP.password=new-test-password"; - char argv_4[] = "--IFMAP.server_url=https://11.10.10.1:100"; - char argv_5[] = "--IFMAP.stale_entries_cleanup_timeout=21"; - char argv_6[] = "--IFMAP.end_of_rib_timeout=31"; - char argv_7[] = "--IFMAP.peer_response_wait_time=41"; - char argv_8[] = "--IFMAP.user=new-test-user"; + char argv_2[] = "--CONFIGDB.rabbitmq_user=myuser"; + char argv_3[] = "--CONFIGDB.rabbitmq_password=mynewpassword"; + char argv_4[] = "--CONFIGDB.rabbitmq_use_ssl=false"; + char argv_5[] = "--CONFIGDB.rabbitmq_server_list=30.1.1.1:100 30.1.1.2:100"; + char argv_6[] = "--CONFIGDB.config_db_server_list=40.1.1.1:100 40.1.1.2:100"; argv[0] = argv_0; argv[1] = argv_1; argv[2] = argv_2; @@ -571,18 +563,23 @@ TEST_F(OptionsTest, CustomIFMapConfigFileAndOverrideFromCommandLine) { argv[4] = argv_4; argv[5] = argv_5; argv[6] = argv_6; - argv[7] = argv_7; - argv[8] = argv_8; options_.Parse(evm_, argc, argv); - EXPECT_EQ(options_.ifmap_certs_store(), "new-test-store"); - EXPECT_EQ(options_.ifmap_password(), "new-test-password"); - EXPECT_EQ(options_.ifmap_server_url(), "https://11.10.10.1:100"); - EXPECT_EQ(options_.ifmap_stale_entries_cleanup_timeout(), 21); - EXPECT_EQ(options_.ifmap_end_of_rib_timeout(), 31); - EXPECT_EQ(options_.ifmap_peer_response_wait_time(), 41); - EXPECT_EQ(options_.ifmap_user(), "new-test-user"); + EXPECT_EQ(options_.rabbitmq_user(), "myuser"); + EXPECT_EQ(options_.rabbitmq_password(), "mynewpassword"); + EXPECT_EQ(options_.rabbitmq_ssl_enabled(), false); + + vector rabbitmq_server_list; + rabbitmq_server_list.push_back("30.1.1.1:100"); + rabbitmq_server_list.push_back("30.1.1.2:100"); + TASK_UTIL_EXPECT_VECTOR_EQ(rabbitmq_server_list, + options_.rabbitmq_server_list()); + vector config_db_server_list; + config_db_server_list.push_back("40.1.1.1:100"); + config_db_server_list.push_back("40.1.1.2:100"); + TASK_UTIL_EXPECT_VECTOR_EQ(config_db_server_list, + options_.config_db_server_list()); } int main(int argc, char **argv) { diff --git a/src/dns/cmn/dns_options.cc b/src/dns/cmn/dns_options.cc index 00e558234d9..5de83c16444 100644 --- a/src/dns/cmn/dns_options.cc +++ b/src/dns/cmn/dns_options.cc @@ -146,58 +146,36 @@ void Options::Initialize(EventManager &evm, g_sandesh_constants.DEFAULT_SANDESH_SEND_RATELIMIT), "Sandesh send rate limit in messages/sec") - ("IFMAP.certs_store", opt::value(), - "Certificates store to use for communication with IFMAP server") - ("IFMAP.password", - opt::value()->default_value("dns_user_passwd"), - "IFMAP server password") - ("IFMAP.server_url", opt::value()->default_value( - ifmap_config_options_.server_url), "IFMAP server URL") - ("IFMAP.user", opt::value()->default_value("dns_user"), - "IFMAP server username") - ("IFMAP.config_user", - opt::value()->default_value("control-node"), - "Config database username") - ("IFMAP.config_password", - opt::value()->default_value("control-node"), - "Config database password") - ("IFMAP.config_db_server_list", + ("CONFIGDB.config_db_server_list", opt::value >()->default_value( default_config_db_server_list, default_config_db_server), "Config database server list") - ("IFMAP.stale_entries_cleanup_timeout", - opt::value()->default_value(300), - "IFMAP stale entries cleanup timeout") - ("IFMAP.end_of_rib_timeout", opt::value()->default_value(10), - "IFMAP end of rib timeout") - ("IFMAP.peer_response_wait_time", opt::value()->default_value(60), - "IFMAP peer response wait time") - ("IFMAP.rabbitmq_server_list", + ("CONFIGDB.rabbitmq_server_list", opt::value >()->default_value( default_rabbitmq_server_list, default_rabbitmq_server), "RabbitMQ server list") - ("IFMAP.rabbitmq_user", + ("CONFIGDB.rabbitmq_user", opt::value()->default_value("guest"), "RabbitMQ user") - ("IFMAP.rabbitmq_password", + ("CONFIGDB.rabbitmq_password", opt::value()->default_value("guest"), "RabbitMQ password") - ("IFMAP.rabbitmq_vhost", + ("CONFIGDB.rabbitmq_vhost", opt::value()->default_value(""), "RabbitMQ vhost") - ("IFMAP.rabbitmq_use_ssl", + ("CONFIGDB.rabbitmq_use_ssl", opt::value()->default_value(false), "Use SSL for RabbitMQ connection") - ("IFMAP.rabbitmq_ssl_version", + ("CONFIGDB.rabbitmq_ssl_version", opt::value()->default_value(""), "SSL version for RabbitMQ connection") - ("IFMAP.rabbitmq_ssl_keyfile", + ("CONFIGDB.rabbitmq_ssl_keyfile", opt::value()->default_value(""), "Keyfile for SSL RabbitMQ connection") - ("IFMAP.rabbitmq_ssl_certfile", + ("CONFIGDB.rabbitmq_ssl_certfile", opt::value()->default_value(""), "Certificate file for SSL RabbitMQ connection") - ("IFMAP.rabbitmq_ssl_ca_certs", + ("CONFIGDB.rabbitmq_ssl_ca_certs", opt::value()->default_value(""), "CA Certificate file for SSL RabbitMQ connection") @@ -364,56 +342,56 @@ void Options::Process(int argc, char *argv[], GetOptValue(var_map, send_ratelimit_, "DEFAULT.sandesh_send_rate_limit"); - GetOptValue(var_map, ifmap_config_options_.password, - "IFMAP.password"); - GetOptValue(var_map, ifmap_config_options_.server_url, - "IFMAP.server_url"); - GetOptValue(var_map, ifmap_config_options_.user, - "IFMAP.user"); - GetOptValue(var_map, ifmap_config_options_.config_db_username, - "IFMAP.config_user"); - GetOptValue(var_map, ifmap_config_options_.config_db_password, - "IFMAP.config_password"); + GetOptValue(var_map, configdb_options_.password, + "CONFIGDB.password"); + GetOptValue(var_map, configdb_options_.server_url, + "CONFIGDB.server_url"); + GetOptValue(var_map, configdb_options_.user, + "CONFIGDB.user"); + GetOptValue(var_map, configdb_options_.config_db_username, + "CONFIGDB.config_user"); + GetOptValue(var_map, configdb_options_.config_db_password, + "CONFIGDB.config_password"); GetOptValue< vector >(var_map, - ifmap_config_options_.config_db_server_list, - "IFMAP.config_db_server_list"); - GetOptValue(var_map, ifmap_config_options_.certs_store, - "IFMAP.certs_store"); + configdb_options_.config_db_server_list, + "CONFIGDB.config_db_server_list"); + GetOptValue(var_map, configdb_options_.certs_store, + "CONFIGDB.certs_store"); GetOptValue(var_map, - ifmap_config_options_.stale_entries_cleanup_timeout, - "IFMAP.stale_entries_cleanup_timeout"); - GetOptValue(var_map, ifmap_config_options_.end_of_rib_timeout, - "IFMAP.end_of_rib_timeout"); + configdb_options_.stale_entries_cleanup_timeout, + "CONFIGDB.stale_entries_cleanup_timeout"); + GetOptValue(var_map, configdb_options_.end_of_rib_timeout, + "CONFIGDB.end_of_rib_timeout"); GetOptValue(var_map, - ifmap_config_options_.peer_response_wait_time, - "IFMAP.peer_response_wait_time"); + configdb_options_.peer_response_wait_time, + "CONFIGDB.peer_response_wait_time"); GetOptValue< vector >(var_map, - ifmap_config_options_.rabbitmq_server_list, - "IFMAP.rabbitmq_server_list"); + configdb_options_.rabbitmq_server_list, + "CONFIGDB.rabbitmq_server_list"); GetOptValue(var_map, - ifmap_config_options_.rabbitmq_user, - "IFMAP.rabbitmq_user"); + configdb_options_.rabbitmq_user, + "CONFIGDB.rabbitmq_user"); GetOptValue(var_map, - ifmap_config_options_.rabbitmq_password, - "IFMAP.rabbitmq_password"); + configdb_options_.rabbitmq_password, + "CONFIGDB.rabbitmq_password"); GetOptValue(var_map, - ifmap_config_options_.rabbitmq_vhost, - "IFMAP.rabbitmq_vhost"); + configdb_options_.rabbitmq_vhost, + "CONFIGDB.rabbitmq_vhost"); GetOptValue(var_map, - ifmap_config_options_.rabbitmq_use_ssl, - "IFMAP.rabbitmq_use_ssl"); + configdb_options_.rabbitmq_use_ssl, + "CONFIGDB.rabbitmq_use_ssl"); GetOptValue(var_map, - ifmap_config_options_.rabbitmq_ssl_version, - "IFMAP.rabbitmq_ssl_version"); + configdb_options_.rabbitmq_ssl_version, + "CONFIGDB.rabbitmq_ssl_version"); GetOptValue(var_map, - ifmap_config_options_.rabbitmq_ssl_keyfile, - "IFMAP.rabbitmq_ssl_keyfile"); + configdb_options_.rabbitmq_ssl_keyfile, + "CONFIGDB.rabbitmq_ssl_keyfile"); GetOptValue(var_map, - ifmap_config_options_.rabbitmq_ssl_certfile, - "IFMAP.rabbitmq_ssl_certfile"); + configdb_options_.rabbitmq_ssl_certfile, + "CONFIGDB.rabbitmq_ssl_certfile"); GetOptValue(var_map, - ifmap_config_options_.rabbitmq_ssl_ca_certs, - "IFMAP.rabbitmq_ssl_ca_certs"); + configdb_options_.rabbitmq_ssl_ca_certs, + "CONFIGDB.rabbitmq_ssl_ca_certs"); GetOptValue(var_map, xmpp_auth_enable_, "DEFAULT.xmpp_dns_auth_enable"); GetOptValue(var_map, xmpp_server_cert_, "DEFAULT.xmpp_server_cert"); diff --git a/src/dns/cmn/dns_options.h b/src/dns/cmn/dns_options.h index f31ecf8c52b..3c877c4d4e0 100644 --- a/src/dns/cmn/dns_options.h +++ b/src/dns/cmn/dns_options.h @@ -48,27 +48,23 @@ class Options { bool log_local() const { return log_local_; } bool use_syslog() const { return use_syslog_; } std::string syslog_facility() const { return syslog_facility_; } - std::string ifmap_server_url() const { - return ifmap_config_options_.server_url; + std::vector config_db_server_list() const { + return configdb_options_.config_db_server_list; } - std::string ifmap_password() const { - return ifmap_config_options_.password; + std::vector rabbitmq_server_list() const { + return configdb_options_.rabbitmq_server_list; } - std::string ifmap_user() const { return ifmap_config_options_.user; } - std::string ifmap_certs_store() const { - return ifmap_config_options_.certs_store; + std::string rabbitmq_user() const { + return configdb_options_.rabbitmq_user; } - int ifmap_stale_entries_cleanup_timeout() const { - return ifmap_config_options_.stale_entries_cleanup_timeout; + std::string rabbitmq_password() const { + return configdb_options_.rabbitmq_password; } - int ifmap_end_of_rib_timeout() const { - return ifmap_config_options_.end_of_rib_timeout; + bool rabbitmq_ssl_enabled() const { + return configdb_options_.rabbitmq_use_ssl; } - int ifmap_peer_response_wait_time() const { - return ifmap_config_options_.peer_response_wait_time; - } - const IFMapConfigOptions &ifmap_config_options() const { - return ifmap_config_options_; + const IFMapConfigOptions &configdb_options() const { + return configdb_options_; } bool xmpp_auth_enabled() const { return xmpp_auth_enable_; } std::string xmpp_server_cert() const { return xmpp_server_cert_; } @@ -128,7 +124,7 @@ class Options { bool log_local_; bool use_syslog_; std::string syslog_facility_; - IFMapConfigOptions ifmap_config_options_; + IFMapConfigOptions configdb_options_; bool xmpp_auth_enable_; std::string xmpp_server_cert_; std::string xmpp_server_key_; diff --git a/src/dns/contrail-dns.conf b/src/dns/contrail-dns.conf index 27821b82b6c..baa9878f106 100644 --- a/src/dns/contrail-dns.conf +++ b/src/dns/contrail-dns.conf @@ -35,15 +35,7 @@ log_local=1 # second. System logs are dropped if the sending rate is exceeded # sandesh_send_rate_limit= -[IFMAP] -# certs_store= -# password=dns-user-passwd -# server_url= # Provided by discovery server, e.g. https://127.0.0.1:8443 -# user=dns-user -# stale_entries_cleanup_timeout=300 # in seconds -# end_of_rib_timeout=10 # in seconds -# peer_response_wait_time=60 # in seconds -# +[CONFIGDB] # AMQP related configs # rabbitmq_server_list=ip1:port1 ip2:por1 # rabbitmq_user=guest diff --git a/src/dns/main.cc b/src/dns/main.cc index cae03014eba..654a15df347 100644 --- a/src/dns/main.cc +++ b/src/dns/main.cc @@ -220,7 +220,7 @@ int main(int argc, char *argv[]) { ConfigClientManager *config_client_manager = new ConfigClientManager(Dns::GetEventManager(), &ifmap_server, - options.hostname(), module_name, options.ifmap_config_options()); + options.hostname(), module_name, options.configdb_options()); IFMap_Initialize(&ifmap_server, config_client_manager); diff --git a/src/dns/test/dns_options_test.cc b/src/dns/test/dns_options_test.cc index 7edd939aba9..72e3b039e73 100644 --- a/src/dns/test/dns_options_test.cc +++ b/src/dns/test/dns_options_test.cc @@ -30,12 +30,16 @@ class OptionsTest : public ::testing::Test { hostname_ = host_name(error); host_ip_ = GetHostIp(evm_.io_service(), hostname_); default_collector_server_list_.push_back("127.0.0.1:8086"); + default_rabbitmq_server_list_.push_back(host_ip_ + ":5672"); + default_configdb_server_list_.push_back(host_ip_ + ":9042"); } EventManager evm_; std::string hostname_; std::string host_ip_; std::vector default_collector_server_list_; + std::vector default_rabbitmq_server_list_; + std::vector default_configdb_server_list_; Options options_; }; @@ -68,13 +72,14 @@ TEST_F(OptionsTest, NoArguments) { EXPECT_EQ(options_.log_file_size(), 1024*1024); EXPECT_EQ(options_.log_level(), "SYS_NOTICE"); EXPECT_EQ(options_.log_local(), false); - EXPECT_EQ(options_.ifmap_server_url(), ""); - EXPECT_EQ(options_.ifmap_password(), "dns_user_passwd"); - EXPECT_EQ(options_.ifmap_user(), "dns_user"); - EXPECT_EQ(options_.ifmap_certs_store(), ""); - EXPECT_EQ(options_.ifmap_stale_entries_cleanup_timeout(), 300); - EXPECT_EQ(options_.ifmap_end_of_rib_timeout(), 10); - EXPECT_EQ(options_.ifmap_peer_response_wait_time(), 60); + EXPECT_EQ(options_.rabbitmq_user(), "guest"); + EXPECT_EQ(options_.rabbitmq_password(), "guest"); + EXPECT_EQ(options_.rabbitmq_ssl_enabled(), false); + TASK_UTIL_EXPECT_VECTOR_EQ(default_rabbitmq_server_list_, + options_.rabbitmq_server_list()); + TASK_UTIL_EXPECT_VECTOR_EQ(default_configdb_server_list_, + options_.config_db_server_list()); + EXPECT_EQ(options_.test_mode(), false); EXPECT_EQ(options_.sandesh_send_rate_limit(), g_sandesh_constants.DEFAULT_SANDESH_SEND_RATELIMIT); @@ -113,13 +118,13 @@ TEST_F(OptionsTest, DefaultConfFile) { EXPECT_EQ(options_.log_file_size(), 1024*1024); EXPECT_EQ(options_.log_level(), "SYS_NOTICE"); EXPECT_EQ(options_.log_local(), true); - EXPECT_EQ(options_.ifmap_server_url(), ""); - EXPECT_EQ(options_.ifmap_password(), "dns_user_passwd"); - EXPECT_EQ(options_.ifmap_user(), "dns_user"); - EXPECT_EQ(options_.ifmap_certs_store(), ""); - EXPECT_EQ(options_.ifmap_stale_entries_cleanup_timeout(), 300); - EXPECT_EQ(options_.ifmap_end_of_rib_timeout(), 10); - EXPECT_EQ(options_.ifmap_peer_response_wait_time(), 60); + EXPECT_EQ(options_.rabbitmq_user(), "guest"); + EXPECT_EQ(options_.rabbitmq_password(), "guest"); + EXPECT_EQ(options_.rabbitmq_ssl_enabled(), false); + TASK_UTIL_EXPECT_VECTOR_EQ(default_rabbitmq_server_list_, + options_.rabbitmq_server_list()); + TASK_UTIL_EXPECT_VECTOR_EQ(default_configdb_server_list_, + options_.config_db_server_list()); EXPECT_EQ(options_.test_mode(), false); } @@ -165,10 +170,9 @@ TEST_F(OptionsTest, OverrideStringFromCommandLine) { EXPECT_EQ(options_.log_file_size(), 1024*1024); EXPECT_EQ(options_.log_level(), "SYS_NOTICE"); EXPECT_EQ(options_.log_local(), true); - EXPECT_EQ(options_.ifmap_server_url(), ""); - EXPECT_EQ(options_.ifmap_password(), "dns_user_passwd"); - EXPECT_EQ(options_.ifmap_user(), "dns_user"); - EXPECT_EQ(options_.ifmap_certs_store(), ""); + EXPECT_EQ(options_.rabbitmq_user(), "guest"); + EXPECT_EQ(options_.rabbitmq_password(), "guest"); + EXPECT_EQ(options_.rabbitmq_ssl_enabled(), false); EXPECT_EQ(options_.test_mode(), false); EXPECT_EQ(options_.sandesh_send_rate_limit(), 5); } @@ -201,10 +205,9 @@ TEST_F(OptionsTest, OverrideBooleanFromCommandLine) { EXPECT_EQ(options_.log_file_size(), 1024*1024); EXPECT_EQ(options_.log_level(), "SYS_NOTICE"); EXPECT_EQ(options_.log_local(), true); - EXPECT_EQ(options_.ifmap_server_url(), ""); - EXPECT_EQ(options_.ifmap_password(), "dns_user_passwd"); - EXPECT_EQ(options_.ifmap_user(), "dns_user"); - EXPECT_EQ(options_.ifmap_certs_store(), ""); + EXPECT_EQ(options_.rabbitmq_user(), "guest"); + EXPECT_EQ(options_.rabbitmq_password(), "guest"); + EXPECT_EQ(options_.rabbitmq_ssl_enabled(), false); EXPECT_EQ(options_.test_mode(), true); // Overridden from command line. } @@ -239,14 +242,10 @@ TEST_F(OptionsTest, CustomConfigFile) { "xmpp_server_key=/etc/server-privkey.pem\n" "xmpp_ca_cert=/etc/ca-cert.pem\n" "\n" - "[IFMAP]\n" - "certs_store=test-store\n" - "password=test-password\n" - "server_url=https://127.0.0.1:100\n" - "user=test-user\n" - "stale_entries_cleanup_timeout=120\n" - "end_of_rib_timeout=110\n" - "peer_response_wait_time=100\n"; + "[CONFIGDB]\n" + "rabbitmq_user=test-user\n" + "rabbitmq_password=test-password\n" + "\n"; ofstream config_file; config_file.open("./dns_options_test_config_file.conf"); @@ -288,13 +287,8 @@ TEST_F(OptionsTest, CustomConfigFile) { EXPECT_EQ(options_.log_file_size(), 1024); EXPECT_EQ(options_.log_level(), "SYS_DEBUG"); EXPECT_EQ(options_.log_local(), true); - EXPECT_EQ(options_.ifmap_server_url(), "https://127.0.0.1:100"); - EXPECT_EQ(options_.ifmap_password(), "test-password"); - EXPECT_EQ(options_.ifmap_user(), "test-user"); - EXPECT_EQ(options_.ifmap_certs_store(), "test-store"); - EXPECT_EQ(options_.ifmap_stale_entries_cleanup_timeout(), 120); - EXPECT_EQ(options_.ifmap_end_of_rib_timeout(), 110); - EXPECT_EQ(options_.ifmap_peer_response_wait_time(), 100); + EXPECT_EQ(options_.rabbitmq_user(), "test-user"); + EXPECT_EQ(options_.rabbitmq_password(), "test-password"); EXPECT_EQ(options_.test_mode(), true); EXPECT_EQ(options_.sandesh_send_rate_limit(), 5); EXPECT_EQ(options_.xmpp_auth_enabled(), true); @@ -330,11 +324,10 @@ TEST_F(OptionsTest, CustomConfigFileAndOverrideFromCommandLine) { "test_mode=1\n" "sandesh_send_rate_limit=5\n" "\n" - "[IFMAP]\n" - "certs_store=test-store\n" - "password=test-password\n" - "server_url=https://127.0.0.1:100\n" - "user=test-user\n"; + "[CONFIGDB]\n" + "rabbitmq_user=test-user\n" + "rabbitmq_password=test-password\n" + "\n"; ofstream config_file; config_file.open("./dns_options_test_config_file.conf"); @@ -393,10 +386,8 @@ TEST_F(OptionsTest, CustomConfigFileAndOverrideFromCommandLine) { EXPECT_EQ(options_.log_file_size(), 1024); EXPECT_EQ(options_.log_level(), "SYS_DEBUG"); EXPECT_EQ(options_.log_local(), true); - EXPECT_EQ(options_.ifmap_server_url(), "https://127.0.0.1:100"); - EXPECT_EQ(options_.ifmap_password(), "test-password"); - EXPECT_EQ(options_.ifmap_user(), "test-user"); - EXPECT_EQ(options_.ifmap_certs_store(), "test-store"); + EXPECT_EQ(options_.rabbitmq_user(), "test-user"); + EXPECT_EQ(options_.rabbitmq_password(), "test-password"); EXPECT_EQ(options_.test_mode(), true); EXPECT_EQ(options_.sandesh_send_rate_limit(), 7); std::remove("./dns_options_test_config_file.conf"); @@ -422,18 +413,16 @@ TEST_F(OptionsTest, MultitokenVector) { collector_server_list); } -TEST_F(OptionsTest, OverrideIFMapOptionsFromCommandLine) { - int argc = 9; +TEST_F(OptionsTest, OverrideConfigdbOptionsFromCommandLine) { + int argc = 7; char *argv[argc]; char argv_0[] = "options_test"; char argv_1[] = "--conf_file=controller/src/control-node/contrail-control.conf"; - char argv_2[] = "--IFMAP.server_url=https://66.55.44.33"; - char argv_3[] = "--IFMAP.password=mynewpassword"; - char argv_4[] = "--IFMAP.user=mynewuser"; - char argv_5[] = "--IFMAP.certs_store=mynewcertstore"; - char argv_6[] = "--IFMAP.stale_entries_cleanup_timeout=99"; - char argv_7[] = "--IFMAP.end_of_rib_timeout=88"; - char argv_8[] = "--IFMAP.peer_response_wait_time=77"; + char argv_2[] = "--CONFIGDB.rabbitmq_user=myuser"; + char argv_3[] = "--CONFIGDB.rabbitmq_password=mynewpassword"; + char argv_4[] = "--CONFIGDB.rabbitmq_use_ssl=false"; + char argv_5[] = "--CONFIGDB.rabbitmq_server_list=10.1.1.1:100 10.1.1.2:100"; + char argv_6[] = "--CONFIGDB.config_db_server_list=20.1.1.1:100 20.1.1.2:100"; argv[0] = argv_0; argv[1] = argv_1; argv[2] = argv_2; @@ -441,47 +430,48 @@ TEST_F(OptionsTest, OverrideIFMapOptionsFromCommandLine) { argv[4] = argv_4; argv[5] = argv_5; argv[6] = argv_6; - argv[7] = argv_7; - argv[8] = argv_8; options_.Parse(evm_, argc, argv); - EXPECT_EQ(options_.ifmap_server_url(), "https://66.55.44.33"); - EXPECT_EQ(options_.ifmap_password(), "mynewpassword"); - EXPECT_EQ(options_.ifmap_user(), "mynewuser"); - EXPECT_EQ(options_.ifmap_certs_store(), "mynewcertstore"); - EXPECT_EQ(options_.ifmap_stale_entries_cleanup_timeout(), 99); // default 10 - EXPECT_EQ(options_.ifmap_end_of_rib_timeout(), 88); // default 10 - EXPECT_EQ(options_.ifmap_peer_response_wait_time(), 77); // default 60 + EXPECT_EQ(options_.rabbitmq_user(), "myuser"); + EXPECT_EQ(options_.rabbitmq_password(), "mynewpassword"); + EXPECT_EQ(options_.rabbitmq_ssl_enabled(), false); + + vector rabbitmq_server_list; + rabbitmq_server_list.push_back("10.1.1.1:100"); + rabbitmq_server_list.push_back("10.1.1.2:100"); + TASK_UTIL_EXPECT_VECTOR_EQ(rabbitmq_server_list, + options_.rabbitmq_server_list()); + vector config_db_server_list; + config_db_server_list.push_back("20.1.1.1:100"); + config_db_server_list.push_back("20.1.1.2:100"); + TASK_UTIL_EXPECT_VECTOR_EQ(config_db_server_list, + options_.config_db_server_list()); } -TEST_F(OptionsTest, CustomIFMapConfigFileAndOverrideFromCommandLine) { +TEST_F(OptionsTest, CustomConfigDBFileAndOverrideFromCommandLine) { string config = "" - "[IFMAP]\n" - "certs_store=test-store\n" - "password=test-password\n" - "server_url=https://127.0.0.1:100\n" - "user=test-user\n" - "stale_entries_cleanup_timeout=120\n" - "end_of_rib_timeout=110\n" - "peer_response_wait_time=100\n"; + "[CONFIGDB]\n" + "rabbitmq_user=test-user\n" + "rabbitmq_password=test-password\n" + "rabbitmq_use_ssl=true\n" + "rabbitmq_server_list=10.1.1.1:100 10.1.1.2:100\n" + "config_db_server_list=20.1.1.1:100 20.1.1.2:100\n"; ofstream config_file; config_file.open("./options_test_config_file.conf"); config_file << config; config_file.close(); - int argc = 9; + int argc = 7; char *argv[argc]; char argv_0[] = "options_test"; char argv_1[] = "--conf_file=./options_test_config_file.conf"; - char argv_2[] = "--IFMAP.certs_store=new-test-store"; - char argv_3[] = "--IFMAP.password=new-test-password"; - char argv_4[] = "--IFMAP.server_url=https://11.10.10.1:100"; - char argv_5[] = "--IFMAP.stale_entries_cleanup_timeout=21"; - char argv_6[] = "--IFMAP.end_of_rib_timeout=31"; - char argv_7[] = "--IFMAP.peer_response_wait_time=41"; - char argv_8[] = "--IFMAP.user=new-test-user"; + char argv_2[] = "--CONFIGDB.rabbitmq_user=myuser"; + char argv_3[] = "--CONFIGDB.rabbitmq_password=mynewpassword"; + char argv_4[] = "--CONFIGDB.rabbitmq_use_ssl=false"; + char argv_5[] = "--CONFIGDB.rabbitmq_server_list=30.1.1.1:100 30.1.1.2:100"; + char argv_6[] = "--CONFIGDB.config_db_server_list=40.1.1.1:100 40.1.1.2:100"; argv[0] = argv_0; argv[1] = argv_1; argv[2] = argv_2; @@ -489,18 +479,23 @@ TEST_F(OptionsTest, CustomIFMapConfigFileAndOverrideFromCommandLine) { argv[4] = argv_4; argv[5] = argv_5; argv[6] = argv_6; - argv[7] = argv_7; - argv[8] = argv_8; options_.Parse(evm_, argc, argv); - EXPECT_EQ(options_.ifmap_certs_store(), "new-test-store"); - EXPECT_EQ(options_.ifmap_password(), "new-test-password"); - EXPECT_EQ(options_.ifmap_server_url(), "https://11.10.10.1:100"); - EXPECT_EQ(options_.ifmap_stale_entries_cleanup_timeout(), 21); - EXPECT_EQ(options_.ifmap_end_of_rib_timeout(), 31); - EXPECT_EQ(options_.ifmap_peer_response_wait_time(), 41); - EXPECT_EQ(options_.ifmap_user(), "new-test-user"); + EXPECT_EQ(options_.rabbitmq_user(), "myuser"); + EXPECT_EQ(options_.rabbitmq_password(), "mynewpassword"); + EXPECT_EQ(options_.rabbitmq_ssl_enabled(), false); + + vector rabbitmq_server_list; + rabbitmq_server_list.push_back("30.1.1.1:100"); + rabbitmq_server_list.push_back("30.1.1.2:100"); + TASK_UTIL_EXPECT_VECTOR_EQ(rabbitmq_server_list, + options_.rabbitmq_server_list()); + vector config_db_server_list; + config_db_server_list.push_back("40.1.1.1:100"); + config_db_server_list.push_back("40.1.1.2:100"); + TASK_UTIL_EXPECT_VECTOR_EQ(config_db_server_list, + options_.config_db_server_list()); } int main(int argc, char **argv) {