Apache Mesos
|
#include <uri_disk_profile.hpp>
Public Member Functions | |
UriDiskProfileAdaptor (const Flags &_flags) | |
virtual | ~UriDiskProfileAdaptor () |
virtual process::Future < mesos::DiskProfileAdaptor::ProfileInfo > | translate (const std::string &profile, const std::string &csiPluginInfoType) override |
Called before a Storage Resource Provider makes an affected CSI request. More... | |
virtual process::Future < hashset< std::string > > | watch (const hashset< std::string > &knownProfiles, const std::string &csiPluginInfoType) override |
Returns a future that will be satisifed iff the set of profiles known by the module differs from the knownProfiles parameter. More... | |
![]() | |
virtual | ~DiskProfileAdaptor () |
Protected Attributes | |
Flags | flags |
process::Owned < UriDiskProfileAdaptorProcess > | process |
Additional Inherited Members | |
![]() | |
static Try< DiskProfileAdaptor * > | create (const Option< std::string > &name=None()) |
Factory method used to create a DiskProfileAdaptor instance. More... | |
static void | setAdaptor (const std::shared_ptr< DiskProfileAdaptor > &adaptor) |
Global methods for setting and getting a DiskProfileAdaptor instance. More... | |
static std::shared_ptr < DiskProfileAdaptor > | getAdaptor () |
![]() | |
DiskProfileAdaptor () | |
mesos::internal::profile::UriDiskProfileAdaptor::UriDiskProfileAdaptor | ( | const Flags & | _flags | ) |
|
virtual |
|
overridevirtual |
Called before a Storage Resource Provider makes an affected CSI request.
The caller is responsible for copying the returned values into the request object.
This method is expected to return a Failure if a matching "profile" cannot be found or retrieved. The caller should not proceed with any of the affected CSI requests if this method returns a failure.
The csiPluginInfoType
parameter is the CSIPluginInfo::type
field found inside ResourceProviderInfo::storage
. This module may choose to filter results based on the type of CSI plugin.
NOTE: This module assumes that profiles are immutable after creation. Changing the VolumeCapability
or Parameters of a profile after creation may result in undefined behavior from the SLRP or CSI plugins.
Implements mesos::DiskProfileAdaptor.
|
overridevirtual |
Returns a future that will be satisifed iff the set of profiles known by the module differs from the knownProfiles
parameter.
The csiPluginInfoType
parameter is the CSIPluginInfo::type
field found inside ResourceProviderInfo::storage
. This module may choose to filter results based on the type of CSI plugin.
NOTE: It is highly recommended for the module to insert a random delay between discovering a different set of profiles and satisfying this future, because the SLRP is expected to update the set of offered resources based on this future. Adding a random delay may prevent a thundering herd of resource updates to the Mesos master.
Implements mesos::DiskProfileAdaptor.
|
protected |
|
protected |