Skip to content

Commit

Permalink
Upgrade to kubernetes 1.9.2, Part 2: Non-Vendor changes.
Browse files Browse the repository at this point in the history
- k8s.io/kubernetes/pkg/api/v1/helper -> k8s.io/kubernets/pkg/apis/core/v1/helper
- Remove Scheme.DeepCopy, see kubernetes/kubernetes#53525
- Move global scheme to pkg/api/legacyscheme, see kubernetes/kubernetes#53984
- Add hack scripts to update CRD deepcopy generated files to 1.9.2.
  • Loading branch information
cofyc committed Jan 26, 2018
1 parent 77b5a57 commit 3a0bac3
Show file tree
Hide file tree
Showing 22 changed files with 121 additions and 171 deletions.
2 changes: 1 addition & 1 deletion ceph/cephfs/cephfs-provisioner.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ import (
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/rest"
"k8s.io/client-go/tools/clientcmd"
"k8s.io/kubernetes/pkg/api/v1/helper"
"k8s.io/kubernetes/pkg/apis/core/v1/helper"
)

const (
Expand Down
4 changes: 2 additions & 2 deletions ceph/rbd/pkg/provision/provision.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ import (
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/util/uuid"
"k8s.io/client-go/kubernetes"
"k8s.io/kubernetes/pkg/api/v1/helper"
"k8s.io/kubernetes/pkg/apis/core/v1/helper"
"k8s.io/kubernetes/pkg/volume"
)

Expand Down Expand Up @@ -127,7 +127,7 @@ func (p *rbdProvisioner) Provision(options controller.VolumeOptions) (*v1.Persis
}
glog.Infof("successfully created rbd image %q", image)

rbd.SecretRef = new(v1.LocalObjectReference)
rbd.SecretRef = new(v1.SecretReference)
rbd.SecretRef.Name = opts.userSecretName
rbd.RadosUser = opts.userID

Expand Down
4 changes: 2 additions & 2 deletions ceph/rbd/pkg/provision/rbd_util.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ func (u *RBDUtil) kernelRBDMonitorsOpt(mons []string) string {
}

// CreateImage creates a new ceph image with provision and volume options.
func (u *RBDUtil) CreateImage(image string, pOpts *rbdProvisionOptions, options controller.VolumeOptions) (*v1.RBDVolumeSource, int, error) {
func (u *RBDUtil) CreateImage(image string, pOpts *rbdProvisionOptions, options controller.VolumeOptions) (*v1.RBDPersistentVolumeSource, int, error) {
var output []byte
var err error

Expand Down Expand Up @@ -72,7 +72,7 @@ func (u *RBDUtil) CreateImage(image string, pOpts *rbdProvisionOptions, options
return nil, 0, fmt.Errorf("failed to create rbd image: %v, command output: %s", err, string(output))
}

return &v1.RBDVolumeSource{
return &v1.RBDPersistentVolumeSource{
CephMonitors: pOpts.monitors,
RBDImage: image,
RBDPool: pOpts.pool,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ func (p *glusterBlockProvisioner) Provision(options controller.VolumeOptions) (*

glog.V(1).Infof(" Volume configuration : %+v", blockVol)

secretRef := &v1.LocalObjectReference{}
secretRef := &v1.SecretReference{}

if cfg.chapAuthEnabled && iscsiVol.User != "" && iscsiVol.AuthKey != "" {
nameSpace := options.PVC.Namespace
Expand Down Expand Up @@ -283,7 +283,7 @@ func (p *glusterBlockProvisioner) Provision(options controller.VolumeOptions) (*
v1.ResourceName(v1.ResourceStorage): options.PVC.Spec.Resources.Requests[v1.ResourceName(v1.ResourceStorage)],
},
PersistentVolumeSource: v1.PersistentVolumeSource{
ISCSI: &v1.ISCSIVolumeSource{
ISCSI: &v1.ISCSIPersistentVolumeSource{
TargetPortal: iscsiVol.TargetPortal,
Portals: iscsiVol.Portals,
IQN: iscsiVol.Iqn,
Expand All @@ -301,7 +301,7 @@ func (p *glusterBlockProvisioner) Provision(options controller.VolumeOptions) (*
}

//createSecretRef() creates a secret reference.
func (p *glusterBlockProvisioner) createSecretRef(nameSpace string, secretName string, user string, password string) (*v1.LocalObjectReference, error) {
func (p *glusterBlockProvisioner) createSecretRef(nameSpace string, secretName string, user string, password string) (*v1.SecretReference, error) {
var err error
secret := &v1.Secret{
ObjectMeta: metav1.ObjectMeta{
Expand All @@ -315,7 +315,7 @@ func (p *glusterBlockProvisioner) createSecretRef(nameSpace string, secretName s
Type: chapType,
}

secretRef := &v1.LocalObjectReference{}
secretRef := &v1.SecretReference{}
if secret != nil {
_, err = p.client.CoreV1().Secrets(nameSpace).Create(secret)
if err != nil && errors.IsAlreadyExists(err) {
Expand Down
2 changes: 1 addition & 1 deletion gluster/glusterfs/pkg/volume/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import (
storage "k8s.io/api/storage/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/kubernetes"
"k8s.io/kubernetes/pkg/api/v1/helper"
"k8s.io/kubernetes/pkg/apis/core/v1/helper"
)

// GetClassForVolume returns StorageClass
Expand Down
37 changes: 37 additions & 0 deletions hack/lib.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#!/bin/bash

OS=$(go env GOOS)
ARCH=$(go env GOARCH)
PLATFORM=$(uname -s | tr A-Z a-z)
ROOT=$(unset CDPATH && cd $(dirname "${BASH_SOURCE[0]}")/.. && pwd)
OUTPUT_HOSTBIN=${GOPATH}/bin

function hack::build_generators() {
# NOTE: Add target if needed, available targets:
# conversion-gen
# client-gen
# lister-gen
# informer-gen
# go-to-protobuf
# go-to-protobuf/protoc-gen-gogo
local targets=(
deepcopy-gen
)
local need_regenerated=true
# TODO find a way to avoid regenerating if possible
if ! $need_regenerated; then
return
fi
local VERSION=1.9.2
local TARURL=https://github.com/kubernetes/code-generator/archive/kubernetes-${VERSION}.tar.gz
echo "Building ${targets[*]} from k8s.io/code-generator..."
local TMPDIR=$(mktemp -d -t goXXXX)
trap "rm -r $TMPDIR && echo $TMPDIR removed" EXIT
echo "Go build directory: $TMPDIR"
mkdir ${TMPDIR}/{bin,pkg,src}
mkdir -p ${TMPDIR}/src/k8s.io/code-generator
wget -q $TARURL -O - | tar -zxf - --strip-components 1 -C $TMPDIR/src/k8s.io/code-generator
for target in ${targets[*]}; do
GOPATH=$TMPDIR go build -o ${OUTPUT_HOSTBIN}/$(basename ${target}) k8s.io/code-generator/cmd/${target}
done
}
17 changes: 17 additions & 0 deletions hack/update-generated-code.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!/bin/bash

ROOT=$(unset CDPATH && cd $(dirname "${BASH_SOURCE[0]}")/.. && pwd)
cd $ROOT

set -o errexit
set -o nounset
set -o pipefail

source "${ROOT}/hack/lib.sh"

hack::build_generators

ALL_FQ_APIS=github.com/kubernetes-incubator/external-storage/snapshot/pkg/apis/crd/v1

echo "Generating deepcopy funcs"
${OUTPUT_HOSTBIN}/deepcopy-gen --input-dirs ${ALL_FQ_APIS} -O zz_generated.deepcopy --bounding-dirs $ALL_FQ_APIS --logtostderr
6 changes: 3 additions & 3 deletions iscsi/targetd/provisioner/iscsi-provisioner.go
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ func (p *iscsiProvisioner) Provision(options controller.VolumeOptions) (*v1.Pers
v1.ResourceName(v1.ResourceStorage): options.PVC.Spec.Resources.Requests[v1.ResourceName(v1.ResourceStorage)],
},
PersistentVolumeSource: v1.PersistentVolumeSource{
ISCSI: &v1.ISCSIVolumeSource{
ISCSI: &v1.ISCSIPersistentVolumeSource{
TargetPortal: options.Parameters["targetPortal"],
Portals: portals,
IQN: options.Parameters["iqn"],
Expand All @@ -153,7 +153,7 @@ func (p *iscsiProvisioner) Provision(options controller.VolumeOptions) (*v1.Pers
FSType: getFsType(options.Parameters["fsType"]),
DiscoveryCHAPAuth: getBool(options.Parameters["chapAuthDiscovery"]),
SessionCHAPAuth: getBool(options.Parameters["chapAuthSession"]),
SecretRef: getSecretRef(getBool(options.Parameters["chapAuthDiscovery"]), getBool(options.Parameters["chapAuthSession"]), &v1.LocalObjectReference{Name: viper.GetString("provisioner-name") + "-chap-secret"}),
SecretRef: getSecretRef(getBool(options.Parameters["chapAuthDiscovery"]), getBool(options.Parameters["chapAuthSession"]), &v1.SecretReference{Name: viper.GetString("provisioner-name") + "-chap-secret"}),
},
},
},
Expand All @@ -176,7 +176,7 @@ func getFsType(fsType string) string {
return fsType
}

func getSecretRef(discovery bool, session bool, ref *v1.LocalObjectReference) *v1.LocalObjectReference {
func getSecretRef(discovery bool, session bool, ref *v1.SecretReference) *v1.SecretReference {
if discovery || session {
return ref
}
Expand Down
12 changes: 2 additions & 10 deletions lib/controller/controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ import (
"k8s.io/client-go/tools/cache"
"k8s.io/client-go/tools/record"
ref "k8s.io/client-go/tools/reference"
"k8s.io/kubernetes/pkg/api/v1/helper"
"k8s.io/kubernetes/pkg/apis/core/v1/helper"
"k8s.io/kubernetes/pkg/util/goroutinemap"
utilversion "k8s.io/kubernetes/pkg/util/version"
)
Expand Down Expand Up @@ -535,15 +535,7 @@ func (ctrl *ProvisionController) isOnlyRecordUpdate(oldClaim, newClaim *v1.Persi
// removeRecord returns a claim with its leader election record annotation and
// ResourceVersion set blank
func (ctrl *ProvisionController) removeRecord(claim *v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error) {
clone, err := scheme.Scheme.DeepCopy(claim)
if err != nil {
return nil, fmt.Errorf("Error cloning claim: %v", err)
}
claimClone, ok := clone.(*v1.PersistentVolumeClaim)
if !ok {
return nil, fmt.Errorf("Unexpected claim cast error: %v", claimClone)
}

claimClone := claim.DeepCopy()
if claimClone.Annotations == nil {
claimClone.Annotations = make(map[string]string)
}
Expand Down
10 changes: 1 addition & 9 deletions lib/controller/controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ import (
storagebeta "k8s.io/api/storage/v1beta1"
"k8s.io/apimachinery/pkg/api/resource"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/conversion"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/watch"
Expand Down Expand Up @@ -789,14 +788,7 @@ func (r *claimReactor) React(action testclient.Action) (handled bool, ret runtim
name := action.(testclient.GetAction).GetName()
claim, found := r.claims[name]
if found {
clone, err := conversion.NewCloner().DeepCopy(claim)
if err != nil {
return true, nil, fmt.Errorf("Error cloning claim %s: %v", name, err)
}
claimClone, ok := clone.(*v1.PersistentVolumeClaim)
if !ok {
return true, nil, fmt.Errorf("Error casting clone of claim %s: %v", name, claimClone)
}
claimClone := claim.DeepCopy()
return true, claimClone, nil
}
return true, nil, fmt.Errorf("Cannot find claim %s", name)
Expand Down
2 changes: 1 addition & 1 deletion lib/gidallocator/allocator.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ import (
"k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/kubernetes"
"k8s.io/kubernetes/pkg/api/v1/helper"
"k8s.io/kubernetes/pkg/apis/core/v1/helper"
)

const (
Expand Down
2 changes: 1 addition & 1 deletion local-volume/provisioner/pkg/discovery/discovery.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ import (
esUtil "github.com/kubernetes-incubator/external-storage/lib/util"
"github.com/kubernetes-incubator/external-storage/local-volume/provisioner/pkg/deleter"
"k8s.io/api/core/v1"
"k8s.io/kubernetes/pkg/api/v1/helper"
"k8s.io/kubernetes/pkg/apis/core/v1/helper"
)

// Discoverer finds available volumes and creates PVs for them
Expand Down
2 changes: 1 addition & 1 deletion local-volume/provisioner/pkg/discovery/discovery_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import (

"k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kubernetes/pkg/api/v1/helper"
"k8s.io/kubernetes/pkg/apis/core/v1/helper"
"k8s.io/kubernetes/pkg/util/mount"
"reflect"
)
Expand Down
6 changes: 5 additions & 1 deletion nfs/pkg/volume/provision.go
Original file line number Diff line number Diff line change
Expand Up @@ -450,7 +450,11 @@ func (p *nfsProvisioner) createDirectory(directory, gid string) error {
}

if gid != "none" {
groupID, _ := strconv.ParseUint(gid, 10, 64)
groupID, err := strconv.ParseUint(gid, 10, 64)
if err != nil {
os.RemoveAll(path)
return fmt.Errorf("chgrp failed with error: %v", err)
}
cmd := exec.Command("chgrp", strconv.FormatUint(groupID, 10), path)
out, err := cmd.CombinedOutput()
if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion openebs/openebs-provisioner.go
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ func (p *openEBSProvisioner) Provision(options controller.VolumeOptions) (*v1.Pe
v1.ResourceName(v1.ResourceStorage): options.PVC.Spec.Resources.Requests[v1.ResourceName(v1.ResourceStorage)],
},
PersistentVolumeSource: v1.PersistentVolumeSource{
ISCSI: &v1.ISCSIVolumeSource{
ISCSI: &v1.ISCSIPersistentVolumeSource{
TargetPortal: targetPortal,
IQN: iqn,
Lun: 1,
Expand Down
4 changes: 2 additions & 2 deletions openstack/standalone-cinder/pkg/provisioner/iscsi.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ func getChapSecretName(connection volumeservice.VolumeConnection, options contro

func (m *iscsiMapper) BuildPVSource(conn volumeservice.VolumeConnection, options controller.VolumeOptions) (*v1.PersistentVolumeSource, error) {
ret := &v1.PersistentVolumeSource{
ISCSI: &v1.ISCSIVolumeSource{
ISCSI: &v1.ISCSIPersistentVolumeSource{
// TODO: Need some way to specify the initiator name
TargetPortal: conn.Data.TargetPortal,
IQN: conn.Data.TargetIqn,
Expand All @@ -51,7 +51,7 @@ func (m *iscsiMapper) BuildPVSource(conn volumeservice.VolumeConnection, options
secretName := getChapSecretName(conn, options)
if secretName != "" {
ret.ISCSI.SessionCHAPAuth = true
ret.ISCSI.SecretRef = &v1.LocalObjectReference{
ret.ISCSI.SecretRef = &v1.SecretReference{
Name: secretName,
}
}
Expand Down
4 changes: 2 additions & 2 deletions openstack/standalone-cinder/pkg/provisioner/iscsi_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ var _ = Describe("Iscsi Mapper", func() {

BeforeEach(func() {
pv = createPersistentVolume()
pv.Spec.PersistentVolumeSource.ISCSI = &v1.ISCSIVolumeSource{}
pv.Spec.PersistentVolumeSource.ISCSI = &v1.ISCSIPersistentVolumeSource{}
})

JustBeforeEach(func() {
Expand All @@ -166,7 +166,7 @@ var _ = Describe("Iscsi Mapper", func() {

Context("when the PV contains a secret reference", func() {
BeforeEach(func() {
pv.Spec.ISCSI.SecretRef = &v1.LocalObjectReference{
pv.Spec.ISCSI.SecretRef = &v1.SecretReference{
Name: "secretName",
}
})
Expand Down
4 changes: 2 additions & 2 deletions openstack/standalone-cinder/pkg/provisioner/mapper_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ var _ = Describe("Mapper", func() {
Context("with an ISCSI PV", func() {
BeforeEach(func() {
source = v1.PersistentVolumeSource{
ISCSI: &v1.ISCSIVolumeSource{},
ISCSI: &v1.ISCSIPersistentVolumeSource{},
}
})

Expand All @@ -112,7 +112,7 @@ var _ = Describe("Mapper", func() {
Context("with an RBD PV", func() {
BeforeEach(func() {
source = v1.PersistentVolumeSource{
RBD: &v1.RBDVolumeSource{},
RBD: &v1.RBDPersistentVolumeSource{},
}
})

Expand Down
4 changes: 2 additions & 2 deletions openstack/standalone-cinder/pkg/provisioner/rbd.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,12 +60,12 @@ func (m *rbdMapper) BuildPVSource(conn volumeservice.VolumeConnection, options c
}

return &v1.PersistentVolumeSource{
RBD: &v1.RBDVolumeSource{
RBD: &v1.RBDPersistentVolumeSource{
CephMonitors: mons,
RBDPool: splitName[0],
RBDImage: splitName[1],
RadosUser: conn.Data.AuthUsername,
SecretRef: &v1.LocalObjectReference{
SecretRef: &v1.SecretReference{
Name: getRbdSecretName(options.PVC),
},
},
Expand Down

0 comments on commit 3a0bac3

Please sign in to comment.