func main() { flag.Parse() var err error // TODO: Validate input flags. ks := Newkube2consul() if ks.consulClient, err = newConsulClient(*argConsulAgent); err != nil { glog.Fatalf("Failed to create Consul client - %v", err) } kubeClient, err := newKubeClient() if err != nil { glog.Fatalf("Failed to create a kubernetes client: %v", err) } glog.Info(kubeClient.ServerVersion()) glog.Info(kubeClient.Services(kapi.NamespaceAll).Get("sensu-core")) pods, err := kubeClient.Pods(api.NamespaceDefault).List(labels.Everything(), fields.Everything()) if err != nil { for pod := range pods.Items { glog.Info(pod) } } watchForServices(kubeClient, ks) watchForNodes(kubeClient, ks) glog.Info("Watchers running") select {} }
func (ks *kube2consul) newNode(newObj interface{}) { if node, ok := newObj.(*kapi.Node); ok { if _, ok := ks.nodes[node.Name]; !ok { glog.Info("Adding Node: ", node.Name) var newNode = *NewnodeInformation() newNode.name = node.Name newNode.address = node.Status.Addresses[0].Address ks.nodes[node.Name] = newNode } } }
func (t *Trace) Log() { endTime := time.Now() var buffer bytes.Buffer buffer.WriteString(fmt.Sprintf("Trace %q (started %v):\n", t.name, t.startTime)) lastStepTime := t.startTime for _, step := range t.steps { buffer.WriteString(fmt.Sprintf("[%v] [%v] %v\n", step.stepTime.Sub(t.startTime), step.stepTime.Sub(lastStepTime), step.msg)) lastStepTime = step.stepTime } buffer.WriteString(fmt.Sprintf("[%v] [%v] END\n", endTime.Sub(t.startTime), endTime.Sub(lastStepTime))) glog.Info(buffer.String()) }
func (ks *kube2consul) removeNode(oldObj interface{}) { if node, ok := oldObj.(*kapi.Node); ok { if info, ok := ks.nodes[node.Name]; ok { glog.Info("Removing Node: ", node.Name) for _, idSet := range info.ids { for _, id := range idSet { ks.removeDNS(id) } } delete(ks.nodes, node.Name) } } }
func watchForNodes(kubeClient *kclient.Client, ks *kube2consul) kcache.Store { store, serviceController := kframework.NewInformer( createNodeLW(kubeClient), &kapi.Node{}, resyncPeriod, kframework.ResourceEventHandlerFuncs{ AddFunc: ks.newNode, DeleteFunc: ks.removeNode, UpdateFunc: ks.updateNode, }, ) glog.Info("About to call run!") go serviceController.Run(util.NeverStop) return store }
// Write implements the io.Writer interface. func (writer GlogWriter) Write(data []byte) (n int, err error) { glog.Info(string(data)) return len(data), nil }