adding delete pod functionality
parent
8b611f52d7
commit
9107e9d913
|
@ -20,11 +20,16 @@ import (
|
|||
// Implementer - thing wrapper around currently used k8s APIs
|
||||
type Implementer interface {
|
||||
Namespaces() (*v1.NamespaceList, error)
|
||||
|
||||
Deployment(namespace, name string) (*v1beta1.Deployment, error)
|
||||
Deployments(namespace string) (*v1beta1.DeploymentList, error)
|
||||
Update(deployment *v1beta1.Deployment) error
|
||||
|
||||
Secret(namespace, name string) (*v1.Secret, error)
|
||||
|
||||
Pods(namespace, labelSelector string) (*v1.PodList, error)
|
||||
DeletePod(namespace, name string, opts *meta_v1.DeleteOptions) error
|
||||
|
||||
ConfigMaps(namespace string) core_v1.ConfigMapInterface
|
||||
}
|
||||
|
||||
|
@ -103,6 +108,14 @@ func (i *KubernetesImplementer) Deployments(namespace string) (*v1beta1.Deployme
|
|||
|
||||
// Update - update deployment
|
||||
func (i *KubernetesImplementer) Update(deployment *v1beta1.Deployment) error {
|
||||
// retryErr := retry.RetryOnConflict(retry.DefaultRetry, func() error {
|
||||
// // Retrieve the latest version of Deployment before attempting update
|
||||
// // RetryOnConflict uses exponential backoff to avoid exhausting the apiserver
|
||||
// _, updateErr := i.client.Extensions().Deployments(deployment.Namespace).Update(deployment)
|
||||
// return updateErr
|
||||
// })
|
||||
// return retryErr
|
||||
|
||||
_, err := i.client.Extensions().Deployments(deployment.Namespace).Update(deployment)
|
||||
return err
|
||||
}
|
||||
|
@ -118,6 +131,11 @@ func (i *KubernetesImplementer) Pods(namespace, labelSelector string) (*v1.PodLi
|
|||
return i.client.Core().Pods(namespace).List(meta_v1.ListOptions{LabelSelector: labelSelector})
|
||||
}
|
||||
|
||||
// DeletePod - delete pod by name
|
||||
func (i *KubernetesImplementer) DeletePod(namespace, name string, opts *meta_v1.DeleteOptions) error {
|
||||
return i.client.Core().Pods(namespace).Delete(name, opts)
|
||||
}
|
||||
|
||||
// ConfigMaps - returns an interface to config maps for a specified namespace
|
||||
func (i *KubernetesImplementer) ConfigMaps(namespace string) core_v1.ConfigMapInterface {
|
||||
return i.client.Core().ConfigMaps(namespace)
|
||||
|
|
Loading…
Reference in New Issue