MCPcopy Create free account
hub / github.com/apache/mesos / createResourceProviderDirectory

Function createResourceProviderDirectory

src/slave/paths.cpp:938–977  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

936
937
938string createResourceProviderDirectory(
939 const string& rootDir,
940 const SlaveID& slaveId,
941 const string& resourceProviderType,
942 const string& resourceProviderName,
943 const ResourceProviderID& resourceProviderId)
944{
945 const string directory = getResourceProviderPath(
946 rootDir,
947 slaveId,
948 resourceProviderType,
949 resourceProviderName,
950 resourceProviderId);
951
952 Try<Nothing> mkdir = os::mkdir(directory);
953
954 CHECK_SOME(mkdir)
955 << "Failed to create resource provider directory '" << directory << "'";
956
957 // Remove the previous "latest" symlink.
958 const string latest = getLatestResourceProviderPath(
959 rootDir,
960 slaveId,
961 resourceProviderType,
962 resourceProviderName);
963
964 if (os::exists(latest)) {
965 CHECK_SOME(os::rm(latest))
966 << "Failed to remove latest symlink '" << latest << "'";
967 }
968
969 // Symlink the new resource provider directory to "latest".
970 Try<Nothing> symlink = ::fs::symlink(directory, latest);
971
972 CHECK_SOME(symlink)
973 << "Failed to symlink directory '" << directory
974 << "' to '" << latest << "'";
975
976 return directory;
977}
978
979} // namespace paths {
980} // namespace slave {

Callers 1

subscribedMethod · 0.85

Calls 6

getResourceProviderPathFunction · 0.85
mkdirFunction · 0.50
existsFunction · 0.50
rmFunction · 0.50
symlinkFunction · 0.50

Tested by

no test coverage detected