Skip to content
Open
Show file tree
Hide file tree
Changes from all 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
32 changes: 2 additions & 30 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,34 +57,6 @@ jobs:
## Comma-separated list of files to upload
files: ./it-coverage.xml;./ut-coverage.xml

e2e-tests-v1alpha1:
runs-on: ubuntu-latest
needs: [
detect-noop,
]
if: needs.detect-noop.outputs.noop != 'true'
steps:
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: ${{ env.GO_VERSION }}

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

- name: Install Kind
# Before updating the kind version to use, verify that the current kind image
# is still supported by the version.
run: |
go install sigs.k8s.io/[email protected]

- name: Run e2e tests
run: |
OUTPUT_TYPE=type=docker make docker-build-member-agent docker-build-hub-agent docker-build-refresh-token e2e-tests-v1alpha1
env:
KUBECONFIG: '/home/runner/.kube/config'
HUB_SERVER_URL: 'https://172.19.0.2:6443'

e2e-tests:
strategy:
fail-fast: false
Expand Down Expand Up @@ -130,13 +102,13 @@ jobs:

- name: Install Ginkgo CLI
run: |
go install github.com/onsi/ginkgo/v2/ginkgo@v2.19.1
go install github.com/onsi/ginkgo/v2/ginkgo@v2.23.4

- name: Install Kind
# Before updating the kind version to use, verify that the current kind image
# is still supported by the version.
run: |
go install sigs.k8s.io/kind@v0.22.0
go install sigs.k8s.io/kind@v0.30.0

- name: Run e2e tests
run: |
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
REGISTRY ?= ghcr.io
KIND_IMAGE ?= kindest/node:v1.31.0
KIND_IMAGE ?= kindest/node:v1.33.4
ifndef TAG
TAG ?= $(shell git rev-parse --short=7 HEAD)
endif
Expand Down
2 changes: 1 addition & 1 deletion charts/hub-agent/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ image:
tag: main

logVerbosity: 5
logFileMaxSize: "100000000"

enableWebhook: true
webhookServiceName: fleetwebhook
Expand Down Expand Up @@ -49,5 +50,4 @@ hubAPIQPS: 250
hubAPIBurst: 1000
MaxConcurrentClusterPlacement: 100
ConcurrentResourceChangeSyncs: 20
logFileMaxSize: "10000000"
MaxFleetSizeSupported: 100
1 change: 1 addition & 0 deletions charts/member-agent/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ spec:
- --{{ $key }}={{ $value }}
{{- end }}
- --v={{ .Values.logVerbosity }}
- --log_file_max_size={{ .Values.logFileMaxSize }}
ports:
- name: http
containerPort: 4000
Expand Down
1 change: 1 addition & 0 deletions charts/member-agent/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ image:
tag: main

logVerbosity: 5
logFileMaxSize: "100000000"

refreshtoken:
repository: ghcr.io/azure/fleet/refresh-token
Expand Down
2 changes: 1 addition & 1 deletion pkg/controllers/workapplier/process.go
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@ func (r *Reconciler) takeOverInMemberClusterObjectIfApplicable(
) (shouldSkipProcessing bool) {
if !shouldInitiateTakeOverAttempt(bundle.inMemberClusterObj, work.Spec.ApplyStrategy, expectedAppliedWorkOwnerRef) {
// Takeover is not necessary; proceed with the processing.
klog.V(2).InfoS("Takeover is not needed; skip the step")
klog.V(2).InfoS("Takeover is not needed; skip the step", "work", klog.KObj(work), "GVR", *bundle.gvr, "manifestObj", bundle.workResourceIdentifierStr)
return false
}

Expand Down
7 changes: 2 additions & 5 deletions pkg/propertyprovider/azure/provider_integration_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -305,11 +305,8 @@ var (
)

var (
// The nodes below use actual capacities of their respective AKS SKUs; for more information,
// see:
// https://learn.microsoft.com/en-us/azure/virtual-machines/av2-series (for A-series nodes),
// https://learn.microsoft.com/en-us/azure/virtual-machines/sizes-b-series-burstable (for B-series nodes), and
// https://learn.microsoft.com/en-us/azure/virtual-machines/dv2-dsv2-series (for D/DS v2 series nodes).
// The nodes below use actual capacities of their respective AKS SKUs; We need to change them periodically as
// they will be deprecated over time.
nodes = []corev1.Node{
{
ObjectMeta: metav1.ObjectMeta{
Expand Down
8 changes: 4 additions & 4 deletions pkg/propertyprovider/azure/suite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,10 @@ const (

const (
region = "eastus"

aksNodeSKU1 = "Standard_B4ms"
aksNodeSKU2 = "Standard_A4_v2"
aksNodeSKU3 = "Standard_F4s"
// we need to regularly update the SKUs used in tests as some of them get deprecated over time.
aksNodeSKU1 = "Standard_D8s_v5"
aksNodeSKU2 = "Standard_E16_v5"
aksNodeSKU3 = "Standard_M16ms"
// Note (chenyu1): cross-reference between the Azure VM SKU list and the Azure Retail Prices API
// for a list of currently known SKUs to be missing from the Azure Retail Prices API.
aksNodeKnownMissingSKU1 = "Standard_DS2_v2"
Expand Down
2 changes: 1 addition & 1 deletion pkg/propertyprovider/azure/trackers/nodes.go
Original file line number Diff line number Diff line change
Expand Up @@ -326,7 +326,7 @@ func (nt *NodeTracker) trackSKU(node *corev1.Node) bool {
return true
default:
// No further action is needed if the node's SKU remains the same.
klog.V(2).InfoS("The node's SKU has not changed", "sku", sku, "node", klog.KObj(node))
klog.V(3).InfoS("The node's SKU has not changed", "sku", sku, "node", klog.KObj(node))
return false
}
}
Expand Down
2 changes: 1 addition & 1 deletion test/e2e/resource_placement_rollout_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ var (
testCustomResource testv1alpha1.TestResource
)

var _ = Describe("placing namespaced scoped resources using a RP with rollout", Label("resourceplacement"), func() {
var _ = FDescribe("placing namespaced scoped resources using a RP with rollout", Label("resourceplacement"), func() {
crpName := fmt.Sprintf(crpNameTemplate, GinkgoParallelProcess())
rpName := fmt.Sprintf(rpNameTemplate, GinkgoParallelProcess())
rpKey := types.NamespacedName{Name: rpName, Namespace: appNamespace().Name}
Expand Down
2 changes: 1 addition & 1 deletion test/e2e/setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ set -o pipefail

# Before updating the default kind image to use, verify that the version is supported
# by the current kind release.
KIND_IMAGE="${KIND_IMAGE:-kindest/node:v1.31.0}"
KIND_IMAGE="${KIND_IMAGE:-kindest/node:v1.33.4}"
KUBECONFIG="${KUBECONFIG:-$HOME/.kube/config}"
MEMBER_CLUSTER_COUNT=$1

Expand Down
17 changes: 14 additions & 3 deletions test/e2e/utils_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -330,7 +330,7 @@ func checkIfAzurePropertyProviderIsWorking() {
return fmt.Errorf("member cluster status conditions diff (-got, +want):\n%s", diff)
}
return nil
}, longEventuallyDuration, eventuallyInterval).Should(Succeed(), "Failed to confirm that Azure property provider is up and running")
}, longEventuallyDuration, eventuallyInterval).Should(Succeed(), "Failed to confirm that Azure property provider is up and running on cluster", memberCluster.ClusterName)
}
}

Expand Down Expand Up @@ -721,8 +721,19 @@ func createWorkResources() {
}

func createNamespace() {
ns := appNamespace()
Expect(hubClient.Create(ctx, &ns)).To(Succeed(), "Failed to create namespace %s", ns.Name)
var ns corev1.Namespace
Eventually(func() error {
ns = appNamespace()
err := hubClient.Create(ctx, &ns)
if k8serrors.IsAlreadyExists(err) {
err = hubClient.Get(ctx, types.NamespacedName{Name: ns.Name}, &ns)
if err != nil {
return fmt.Errorf("failed to get the namespace %s, err is %+w", ns.Name, err)
}
return fmt.Errorf("namespace %s already exists, delete time is %v", ns.Name, ns.GetDeletionTimestamp())
}
return err
}, eventuallyDuration, eventuallyInterval).Should(Succeed(), "Failed to create namespace %s", ns.Name)
}

func createConfigMap() {
Expand Down
Loading