diff --git a/pkg/volume/gcepd/gce_pd.go b/pkg/volume/gcepd/gce_pd.go index 82d9d7ae223a4..2ac6b9e7dd6d4 100644 --- a/pkg/volume/gcepd/gce_pd.go +++ b/pkg/volume/gcepd/gce_pd.go @@ -63,9 +63,12 @@ const ( // The constants are used to map from the machine type (number of CPUs) to the limit of // persistent disks that can be attached to an instance. Please refer to gcloud doc // https://cloud.google.com/compute/docs/disks/#increased_persistent_disk_limits +// These constants are all the documented attach limit minus one because the +// node boot disk is considered an attachable disk so effective attach limit is +// one less. const ( - VolumeLimit16 = 16 - VolumeLimit128 = 128 + volumeLimitSmall = 15 + VolumeLimitBig = 127 ) func getPath(uid types.UID, volName string, host volume.VolumeHost) string { @@ -121,7 +124,7 @@ func (plugin *gcePersistentDiskPlugin) GetAccessModes() []v1.PersistentVolumeAcc func (plugin *gcePersistentDiskPlugin) GetVolumeLimits() (map[string]int64, error) { volumeLimits := map[string]int64{ - util.GCEVolumeLimitKey: VolumeLimit16, + util.GCEVolumeLimitKey: volumeLimitSmall, } cloud := plugin.host.GetCloudProvider() @@ -149,9 +152,9 @@ func (plugin *gcePersistentDiskPlugin) GetVolumeLimits() (map[string]int64, erro return volumeLimits, nil } if strings.HasPrefix(instanceType, "n1-") || strings.HasPrefix(instanceType, "custom-") { - volumeLimits[util.GCEVolumeLimitKey] = VolumeLimit128 + volumeLimits[util.GCEVolumeLimitKey] = VolumeLimitBig } else { - volumeLimits[util.GCEVolumeLimitKey] = VolumeLimit16 + volumeLimits[util.GCEVolumeLimitKey] = volumeLimitSmall } return volumeLimits, nil