mirror of https://github.com/kubernetes/kops.git
Merge branch 'master' into fix-staticcheck-pkg-resources-digitalocean
This commit is contained in:
commit
1e6675f9e9
13
WORKSPACE
13
WORKSPACE
|
|
@ -71,10 +71,10 @@ load(
|
||||||
container_pull(
|
container_pull(
|
||||||
name = "debian_hyperkube_base_amd64",
|
name = "debian_hyperkube_base_amd64",
|
||||||
# 'tag' is also supported, but digest is encouraged for reproducibility.
|
# 'tag' is also supported, but digest is encouraged for reproducibility.
|
||||||
digest = "sha256:cc782ed16599000ca4c85d47ec6264753747ae1e77520894dca84b104a7621e2",
|
digest = "sha256:5d4ea2fb5fbe9a9a9da74f67cf2faefc881968bc39f2ac5d62d9167e575812a1",
|
||||||
registry = "k8s.gcr.io",
|
registry = "k8s.gcr.io",
|
||||||
repository = "debian-hyperkube-base-amd64",
|
repository = "debian-hyperkube-base-amd64",
|
||||||
tag = "0.10",
|
tag = "0.12.1",
|
||||||
)
|
)
|
||||||
|
|
||||||
git_repository(
|
git_repository(
|
||||||
|
|
@ -170,7 +170,14 @@ go_repository(
|
||||||
# Start using distroless base
|
# Start using distroless base
|
||||||
container_pull(
|
container_pull(
|
||||||
name = "distroless_base",
|
name = "distroless_base",
|
||||||
digest = "sha256:a4624843fb1d7d43d9e3d62f6d76b51b6e02b3d03221e29fef4e223d81ef3378",
|
digest = "sha256:7fa7445dfbebae4f4b7ab0e6ef99276e96075ae42584af6286ba080750d6dfe5",
|
||||||
|
registry = "gcr.io",
|
||||||
|
repository = "distroless/base",
|
||||||
|
)
|
||||||
|
|
||||||
|
container_pull(
|
||||||
|
name = "distroless_base_debug",
|
||||||
|
digest = "sha256:6f78124292427599fcef84139cdc9f4ab2d1851fe129b140c92b997f8fe4d289",
|
||||||
registry = "gcr.io",
|
registry = "gcr.io",
|
||||||
repository = "distroless/base",
|
repository = "distroless/base",
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -128,11 +128,6 @@ func getExampleRrs(zone dnsprovider.Zone) dnsprovider.ResourceRecordSet {
|
||||||
return rrsets.New("www11."+zone.Name(), []string{"10.10.10.10", "169.20.20.20"}, 180, rrstype.A)
|
return rrsets.New("www11."+zone.Name(), []string{"10.10.10.10", "169.20.20.20"}, 180, rrstype.A)
|
||||||
}
|
}
|
||||||
|
|
||||||
func getInvalidRrs(zone dnsprovider.Zone) dnsprovider.ResourceRecordSet {
|
|
||||||
rrsets, _ := zone.ResourceRecordSets()
|
|
||||||
return rrsets.New("www12."+zone.Name(), []string{"rubbish", "rubbish"}, 180, rrstype.A)
|
|
||||||
}
|
|
||||||
|
|
||||||
func addRrsetOrFail(t *testing.T, rrsets dnsprovider.ResourceRecordSets, rrset dnsprovider.ResourceRecordSet) {
|
func addRrsetOrFail(t *testing.T, rrsets dnsprovider.ResourceRecordSets, rrset dnsprovider.ResourceRecordSet) {
|
||||||
err := rrsets.StartChangeset().Add(rrset).Apply()
|
err := rrsets.StartChangeset().Add(rrset).Apply()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
|
|
@ -108,20 +108,6 @@ func rrs(t *testing.T, zone dnsprovider.Zone) (r dnsprovider.ResourceRecordSets)
|
||||||
return rrsets
|
return rrsets
|
||||||
}
|
}
|
||||||
|
|
||||||
func listRrsOrFail(t *testing.T, rrsets dnsprovider.ResourceRecordSets) []dnsprovider.ResourceRecordSet {
|
|
||||||
rrset, err := rrsets.List()
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("Failed to list recordsets: %v", err)
|
|
||||||
} else {
|
|
||||||
if len(rrset) < 0 {
|
|
||||||
t.Fatalf("Record set length=%d, expected >=0", len(rrset))
|
|
||||||
} else {
|
|
||||||
t.Logf("Got %d recordsets: %v", len(rrset), rrset)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return rrset
|
|
||||||
}
|
|
||||||
|
|
||||||
func getRrOrFail(t *testing.T, rrsets dnsprovider.ResourceRecordSets, name string) []dnsprovider.ResourceRecordSet {
|
func getRrOrFail(t *testing.T, rrsets dnsprovider.ResourceRecordSets, name string) []dnsprovider.ResourceRecordSet {
|
||||||
rrsetList, err := rrsets.Get(name)
|
rrsetList, err := rrsets.Get(name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
|
|
@ -106,11 +106,6 @@ func getExampleRrs(zone dnsprovider.Zone) dnsprovider.ResourceRecordSet {
|
||||||
return rrsets.New("www11."+zone.Name(), []string{"10.10.10.10", "169.20.20.20"}, 180, rrstype.A)
|
return rrsets.New("www11."+zone.Name(), []string{"10.10.10.10", "169.20.20.20"}, 180, rrstype.A)
|
||||||
}
|
}
|
||||||
|
|
||||||
func getInvalidRrs(zone dnsprovider.Zone) dnsprovider.ResourceRecordSet {
|
|
||||||
rrsets, _ := zone.ResourceRecordSets()
|
|
||||||
return rrsets.New("www12."+zone.Name(), []string{"rubbish", "rubbish"}, 180, rrstype.A)
|
|
||||||
}
|
|
||||||
|
|
||||||
func addRrsetOrFail(t *testing.T, rrsets dnsprovider.ResourceRecordSets, rrset dnsprovider.ResourceRecordSet) {
|
func addRrsetOrFail(t *testing.T, rrsets dnsprovider.ResourceRecordSets, rrset dnsprovider.ResourceRecordSet) {
|
||||||
err := rrsets.StartChangeset().Add(rrset).Apply()
|
err := rrsets.StartChangeset().Add(rrset).Apply()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
|
|
@ -25,11 +25,8 @@ package internal
|
||||||
import dns "google.golang.org/api/dns/v1"
|
import dns "google.golang.org/api/dns/v1"
|
||||||
|
|
||||||
type (
|
type (
|
||||||
Project struct{ impl *dns.Project }
|
Project struct{}
|
||||||
|
ProjectsGetCall struct{}
|
||||||
ProjectsGetCall struct{ impl *dns.ProjectsGetCall }
|
|
||||||
|
|
||||||
ProjectsService struct{ impl *dns.ProjectsService }
|
ProjectsService struct{ impl *dns.ProjectsService }
|
||||||
|
Quota struct{}
|
||||||
Quota struct{ impl *dns.Quota }
|
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,6 @@ go_library(
|
||||||
deps = [
|
deps = [
|
||||||
"//dnsprovider/pkg/dnsprovider/providers/google/clouddns/internal/interfaces:go_default_library",
|
"//dnsprovider/pkg/dnsprovider/providers/google/clouddns/internal/interfaces:go_default_library",
|
||||||
"//dnsprovider/pkg/dnsprovider/rrstype:go_default_library",
|
"//dnsprovider/pkg/dnsprovider/rrstype:go_default_library",
|
||||||
"//vendor/google.golang.org/api/dns/v1:go_default_library",
|
|
||||||
"//vendor/google.golang.org/api/googleapi:go_default_library",
|
"//vendor/google.golang.org/api/googleapi:go_default_library",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -22,12 +22,10 @@ package stubs
|
||||||
// Only the parts of the API that we use are included.
|
// Only the parts of the API that we use are included.
|
||||||
// Others can be added as needed.
|
// Others can be added as needed.
|
||||||
|
|
||||||
import dns "google.golang.org/api/dns/v1"
|
|
||||||
|
|
||||||
type (
|
type (
|
||||||
// TODO: We don't need these yet, so they remain unimplemented. Add later as required.
|
// TODO: We don't need these yet, so they remain unimplemented. Add later as required.
|
||||||
Project struct{ impl *dns.Project }
|
Project struct{}
|
||||||
ProjectsGetCall struct{ impl *dns.ProjectsGetCall }
|
ProjectsGetCall struct{}
|
||||||
ProjectsService struct{ impl *dns.ProjectsService }
|
ProjectsService struct{}
|
||||||
Quota struct{ impl *dns.Quota }
|
Quota struct{}
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,8 @@
|
||||||
cloudmock/aws/mockelbv2
|
cloudmock/aws/mockelbv2
|
||||||
cmd/kops
|
cmd/kops
|
||||||
dnsprovider/pkg/dnsprovider/providers/aws/route53
|
|
||||||
dnsprovider/pkg/dnsprovider/providers/coredns
|
|
||||||
dnsprovider/pkg/dnsprovider/providers/google/clouddns
|
|
||||||
dnsprovider/pkg/dnsprovider/providers/google/clouddns/internal
|
|
||||||
dnsprovider/pkg/dnsprovider/providers/google/clouddns/internal/stubs
|
|
||||||
node-authorizer/pkg/authorizers/aws
|
node-authorizer/pkg/authorizers/aws
|
||||||
node-authorizer/pkg/server
|
node-authorizer/pkg/server
|
||||||
pkg/resources/ali
|
|
||||||
pkg/resources/openstack
|
pkg/resources/openstack
|
||||||
pkg/sshcredentials
|
|
||||||
upup/pkg/fi
|
upup/pkg/fi
|
||||||
upup/pkg/fi/cloudup
|
upup/pkg/fi/cloudup
|
||||||
upup/pkg/fi/cloudup/awstasks
|
upup/pkg/fi/cloudup/awstasks
|
||||||
|
|
|
||||||
|
|
@ -59,9 +59,6 @@ type clusterDiscoveryALI struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func ListResourcesALI(aliCloud aliup.ALICloud, clusterName string, region string) (map[string]*resources.Resource, error) {
|
func ListResourcesALI(aliCloud aliup.ALICloud, clusterName string, region string) (map[string]*resources.Resource, error) {
|
||||||
if region == "" {
|
|
||||||
region = aliCloud.Region()
|
|
||||||
}
|
|
||||||
|
|
||||||
resources := make(map[string]*resources.Resource)
|
resources := make(map[string]*resources.Resource)
|
||||||
|
|
||||||
|
|
@ -412,8 +409,6 @@ func (d *clusterDiscoveryALI) ListRam() ([]*resources.Resource, error) {
|
||||||
"bastions-" + clusterName,
|
"bastions-" + clusterName,
|
||||||
}
|
}
|
||||||
|
|
||||||
roleToDelete := []string{}
|
|
||||||
|
|
||||||
response, err := d.aliCloud.RamClient().ListRoles()
|
response, err := d.aliCloud.RamClient().ListRoles()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("err listing RamRole:%v", err)
|
return nil, fmt.Errorf("err listing RamRole:%v", err)
|
||||||
|
|
@ -424,7 +419,6 @@ func (d *clusterDiscoveryALI) ListRam() ([]*resources.Resource, error) {
|
||||||
for _, role := range response.Roles.Role {
|
for _, role := range response.Roles.Role {
|
||||||
for _, roleName := range names {
|
for _, roleName := range names {
|
||||||
if role.RoleName == roleName {
|
if role.RoleName == roleName {
|
||||||
roleToDelete = append(roleToDelete, role.RoleId)
|
|
||||||
resourceTracker := &resources.Resource{
|
resourceTracker := &resources.Resource{
|
||||||
Name: role.RoleName,
|
Name: role.RoleName,
|
||||||
ID: role.RoleId,
|
ID: role.RoleId,
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,5 @@ go_library(
|
||||||
srcs = ["fingerprint.go"],
|
srcs = ["fingerprint.go"],
|
||||||
importpath = "k8s.io/kops/pkg/sshcredentials",
|
importpath = "k8s.io/kops/pkg/sshcredentials",
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = [
|
deps = ["//vendor/golang.org/x/crypto/ssh:go_default_library"],
|
||||||
"//vendor/golang.org/x/crypto/ssh:go_default_library",
|
|
||||||
"//vendor/k8s.io/klog:go_default_library",
|
|
||||||
],
|
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,6 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"golang.org/x/crypto/ssh"
|
"golang.org/x/crypto/ssh"
|
||||||
"k8s.io/klog"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func Fingerprint(pubkey string) (string, error) {
|
func Fingerprint(pubkey string) (string, error) {
|
||||||
|
|
@ -53,26 +52,3 @@ func formatFingerprint(data []byte) string {
|
||||||
}
|
}
|
||||||
return buf.String()
|
return buf.String()
|
||||||
}
|
}
|
||||||
|
|
||||||
func insertFingerprintColons(id string) string {
|
|
||||||
remaining := id
|
|
||||||
|
|
||||||
var buf bytes.Buffer
|
|
||||||
for {
|
|
||||||
if remaining == "" {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
if buf.Len() != 0 {
|
|
||||||
buf.WriteString(":")
|
|
||||||
}
|
|
||||||
if len(remaining) < 2 {
|
|
||||||
klog.Warningf("unexpected format for SSH public key id: %q", id)
|
|
||||||
buf.WriteString(remaining)
|
|
||||||
break
|
|
||||||
} else {
|
|
||||||
buf.WriteString(remaining[0:2])
|
|
||||||
remaining = remaining[2:]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return buf.String()
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,44 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func Test_Overlap(t *testing.T) {
|
||||||
|
grid := []struct {
|
||||||
|
L string
|
||||||
|
R string
|
||||||
|
Overlap bool
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
L: "192.168.0.1/16",
|
||||||
|
R: "192.168.1.0/24",
|
||||||
|
Overlap: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
L: "192.168.1.0/24",
|
||||||
|
R: "192.168.0.1/32",
|
||||||
|
Overlap: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
L: "0.0.0.0/0",
|
||||||
|
R: "192.168.1.1/32",
|
||||||
|
Overlap: true,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
for _, g := range grid {
|
||||||
|
_, l, err := net.ParseCIDR(g.L)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("error parsing %q: %v", g.L, err)
|
||||||
|
}
|
||||||
|
_, r, err := net.ParseCIDR(g.R)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("error parsing %q: %v", g.R, err)
|
||||||
|
}
|
||||||
|
actual := Overlap(l, r)
|
||||||
|
if actual != g.Overlap {
|
||||||
|
t.Errorf("Overlap(%q, %q) = %v, expected %v", g.L, g.R, actual, g.Overlap)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func Test_BelongsTo(t *testing.T) {
|
func Test_BelongsTo(t *testing.T) {
|
||||||
grid := []struct {
|
grid := []struct {
|
||||||
L string
|
L string
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue