optimization

package
v1.29.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 12, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DiskSkuMap = map[string]map[string]DiskSkuInfo{
		"premium_lrs": {
			"p40": {StorageAccountType: "Premium_LRS", StorageTier: "Premium", DiskSize: "P40", MaxAllowedShares: 5, MaxBurstIops: 7500, MaxIops: 7500, MaxBwMbps: 250, MaxBurstBwMbps: 250, MaxSizeGiB: 2048},
			"p2":  {StorageAccountType: "Premium_LRS", StorageTier: "Premium", DiskSize: "P2", MaxAllowedShares: 1, MaxBurstIops: 3500, MaxIops: 120, MaxBwMbps: 25, MaxBurstBwMbps: 170, MaxSizeGiB: 8},
			"p3":  {StorageAccountType: "Premium_LRS", StorageTier: "Premium", DiskSize: "P3", MaxAllowedShares: 1, MaxBurstIops: 3500, MaxIops: 120, MaxBwMbps: 25, MaxBurstBwMbps: 170, MaxSizeGiB: 16},
			"p4":  {StorageAccountType: "Premium_LRS", StorageTier: "Premium", DiskSize: "P4", MaxAllowedShares: 1, MaxBurstIops: 3500, MaxIops: 120, MaxBwMbps: 25, MaxBurstBwMbps: 170, MaxSizeGiB: 32},
			"p10": {StorageAccountType: "Premium_LRS", StorageTier: "Premium", DiskSize: "P10", MaxAllowedShares: 1, MaxBurstIops: 3500, MaxIops: 500, MaxBwMbps: 100, MaxBurstBwMbps: 170, MaxSizeGiB: 128},
			"p20": {StorageAccountType: "Premium_LRS", StorageTier: "Premium", DiskSize: "P20", MaxAllowedShares: 2, MaxBurstIops: 3500, MaxIops: 2300, MaxBwMbps: 150, MaxBurstBwMbps: 170, MaxSizeGiB: 512},
			"p80": {StorageAccountType: "Premium_LRS", StorageTier: "Premium", DiskSize: "P80", MaxAllowedShares: 10, MaxBurstIops: 20000, MaxIops: 20000, MaxBwMbps: 900, MaxBurstBwMbps: 900, MaxSizeGiB: 32767},
			"p6":  {StorageAccountType: "Premium_LRS", StorageTier: "Premium", DiskSize: "P6", MaxAllowedShares: 1, MaxBurstIops: 3500, MaxIops: 240, MaxBwMbps: 50, MaxBurstBwMbps: 170, MaxSizeGiB: 64},
			"p15": {StorageAccountType: "Premium_LRS", StorageTier: "Premium", DiskSize: "P15", MaxAllowedShares: 2, MaxBurstIops: 3500, MaxIops: 1100, MaxBwMbps: 125, MaxBurstBwMbps: 170, MaxSizeGiB: 256},
			"p30": {StorageAccountType: "Premium_LRS", StorageTier: "Premium", DiskSize: "P30", MaxAllowedShares: 5, MaxBurstIops: 5000, MaxIops: 5000, MaxBwMbps: 200, MaxBurstBwMbps: 200, MaxSizeGiB: 1024},
			"p50": {StorageAccountType: "Premium_LRS", StorageTier: "Premium", DiskSize: "P50", MaxAllowedShares: 5, MaxBurstIops: 7500, MaxIops: 7500, MaxBwMbps: 250, MaxBurstBwMbps: 250, MaxSizeGiB: 4096},
			"p70": {StorageAccountType: "Premium_LRS", StorageTier: "Premium", DiskSize: "P70", MaxAllowedShares: 10, MaxBurstIops: 18000, MaxIops: 18000, MaxBwMbps: 750, MaxBurstBwMbps: 750, MaxSizeGiB: 16384},
			"p1":  {StorageAccountType: "Premium_LRS", StorageTier: "Premium", DiskSize: "P1", MaxAllowedShares: 1, MaxBurstIops: 3500, MaxIops: 120, MaxBwMbps: 25, MaxBurstBwMbps: 170, MaxSizeGiB: 4},
			"p60": {StorageAccountType: "Premium_LRS", StorageTier: "Premium", DiskSize: "P60", MaxAllowedShares: 10, MaxBurstIops: 16000, MaxIops: 16000, MaxBwMbps: 500, MaxBurstBwMbps: 500, MaxSizeGiB: 8192},
		},
		"standardssd_lrs": {
			"e70": {StorageAccountType: "StandardSSD_LRS", StorageTier: "Standard", DiskSize: "E70", MaxAllowedShares: 5, MaxBurstIops: 4000, MaxIops: 4000, MaxBwMbps: 600, MaxBurstBwMbps: 600, MaxSizeGiB: 16384},
			"e2":  {StorageAccountType: "StandardSSD_LRS", StorageTier: "Standard", DiskSize: "E2", MaxAllowedShares: 1, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 8},
			"e10": {StorageAccountType: "StandardSSD_LRS", StorageTier: "Standard", DiskSize: "E10", MaxAllowedShares: 1, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 128},
			"e80": {StorageAccountType: "StandardSSD_LRS", StorageTier: "Standard", DiskSize: "E80", MaxAllowedShares: 5, MaxBurstIops: 6000, MaxIops: 6000, MaxBwMbps: 750, MaxBurstBwMbps: 750, MaxSizeGiB: 32767},
			"e15": {StorageAccountType: "StandardSSD_LRS", StorageTier: "Standard", DiskSize: "E15", MaxAllowedShares: 1, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 256},
			"e20": {StorageAccountType: "StandardSSD_LRS", StorageTier: "Standard", DiskSize: "E20", MaxAllowedShares: 2, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 512},
			"e4":  {StorageAccountType: "StandardSSD_LRS", StorageTier: "Standard", DiskSize: "E4", MaxAllowedShares: 1, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 32},
			"e30": {StorageAccountType: "StandardSSD_LRS", StorageTier: "Standard", DiskSize: "E30", MaxAllowedShares: 5, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 1024},
			"e40": {StorageAccountType: "StandardSSD_LRS", StorageTier: "Standard", DiskSize: "E40", MaxAllowedShares: 5, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 2048},
			"e60": {StorageAccountType: "StandardSSD_LRS", StorageTier: "Standard", DiskSize: "E60", MaxAllowedShares: 5, MaxBurstIops: 2000, MaxIops: 2000, MaxBwMbps: 400, MaxBurstBwMbps: 400, MaxSizeGiB: 8192},
			"e1":  {StorageAccountType: "StandardSSD_LRS", StorageTier: "Standard", DiskSize: "E1", MaxAllowedShares: 1, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 4},
			"e3":  {StorageAccountType: "StandardSSD_LRS", StorageTier: "Standard", DiskSize: "E3", MaxAllowedShares: 1, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 16},
			"e6":  {StorageAccountType: "StandardSSD_LRS", StorageTier: "Standard", DiskSize: "E6", MaxAllowedShares: 1, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 64},
			"e50": {StorageAccountType: "StandardSSD_LRS", StorageTier: "Standard", DiskSize: "E50", MaxAllowedShares: 5, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 4096},
		},
		"ultrassd_lrs": {
			"u": {StorageAccountType: "UltraSSD_LRS", StorageTier: "Ultra", DiskSize: "U", MaxAllowedShares: 5, MaxBurstIops: 0, MaxIops: 0, MaxBwMbps: 0, MaxBurstBwMbps: 0, MaxSizeGiB: 65536},
		},
		"standardssd_zrs": {
			"e1":  {StorageAccountType: "StandardSSD_ZRS", StorageTier: "Standard", DiskSize: "E1", MaxAllowedShares: 1, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 4},
			"e10": {StorageAccountType: "StandardSSD_ZRS", StorageTier: "Standard", DiskSize: "E10", MaxAllowedShares: 1, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 128},
			"e30": {StorageAccountType: "StandardSSD_ZRS", StorageTier: "Standard", DiskSize: "E30", MaxAllowedShares: 5, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 1024},
			"e40": {StorageAccountType: "StandardSSD_ZRS", StorageTier: "Standard", DiskSize: "E40", MaxAllowedShares: 5, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 2048},
			"e50": {StorageAccountType: "StandardSSD_ZRS", StorageTier: "Standard", DiskSize: "E50", MaxAllowedShares: 5, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 4096},
			"e2":  {StorageAccountType: "StandardSSD_ZRS", StorageTier: "Standard", DiskSize: "E2", MaxAllowedShares: 1, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 8},
			"e3":  {StorageAccountType: "StandardSSD_ZRS", StorageTier: "Standard", DiskSize: "E3", MaxAllowedShares: 1, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 16},
			"e4":  {StorageAccountType: "StandardSSD_ZRS", StorageTier: "Standard", DiskSize: "E4", MaxAllowedShares: 1, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 32},
			"e6":  {StorageAccountType: "StandardSSD_ZRS", StorageTier: "Standard", DiskSize: "E6", MaxAllowedShares: 1, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 64},
			"e20": {StorageAccountType: "StandardSSD_ZRS", StorageTier: "Standard", DiskSize: "E20", MaxAllowedShares: 2, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 512},
			"e80": {StorageAccountType: "StandardSSD_ZRS", StorageTier: "Standard", DiskSize: "E80", MaxAllowedShares: 5, MaxBurstIops: 6000, MaxIops: 6000, MaxBwMbps: 750, MaxBurstBwMbps: 750, MaxSizeGiB: 32767},
			"e15": {StorageAccountType: "StandardSSD_ZRS", StorageTier: "Standard", DiskSize: "E15", MaxAllowedShares: 1, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 256},
			"e60": {StorageAccountType: "StandardSSD_ZRS", StorageTier: "Standard", DiskSize: "E60", MaxAllowedShares: 5, MaxBurstIops: 2000, MaxIops: 2000, MaxBwMbps: 400, MaxBurstBwMbps: 400, MaxSizeGiB: 8192},
			"e70": {StorageAccountType: "StandardSSD_ZRS", StorageTier: "Standard", DiskSize: "E70", MaxAllowedShares: 5, MaxBurstIops: 4000, MaxIops: 4000, MaxBwMbps: 600, MaxBurstBwMbps: 600, MaxSizeGiB: 16384},
		},
		"premium_zrs": {
			"p2":  {StorageAccountType: "Premium_ZRS", StorageTier: "Premium", DiskSize: "P2", MaxAllowedShares: 1, MaxBurstIops: 3500, MaxIops: 120, MaxBwMbps: 25, MaxBurstBwMbps: 170, MaxSizeGiB: 8},
			"p40": {StorageAccountType: "Premium_ZRS", StorageTier: "Premium", DiskSize: "P40", MaxAllowedShares: 5, MaxBurstIops: 7500, MaxIops: 7500, MaxBwMbps: 250, MaxBurstBwMbps: 250, MaxSizeGiB: 2048},
			"p80": {StorageAccountType: "Premium_ZRS", StorageTier: "Premium", DiskSize: "P80", MaxAllowedShares: 10, MaxBurstIops: 20000, MaxIops: 20000, MaxBwMbps: 900, MaxBurstBwMbps: 900, MaxSizeGiB: 32767},
			"p70": {StorageAccountType: "Premium_ZRS", StorageTier: "Premium", DiskSize: "P70", MaxAllowedShares: 10, MaxBurstIops: 18000, MaxIops: 18000, MaxBwMbps: 750, MaxBurstBwMbps: 750, MaxSizeGiB: 16384},
			"p3":  {StorageAccountType: "Premium_ZRS", StorageTier: "Premium", DiskSize: "P3", MaxAllowedShares: 1, MaxBurstIops: 3500, MaxIops: 120, MaxBwMbps: 25, MaxBurstBwMbps: 170, MaxSizeGiB: 16},
			"p15": {StorageAccountType: "Premium_ZRS", StorageTier: "Premium", DiskSize: "P15", MaxAllowedShares: 2, MaxBurstIops: 3500, MaxIops: 1100, MaxBwMbps: 125, MaxBurstBwMbps: 170, MaxSizeGiB: 256},
			"p50": {StorageAccountType: "Premium_ZRS", StorageTier: "Premium", DiskSize: "P50", MaxAllowedShares: 5, MaxBurstIops: 7500, MaxIops: 7500, MaxBwMbps: 250, MaxBurstBwMbps: 250, MaxSizeGiB: 4096},
			"p60": {StorageAccountType: "Premium_ZRS", StorageTier: "Premium", DiskSize: "P60", MaxAllowedShares: 10, MaxBurstIops: 16000, MaxIops: 16000, MaxBwMbps: 500, MaxBurstBwMbps: 500, MaxSizeGiB: 8192},
			"p20": {StorageAccountType: "Premium_ZRS", StorageTier: "Premium", DiskSize: "P20", MaxAllowedShares: 2, MaxBurstIops: 3500, MaxIops: 2300, MaxBwMbps: 150, MaxBurstBwMbps: 170, MaxSizeGiB: 512},
			"p1":  {StorageAccountType: "Premium_ZRS", StorageTier: "Premium", DiskSize: "P1", MaxAllowedShares: 1, MaxBurstIops: 3500, MaxIops: 120, MaxBwMbps: 25, MaxBurstBwMbps: 170, MaxSizeGiB: 4},
			"p4":  {StorageAccountType: "Premium_ZRS", StorageTier: "Premium", DiskSize: "P4", MaxAllowedShares: 1, MaxBurstIops: 3500, MaxIops: 120, MaxBwMbps: 25, MaxBurstBwMbps: 170, MaxSizeGiB: 32},
			"p6":  {StorageAccountType: "Premium_ZRS", StorageTier: "Premium", DiskSize: "P6", MaxAllowedShares: 1, MaxBurstIops: 3500, MaxIops: 240, MaxBwMbps: 50, MaxBurstBwMbps: 170, MaxSizeGiB: 64},
			"p10": {StorageAccountType: "Premium_ZRS", StorageTier: "Premium", DiskSize: "P10", MaxAllowedShares: 1, MaxBurstIops: 3500, MaxIops: 500, MaxBwMbps: 100, MaxBurstBwMbps: 170, MaxSizeGiB: 128},
			"p30": {StorageAccountType: "Premium_ZRS", StorageTier: "Premium", DiskSize: "P30", MaxAllowedShares: 5, MaxBurstIops: 5000, MaxIops: 5000, MaxBwMbps: 200, MaxBurstBwMbps: 200, MaxSizeGiB: 1024},
		},
		"standard_lrs": {
			"s30": {StorageAccountType: "Standard_LRS", StorageTier: "Standard", DiskSize: "S30", MaxAllowedShares: 5, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 1024},
			"s60": {StorageAccountType: "Standard_LRS", StorageTier: "Standard", DiskSize: "S60", MaxAllowedShares: 5, MaxBurstIops: 1300, MaxIops: 1300, MaxBwMbps: 300, MaxBurstBwMbps: 300, MaxSizeGiB: 8192},
			"s40": {StorageAccountType: "Standard_LRS", StorageTier: "Standard", DiskSize: "S40", MaxAllowedShares: 5, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 2048},
			"s50": {StorageAccountType: "Standard_LRS", StorageTier: "Standard", DiskSize: "S50", MaxAllowedShares: 5, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 4096},
			"s70": {StorageAccountType: "Standard_LRS", StorageTier: "Standard", DiskSize: "S70", MaxAllowedShares: 5, MaxBurstIops: 2000, MaxIops: 2000, MaxBwMbps: 500, MaxBurstBwMbps: 500, MaxSizeGiB: 16384},
			"s4":  {StorageAccountType: "Standard_LRS", StorageTier: "Standard", DiskSize: "S4", MaxAllowedShares: 1, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 32},
			"s6":  {StorageAccountType: "Standard_LRS", StorageTier: "Standard", DiskSize: "S6", MaxAllowedShares: 1, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 64},
			"s10": {StorageAccountType: "Standard_LRS", StorageTier: "Standard", DiskSize: "S10", MaxAllowedShares: 1, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 128},
			"s15": {StorageAccountType: "Standard_LRS", StorageTier: "Standard", DiskSize: "S15", MaxAllowedShares: 1, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 256},
			"s20": {StorageAccountType: "Standard_LRS", StorageTier: "Standard", DiskSize: "S20", MaxAllowedShares: 2, MaxBurstIops: 500, MaxIops: 500, MaxBwMbps: 60, MaxBurstBwMbps: 60, MaxSizeGiB: 512},
			"s80": {StorageAccountType: "Standard_LRS", StorageTier: "Standard", DiskSize: "S80", MaxAllowedShares: 5, MaxBurstIops: 2000, MaxIops: 2000, MaxBwMbps: 500, MaxBurstBwMbps: 500, MaxSizeGiB: 32767},
		},
	}

	NodeInfoMap = map[string]NodeInfo{}/* 641 elements not displayed */

)

Functions

func AreDeviceSettingsValid added in v1.25.0

func AreDeviceSettingsValid(deviceRoot string, deviceSettings map[string]string) error

Checks to see if deviceSettings passed are valid

func GetDeviceSettingFromAttribute added in v1.25.0

func GetDeviceSettingFromAttribute(key string) (deviceSetting string, err error)

Gets device setting from the Disk attribute/param but trimming the consts.DeviceSettingsKeyPrefix prefix

func GetDiskPerfAttributes added in v1.7.0

func GetDiskPerfAttributes(attributes map[string]string) (profile, accountType, diskSizeGibStr, diskIopsStr, diskBwMbpsStr string, deviceSettings map[string]string, err error)

getDiskPerfAttributes gets the per tuning mode and profile set in attributes

func GetDiskSkuInfoMap

func GetDiskSkuInfoMap() map[string]map[string]DiskSkuInfo

func IsValidPerfProfile

func IsValidPerfProfile(profile string) bool

IsValidPerfProfile Checks to see if perf profile passed is correct Right now we are only supporting basic profile Other advanced profiles to come later

Types

type DeviceHelper

type DeviceHelper struct {
	// contains filtered or unexported fields
}

func NewDeviceHelper added in v1.22.0

func NewDeviceHelper() *DeviceHelper

func (*DeviceHelper) DiskSupportsPerfOptimization

func (deviceHelper *DeviceHelper) DiskSupportsPerfOptimization(diskPerfProfile, diskAccountType string) bool

func (*DeviceHelper) OptimizeDiskPerformance

func (deviceHelper *DeviceHelper) OptimizeDiskPerformance(nodeInfo *NodeInfo, devicePath,
	perfProfile, accountType, diskSizeGibStr, diskIopsStr, diskBwMbpsStr string, deviceSettingsFromCtx map[string]string) (err error)

OptimizeDiskPerformance optimizes device performance by setting tuning block device settings

type DiskSkuInfo

type DiskSkuInfo struct {
	StorageAccountType string
	StorageTier        string
	DiskSize           string
	MaxAllowedShares   int
	MaxBurstIops       int
	MaxIops            int
	MaxBwMbps          int
	MaxBurstBwMbps     int
	MaxSizeGiB         int
}

DiskSkuInfo stores disk sku information disk sku information is present in sku.json in below format

{
	"resourceType": "disks",
	"name": "Premium_LRS",
	"tier": "Premium",
	"size": "P4",
	"capabilities": [
	 {
	  "name": "MaxSizeGiB",
	  "value": "32"
	 {
	  "name": "MaxIOps",
	  "value": "120"
	 },
	 {
	  "name": "MaxBandwidthMBps",
	  "value": "25"
	 },
	 {
	  "name": "MaxValueOfMaxShares",
	  "value": "1"
	 },
	 {
	  "name": "MaxBurstIops",
	  "value": "3500"
	 },
	 {
	  "name": "MaxBurstBandwidthMBps",
	  "value": "170"
	 }
	]
}

func (*DiskSkuInfo) GetRandomIOLatencyInSec

func (sku *DiskSkuInfo) GetRandomIOLatencyInSec() float64

GetRandomIOLatencyInSec gets the estimated random IP latency for a small write for a disk size These latencies are manually calculated and stored ToDo: Make this estimation dynamic

func (*DiskSkuInfo) GetSequentialOLatencyInSec

func (sku *DiskSkuInfo) GetSequentialOLatencyInSec() float64

GetSequentialOLatencyInSec gets the estimated sequential IO latency for a disk size These latencies are manually calculated and stored ToDo: Make this estimation dynamic

type Interface

type Interface interface {
	DiskSupportsPerfOptimization(diskPerfProfile, diskAccountType string) bool
	OptimizeDiskPerformance(nodeInfo *NodeInfo,
		devicePath, perfProfile, accountType, diskSizeGibStr, diskIopsStr, diskBwMbpsStr string, deviceSettingsFromCtx map[string]string) error
}

This is the interface for DeviceHelper

type NodeInfo

type NodeInfo struct {
	SkuName          string
	MaxDataDiskCount int
	VCpus            int
	MaxBurstIops     int
	MaxIops          int
	MaxBwMbps        int
	MaxBurstBwMbps   int
}

NodeInfo stores VM/Node specific static information VM information is present in sku.json in below format

{
	"resourceType": "virtualmachines",
	"name": "Standard_E16-4ds_v4",
	"tier": "Standard",
	"size": "E16-4ds_v4",
	"capabilities": [
	 {
	  "name": "vCPUs",
	  "value": "16"
	 },
	 {
	  "name": "MemoryGB",
	  "value": "128"
	 },
	 {
	  "name": "MaxDataDiskCount",
	  "value": "32"
	 },
	 {
	  "name": "UncachedDiskIOPS",
	  "value": "25600"
	 },
	 {
	  "name": "UncachedDiskBytesPerSecond",
	  "value": "402653184"
	 }
	]
}

func NewNodeInfo

func NewNodeInfo(ctx context.Context, cloud cloudprovider.Interface, nodeID string) (*NodeInfo, error)

NewNodeInfo populates Node and Sku related information in memory

type SafeDeviceHelper

type SafeDeviceHelper struct {
	Interface
}

IdentityServer is the server API for Identity service.

func NewSafeDeviceHelper

func NewSafeDeviceHelper() *SafeDeviceHelper

func (*SafeDeviceHelper) DeviceSupportsPerfOptimization

func (dh *SafeDeviceHelper) DeviceSupportsPerfOptimization(diskPerfProfile, diskAccountType string) bool

func (*SafeDeviceHelper) OptimizeDiskPerformance

func (dh *SafeDeviceHelper) OptimizeDiskPerformance(nodeInfo *NodeInfo,
	devicePath, perfProfile, accountType, diskSizeGibStr, diskIopsStr, diskBwMbpsStr string, deviceSettingsFromCtx map[string]string) error

Directories

Path Synopsis
Package mockpersistentvolume implements mocks for the optimization package.
Package mockpersistentvolume implements mocks for the optimization package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL