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

OKE OSS Release v1.28.2 #484

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
e9e3f92
Do not add oke system tags for workload principal type
GouthamML May 28, 2024
c7b63d8
Workload Identity E2E code changes
l-technicore Oct 23, 2024
45be9a6
Lustre csi node driver added
dhananjay-ng Oct 20, 2023
0e075dc
Lnet setup ability in lustre csi node driver
dhananjay-ng Nov 9, 2023
de6777f
Added Ipv6 support for Storage Plugins
dhananjay-ng Apr 29, 2024
87c461c
Avoid change service type in update shape test cases
GouthamML Jun 3, 2024
9d10f56
Adding e2e test changes to run e2es on ipv6 & dual stack clusters
dhananjay-ng Mar 26, 2024
17a452d
Added Dns Names Support For Fss Mount Targets
dhananjay-ng Jul 10, 2024
e1c6cda
Adding rate limiting for fss node mount to avoid OOM
YashasG98 Jul 9, 2024
f6d9ef8
Added FSS mount options e2e enhancement
YashasG98 Jul 18, 2024
68245bb
Updating all CCM E2Es to create private LB where possible
l-technicore Jun 14, 2024
b015a56
Fix for the Workload Identity E2E
l-technicore Jun 14, 2024
3721010
Allow skipping E2Es via new SKIP_FOCUS environment variable
l-technicore Jul 9, 2024
26e8aa7
LB and NLB SingleStack IPv6 and DualStack implementation
pranavsriram8 Mar 25, 2024
1bded37
E2E bugfix: Inter pod communication test via k8s service
l-technicore Aug 5, 2024
9a98b8f
Skip worker nodes which don't have valid identifiers
AkarshES Jun 21, 2024
86ffd03
Update GO SDK to v65.71.0-p and enable dual-stack endpoint for Single…
pranavsriram8 Aug 7, 2024
4dcbbbf
fix UT to add instance id to instanceCache
pranavsriram8 Jul 30, 2024
18f2b1b
Updated UHP post detach logout wait logic
YashasG98 Jul 30, 2024
b18a50e
FSS Support on OMK
gaurav216 Jun 30, 2024
1830768
CCM E2E - K8s version check fix
l-technicore Nov 19, 2024
ec5d86a
Support ReadWriteOnceWithFSType fsGroupPolicy in CSI Driver for non-r…
YashwantGohokar Sep 2, 2024
2234202
Made error handling changes in FSS GetPrivateIP flow
YashasG98 Sep 13, 2024
e3d97ee
Using compartment identity client to get ADs for single stack clusters
YashasG98 Oct 3, 2024
226fef9
Fix CCM Bug in Sec List Rule Management when ipPReserveSource is set …
l-technicore Sep 17, 2024
0101497
Support for Proxy Protocol Version 2 (PPv2) on NLB via CCM
l-technicore Sep 3, 2024
eecbdc7
Fix bug in wrapper returning response for NSG rules
pranavsriram8 Oct 3, 2024
043e600
Add annotation to configure the cipher suites on LBaaS and add e2e te…
pranavsriram8 Sep 11, 2024
c97fb45
Add ds endpoint for telemetry client in case of SingleStack IPv6
pranavsriram8 Oct 7, 2024
fbbadc1
AuthSDK changes for SingleStack IPv6
pranavsriram8 Oct 14, 2024
a9f27d0
Fix readyToUse false issue for large data volumes
YashasG98 Oct 9, 2024
90ac101
Storage Backfill Controller to backfill existing storage resource wit…
GouthamML Aug 22, 2024
1d5f87b
Add Raw Block Volume support
handerajat Sep 20, 2024
720e642
Add OpenShift Tag to identify Openshift usage and support secondary v…
yutpeng Jul 15, 2024
ed40675
Fix the santisedDevices logic for ubuntu nodes
handerajat Nov 26, 2024
cb51d64
Release 1.28.2
l-technicore Nov 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 6 additions & 3 deletions .github/workflows/makefile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,16 @@ jobs:

- name: Check out code into the Go module directory
uses: actions/checkout@v2

- name: Install dependencies
run: |
go mod download
- name: Run Unit Tests
run: |
go test -covermode=count -coverprofile=profile.cov ./pkg/...
- name: Install goveralls
run: go install github.com/mattn/goveralls@latest
- name: Send coverage
env:
COVERALLS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
GO111MODULE=off go get github.com/mattn/goveralls
$(go env GOPATH)/bin/goveralls -coverprofile=profile.cov -service=github
goveralls -coverprofile=profile.cov -service=github
4 changes: 2 additions & 2 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${GITHUB_ACTOR,,} --password-stdin

- name: Build Image
run: OSS_REGISTRY="ghcr.io/oracle" VERSION="${{ github.ref_name }}" make image
run: OSS_REGISTRY="ghcr.io/${GITHUB_REPOSITORY_OWNER,,}" VERSION="${{ github.ref_name }}" make image

- name: Push Image
run: OSS_REGISTRY="ghcr.io/oracle" VERSION="${{ github.ref_name }}" make docker-push-all
run: OSS_REGISTRY="ghcr.io/${GITHUB_REPOSITORY_OWNER,,}" VERSION="${{ github.ref_name }}" make docker-push-all
9 changes: 4 additions & 5 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,14 @@ WORKDIR $SRC

RUN COMPONENT=${COMPONENT} make clean build

FROM oraclelinux:7-slim
FROM ghcr.io/oracle/oraclelinux:8-slim-fips

COPY --from=0 /go/src/github.com/oracle/oci-cloud-controller-manager/dist/* /usr/local/bin/
COPY --from=0 /go/src/github.com/oracle/oci-cloud-controller-manager/image/* /usr/local/bin/

RUN yum install -y util-linux \
&& yum install -y e2fsprogs \
&& yum install -y xfsprogs \
&& yum clean all
RUN microdnf -y install util-linux e2fsprogs xfsprogs python2 && \
microdnf update && \
microdnf clean all

COPY scripts/encrypt-mount /sbin/encrypt-mount
COPY scripts/encrypt-umount /sbin/encrypt-umount
Expand Down
9 changes: 4 additions & 5 deletions Dockerfile_arm_all
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,11 @@ WORKDIR $SRC

RUN ARCH=arm make clean build-arm-all

FROM arm64v8/oraclelinux:7-slim
FROM ghcr.io/oracle/oraclelinux:8-slim-fips-arm64v8

RUN yum install -y util-linux \
&& yum install -y e2fsprogs \
&& yum clean all
\
RUN microdnf -y install util-linux e2fsprogs xfsprogs python2 && \
microdnf update && \
microdnf clean all

COPY scripts/encrypt-mount /sbin/encrypt-mount
COPY scripts/encrypt-umount /sbin/encrypt-umount
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ else
VERSION ?= ${VERSION}
endif

RELEASE = v1.28.1
RELEASE = v1.28.2

GOOS ?= linux
ARCH ?= amd64
Expand Down
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,15 @@ cloud-provider specific code out of the Kubernetes codebase.
| v1.23.0 | v1.23 | - |
| v1.24.2 | v1.24 | - |
| v1.25.2 | v1.25 | - |
| v1.26.3 | v1.26 | - |
| v1.27.2 | v1.27 | - |
| v1.28.0 | v1.28 | - |

| v1.26.4 | v1.26 | - |
| v1.27.3 | v1.27 | - |
| v1.28.2 | v1.28 | - |
| v1.29.1 | v1.29 | - |
| v1.30.0 | v1.30 | - |


Note:
Versions older than v1.27.3 are no longer supported, new features / bug fixes will be available in v1.27.3 and later.
Versions older than v1.28.2 are no longer supported, new features / bug fixes will be available in v1.28.2 and later.

## Implementation
Currently `oci-cloud-controller-manager` implements:
Expand Down
12 changes: 4 additions & 8 deletions THIRD_PARTY_LICENSES.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1130,7 +1130,6 @@ SPDX:MIT

== Copyright
Copyright (c) 2013-2014 Onsi Fakhouri
Copyright (c) 2014 Amit Kumar Gupta

--------------------------------- (separator) ----------------------------------

Expand Down Expand Up @@ -1263,16 +1262,12 @@ END OF TERMS AND CONDITIONS


== Copyright
Copyright (c) 2012-2020 Mat Ryer, Tyler Bunnell and contributors.
Copyright (c) 2013 The Go Authors. All rights reserved.
Copyright (c) 2016, 2018, 2020, Oracle and/or its affiliates.
Copyright (c) 2016, 2018, 2020, Oracle and/or its affiliates. All rights reserved.
Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved.
Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
Copyright (c) 2016, 2023 Oracle and/or its affiliates.
Copyright (c) 2016, 2023, Oracle and/or its affiliates. All rights reserved.
Copyright © 2012-2020 Mat Ryer, Tyler Bunnell and contributors.
Copyright © 2013 The Go Authors. All rights reserved.

== Notices
Copyright (c) 2016, 2018, 2020, Oracle and/or its affiliates.
Expand Down Expand Up @@ -1978,7 +1973,6 @@ go.uber.org/zap
SPDX:MIT

== Copyright
Copyright (c) "*" Uber Technologies, Inc.")
Copyright (c) 2016 Uber Technologies, Inc.
Copyright (c) 2016, 2017 Uber Technologies, Inc.
Copyright (c) 2016-2017 Uber Technologies, Inc.
Expand Down Expand Up @@ -2120,6 +2114,7 @@ Copyright 2020 The Go Authors. All rights reserved.
Copyright 2021 The Go Authors. All rights reserved.
Copyright 2022 The Go Authors. All rights reserved.
Copyright 2023 The Go Authors. All rights reserved.
Copyright 2024 The Go Authors. All rights reserved.

== Patents
Additional IP Rights Grant (Patents)
Expand Down Expand Up @@ -3018,6 +3013,7 @@ Copyright 2020 The Kubernetes Authors.
Copyright 2021 The Kubernetes Authors.
Copyright 2022 The Kubernetes Authors.
Copyright 2023 The Kubernetes Authors.
Copyright 2024 The Kubernetes Authors.

--------------------------------- (separator) ----------------------------------

Expand Down Expand Up @@ -4007,5 +4003,5 @@ the Mozilla Public License, v. 2.0.


=== ATTRIBUTION-HELPER-GENERATED:
=== Attribution helper version: {Major:0 Minor:11 GitVersion: GitCommit: GitTreeState:dirty BuildDate:1970-01-01T00:00:00Z GoVersion:go1.19.3 Compiler:gc Platform:darwin/arm64}
=== License file based on go.mod with md5 sum: f13d103ac6a1fd64d889146a5a1dbc24
=== Attribution helper version: {Major:0 Minor:11 GitVersion:0.10.0-114-g3747dab9 GitCommit:3747dab92eb29c0dbe6409ffbb824b9ae3a04b87 GitTreeState:dirty BuildDate:2024-02-28T16:52:52Z GoVersion:go1.21.0 Compiler:gc Platform:darwin/amd64}
=== License file based on go.mod with md5 sum: 002d30e85246feb4f9ea96ae4ad1d826
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
package csicontrollerdriver

import (
"os"

"github.com/oracle/oci-cloud-controller-manager/cmd/oci-csi-controller-driver/csioptions"
"github.com/oracle/oci-cloud-controller-manager/pkg/csi/driver"
"github.com/oracle/oci-cloud-controller-manager/pkg/logging"
Expand All @@ -25,7 +27,7 @@ const (
bvCsiDriver = "BV"
)

//StartControllerDriver main function to start CSI Controller Driver
// StartControllerDriver main function to start CSI Controller Driver
func StartControllerDriver(csioptions csioptions.CSIOptions, csiDriver driver.CSIDriver) {

logger := logging.Logger().Sugar()
Expand All @@ -35,11 +37,16 @@ func StartControllerDriver(csioptions csioptions.CSIOptions, csiDriver driver.CS
var drv *driver.Driver
var err error

clusterIpFamily := os.Getenv("CLUSTER_IP_FAMILY")
if clusterIpFamily != "" {
logger.Infof("Using cluster ip family : %s", clusterIpFamily)
}

if csiDriver == bvCsiDriver {
controllerDriverConfig := &driver.ControllerDriverConfig{CsiEndpoint: csioptions.Endpoint, CsiKubeConfig: csioptions.Kubeconfig, CsiMaster: csioptions.Master, EnableControllerServer: true, DriverName: driver.BlockVolumeDriverName, DriverVersion: driver.BlockVolumeDriverVersion}
controllerDriverConfig := &driver.ControllerDriverConfig{CsiEndpoint: csioptions.Endpoint, CsiKubeConfig: csioptions.Kubeconfig, CsiMaster: csioptions.Master, EnableControllerServer: true, DriverName: driver.BlockVolumeDriverName, DriverVersion: driver.BlockVolumeDriverVersion, ClusterIpFamily: clusterIpFamily}
drv, err = driver.NewControllerDriver(logger, *controllerDriverConfig)
} else {
controllerDriverConfig := &driver.ControllerDriverConfig{CsiEndpoint: csioptions.FssEndpoint, CsiKubeConfig: csioptions.Kubeconfig, CsiMaster: csioptions.Master, EnableControllerServer: true, DriverName: driver.FSSDriverName, DriverVersion: driver.FSSDriverVersion}
controllerDriverConfig := &driver.ControllerDriverConfig{CsiEndpoint: csioptions.FssEndpoint, CsiKubeConfig: csioptions.Kubeconfig, CsiMaster: csioptions.Master, EnableControllerServer: true, DriverName: driver.FSSDriverName, DriverVersion: driver.FSSDriverVersion, ClusterIpFamily: clusterIpFamily}
drv, err = driver.NewControllerDriver(logger, *controllerDriverConfig)
}
if err != nil {
Expand Down
4 changes: 2 additions & 2 deletions cmd/oci-csi-controller-driver/csioptions/csioptions.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ const (
CrossNamespaceVolumeDataSource = "CrossNamespaceVolumeDataSource"
)

//CSIOptions structure which contains flag values
// CSIOptions structure which contains flag values
type CSIOptions struct {
Master string
Kubeconfig string
Expand Down Expand Up @@ -59,7 +59,7 @@ type CSIOptions struct {
EnableResizer bool
}

//NewCSIOptions initializes the flag
// NewCSIOptions initializes the flag
func NewCSIOptions() *CSIOptions {
csioptions := CSIOptions{
Master: *flag.String("master", "", "kube master"),
Expand Down
26 changes: 23 additions & 3 deletions cmd/oci-csi-node-driver/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,10 @@ func main() {
flag.StringVar(&nodecsioptions.Kubeconfig, "kubeconfig", "", "cluster kubeconfig")
flag.StringVar(&nodecsioptions.FssEndpoint, "fss-endpoint", "unix://tmp/fss/csi.sock", "FSS CSI endpoint")
flag.BoolVar(&nodecsioptions.EnableFssDriver, "fss-csi-driver-enabled", true, "Handle flag to enable FSS CSI driver")
flag.StringVar(&nodecsioptions.LustreEndpoint, "lustre-endpoint", "unix:///var/lib/kubelet/plugins/lustre.csi.oraclecloud.com/csi.sock", "Lustre CSI endpoint")
flag.StringVar(&nodecsioptions.LustreCsiAddress, "lustre-csi-address", "/var/lib/kubelet/plugins/lustre.csi.oraclecloud.com/csi.sock", "Path of the Lustre CSI driver socket that the node-driver-registrar will connect to.")
flag.StringVar(&nodecsioptions.LustreKubeletRegistrationPath, "lustre-kubelet-registration-path", "/var/lib/kubelet/plugins/lustre.csi.oraclecloud.com/csi.sock", "Path of the Lustre CSI driver socket on the Kubernetes host machine.")
flag.BoolVar(&nodecsioptions.OnlyEnableLustreDriver, "only-lustre-csi-driver-enabled", false, "Handle flag to enable Lustre CSI driver")

klog.InitFlags(nil)
flag.Set("logtostderr", "true")
Expand Down Expand Up @@ -65,10 +69,26 @@ func main() {
EnableControllerServer: false,
}

lustreNodeOptions := nodedriveroptions.NodeOptions{
Name: "Lustre",
Endpoint: nodecsioptions.LustreEndpoint,
NodeID: nodecsioptions.NodeID,
Kubeconfig: nodecsioptions.Kubeconfig,
Master: nodecsioptions.Master,
DriverName: driver.LustreDriverName,
DriverVersion: driver.LustreDriverVersion,
EnableControllerServer: false,
}

stopCh := signals.SetupSignalHandler()
go nodedriver.RunNodeDriver(blockvolumeNodeOptions, stopCh)
if nodecsioptions.EnableFssDriver {
go nodedriver.RunNodeDriver(fssNodeOptions, stopCh)

if nodecsioptions.OnlyEnableLustreDriver {
go nodedriver.RunNodeDriver(lustreNodeOptions, stopCh)
} else {
go nodedriver.RunNodeDriver(blockvolumeNodeOptions, stopCh)
if nodecsioptions.EnableFssDriver {
go nodedriver.RunNodeDriver(fssNodeOptions, stopCh)
}
}
<-stopCh
}
Expand Down
4 changes: 4 additions & 0 deletions cmd/oci-csi-node-driver/nodedriveroptions/nodecsioptions.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@ type NodeCSIOptions struct {

EnableFssDriver bool
FssEndpoint string
OnlyEnableLustreDriver bool
LustreCsiAddress string
LustreKubeletRegistrationPath string
LustreEndpoint string
}

type NodeOptions struct {
Expand Down
Loading