Class: IControl::Management::Provision

Inherits:
Base
  • Object
show all
Defined in:
lib/icontrol/management/provision.rb,
lib/icontrol/management.rb

Overview

The Provision interface manages the partitioning of system memory, disk space, and CPU usage among the modules (e.g., LTM, GTM, WOM) licensed to run on the system. The modules and the "host“ system (everything not dedicated to network traffic processing) are first assigned a minimal set of resources, based on pre-determined values and the available system memory. The remaining resources are distributed among the modules, according to pre-determined rules, which can be modified by values which can be set via this iControl interface. The pre-defined module resource allocation handles a wide variety of circumstances, so this allocation should only need to be changed for unusual circumstances, such as turning modules on or off and large network traffic or configurations.

Defined Under Namespace

Classes: ProvisionLevel, ProvisionLevelSequence

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class IControl::Base

Instance Method Details

#custom_cpu_ratiolong

Gets the ratios of CPU usage above the minimum which are allocated to the requested module. This value is only meaningful for the "custom“ provisioning level.

Returns:

  • (long)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



27
28
29
# File 'lib/icontrol/management/provision.rb', line 27

def custom_cpu_ratio
  super
end

#custom_disk_ratiolong

Gets the ratios of disk space above the minimum which are allocated to the requested module. This value is only meaningful for the "custom“ provisioning level.

Returns:

  • (long)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



39
40
41
# File 'lib/icontrol/management/provision.rb', line 39

def custom_disk_ratio
  super
end

#custom_memory_ratiolong

Gets the ratios of system memory which are allocated to the requested module. This value is only meaningful for the "custom“ provisioning level.

Returns:

  • (long)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



51
52
53
# File 'lib/icontrol/management/provision.rb', line 51

def custom_memory_ratio
  super
end

#levelProvisionLevel

Gets the provisioning level for the requested module.

Returns:

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



62
63
64
# File 'lib/icontrol/management/provision.rb', line 62

def level
  super
end

#listTMOSModule

Gets all provisionable module

Returns:

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



73
74
75
# File 'lib/icontrol/management/provision.rb', line 73

def list
  super
end

#provisioned_listTMOSModule

Gets all provisioned module, i.e., all module which have resources to run on the system, i.e., whose provisioning level is not "none“.

Returns:

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



85
86
87
# File 'lib/icontrol/management/provision.rb', line 85

def provisioned_list
  super
end

#set_custom_cpu_ratio(opts) ⇒ Object

Sets the ratios of CPU usage above the minimum levels which are allocated to the requested module. This value is only valid for the "custom“ provisioning level.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :ratios (long)

    CPU ratios (arbitrary units from 0 to 255) for the requested modules, where zero is equivalent to the “minimum” level (default: 0)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



107
108
109
110
# File 'lib/icontrol/management/provision.rb', line 107

def set_custom_cpu_ratio(opts)
  opts = check_params(opts,[:ratios])
  super(opts)
end

#set_custom_disk_ratio(opts) ⇒ Object

Sets the ratios of disk space above the minimum which are allocated to the requested module. This value is only used for the "custom“ provisioning level.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :ratios (long)

    Disk space ratios (arbitrary units from 0 to 255) for the requested modules, where zero is equivalent to the “minimum” level (default: 0)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



121
122
123
124
# File 'lib/icontrol/management/provision.rb', line 121

def set_custom_disk_ratio(opts)
  opts = check_params(opts,[:ratios])
  super(opts)
end

#set_custom_memory_ratio(opts) ⇒ Object

Sets the ratios of system memory above the minimum which are allocated to the requested module. This value is only valid for the "custom“ provisioning level.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :ratios (long)

    System memory ratios (arbitrary units from 0 to 255) for the requested modules, where zero is equivalent to the “minimum” level (default: 0)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



135
136
137
138
# File 'lib/icontrol/management/provision.rb', line 135

def set_custom_memory_ratio(opts)
  opts = check_params(opts,[:ratios])
  super(opts)
end

#set_level(opts) ⇒ Object

Sets the provisioning level for the requested module. Changing the level for one module may require modifying the level of another module. For example, changing one module to "dedicated“ requires setting all others to "none”, or setting one module to "custom“ requires setting all other module to "custom” or "none“. Setting the level of a module to "none” means that the module is not run.

Parameters:

  • opts (Hash)

Options Hash (opts):

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



153
154
155
156
# File 'lib/icontrol/management/provision.rb', line 153

def set_level(opts)
  opts = check_params(opts,[:levels])
  super(opts)
end

#versionString

Gets the version for this interface.

Returns:

  • (String)


93
94
95
# File 'lib/icontrol/management/provision.rb', line 93

def version
  super
end