mirror of
https://github.com/kubernetes/client-go.git
synced 2025-06-29 16:36:54 +00:00
Merge pull request #79566 from sukeesh/auditlog
Cleanup: Audit log and error capitalization Kubernetes-commit: 1c99825adfb30f6abb177e85ddb31f2fdef011e1
This commit is contained in:
commit
deaa3604a6
2
Godeps/Godeps.json
generated
2
Godeps/Godeps.json
generated
@ -212,7 +212,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery",
|
"ImportPath": "k8s.io/apimachinery",
|
||||||
"Rev": "7bf792636534"
|
"Rev": "391ed67afa7b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/klog",
|
"ImportPath": "k8s.io/klog",
|
||||||
|
@ -135,18 +135,18 @@ func main() {
|
|||||||
// RetryOnConflict uses exponential backoff to avoid exhausting the apiserver
|
// RetryOnConflict uses exponential backoff to avoid exhausting the apiserver
|
||||||
result, getErr := client.Resource(deploymentRes).Namespace(namespace).Get("demo-deployment", metav1.GetOptions{})
|
result, getErr := client.Resource(deploymentRes).Namespace(namespace).Get("demo-deployment", metav1.GetOptions{})
|
||||||
if getErr != nil {
|
if getErr != nil {
|
||||||
panic(fmt.Errorf("Failed to get latest version of Deployment: %v", getErr))
|
panic(fmt.Errorf("failed to get latest version of Deployment: %v", getErr))
|
||||||
}
|
}
|
||||||
|
|
||||||
// update replicas to 1
|
// update replicas to 1
|
||||||
if err := unstructured.SetNestedField(result.Object, int64(1), "spec", "replicas"); err != nil {
|
if err := unstructured.SetNestedField(result.Object, int64(1), "spec", "replicas"); err != nil {
|
||||||
panic(fmt.Errorf("Failed to set replica value: %v", err))
|
panic(fmt.Errorf("failed to set replica value: %v", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
// extract spec containers
|
// extract spec containers
|
||||||
containers, found, err := unstructured.NestedSlice(result.Object, "spec", "template", "spec", "containers")
|
containers, found, err := unstructured.NestedSlice(result.Object, "spec", "template", "spec", "containers")
|
||||||
if err != nil || !found || containers == nil {
|
if err != nil || !found || containers == nil {
|
||||||
panic(fmt.Errorf("Deployment containers not found or error in spec: %v", err))
|
panic(fmt.Errorf("deployment containers not found or error in spec: %v", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
// update container[0] image
|
// update container[0] image
|
||||||
@ -161,7 +161,7 @@ func main() {
|
|||||||
return updateErr
|
return updateErr
|
||||||
})
|
})
|
||||||
if retryErr != nil {
|
if retryErr != nil {
|
||||||
panic(fmt.Errorf("Update failed: %v", retryErr))
|
panic(fmt.Errorf("update failed: %v", retryErr))
|
||||||
}
|
}
|
||||||
fmt.Println("Updated deployment...")
|
fmt.Println("Updated deployment...")
|
||||||
|
|
||||||
|
4
go.mod
4
go.mod
@ -27,7 +27,7 @@ require (
|
|||||||
golang.org/x/time v0.0.0-20161028155119-f51c12702a4d
|
golang.org/x/time v0.0.0-20161028155119-f51c12702a4d
|
||||||
google.golang.org/appengine v1.5.0 // indirect
|
google.golang.org/appengine v1.5.0 // indirect
|
||||||
k8s.io/api v0.0.0-20190711103429-37c3b8b1ca65
|
k8s.io/api v0.0.0-20190711103429-37c3b8b1ca65
|
||||||
k8s.io/apimachinery v0.0.0-20190711103026-7bf792636534
|
k8s.io/apimachinery v0.0.0-20190711222657-391ed67afa7b
|
||||||
k8s.io/klog v0.3.1
|
k8s.io/klog v0.3.1
|
||||||
k8s.io/utils v0.0.0-20190607212802-c55fbcfc754a
|
k8s.io/utils v0.0.0-20190607212802-c55fbcfc754a
|
||||||
sigs.k8s.io/yaml v1.1.0
|
sigs.k8s.io/yaml v1.1.0
|
||||||
@ -41,5 +41,5 @@ replace (
|
|||||||
golang.org/x/text => golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db
|
golang.org/x/text => golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db
|
||||||
golang.org/x/tools => golang.org/x/tools v0.0.0-20190313210603-aa82965741a9
|
golang.org/x/tools => golang.org/x/tools v0.0.0-20190313210603-aa82965741a9
|
||||||
k8s.io/api => k8s.io/api v0.0.0-20190711103429-37c3b8b1ca65
|
k8s.io/api => k8s.io/api v0.0.0-20190711103429-37c3b8b1ca65
|
||||||
k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20190711103026-7bf792636534
|
k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20190711222657-391ed67afa7b
|
||||||
)
|
)
|
||||||
|
2
go.sum
2
go.sum
@ -101,7 +101,7 @@ gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
|||||||
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
|
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
|
||||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||||
k8s.io/api v0.0.0-20190711103429-37c3b8b1ca65/go.mod h1:ndtPUvriKipo+umdrlC6qqG9GNRQ8vbS0t70FMFrjuw=
|
k8s.io/api v0.0.0-20190711103429-37c3b8b1ca65/go.mod h1:ndtPUvriKipo+umdrlC6qqG9GNRQ8vbS0t70FMFrjuw=
|
||||||
k8s.io/apimachinery v0.0.0-20190711103026-7bf792636534/go.mod h1:M2fZgZL9DbLfeJaPBCDqSqNsdsmLN+V29knYJnIXlMA=
|
k8s.io/apimachinery v0.0.0-20190711222657-391ed67afa7b/go.mod h1:M2fZgZL9DbLfeJaPBCDqSqNsdsmLN+V29knYJnIXlMA=
|
||||||
k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
|
k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
|
||||||
k8s.io/klog v0.3.1 h1:RVgyDHY/kFKtLqh67NvEWIgkMneNoIrdkN0CxDSQc68=
|
k8s.io/klog v0.3.1 h1:RVgyDHY/kFKtLqh67NvEWIgkMneNoIrdkN0CxDSQc68=
|
||||||
k8s.io/klog v0.3.1/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
|
k8s.io/klog v0.3.1/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
|
||||||
|
@ -55,7 +55,7 @@ func RegisterAuthProviderPlugin(name string, plugin Factory) error {
|
|||||||
pluginsLock.Lock()
|
pluginsLock.Lock()
|
||||||
defer pluginsLock.Unlock()
|
defer pluginsLock.Unlock()
|
||||||
if _, found := plugins[name]; found {
|
if _, found := plugins[name]; found {
|
||||||
return fmt.Errorf("Auth Provider Plugin %q was registered twice", name)
|
return fmt.Errorf("auth Provider Plugin %q was registered twice", name)
|
||||||
}
|
}
|
||||||
klog.V(4).Infof("Registered Auth Provider Plugin %q", name)
|
klog.V(4).Infof("Registered Auth Provider Plugin %q", name)
|
||||||
plugins[name] = plugin
|
plugins[name] = plugin
|
||||||
@ -67,7 +67,7 @@ func GetAuthProvider(clusterAddress string, apc *clientcmdapi.AuthProviderConfig
|
|||||||
defer pluginsLock.Unlock()
|
defer pluginsLock.Unlock()
|
||||||
p, ok := plugins[apc.Name]
|
p, ok := plugins[apc.Name]
|
||||||
if !ok {
|
if !ok {
|
||||||
return nil, fmt.Errorf("No Auth Provider found for name %q", apc.Name)
|
return nil, fmt.Errorf("no Auth Provider found for name %q", apc.Name)
|
||||||
}
|
}
|
||||||
return p(clusterAddress, apc.Config, persister)
|
return p(clusterAddress, apc.Config, persister)
|
||||||
}
|
}
|
||||||
|
@ -871,13 +871,13 @@ func (r *Request) transformResponse(resp *http.Response, req *http.Request) Resu
|
|||||||
// 3. Apiserver closes connection.
|
// 3. Apiserver closes connection.
|
||||||
// 4. client-go should catch this and return an error.
|
// 4. client-go should catch this and return an error.
|
||||||
klog.V(2).Infof("Stream error %#v when reading response body, may be caused by closed connection.", err)
|
klog.V(2).Infof("Stream error %#v when reading response body, may be caused by closed connection.", err)
|
||||||
streamErr := fmt.Errorf("Stream error when reading response body, may be caused by closed connection. Please retry. Original error: %v", err)
|
streamErr := fmt.Errorf("stream error when reading response body, may be caused by closed connection. Please retry. Original error: %v", err)
|
||||||
return Result{
|
return Result{
|
||||||
err: streamErr,
|
err: streamErr,
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
klog.Errorf("Unexpected error when reading response body: %v", err)
|
klog.Errorf("Unexpected error when reading response body: %v", err)
|
||||||
unexpectedErr := fmt.Errorf("Unexpected error when reading response body. Please retry. Original error: %v", err)
|
unexpectedErr := fmt.Errorf("unexpected error when reading response body. Please retry. Original error: %v", err)
|
||||||
return Result{
|
return Result{
|
||||||
err: unexpectedErr,
|
err: unexpectedErr,
|
||||||
}
|
}
|
||||||
|
@ -212,7 +212,7 @@ func (rules *ClientConfigLoadingRules) Load() (*clientcmdapi.Config, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errlist = append(errlist, fmt.Errorf("Error loading config file \"%s\": %v", filename, err))
|
errlist = append(errlist, fmt.Errorf("error loading config file \"%s\": %v", filename, err))
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -483,7 +483,7 @@ func ResolveLocalPaths(config *clientcmdapi.Config) error {
|
|||||||
}
|
}
|
||||||
base, err := filepath.Abs(filepath.Dir(cluster.LocationOfOrigin))
|
base, err := filepath.Abs(filepath.Dir(cluster.LocationOfOrigin))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("Could not determine the absolute path of config file %s: %v", cluster.LocationOfOrigin, err)
|
return fmt.Errorf("could not determine the absolute path of config file %s: %v", cluster.LocationOfOrigin, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := ResolvePaths(GetClusterFileReferences(cluster), base); err != nil {
|
if err := ResolvePaths(GetClusterFileReferences(cluster), base); err != nil {
|
||||||
@ -496,7 +496,7 @@ func ResolveLocalPaths(config *clientcmdapi.Config) error {
|
|||||||
}
|
}
|
||||||
base, err := filepath.Abs(filepath.Dir(authInfo.LocationOfOrigin))
|
base, err := filepath.Abs(filepath.Dir(authInfo.LocationOfOrigin))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("Could not determine the absolute path of config file %s: %v", authInfo.LocationOfOrigin, err)
|
return fmt.Errorf("could not determine the absolute path of config file %s: %v", authInfo.LocationOfOrigin, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := ResolvePaths(GetAuthInfoFileReferences(authInfo), base); err != nil {
|
if err := ResolvePaths(GetAuthInfoFileReferences(authInfo), base); err != nil {
|
||||||
|
@ -90,20 +90,20 @@ func parsePorts(ports []string) ([]ForwardedPort, error) {
|
|||||||
}
|
}
|
||||||
remoteString = parts[1]
|
remoteString = parts[1]
|
||||||
} else {
|
} else {
|
||||||
return nil, fmt.Errorf("Invalid port format '%s'", portString)
|
return nil, fmt.Errorf("invalid port format '%s'", portString)
|
||||||
}
|
}
|
||||||
|
|
||||||
localPort, err := strconv.ParseUint(localString, 10, 16)
|
localPort, err := strconv.ParseUint(localString, 10, 16)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("Error parsing local port '%s': %s", localString, err)
|
return nil, fmt.Errorf("error parsing local port '%s': %s", localString, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
remotePort, err := strconv.ParseUint(remoteString, 10, 16)
|
remotePort, err := strconv.ParseUint(remoteString, 10, 16)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("Error parsing remote port '%s': %s", remoteString, err)
|
return nil, fmt.Errorf("error parsing remote port '%s': %s", remoteString, err)
|
||||||
}
|
}
|
||||||
if remotePort == 0 {
|
if remotePort == 0 {
|
||||||
return nil, fmt.Errorf("Remote port must be > 0")
|
return nil, fmt.Errorf("remote port must be > 0")
|
||||||
}
|
}
|
||||||
|
|
||||||
forwards = append(forwards, ForwardedPort{uint16(localPort), uint16(remotePort)})
|
forwards = append(forwards, ForwardedPort{uint16(localPort), uint16(remotePort)})
|
||||||
@ -159,14 +159,14 @@ func New(dialer httpstream.Dialer, ports []string, stopChan <-chan struct{}, rea
|
|||||||
// NewOnAddresses creates a new PortForwarder with custom listen addresses.
|
// NewOnAddresses creates a new PortForwarder with custom listen addresses.
|
||||||
func NewOnAddresses(dialer httpstream.Dialer, addresses []string, ports []string, stopChan <-chan struct{}, readyChan chan struct{}, out, errOut io.Writer) (*PortForwarder, error) {
|
func NewOnAddresses(dialer httpstream.Dialer, addresses []string, ports []string, stopChan <-chan struct{}, readyChan chan struct{}, out, errOut io.Writer) (*PortForwarder, error) {
|
||||||
if len(addresses) == 0 {
|
if len(addresses) == 0 {
|
||||||
return nil, errors.New("You must specify at least 1 address")
|
return nil, errors.New("you must specify at least 1 address")
|
||||||
}
|
}
|
||||||
parsedAddresses, err := parseAddresses(addresses)
|
parsedAddresses, err := parseAddresses(addresses)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if len(ports) == 0 {
|
if len(ports) == 0 {
|
||||||
return nil, errors.New("You must specify at least 1 port")
|
return nil, errors.New("you must specify at least 1 port")
|
||||||
}
|
}
|
||||||
parsedPorts, err := parsePorts(ports)
|
parsedPorts, err := parsePorts(ports)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -219,7 +219,7 @@ func (pf *PortForwarder) forward() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if !listenSuccess {
|
if !listenSuccess {
|
||||||
return fmt.Errorf("Unable to listen on any of the requested ports: %v", pf.ports)
|
return fmt.Errorf("unable to listen on any of the requested ports: %v", pf.ports)
|
||||||
}
|
}
|
||||||
|
|
||||||
if pf.Ready != nil {
|
if pf.Ready != nil {
|
||||||
@ -277,7 +277,7 @@ func (pf *PortForwarder) listenOnPortAndAddress(port *ForwardedPort, protocol st
|
|||||||
func (pf *PortForwarder) getListener(protocol string, hostname string, port *ForwardedPort) (net.Listener, error) {
|
func (pf *PortForwarder) getListener(protocol string, hostname string, port *ForwardedPort) (net.Listener, error) {
|
||||||
listener, err := net.Listen(protocol, net.JoinHostPort(hostname, strconv.Itoa(int(port.Local))))
|
listener, err := net.Listen(protocol, net.JoinHostPort(hostname, strconv.Itoa(int(port.Local))))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("Unable to create listener: Error %s", err)
|
return nil, fmt.Errorf("unable to create listener: Error %s", err)
|
||||||
}
|
}
|
||||||
listenerAddress := listener.Addr().String()
|
listenerAddress := listener.Addr().String()
|
||||||
host, localPort, _ := net.SplitHostPort(listenerAddress)
|
host, localPort, _ := net.SplitHostPort(listenerAddress)
|
||||||
@ -285,7 +285,7 @@ func (pf *PortForwarder) getListener(protocol string, hostname string, port *For
|
|||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(pf.out, "Failed to forward from %s:%d -> %d\n", hostname, localPortUInt, port.Remote)
|
fmt.Fprintf(pf.out, "Failed to forward from %s:%d -> %d\n", hostname, localPortUInt, port.Remote)
|
||||||
return nil, fmt.Errorf("Error parsing local port: %s from %s (%s)", err, listenerAddress, host)
|
return nil, fmt.Errorf("error parsing local port: %s from %s (%s)", err, listenerAddress, host)
|
||||||
}
|
}
|
||||||
port.Local = uint16(localPortUInt)
|
port.Local = uint16(localPortUInt)
|
||||||
if pf.out != nil {
|
if pf.out != nil {
|
||||||
@ -303,7 +303,7 @@ func (pf *PortForwarder) waitForConnection(listener net.Listener, port Forwarded
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
// TODO consider using something like https://github.com/hydrogen18/stoppableListener?
|
// TODO consider using something like https://github.com/hydrogen18/stoppableListener?
|
||||||
if !strings.Contains(strings.ToLower(err.Error()), "use of closed network connection") {
|
if !strings.Contains(strings.ToLower(err.Error()), "use of closed network connection") {
|
||||||
runtime.HandleError(fmt.Errorf("Error accepting connection on port %d: %v", port.Local, err))
|
runtime.HandleError(fmt.Errorf("error accepting connection on port %d: %v", port.Local, err))
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -411,7 +411,7 @@ func (m *manager) rotateCerts() (bool, error) {
|
|||||||
// is a remainder after the old design using raw watch wrapped with backoff.
|
// is a remainder after the old design using raw watch wrapped with backoff.
|
||||||
crtPEM, err := csr.WaitForCertificate(ctx, client, req)
|
crtPEM, err := csr.WaitForCertificate(ctx, client, req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
utilruntime.HandleError(fmt.Errorf("Certificate request was not signed: %v", err))
|
utilruntime.HandleError(fmt.Errorf("certificate request was not signed: %v", err))
|
||||||
return false, nil
|
return false, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -981,7 +981,7 @@ func (c fakeClient) Create(*certificates.CertificateSigningRequest) (*certificat
|
|||||||
if c.err != nil {
|
if c.err != nil {
|
||||||
return nil, c.err
|
return nil, c.err
|
||||||
}
|
}
|
||||||
return nil, fmt.Errorf("Create error")
|
return nil, fmt.Errorf("create error")
|
||||||
}
|
}
|
||||||
csrReply := certificates.CertificateSigningRequest{}
|
csrReply := certificates.CertificateSigningRequest{}
|
||||||
csrReply.UID = "fake-uid"
|
csrReply.UID = "fake-uid"
|
||||||
@ -993,7 +993,7 @@ func (c fakeClient) Watch(opts v1.ListOptions) (watch.Interface, error) {
|
|||||||
if c.err != nil {
|
if c.err != nil {
|
||||||
return nil, c.err
|
return nil, c.err
|
||||||
}
|
}
|
||||||
return nil, fmt.Errorf("Watch error")
|
return nil, fmt.Errorf("watch error")
|
||||||
}
|
}
|
||||||
return &fakeWatch{
|
return &fakeWatch{
|
||||||
failureType: c.failureType,
|
failureType: c.failureType,
|
||||||
|
Loading…
Reference in New Issue
Block a user