Unverified Commit f7c4e53d authored by Tommaso Tocci's avatar Tommaso Tocci
Browse files

daemon CLI: remove port configuration flag

Port is only meaningful for some of the communication protocols. For
instance psm2 is not using it at all.

Port can be still specified using the --listen,-l flag:

Example:
```
gkfs_daemon --listen "localhost:1234"
```
parent f0761271
Loading
Loading
Loading
Loading
+3 −8
Original line number Diff line number Diff line
@@ -45,8 +45,7 @@ private:
    std::string mountdir_;
    std::string metadir_;

    unsigned int rpc_port_;
    std::string rpc_addr_;
    std::string bind_addr_;
    std::string lookup_file_;

    // Database
@@ -111,13 +110,9 @@ public:

    void storage(const std::shared_ptr<ChunkStorage>& storage);

    unsigned int rpc_port() const;
    const std::string& bind_addr() const;

    void rpc_port(unsigned int rpc_port);

    const std::string& rpc_addr() const;

    void rpc_addr(const std::string& addr);
    void bind_addr(const std::string& addr);

    const std::string& lookup_file() const;

+0 −1
Original line number Diff line number Diff line
@@ -125,7 +125,6 @@ MERCURY_GEN_PROC(rpc_config_out_t, ((hg_const_string_t) (mountdir))
((hg_bool_t) (blocks_state)) \
((hg_uint32_t) (uid)) \
((hg_uint32_t) (gid)) \
        ((hg_uint64_t) (rpc_port)) \
        ((hg_const_string_t) (lookup_file))
)

+4 −12
Original line number Diff line number Diff line
@@ -95,20 +95,12 @@ void FsData::metadir(const std::string& metadir) {
    FsData::metadir_ = metadir;
}

unsigned int FsData::rpc_port() const {
    return rpc_port_;
const std::string& FsData::bind_addr() const {
    return bind_addr_;
}

void FsData::rpc_port(unsigned int rpc_port) {
    FsData::rpc_port_ = rpc_port;
}

const std::string& FsData::rpc_addr() const {
    return rpc_addr_;
}

void FsData::rpc_addr(const std::string& addr) {
    rpc_addr_ = addr;
void FsData::bind_addr(const std::string& addr) {
    bind_addr_ = addr;
}

const std::string& FsData::lookup_file() const {
+0 −1
Original line number Diff line number Diff line
@@ -34,7 +34,6 @@ static hg_return_t rpc_srv_fs_config(hg_handle_t handle) {
    out.blocks_state = static_cast<hg_bool_t>(ADAFS_DATA->blocks_state());
    out.uid = getuid();
    out.gid = getgid();
    out.rpc_port = ADAFS_DATA->rpc_port();
    out.lookup_file = ADAFS_DATA->lookup_file().c_str();
    ADAFS_DATA->spdlogger()->debug("{}() Sending output configs back to library", __func__);
    auto hret = margo_respond(handle, &out);
+8 −7
Original line number Diff line number Diff line
@@ -62,10 +62,10 @@ void init_environment() {
    }

    // Init margo for RPC
    auto protocol_port = fmt::format("{}://{}:{}", RPC_PROTOCOL, ADAFS_DATA->rpc_addr(), ADAFS_DATA->rpc_port());
    ADAFS_DATA->spdlogger()->debug("{}() Initializing RPC server: '{}'", __func__, protocol_port);
    ADAFS_DATA->spdlogger()->debug("{}() Initializing RPC server: '{}'",
                                   __func__, ADAFS_DATA->bind_addr());
    try {
        init_rpc_server(protocol_port);
        init_rpc_server(ADAFS_DATA->bind_addr());
    } catch (const std::exception & e) {
        ADAFS_DATA->spdlogger()->error("{}() Failed to initialize RPC server: {}", __func__, e.what());
        throw;
@@ -289,7 +289,6 @@ int main(int argc, const char* argv[]) {
            ("rootdir,r", po::value<string>()->required(), "data directory")
            ("metadir,i", po::value<string>(), "metadata directory, if not set rootdir is used for metadata ")
            ("listen,l", po::value<string>(), "Address or interface to bind the daemon on. Default: local hostname")
            ("port,p", po::value<unsigned int>()->default_value(DEFAULT_RPC_PORT), "Port to bind the server on. Default: 4433")
            ("lookup-file,k", po::value<string>(), "Shared file used by deamons to register their enpoints. (Needs to be on a shared filesystem)")
            ("version,h", "print version and exit");
    po::variables_map vm;
@@ -324,12 +323,14 @@ int main(int argc, const char* argv[]) {
        return 1;
    }

    string addr;
    if (vm.count("listen")) {
        ADAFS_DATA->rpc_addr(vm["listen"].as<string>());
        addr = vm["listen"].as<string>();
    } else {
        ADAFS_DATA->rpc_addr(get_my_hostname(true));
        addr = get_my_hostname(true);
    }
    ADAFS_DATA->rpc_port(vm["port"].as<unsigned int>());

    ADAFS_DATA->bind_addr(fmt::format("{}://{}", RPC_PROTOCOL, addr));

    if (vm.count("lookup-file")) {
        ADAFS_DATA->lookup_file(vm["lookup-file"].as<string>());