Add a flag to disable leader election

Related to #20.
This commit is contained in:
Robert Munteanu 2020-11-26 23:37:24 +01:00
parent 13cc7371cb
commit 4cef281f64
2 changed files with 18 additions and 2 deletions

View File

@ -113,7 +113,9 @@ spec:
path: /var/nfs
```
You may also want to change the PROVISIONER_NAME above from `fuseim.pri/ifs` to something more descriptive like `nfs-storage`, but if you do remember to also change the PROVISIONER_NAME in the storage class definition below:
You may also want to change the PROVISIONER_NAME above from `fuseim.pri/ifs` to something more descriptive like `nfs-storage`, but if you do remember to also change the PROVISIONER_NAME in the storage class definition below.
To disable leader election, define an env variable named ENABLE_LEADER_ELECTION and set its value to false.
**Step 5: Deploying your storage class**

View File

@ -247,6 +247,15 @@ func main() {
glog.Fatalf("Error getting server version: %v", err)
}
leaderElection := true
leaderElectionEnv := os.Getenv("ENABLE_LEADER_ELECTION")
if ( leaderElectionEnv != "" ) {
leaderElection, err = strconv.ParseBool(leaderElectionEnv)
if err != nil {
glog.Fatalf("Unable to parse ENABLE_LEADER_ELECTION env var: %v", err)
}
}
clientNFSProvisioner := &nfsProvisioner{
client: clientset,
server: server,
@ -254,6 +263,11 @@ func main() {
}
// Start the provision controller which will dynamically provision efs NFS
// PVs
pc := controller.NewProvisionController(clientset, provisionerName, clientNFSProvisioner, serverVersion.GitVersion)
pc := controller.NewProvisionController(clientset,
provisionerName,
clientNFSProvisioner,
serverVersion.GitVersion,
controller.LeaderElection(leaderElection),
)
pc.Run(wait.NeverStop)
}