Skip to content

v0.5.0

Choose a tag to compare

@justaugustus justaugustus released this 21 Oct 20:47
· 4566 commits to master since this release
v0.5.0
a947968

Changes by Kind

API Change

  • Modify git.HasRemoteBranch() to split output into a bool and error. (#1620, @puerco)

Feature

  • Added RsyncRecursive() API to gcs package to run gsutil rsync (#1627, @saschagrunert)
  • Added --fast flag to krel push (#1575, @saschagrunert)
  • Added --validate-images flag to krel push to validate the existence of the remote images (default: false) (#1582, @saschagrunert)
  • Added NewImages().Publish() API to release package. (#1568, @saschagrunert)
  • Added krel anago push subcommand for publishing anago stage and release artifacts. (#1597, @saschagrunert)
  • Added release.PushReleaseArtifacts API which is now used in anago to push artifacts to GCS (#1603, @saschagrunert)
  • Added additional image validation step to krel anago push --stage to test for the image promotion. (#1633, @saschagrunert)
  • Added container images push feature to krel anago push (#1606, @saschagrunert)
  • Images: Build debian-iptables:stretch-v1.2.0
    • Removes iptables-wrapper, which was extraneous for the stretch
      variant of this image (#1623, @justaugustus)
  • Images: Build releng-ci with go1.15.3
    • images: Build kube-cross:v1.15.3-1 and v1.15.3-canary-1
      • Now built with go1.15.3
    • images: Build go-runner:buster-v2.1.0
  • Krel promote-images will now accept more than one --tag when patching the promotion manifest (#1641, @puerco)
  • Krel/gcbmgr: add build-at-head flag (#1589, @cpanato)
  • Migrate promotion CLI tools to k/release
    The following tools have been added to the repo:
  • New release.GitObjectPusher object to handle pushes to remote git repos
    • New krel anago push-git-objects subcommand that pushes branches and tags to a repository remote (#1595, @puerco)
  • New remote tag functions: git.RemoteTags() and git.HasRemoteTag() which return the tags in the default remote repository and check if one exists
    • git.LSRemote() now honors Repo.maxRetries and will retry when a network failure occurs (#1625, @puerco)
  • Pkg/release: Add release.StageLocalArtifacts() API (#1593, @saschagrunert)
  • Pull requests done to the Release Notes website will now include edits from the release team. This are read from the mapping files stored in kubernetes/sig-release. (#1648, @puerco)
  • git.Repo() now has a SetMaxRetries() function to enable retrying git ops when a network error occurs.
    • New function repo.HasBranch() added to the git package
    • Added a NetworkError type that wraps the golang standard error and can be queried to check if errors can be retried
    • git.Push() and git.HasRemoteBranch() now have retry capability (#1621, @puerco)

Bug or Regression

  • Adjust the way krel release-notes determines the start tag to match the post 1.19 branching strategy (#1573, @puerco)

  • Changed krel changelog to always generate the release notes against the latest minor on alpha.1 pre-release cuts. (#1572, @saschagrunert)

  • Fixed --fast upload location for krel push (#1583, @saschagrunert)

  • Fixed a bug in krel anago push where it did download kubernetes.tar into the wrong local destination path. (#1617, @saschagrunert)

  • Fixed bug where a command execution could dead-lock when only producing stderr output. Both streams are now in sync. (#1604, @saschagrunert)

  • Fixed image verification step to always stick to the provided container registry and not automatically use k8s.gcr.io (#1631, @saschagrunert)

  • New package k8s.io/release/pkg/editor gets rid of the dependency to the editor package in kubectl. (#1599, @puerco)

  • Starting with Debian Buster, nftables is available as a replacement for
    iptables, by default.

    More details here: https://wiki.debian.org/nftables

    This introduces both a "legacy" and an "nft" iptables variant.
    To deal with this, an iptables-wrapper script was introduced to detect the
    correct variant and run update-alternatives:

    A corresponding Dockerfile change was created to use iptables-wrapper.
    These now apply to the stretch image build, and assume that the legacy/nft
    variants exist, but they do not. This change removes the alternative
    handling, which is not applicable back in Debian Stretch.

    This is needed to build a new version of debian-iptables with a newer
    debian-base than we currently have available in the public repos. (#1613, @wespanther)

Other (Cleanup or Flake)

Dependencies

Added

  • cloud.google.com/go/logging: v1.1.0
  • github.com/Azure/azure-sdk-for-go: v42.3.0+incompatible
  • github.com/Azure/go-autorest/autorest/to: v0.3.0
  • github.com/Azure/go-autorest/autorest/validation: v0.2.0
  • github.com/GoogleCloudPlatform/k8s-cloud-provider: 27a4ced
  • github.com/aws/aws-sdk-go: v1.31.6
  • github.com/bgentry/speakeasy: v0.1.0
  • github.com/cockroachdb/datadriven: 80d97fb
  • github.com/coreos/go-oidc: v2.1.0+incompatible
  • github.com/dnaeon/go-vcr: v1.0.1
  • github.com/docker/cli: a8ff7f8
  • github.com/dustin/go-humanize: v1.0.0
  • github.com/google/go-containerregistry: v0.1.3
  • github.com/gophercloud/gophercloud: v0.1.0
  • github.com/jmespath/go-jmespath: v0.3.0
  • github.com/pelletier/go-buffruneio: v0.2.0
  • github.com/pquerna/cachecontrol: 0dec1b3
  • github.com/remyoudompheng/bigfft: 52369c6
  • github.com/rubiojr/go-vhd: 0bfd3b3
  • github.com/satori/go.uuid: v1.2.0
  • github.com/src-d/gcfg: v1.4.0
  • github.com/vdemeester/k8s-pkg-credentialprovider: v1.17.4
  • github.com/vmware/govmomi: v0.20.3
  • go.etcd.io/etcd: 3cf2f69
  • gonum.org/v1/gonum: 3d26580
  • gonum.org/v1/netlib: 7672324
  • gopkg.in/cheggaaa/pb.v1: v1.0.25
  • gopkg.in/gcfg.v1: v1.2.0
  • gopkg.in/natefinch/lumberjack.v2: v2.0.0
  • gopkg.in/src-d/go-billy.v4: v4.3.2
  • gopkg.in/src-d/go-git-fixtures.v3: v3.5.0
  • gopkg.in/src-d/go-git.v4: v4.13.1
  • k8s.io/apiserver: v0.17.4
  • k8s.io/cloud-provider: v0.17.4
  • k8s.io/csi-translation-lib: v0.17.4
  • k8s.io/legacy-cloud-providers: v0.17.4
  • modernc.org/cc: v1.0.0
  • modernc.org/golex: v1.0.0
  • modernc.org/mathutil: v1.0.0
  • modernc.org/strutil: v1.0.0
  • modernc.org/xc: v1.0.0
  • sigs.k8s.io/k8s-container-image-promoter/pkg: v0.3.0
  • sigs.k8s.io/structured-merge-diff/v3: v3.0.0
  • sigs.k8s.io/structured-merge-diff: b1b620d

Changed

Removed

  • github.com/MakeNowJust/heredoc: bb23615
  • github.com/cespare/xxhash/v2: v2.1.1
  • github.com/chai2010/gettext-go: c6fed77
  • github.com/daviddengcn/go-colortext: 511bcaf
  • github.com/exponent-io/jsonpath: d6023ce
  • github.com/fatih/camelcase: v1.0.0
  • github.com/golangplus/bytes: 45c989f
  • github.com/golangplus/fmt: 2a5d6d7
  • github.com/golangplus/testing: af21d9c
  • github.com/liggitt/tabwriter: 89fcab3
  • github.com/lithammer/dedent: v1.1.0
  • github.com/mitchellh/go-wordwrap: v1.0.0
  • k8s.io/cli-runtime: v0.19.2
  • k8s.io/kubectl: v0.19.2
  • k8s.io/metrics: v0.19.2
  • sigs.k8s.io/kustomize: v2.0.3+incompatible