Skip to content

Instantly share code, notes, and snippets.

@cgwalters
Created January 10, 2019 22:04
Show Gist options
  • Select an option

  • Save cgwalters/e75ba4d32c753d44cee65bd28735007c to your computer and use it in GitHub Desktop.

Select an option

Save cgwalters/e75ba4d32c753d44cee65bd28735007c to your computer and use it in GitHub Desktop.
```
commit b601dda71962e2b7a99e63cb23c28f5e83156c0c
Author: Colin Walters <walters@verbum.org>
AuthorDate: Thu Jan 10 22:03:53 2019 +0000
Commit: Colin Walters <walters@verbum.org>
CommitDate: Thu Jan 10 22:03:53 2019 +0000
wip
diff --git a/pkg/controller/render/render_controller.go b/pkg/controller/render/render_controller.go
index db24559..2f9a3db 100644
--- a/pkg/controller/render/render_controller.go
+++ b/pkg/controller/render/render_controller.go
@@ -37,6 +37,9 @@ const (
//
// 5ms, 10ms, 20ms, 40ms, 80ms, 160ms, 320ms, 640ms, 1.3s, 2.6s, 5.1s, 10.2s, 20.4s, 41s, 82s
maxRetries = 15
+
+ // osImageURLConfigMap is the CM we install with the osImageURL
+ osImageURLConfigMap = "machine-config-osimageurl"
)
var (
@@ -60,6 +63,9 @@ type Controller struct {
mcpListerSynced cache.InformerSynced
mcListerSynced cache.InformerSynced
+ osImageConfig *v1.ConfigMap
+ osImageURL string
+
queue workqueue.RateLimitingInterface
}
@@ -99,6 +105,22 @@ func New(
ctrl.mcpListerSynced = mcpInformer.Informer().HasSynced
ctrl.mcListerSynced = mcInformer.Informer().HasSynced
+ err := wait.PollImmediate(10*time.Second, 5*time.Minute, func() (bool, error) {
+ var err error
+ ctrl.osImageConfig, err = kubeClient.CoreV1().ConfigMaps("").Get(osImageURLConfigMap, metav1.GetOptions{})
+ if err == nil {
+ return true, nil
+ }
+ glog.Infof("While getting configmap/%s, got: %v. Retrying...", osImageURLConfigMap, err)
+ return false, nil
+ })
+ if err != nil {
+ panic(err)
+ }
+
+ fmt.Printf("osimageconfig: %v", ctrl.osImageConfig.Data)
+ ctrl.osImageURL = ctrl.osImageConfig.Data["osImageURL"]
+
return ctrl
}
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment