| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- package clustercache
- import (
- "regexp"
- )
- func GetLoadBalancerIngressAddress(service *Service) []string {
- var addresses []string
- for _, loadBalancerIngress := range service.Status.LoadBalancer.Ingress {
- address := loadBalancerIngress.IP
- // Some cloud providers use hostname rather than IP
- if address == "" {
- address = loadBalancerIngress.Hostname
- }
- addresses = append(addresses, address)
- }
- return addresses
- }
- // Capture "vol-0fc54c5e83b8d2b76" from "aws://us-east-2a/vol-0fc54c5e83b8d2b76"
- var persistentVolumeAWSRegex = regexp.MustCompile("aws:/[^/]*/[^/]*/([^/]+)")
- func GetPVProviderID(pv *PersistentVolume) string {
- providerID := pv.Name
- if pv.Spec.GCEPersistentDisk != nil {
- providerID = pv.Spec.GCEPersistentDisk.PDName
- } else if pv.Spec.AzureDisk != nil {
- providerID = pv.Spec.AzureDisk.DiskName
- } else if pv.Spec.AWSElasticBlockStore != nil {
- providerID = pv.Spec.AWSElasticBlockStore.VolumeID
- match := persistentVolumeAWSRegex.FindStringSubmatch(providerID)
- if len(match) >= 2 {
- providerID = match[1]
- }
- } else if pv.Spec.CSI != nil {
- providerID = pv.Spec.CSI.VolumeHandle
- }
- return providerID
- }
|