Apache Mesos
Public Member Functions | Protected Attributes | List of all members
mesos::internal::profile::UriDiskProfileAdaptor Class Reference

#include <uri_disk_profile.hpp>

Inheritance diagram for mesos::internal::profile::UriDiskProfileAdaptor:
mesos::DiskProfileAdaptor

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...
 
- Public Member Functions inherited from mesos::DiskProfileAdaptor
virtual ~DiskProfileAdaptor ()
 

Protected Attributes

Flags flags
 
process::Owned
< UriDiskProfileAdaptorProcess
process
 

Additional Inherited Members

- Static Public Member Functions inherited from mesos::DiskProfileAdaptor
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 ()
 
- Protected Member Functions inherited from mesos::DiskProfileAdaptor
 DiskProfileAdaptor ()
 

Constructor & Destructor Documentation

mesos::internal::profile::UriDiskProfileAdaptor::UriDiskProfileAdaptor ( const Flags _flags)
virtual mesos::internal::profile::UriDiskProfileAdaptor::~UriDiskProfileAdaptor ( )
virtual

Member Function Documentation

virtual process::Future<mesos::DiskProfileAdaptor::ProfileInfo> mesos::internal::profile::UriDiskProfileAdaptor::translate ( const std::string &  profile,
const std::string &  csiPluginInfoType 
)
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.

virtual process::Future<hashset<std::string> > mesos::internal::profile::UriDiskProfileAdaptor::watch ( const hashset< std::string > &  knownProfiles,
const std::string &  csiPluginInfoType 
)
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.

Member Data Documentation

Flags mesos::internal::profile::UriDiskProfileAdaptor::flags
protected
process::Owned<UriDiskProfileAdaptorProcess> mesos::internal::profile::UriDiskProfileAdaptor::process
protected

The documentation for this class was generated from the following file: