Skip to content
Snippets Groups Projects
Select Git revision
  • a4c1f7460640dad4dca856140cb14005f529ca86
  • master default protected
  • v0.0.x
  • v0.0.31
  • v0.0.30
  • v0.0.29
  • v0.0.28
  • v0.0.28-rc1
  • v0.0.27
  • v0.0.26
  • v0.0.25
  • v0.0.24
  • v0.0.23
  • v0.0.22
  • v0.0.21
  • v0.0.20
  • v0.0.19
  • v0.0.18
  • v0.0.17
  • v0.0.16
  • v0.0.15
  • v0.0.14
  • v0.0.13
23 results

provisioner.go

Blame
  • provisioner.go 14.04 KiB
    package main
    
    import (
    	"encoding/json"
    	"fmt"
    	"os"
    	"path/filepath"
    	"reflect"
    	"strconv"
    	"strings"
    	"sync"
    	"time"
    
    	"github.com/Sirupsen/logrus"
    	"github.com/pkg/errors"
    	v1 "k8s.io/api/core/v1"
    	k8serror "k8s.io/apimachinery/pkg/api/errors"
    	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
    	clientset "k8s.io/client-go/kubernetes"
    	pvController "sigs.k8s.io/sig-storage-lib-external-provisioner/controller"
    )
    
    type ActionType string
    
    const (
    	ActionTypeCreate = "create"
    	ActionTypeDelete = "delete"
    )
    
    const (
    	KeyNode = "kubernetes.io/hostname"
    
    	NodeDefaultNonListedNodes = "DEFAULT_PATH_FOR_NON_LISTED_NODES"
    
    	helperScriptDir     = "/script"
    	helperDataVolName   = "data"
    	helperScriptVolName = "script"
    )
    
    var (
    	CmdTimeoutCounts = 120
    
    	ConfigFileCheckInterval = 30 * time.Second
    
    	HelperPodNameMaxLength = 128
    )
    
    type LocalPathProvisioner struct {
    	stopCh             chan struct{}
    	kubeClient         *clientset.Clientset
    	namespace          string
    	helperImage        string
    	serviceAccountName string
    
    	config        *Config
    	configData    *ConfigData
    	configFile    string
    	configMapName string
    	configMutex   *sync.RWMutex
    	helperPod     *v1.Pod
    }
    
    type NodePathMapData struct {
    	Node  string   `json:"node,omitempty"`
    	Paths []string `json:"paths,omitempty"`
    }
    
    type ConfigData struct {
    	NodePathMap []*NodePathMapData `json:"nodePathMap,omitempty"`
    }