Skip to content

Commit d9c1a62

Browse files
committed
remove hcp e2e stuff
Signed-off-by: Bharath Nallapeta <[email protected]>
1 parent 3f7892c commit d9c1a62

File tree

8 files changed

+2
-213
lines changed

8 files changed

+2
-213
lines changed

Makefile

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -236,15 +236,7 @@ test-conformance: $(GINKGO) e2e-prerequisites ## Run clusterctl based conformanc
236236
test-conformance-fast: ## Run clusterctl based conformance test on workload cluster (requires Docker) using a subset of the conformance suite in parallel.
237237
$(MAKE) test-conformance CONFORMANCE_E2E_ARGS="-kubetest.config-file=$(KUBETEST_FAST_CONF_PATH) -kubetest.ginkgo-nodes=5 $(E2E_ARGS)"
238238

239-
# Run HCP tests - Kamaji v1.0.0 is installed via Helm during test setup
240-
HCP_E2E_ARGS ?= $(E2E_ARGS)
241-
.PHONY: test-hcp
242-
test-hcp: $(GINKGO) e2e-prerequisites ## Run hosted control plane (HCP) tests using Kamaji
243-
time $(GINKGO) -fail-fast -trace -timeout=4h -show-node-events -v -tags=e2e \
244-
--output-dir="$(ARTIFACTS)" --junit-report="junit.hcp_suite.1.xml" \
245-
-focus="Hosted Control Plane tests" $(E2E_GINKGO_ARGS) ./test/e2e/suites/hcp/... -- \
246-
-config-path="$(E2E_CONF_PATH)" -artifacts-folder="$(ARTIFACTS)" \
247-
-data-folder="$(E2E_DATA_DIR)" $(HCP_E2E_ARGS)
239+
248240

249241
APIDIFF_OLD_COMMIT ?= $(shell git rev-parse origin/main)
250242

docs/book/src/development/development.md

Lines changed: 0 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -563,83 +563,4 @@ kubectl get openstackservers
563563

564564
This object is immutable and is created by the controller when a machine or a bastion is created. The `OpenStackServer` object is deleted when the machine or the bastion is deleted.
565565

566-
## Hosted Control Plane (HCP) Testing
567566

568-
CAPO supports testing Hosted Control Planes using Kamaji as the control plane provider. This allows testing scenarios where the Kubernetes control plane runs as pods in a management cluster while worker nodes run on OpenStack infrastructure.
569-
570-
### Prerequisites
571-
572-
* A working OpenStack environment (same requirements as regular e2e tests)
573-
* Helm 3.x installed locally
574-
* Management cluster with sufficient resources for hosting control planes
575-
576-
### Running HCP Tests
577-
578-
To run the hosted control plane e2e tests:
579-
580-
```bash
581-
make test-hcp OPENSTACK_CLOUD_YAML_FILE=/path/to/clouds.yaml OPENSTACK_CLOUD=my_cloud
582-
```
583-
584-
This will:
585-
1. Create a management cluster using kind
586-
2. Install CAPO in the management cluster
587-
3. Install Kamaji v1.0.0 using Helm
588-
4. Install the Kamaji Control Plane Provider v0.15.3
589-
5. Run HCP-specific test suites that validate:
590-
- Network configuration fixes for HCP scenarios
591-
- Security group precedence between machine and cluster levels
592-
- Worker node connectivity to hosted control planes via Konnectivity
593-
- Machine spec validation without explicit networks
594-
595-
### Architecture
596-
597-
The HCP testing follows this architecture:
598-
599-
```
600-
Management Cluster (kind)
601-
├── CAPO Controller
602-
├── Kamaji v1.0.0
603-
├── Kamaji Control Plane Provider v0.15.3
604-
└── TenantControlPlanes (running as pods)
605-
└── Connected to OpenStack worker nodes via Konnectivity
606-
```
607-
608-
### Test Flavors
609-
610-
HCP tests use the `hcp` flavor, which:
611-
- Uses `KamajiControlPlane` instead of `KubeadmControlPlane`
612-
- Configures Konnectivity for worker node communication
613-
- Sets up proper security groups for HCP networking
614-
- Validates the network configuration fixes from the `hcp-2380` branch
615-
616-
### Manual Installation
617-
618-
If you need to install Kamaji manually for development:
619-
620-
```bash
621-
# Install Kamaji using Helm
622-
helm repo add clastix https://clastix.github.io/charts
623-
helm repo update
624-
helm install kamaji clastix/kamaji --version v1.0.0 --namespace kamaji-system --create-namespace --wait
625-
626-
# Or use the convenience script
627-
./hack/install-kamaji.sh
628-
```
629-
630-
### Troubleshooting
631-
632-
**Worker nodes can't connect to control plane:**
633-
- Check Konnectivity service is running
634-
- Verify security groups allow traffic on port 8132
635-
- Ensure LoadBalancer service is properly configured
636-
637-
**TenantControlPlane fails to start:**
638-
- Check Kamaji controller logs: `kubectl logs -n kamaji-system -l app.kubernetes.io/name=kamaji`
639-
- Verify DataStore is ready: `kubectl get datastore -n kamaji-system`
640-
- Check etcd connectivity in the management cluster
641-
642-
**Network validation tests fail:**
643-
- Ensure OpenStack cloud has proper networking configuration
644-
- Verify security groups are properly configured
645-
- Check that external network is accessible for LoadBalancer services

go.mod

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ require (
5555
github.com/blang/semver/v4 v4.0.0 // indirect
5656
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
5757
github.com/cespare/xxhash/v2 v2.3.0 // indirect
58-
github.com/clastix/kamaji v1.0.0 // indirect
5958
github.com/cloudflare/circl v1.6.1 // indirect
6059
github.com/distribution/reference v0.6.0 // indirect
6160
github.com/docker/docker v28.0.2+incompatible // indirect

go.sum

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ github.com/Masterminds/semver/v3 v3.3.0 h1:B8LGeaivUe71a5qox1ICM/JLl0NqZSW5CHyL+
1616
github.com/Masterminds/semver/v3 v3.3.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
1717
github.com/Masterminds/sprig/v3 v3.3.0 h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe3tPhs=
1818
github.com/Masterminds/sprig/v3 v3.3.0/go.mod h1:Zy1iXRYNqNLUolqCpL4uhk6SHUMAOSCzdgBfDb35Lz0=
19-
github.com/Microsoft/go-winio v0.5.0 h1:Elr9Wn+sGKPlkaBvwu4mTrxtmOp3F3yV9qhaHbXGjwU=
20-
github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84=
2119
github.com/Microsoft/go-winio v0.6.0 h1:slsWYD/zyx7lCXoZVlvQrj0hPTM1HI4+v1sIda2yDvg=
2220
github.com/Microsoft/go-winio v0.6.0/go.mod h1:cTAf44im0RAYeL23bpB+fzCyDH2MJiz2BO69KH/soAE=
2321
github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cqUQ3I=
@@ -39,8 +37,6 @@ github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK3
3937
github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
4038
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
4139
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
42-
github.com/clastix/kamaji v1.0.0 h1:QY99C2qA3LpvVCKRxZcE96/uKf5Fd7hNpjJ676jrIBY=
43-
github.com/clastix/kamaji v1.0.0/go.mod h1:pZo07bC4oNawuu3Oi56mAvEBQU1/jjNcUUxLlSSq4to=
4440
github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I=
4541
github.com/cloudflare/circl v1.6.1 h1:zqIqSPIndyBh1bjLVVDHMPpVKqp8Su/V+6MeDzzQBQ0=
4642
github.com/cloudflare/circl v1.6.1/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs=
@@ -67,8 +63,6 @@ github.com/docker/docker v28.0.2+incompatible h1:9BILleFwug5FSSqWBgVevgL3ewDJfWW
6763
github.com/docker/docker v28.0.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
6864
github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c=
6965
github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc=
70-
github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw=
71-
github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
7266
github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4=
7367
github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
7468
github.com/drone/envsubst/v2 v2.0.0-20210730161058-179042472c46 h1:7QPwrLT79GlD5sizHf27aoY2RTvw62mO6x7mxkScNk0=
@@ -253,7 +247,6 @@ github.com/sagikazarmark/locafero v0.7.0 h1:5MqpDsTGNDhY8sGp0Aowyf0qKsPrhewaLSsF
253247
github.com/sagikazarmark/locafero v0.7.0/go.mod h1:2za3Cg5rMaTMoG/2Ulr9AwtFaIppKXTRYnozin4aB5k=
254248
github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k=
255249
github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME=
256-
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
257250
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
258251
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
259252
github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js=
@@ -275,7 +268,6 @@ github.com/stoewer/go-strcase v1.3.0/go.mod h1:fAH5hQ5pehh+j3nZfvwdk2RgEgQjAoM8w
275268
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
276269
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
277270
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
278-
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
279271
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
280272
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
281273
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
@@ -368,10 +360,8 @@ golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8=
368360
golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
369361
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
370362
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
371-
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
372363
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
373364
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
374-
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
375365
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
376366
golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
377367
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=

test/e2e/data/e2e_conf.yaml

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -92,20 +92,7 @@ providers:
9292
new: "imagePullPolicy: IfNotPresent"
9393
- old: "--leader-elect"
9494
new: "--leader-elect=false\n - --sync-period=1m"
95-
- name: kamaji
96-
type: ControlPlaneProvider
97-
versions:
98-
- name: v0.15.3
99-
value: "https://github.com/clastix/cluster-api-control-plane-provider-kamaji/releases/download/v0.15.3/control-plane-components.yaml"
100-
type: url
101-
contract: v1beta1
102-
files:
103-
- sourcePath: "../data/shared/v1beta1/metadata.yaml"
104-
replacements:
105-
- old: "imagePullPolicy: Always"
106-
new: "imagePullPolicy: IfNotPresent"
107-
- old: --metrics-addr=127.0.0.1:8080
108-
new: --metrics-addr=:8080
95+
10996
- name: openstack
11097
type: InfrastructureProvider
11198
versions:
@@ -148,7 +135,6 @@ providers:
148135
- sourcePath: "../data/shared/v1beta1_provider/metadata.yaml"
149136
- sourcePath: "./infrastructure-openstack-no-artifact/cluster-template.yaml"
150137
- sourcePath: "./infrastructure-openstack-no-artifact/cluster-template-without-lb.yaml"
151-
- sourcePath: "../../../../templates/cluster-template-hcp.yaml"
152138
replacements:
153139
- old: gcr.io/k8s-staging-capi-openstack/capi-openstack-controller:dev
154140
new: gcr.io/k8s-staging-capi-openstack/capi-openstack-controller:e2e
@@ -248,6 +234,3 @@ intervals:
248234
default/wait-machine-remediation: ["10m", "10s"]
249235
default/wait-image-create: ["15m", "10s"]
250236
default/wait-image-delete: ["2m", "10s"]
251-
hcp/wait-cluster: ["30m", "10s"]
252-
hcp/wait-control-plane: ["45m", "10s"]
253-
hcp/wait-worker-nodes: ["45m", "10s"]

test/e2e/data/kustomize/hcp/kamaji-controlplane.yaml

Lines changed: 0 additions & 41 deletions
This file was deleted.

test/e2e/data/kustomize/hcp/kustomization.yaml

Lines changed: 0 additions & 54 deletions
This file was deleted.

test/e2e/shared/defaults.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ const (
6060
FlavorFlatcar = "flatcar"
6161
FlavorKubernetesUpgrade = "k8s-upgrade"
6262
FlavorFlatcarSysext = "flatcar-sysext"
63-
FlavorHCP = "hcp"
6463
)
6564

6665
// DefaultScheme returns the default scheme to use for testing.

0 commit comments

Comments
 (0)