Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vendors serving v0.9.0 #458

Merged
merged 5 commits into from
Oct 28, 2019
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ require (
k8s.io/cli-runtime v0.0.0-20190325194458-f2b4781c3ae1
k8s.io/client-go v0.0.0-20190226174127-78295b709ec6
k8s.io/kube-openapi v0.0.0-20190722073852-5e22f3d471e6 // indirect
knative.dev/pkg v0.0.0-20190815170108-426561fd098d
knative.dev/serving v0.8.0
knative.dev/pkg v0.0.0-20191022181926-0b19b4ad9139
knative.dev/serving v0.9.0
knative.dev/test-infra v0.0.0-20190730202142-17f2331e80ad
sigs.k8s.io/yaml v1.1.0
)
8 changes: 4 additions & 4 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -181,10 +181,10 @@ k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8
k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
k8s.io/kube-openapi v0.0.0-20190722073852-5e22f3d471e6 h1:s9IxTKe9GwDH0S/WaX62nFYr0or32DsTWex9AileL7U=
k8s.io/kube-openapi v0.0.0-20190722073852-5e22f3d471e6/go.mod h1:RZvgC8MSN6DjiMV6oIfEE9pDL9CYXokkfaCKZeHm3nc=
knative.dev/pkg v0.0.0-20190815170108-426561fd098d h1:lU2PpEszinc2Xazu456C/hlRALzzGK8uT92HxO4FGzQ=
knative.dev/pkg v0.0.0-20190815170108-426561fd098d/go.mod h1:pgODObA1dTyhNoFxPZTTjNWfx6F0aKsKzn+vaT9XO/Q=
knative.dev/serving v0.8.0 h1:4SHZgkUnABOnEfvU86TCgVNi/twvekTUNr76ObC4ovA=
knative.dev/serving v0.8.0/go.mod h1:x2n255JS2XBI39tmjZ8CwTxIf9EKNMCrkVuiOttLRm0=
knative.dev/pkg v0.0.0-20191022181926-0b19b4ad9139 h1:wUapryP4MZmajUymSs5i3rL5Xh+SoZAqw/M5aFf0wvA=
knative.dev/pkg v0.0.0-20191022181926-0b19b4ad9139/go.mod h1:pgODObA1dTyhNoFxPZTTjNWfx6F0aKsKzn+vaT9XO/Q=
knative.dev/serving v0.9.0 h1:GVnsksAEX6vMXGygvzsGPIrFTypiesaseK7emm0LKWQ=
knative.dev/serving v0.9.0/go.mod h1:x2n255JS2XBI39tmjZ8CwTxIf9EKNMCrkVuiOttLRm0=
knative.dev/test-infra v0.0.0-20190730202142-17f2331e80ad h1:pXN0DA06tXwn4vgzIqJ13rf4U412rS+fRRww1JWJ+o4=
knative.dev/test-infra v0.0.0-20190730202142-17f2331e80ad/go.mod h1:xcdUkMJrLlBswIZqL5zCuBFOC22WIPMQoVX1L35i0vQ=
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
Expand Down
10 changes: 6 additions & 4 deletions pkg/kn/commands/human_readable_flags.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import (
"k8s.io/apimachinery/pkg/util/duration"
hprinters "knative.dev/client/pkg/printers"
"knative.dev/pkg/apis"
duckv1beta1 "knative.dev/pkg/apis/duck/v1beta1"
duckv1 "knative.dev/pkg/apis/duck/v1"
)

// HumanPrintFlags provides default flags necessary for printing.
Expand Down Expand Up @@ -70,7 +70,7 @@ func (f *HumanPrintFlags) EnsureWithNamespace() {
// Private functions

// conditionsValue returns the True conditions count among total conditions
func ConditionsValue(conditions duckv1beta1.Conditions) string {
func ConditionsValue(conditions duckv1.Conditions) string {
var ok int
for _, condition := range conditions {
if condition.Status == "True" {
Expand All @@ -81,7 +81,7 @@ func ConditionsValue(conditions duckv1beta1.Conditions) string {
}

// readyCondition returns status of resource's Ready type condition
func ReadyCondition(conditions duckv1beta1.Conditions) string {
func ReadyCondition(conditions duckv1.Conditions) string {
for _, condition := range conditions {
if condition.Type == apis.ConditionReady {
return string(condition.Status)
Expand All @@ -90,7 +90,9 @@ func ReadyCondition(conditions duckv1beta1.Conditions) string {
return "<unknown>"
}

func NonReadyConditionReason(conditions duckv1beta1.Conditions) string {
// NonReadyConditionReason returns formatted string of
// reason and message for non ready conditions
func NonReadyConditionReason(conditions duckv1.Conditions) string {
navidshaikh marked this conversation as resolved.
Show resolved Hide resolved
for _, condition := range conditions {
if condition.Type == apis.ConditionReady {
if string(condition.Status) == "True" {
Expand Down
7 changes: 4 additions & 3 deletions pkg/kn/commands/route/list_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,9 @@ import (
client_testing "k8s.io/client-go/testing"
"knative.dev/client/pkg/kn/commands"
"knative.dev/client/pkg/util"
"knative.dev/pkg/ptr"
servingv1 "knative.dev/serving/pkg/apis/serving/v1"
"knative.dev/serving/pkg/apis/serving/v1alpha1"
"knative.dev/serving/pkg/apis/serving/v1beta1"
)

func fakeRouteList(args []string, response *v1alpha1.RouteList) (action client_testing.Action, output []string, err error) {
Expand Down Expand Up @@ -115,9 +116,9 @@ func createMockRouteMeta(name string) *v1alpha1.Route {

func createMockTrafficTarget(revision string, percent int) *v1alpha1.TrafficTarget {
return &v1alpha1.TrafficTarget{
TrafficTarget: v1beta1.TrafficTarget{
TrafficTarget: servingv1.TrafficTarget{
RevisionName: revision,
Percent: percent,
Percent: ptr.Int64(int64(percent)),
},
}
}
Expand Down
2 changes: 1 addition & 1 deletion pkg/kn/commands/service/configuration_edit_flags.go
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ func (p *ConfigurationEditFlags) Apply(
}

if cmd.Flags().Changed("concurrency-limit") {
err = servinglib.UpdateConcurrencyLimit(template, p.ConcurrencyLimit)
err = servinglib.UpdateConcurrencyLimit(template, int64(p.ConcurrencyLimit))
if err != nil {
return err
}
Expand Down
2 changes: 1 addition & 1 deletion pkg/kn/commands/service/create_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -349,7 +349,7 @@ func TestServiceCreateMaxMinScale(t *testing.T) {
}
}

if template.Spec.ContainerConcurrency != 100 {
if *template.Spec.ContainerConcurrency != int64(100) {
t.Fatalf("container concurrency not set to given value 1000")
}
}
Expand Down
15 changes: 7 additions & 8 deletions pkg/kn/commands/service/describe.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ import (
serving_kn_v1alpha1 "knative.dev/client/pkg/serving/v1alpha1"

"knative.dev/pkg/apis"
"knative.dev/pkg/apis/duck/v1beta1"
duckv1 "knative.dev/pkg/apis/duck/v1"
"knative.dev/serving/pkg/apis/serving/v1alpha1"

"github.com/spf13/cobra"
Expand Down Expand Up @@ -68,7 +68,7 @@ type revisionDesc struct {
creationTimestamp time.Time

// traffic stuff
percent int
percent int64
tag string
latestTraffic *bool

Expand Down Expand Up @@ -319,7 +319,7 @@ func revisionHeader(desc *revisionDesc) string {

// Used for conditions table to do own formatting for the table,
// as the tabbed writer doesn't work nicely with colors
func getMaxTypeLen(conditions v1beta1.Conditions) int {
func getMaxTypeLen(conditions duckv1.Conditions) int {
max := 0
for _, condition := range conditions {
if len(condition.Type) > max {
Expand Down Expand Up @@ -474,7 +474,7 @@ func joinAndTruncate(sortedKeys []string, m map[string]string) string {
}

// Format target percentage that it fits in the revision table
func formatBullet(percentage int, status corev1.ConditionStatus) string {
func formatBullet(percentage int64, status corev1.ConditionStatus) string {
symbol := "+"
switch status {
case v1.ConditionTrue:
Expand Down Expand Up @@ -620,7 +620,7 @@ func addStatusInfo(desc *revisionDesc, revision *v1alpha1.Revision) {

func addTargetInfo(desc *revisionDesc, target *v1alpha1.TrafficTarget) {
if target != nil {
desc.percent = target.Percent
desc.percent = *target.Percent
desc.latestTraffic = target.LatestRevision
desc.tag = target.Tag
}
Expand Down Expand Up @@ -669,9 +669,8 @@ func addConcurrencyAndScaleInfo(desc *revisionDesc, revision *v1alpha1.Revision)
}
desc.concurrencyTarget = target

if revision.Spec.ContainerConcurrency != 0 {
limit := int64(revision.Spec.ContainerConcurrency)
desc.concurrencyLimit = &limit
if revision.Spec.ContainerConcurrency != nil {
desc.concurrencyLimit = revision.Spec.ContainerConcurrency
}

return nil
Expand Down
32 changes: 16 additions & 16 deletions pkg/kn/commands/service/describe_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@ import (
"k8s.io/apimachinery/pkg/api/resource"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"knative.dev/pkg/apis"
duckv1 "knative.dev/pkg/apis/duck/v1"
duckv1alpha1 "knative.dev/pkg/apis/duck/v1alpha1"
duckv1beta1 "knative.dev/pkg/apis/duck/v1beta1"
"knative.dev/serving/pkg/apis/autoscaling"
api_serving "knative.dev/serving/pkg/apis/serving"
servingv1 "knative.dev/serving/pkg/apis/serving/v1"
"knative.dev/serving/pkg/apis/serving/v1alpha1"
"knative.dev/serving/pkg/apis/serving/v1beta1"

client_serving "knative.dev/client/pkg/serving"
knclient "knative.dev/client/pkg/serving/v1alpha1"
Expand Down Expand Up @@ -128,7 +128,7 @@ func TestServiceDescribeLatestNotInTraffic(t *testing.T) {
expectedService := createTestService("foo", []string{"rev1", "rev2"}, goodConditions())
expectedService.Status.Traffic = expectedService.Status.Traffic[:1]
expectedService.Status.Traffic[0].LatestRevision = ptr.Bool(false)
expectedService.Status.Traffic[0].Percent = 100
expectedService.Status.Traffic[0].Percent = ptr.Int64(int64(100))

// Get service & revision
r.GetService("foo", &expectedService, nil)
Expand Down Expand Up @@ -159,7 +159,7 @@ func TestServiceDescribeEachNamedOnce(t *testing.T) {
expectedService := createTestService("foo", []string{"rev1", "rev2"}, goodConditions())
expectedService.Status.Traffic = expectedService.Status.Traffic[:1]
expectedService.Status.Traffic[0].LatestRevision = ptr.Bool(false)
expectedService.Status.Traffic[0].Percent = 100
expectedService.Status.Traffic[0].Percent = ptr.Int64(int64(100))

// Get service & revision
r.GetService("foo", &expectedService, nil)
Expand Down Expand Up @@ -495,7 +495,7 @@ func validateServiceOutput(t *testing.T, service string, output string) {
assert.Assert(t, util.ContainsAll(output, "Ready", "RoutesReady", "OK", "TYPE", "AGE", "REASON"))
}

func createTestService(name string, revisionNames []string, conditions duckv1beta1.Conditions) v1alpha1.Service {
func createTestService(name string, revisionNames []string, conditions duckv1.Conditions) v1alpha1.Service {

labelMap := make(map[string]string)
labelMap["label1"] = "lval1"
Expand All @@ -522,7 +522,7 @@ func createTestService(name string, revisionNames []string, conditions duckv1bet
DeprecatedDomain: name + ".default.example.com",
Address: &duckv1alpha1.Addressable{Hostname: name + ".default.svc.cluster.local"},
},
Status: duckv1beta1.Status{
Status: duckv1.Status{
Conditions: conditions,
},
},
Expand All @@ -535,10 +535,10 @@ func createTestService(name string, revisionNames []string, conditions duckv1bet
for _, rname := range revisionNames {
url, _ := apis.ParseURL(fmt.Sprintf("https://%s", rname))
target := v1alpha1.TrafficTarget{
TrafficTarget: v1beta1.TrafficTarget{
TrafficTarget: servingv1.TrafficTarget{
RevisionName: rname,
ConfigurationName: name,
Percent: 100 / len(revisionNames),
Percent: ptr.Int64(int64(100 / len(revisionNames))),
URL: url,
},
}
Expand All @@ -549,7 +549,7 @@ func createTestService(name string, revisionNames []string, conditions duckv1bet
return service
}

func addScaling(revision *v1alpha1.Revision, minScale, maxScale, concurrencyTarget, concurrenyLimit string) {
func addScaling(revision *v1alpha1.Revision, minScale, maxScale, concurrencyTarget, concurrencyLimit string) {
annos := make(map[string]string)
if minScale != "" {
annos[autoscaling.MinScaleAnnotationKey] = minScale
Expand All @@ -561,9 +561,9 @@ func addScaling(revision *v1alpha1.Revision, minScale, maxScale, concurrencyTarg
annos[autoscaling.TargetAnnotationKey] = concurrencyTarget
}
revision.Annotations = annos
if concurrenyLimit != "" {
l, _ := strconv.Atoi(concurrenyLimit)
revision.Spec.ContainerConcurrency = v1beta1.RevisionContainerConcurrencyType(l)
if concurrencyLimit != "" {
l, _ := strconv.ParseInt(concurrencyLimit, 10, 64)
revision.Spec.ContainerConcurrency = ptr.Int64(l)
}
}

Expand Down Expand Up @@ -603,7 +603,7 @@ func createTestRevision(revision string, gen int64) v1alpha1.Revision {
CreationTimestamp: metav1.Time{Time: time.Now()},
},
Spec: v1alpha1.RevisionSpec{
RevisionSpec: v1beta1.RevisionSpec{
RevisionSpec: servingv1.RevisionSpec{
PodSpec: v1.PodSpec{
Containers: []v1.Container{
{
Expand All @@ -622,15 +622,15 @@ func createTestRevision(revision string, gen int64) v1alpha1.Revision {
},
Status: v1alpha1.RevisionStatus{
ImageDigest: "gcr.io/test/image@" + imageDigest,
Status: duckv1beta1.Status{
Status: duckv1.Status{
Conditions: goodConditions(),
},
},
}
}

func goodConditions() duckv1beta1.Conditions {
ret := make(duckv1beta1.Conditions, 0)
func goodConditions() duckv1.Conditions {
ret := make(duckv1.Conditions, 0)
ret = append(ret, apis.Condition{
Type: apis.ConditionReady,
Status: v1.ConditionTrue,
Expand Down
2 changes: 1 addition & 1 deletion pkg/kn/commands/service/update_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -328,7 +328,7 @@ func TestServiceUpdateMaxMinScale(t *testing.T) {
}
}

if template.Spec.ContainerConcurrency != 100 {
if *template.Spec.ContainerConcurrency != int64(100) {
t.Fatalf("container concurrency not set to given value 1000")
}

Expand Down
30 changes: 16 additions & 14 deletions pkg/kn/traffic/compute.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ func splitByEqualSign(pair string) (string, string, error) {
return parts[0], strings.TrimSuffix(parts[1], "%"), nil
}

func newTarget(tag, revision string, percent int, latestRevision bool) (target v1alpha1.TrafficTarget) {
target.Percent = percent
func newTarget(tag, revision string, percent int64, latestRevision bool) (target v1alpha1.TrafficTarget) {
target.Percent = ptr.Int64(percent)
target.Tag = tag
if latestRevision {
target.LatestRevision = ptr.Bool(true)
Expand Down Expand Up @@ -140,30 +140,30 @@ func (e ServiceTraffic) TagLatestRevision(tag string) ServiceTraffic {
}

// SetTrafficByRevision checks given revision in existing traffic block and sets given percent if found
func (e ServiceTraffic) SetTrafficByRevision(revision string, percent int) {
func (e ServiceTraffic) SetTrafficByRevision(revision string, percent int64) {
for i, target := range e {
if target.RevisionName == revision {
e[i].Percent = percent
e[i].Percent = ptr.Int64(percent)
break
}
}
}

// SetTrafficByTag checks given tag in existing traffic block and sets given percent if found
func (e ServiceTraffic) SetTrafficByTag(tag string, percent int) {
func (e ServiceTraffic) SetTrafficByTag(tag string, percent int64) {
for i, target := range e {
if target.Tag == tag {
e[i].Percent = percent
e[i].Percent = ptr.Int64(percent)
break
}
}
}

// SetTrafficByLatestRevision sets given percent to latest ready revision of service
func (e ServiceTraffic) SetTrafficByLatestRevision(percent int) {
func (e ServiceTraffic) SetTrafficByLatestRevision(percent int64) {
for i, target := range e {
if *target.LatestRevision {
e[i].Percent = percent
e[i].Percent = ptr.Int64(percent)
break
}
}
Expand All @@ -172,18 +172,19 @@ func (e ServiceTraffic) SetTrafficByLatestRevision(percent int) {
// ResetAllTargetPercent resets (0) 'Percent' field for all the traffic targets
func (e ServiceTraffic) ResetAllTargetPercent() {
for i := range e {
e[i].Percent = 0
e[i].Percent = ptr.Int64(0)
}
}

// RemoveNullTargets removes targets from traffic block if they don't have and 0 percent traffic
// RemoveNullTargets removes targets from traffic block
// if they don't have a tag and 0 percent traffic
func (e ServiceTraffic) RemoveNullTargets() (newTraffic ServiceTraffic) {
for _, target := range e {
if target.Tag == "" && target.Percent == 0 {
} else {
if target.Tag != "" || *target.Percent != int64(0) {
newTraffic = append(newTraffic, target)
}
}

return newTraffic
}

Expand All @@ -192,6 +193,7 @@ func errorOverWritingtagOfLatestReadyRevision(existingTag, requestedTag string)
"refusing to overwrite existing tag with '%s', "+
"add flag '--untag %s' in command to untag it", existingTag, requestedTag, existingTag)
}

func errorOverWritingTag(tag string) error {
return fmt.Errorf("refusing to overwrite existing tag in service, "+
"add flag '--untag %s' in command to untag it", tag)
Expand Down Expand Up @@ -323,8 +325,8 @@ func Compute(cmd *cobra.Command, targets []v1alpha1.TrafficTarget, trafficFlags

for _, each := range trafficFlags.RevisionsPercentages {
// revisionRef works here as either revision or tag as either can be specified on CLI
revisionRef, percent, _ := splitByEqualSign(each) // err is verified in verifyInputSanity
percentInt, _ := strconv.Atoi(percent) // percentInt (for int) is verified in verifyInputSanity
revisionRef, percent, _ := splitByEqualSign(each) // err is verified in verifyInputSanity
percentInt, _ := strconv.ParseInt(percent, 10, 64) // percentInt (for int) is verified in verifyInputSanity

// fourth precedence: set traffic for latest revision
if revisionRef == latestRevisionRef {
Expand Down
Loading