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
51 changes: 26 additions & 25 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,7 @@ SKIP_CREATE_MGMT_CLUSTER ?= true
.PHONY: e2e-substitutions
e2e-substitutions: $(ENVSUBST)
mkdir -p $(E2E_OUT_DIR)/main
mkdir -p $(E2E_OUT_DIR)/v1.12
mkdir -p $(E2E_OUT_DIR)/v1.11
mkdir -p $(E2E_OUT_DIR)/v1.10
mkdir -p $(E2E_OUT_DIR)/v1.9
Expand All @@ -183,11 +184,11 @@ e2e-substitutions: $(ENVSUBST)
## --------------------------------------
##@ templates
E2E_TEMPLATES_DIR ?= $(ROOT_DIR)/test/e2e/data/infrastructure-metal3
.PHONY: cluster-templates cluster-templates-main cluster-templates-v1.11 cluster-templates-v1.10 cluster-templates-v1.9
cluster-templates: cluster-templates-main cluster-templates-v1.11 cluster-templates-v1.10 cluster-templates-v1.9
.PHONY: cluster-templates cluster-templates-main cluster-templates-v1.12 cluster-templates-v1.11 cluster-templates-v1.10
cluster-templates: cluster-templates-main cluster-templates-v1.12 cluster-templates-v1.11 cluster-templates-v1.10

PHONY: clusterclass-templates clusterclass-templates-main clusterclass-templates-v1.11 clusterclass-templates-v1.10 clusterclass-templates-v1.9
clusterclass-templates: clusterclass-templates-main clusterclass-templates-v1.11 clusterclass-templates-v1.10 clusterclass-templates-v1.9
PHONY: clusterclass-templates clusterclass-templates-main clusterclass-templates-v1.12 clusterclass-templates-v1.11 clusterclass-templates-v1.10
clusterclass-templates: clusterclass-templates-main clusterclass-templates-v1.12 clusterclass-templates-v1.11 clusterclass-templates-v1.10

.PHONY: cluster-templates-main
cluster-templates-main: $(KUSTOMIZE) ## Generate cluster templates
Expand All @@ -212,6 +213,18 @@ clusterclass-templates-main: $(KUSTOMIZE) ## Generate cluster templates
$(KUSTOMIZE) build $(E2E_TEMPLATES_DIR)/main/clusterclass-template-upgrade-workload > $(E2E_OUT_DIR)/main/cluster-template-upgrade-workload.yaml
$(KUSTOMIZE) build $(E2E_TEMPLATES_DIR)/main/clusterclass > $(E2E_OUT_DIR)/main/clusterclass.yaml

.PHONY: cluster-templates-v1.12
cluster-templates-v1.12: $(KUSTOMIZE) ## Generate cluster templates
mkdir -p $(E2E_OUT_DIR)/v1.12
$(KUSTOMIZE) build $(E2E_TEMPLATES_DIR)/v1.12/cluster-template-ubuntu > $(E2E_OUT_DIR)/v1.12/cluster-template-ubuntu.yaml
$(KUSTOMIZE) build $(E2E_TEMPLATES_DIR)/v1.12/cluster-template-centos > $(E2E_OUT_DIR)/v1.12/cluster-template-centos.yaml
$(KUSTOMIZE) build $(E2E_TEMPLATES_DIR)/v1.12/cluster-template-centos-fake > $(E2E_OUT_DIR)/v1.12/cluster-template-centos-fake.yaml
$(KUSTOMIZE) build $(E2E_TEMPLATES_DIR)/v1.12/clusterclass-metal3 > $(E2E_OUT_DIR)/v1.12/clusterclass-metal3.yaml
$(KUSTOMIZE) build $(E2E_TEMPLATES_DIR)/v1.12/cluster-template-upgrade-workload > $(E2E_OUT_DIR)/v1.12/cluster-template-upgrade-workload.yaml
$(KUSTOMIZE) build $(E2E_TEMPLATES_DIR)/v1.12/cluster-template-centos-md-remediation > $(E2E_OUT_DIR)/v1.12/cluster-template-centos-md-remediation.yaml
$(KUSTOMIZE) build $(E2E_TEMPLATES_DIR)/v1.12/cluster-template-ubuntu-md-remediation > $(E2E_OUT_DIR)/v1.12/cluster-template-ubuntu-md-remediation.yaml
touch $(E2E_OUT_DIR)/v1.12/clusterclass.yaml


.PHONY: cluster-templates-v1.11
cluster-templates-v1.11: $(KUSTOMIZE) ## Generate cluster templates
Expand All @@ -223,7 +236,15 @@ cluster-templates-v1.11: $(KUSTOMIZE) ## Generate cluster templates
$(KUSTOMIZE) build $(E2E_TEMPLATES_DIR)/v1.11/cluster-template-upgrade-workload > $(E2E_OUT_DIR)/v1.11/cluster-template-upgrade-workload.yaml
$(KUSTOMIZE) build $(E2E_TEMPLATES_DIR)/v1.11/cluster-template-centos-md-remediation > $(E2E_OUT_DIR)/v1.11/cluster-template-centos-md-remediation.yaml
$(KUSTOMIZE) build $(E2E_TEMPLATES_DIR)/v1.11/cluster-template-ubuntu-md-remediation > $(E2E_OUT_DIR)/v1.11/cluster-template-ubuntu-md-remediation.yaml
touch $(E2E_OUT_DIR)/v1.10/clusterclass.yaml
touch $(E2E_OUT_DIR)/v1.11/clusterclass.yaml

.PHONY: clusterclass-templates-v1.12
clusterclass-templates-v1.12: $(KUSTOMIZE) ## Generate cluster templates
mkdir -p $(E2E_OUT_DIR)/v1.12
$(KUSTOMIZE) build $(E2E_TEMPLATES_DIR)/v1.12/clusterclass-template-ubuntu > $(E2E_OUT_DIR)/v1.12/cluster-template-ubuntu.yaml
$(KUSTOMIZE) build $(E2E_TEMPLATES_DIR)/v1.12/clusterclass-template-centos > $(E2E_OUT_DIR)/v1.12/cluster-template-centos.yaml
$(KUSTOMIZE) build $(E2E_TEMPLATES_DIR)/v1.12/clusterclass-template-upgrade-workload > $(E2E_OUT_DIR)/v1.12/cluster-template-upgrade-workload.yaml
$(KUSTOMIZE) build $(E2E_TEMPLATES_DIR)/v1.12/clusterclass > $(E2E_OUT_DIR)/v1.12/clusterclass.yaml

.PHONY: clusterclass-templates-v1.11
clusterclass-templates-v1.11: $(KUSTOMIZE) ## Generate cluster templates
Expand Down Expand Up @@ -253,26 +274,6 @@ clusterclass-templates-v1.10: $(KUSTOMIZE) ## Generate cluster templates
$(KUSTOMIZE) build $(E2E_TEMPLATES_DIR)/v1.10/clusterclass-template-upgrade-workload > $(E2E_OUT_DIR)/v1.10/cluster-template-upgrade-workload.yaml
$(KUSTOMIZE) build $(E2E_TEMPLATES_DIR)/v1.10/clusterclass > $(E2E_OUT_DIR)/v1.10/clusterclass.yaml

.PHONY: cluster-templates-v1.9
cluster-templates-v1.9: $(KUSTOMIZE) ## Generate cluster templates
mkdir -p $(E2E_OUT_DIR)/v1.9
$(KUSTOMIZE) build $(E2E_TEMPLATES_DIR)/v1.9/cluster-template-ubuntu > $(E2E_OUT_DIR)/v1.9/cluster-template-ubuntu.yaml
$(KUSTOMIZE) build $(E2E_TEMPLATES_DIR)/v1.9/cluster-template-centos > $(E2E_OUT_DIR)/v1.9/cluster-template-centos.yaml
$(KUSTOMIZE) build $(E2E_TEMPLATES_DIR)/v1.9/cluster-template-centos-fake > $(E2E_OUT_DIR)/v1.9/cluster-template-centos-fake.yaml
$(KUSTOMIZE) build $(E2E_TEMPLATES_DIR)/v1.9/clusterclass-metal3 > $(E2E_OUT_DIR)/v1.9/clusterclass-metal3.yaml
$(KUSTOMIZE) build $(E2E_TEMPLATES_DIR)/v1.9/cluster-template-upgrade-workload > $(E2E_OUT_DIR)/v1.9/cluster-template-upgrade-workload.yaml
$(KUSTOMIZE) build $(E2E_TEMPLATES_DIR)/v1.9/cluster-template-centos-md-remediation > $(E2E_OUT_DIR)/v1.9/cluster-template-centos-md-remediation.yaml
$(KUSTOMIZE) build $(E2E_TEMPLATES_DIR)/v1.9/cluster-template-ubuntu-md-remediation > $(E2E_OUT_DIR)/v1.9/cluster-template-ubuntu-md-remediation.yaml
touch $(E2E_OUT_DIR)/v1.9/clusterclass.yaml

.PHONY: clusterclass-templates-v1.9
clusterclass-templates-v1.9: $(KUSTOMIZE) ## Generate cluster templates
mkdir -p $(E2E_OUT_DIR)/v1.9
$(KUSTOMIZE) build $(E2E_TEMPLATES_DIR)/v1.9/clusterclass-template-ubuntu > $(E2E_OUT_DIR)/v1.9/cluster-template-ubuntu.yaml
$(KUSTOMIZE) build $(E2E_TEMPLATES_DIR)/v1.9/clusterclass-template-centos > $(E2E_OUT_DIR)/v1.9/cluster-template-centos.yaml
$(KUSTOMIZE) build $(E2E_TEMPLATES_DIR)/v1.9/clusterclass-template-upgrade-workload > $(E2E_OUT_DIR)/v1.9/cluster-template-upgrade-workload.yaml
$(KUSTOMIZE) build $(E2E_TEMPLATES_DIR)/v1.9/clusterclass > $(E2E_OUT_DIR)/v1.9/clusterclass.yaml

## --------------------------------------
## E2E Testing
## --------------------------------------
Expand Down
78 changes: 40 additions & 38 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ Metal3.
| v1beta1 | v1beta1 | v1.9.X |  v1.9.X        |
| v1beta1 | v1beta1 | v1.10.X |  v1.10.X       |
| v1beta1 | v1beta1 | v1.11.X |  v1.11.X       |
| v1beta1 | v1beta1 | v1.12.X |  v1.12.X       |

## Deploying the metal3 provider

Expand All @@ -53,9 +54,9 @@ need to be manually installed. Example flow of installing Metal3 provider:
level of the logging verbose with a positive integer number, ie. -v5.

```shell
clusterctl init --core cluster-api:v1.11.0 \
--bootstrap kubeadm:v1.11.0 \
--control-plane kubeadm:v1.11.0 -v5
clusterctl init --core cluster-api:v1.12.0 \
--bootstrap kubeadm:v1.12.0 \
--control-plane kubeadm:v1.12.0 -v5
```

1. Install Metal3 provider. This will install the latest version of Cluster API
Expand All @@ -69,7 +70,7 @@ need to be manually installed. Example flow of installing Metal3 provider:
provider name as follows:

```shell
clusterctl init --infrastructure metal3:v1.11.0
clusterctl init --infrastructure metal3:v1.12.0
```

1. Deploy Baremetal Operator manifests and CRDs. You need to install
Expand Down Expand Up @@ -147,6 +148,13 @@ To trigger e2e test on a PR, use the following phrases:
- **/test-centos-e2e-integration-test-main** runs integration e2e
tests with CAPM3 API version v1beta1 and branch main on CentOS

Release-1.12 branch:

- **/test metal3-ubuntu-e2e-integration-test-release-1-12** runs integration e2e
tests with CAPM3 API version v1beta1 and branch release-1.12 on Ubuntu
- **/test metal3-centos-e2e-integration-test-release-1-12** runs integration e2e
tests with CAPM3 API version v1beta1 and branch release-1.12 on CentOS

Release-1.11 branch:

- **/test metal3-ubuntu-e2e-integration-test-release-1-11** runs integration e2e
Expand All @@ -161,26 +169,19 @@ Release-1.10 branch:
- **/test metal3-centos-e2e-integration-test-release-1-10** runs integration e2e
tests with CAPM3 API version v1beta1 and branch release-1.10 on CentOS

Release-1.9 branch:

- **/test metal3-ubuntu-e2e-integration-test-release-1-9** runs integration e2e
tests with CAPM3 API version v1beta1 and branch release-1.9 on Ubuntu
- **/test metal3-centos-e2e-integration-test-release-1-9** runs integration e2e
tests with CAPM3 API version v1beta1 and branch release-1.9 on CentOS

## Basic tests

Unlike integration tests, basic tests focus on the target cluster creation
without involving pivoting from the bootstrap cluster. To run basic tests use:

- **/test metal3-ubuntu-e2e-basic-test-main** runs basic e2e tests with main
branch on Ubuntu
- **/test metal3-centos-e2e-basic-test-release-1-12** runs basic e2e tests on
release-1.12 branch with centos
- **/test metal3-centos-e2e-basic-test-release-1-11** runs basic e2e tests on
release-1.11 branch with centos
- **/test metal3-centos-e2e-basic-test-release-1-10** runs basic e2e tests on
release-1.10 branch with centos
- **/test metal3-centos-e2e-basic-test-release-1-9** runs basic e2e tests on
release-1.9 branch with centos

### Feature tests

Expand All @@ -199,6 +200,27 @@ feature tests with CAPM3 API version v1beta1 and branch main on Ubuntu
- **/test metal3-centos-e2e-feature-test-main-features** runs e2e non pivot based
feature tests with CAPM3 API version v1beta1 and branch main on CentOS

Release-1.12 branch:

- **/test metal3-ubuntu-e2e-feature-test-release-1-12-pivoting** runs e2e pivot
based feature tests with CAPM3 API version v1beta1 and branch release-1.12
on Ubuntu
- **/test metal3-ubuntu-e2e-feature-test-release-1-12-remediation** runs e2e
remediation based feature tests with CAPM3 API version v1beta1 and branch
release-1.12 on Ubuntu
- **/test metal3-ubuntu-e2e-feature-test-release-1-12-features** runs e2e non
pivot based feature tests with CAPM3 API version v1beta1 and branch release-1.12
on Ubuntu
- **/test metal3-centos-e2e-feature-test-release-1-12-pivoting** runs e2e pivot
based feature tests with CAPM3 API version v1beta1 and branch release-1.12 on
CentOS
- **/test metal3-centos-e2e-feature-test-release-1-12-remediation** runs e2e
remediation based feature tests with CAPM3 API version v1beta1 and branch
release-1.12 on CentOS
- **/test metal3-centos-e2e-feature-test-release-1-12-features** runs e2e non
pivot based feature tests with CAPM3 API version v1beta1 and branch
release-1.12 on CentOS

Release-1.11 branch:

- **/test metal3-ubuntu-e2e-feature-test-release-1-11-pivoting** runs e2e pivot
Expand Down Expand Up @@ -241,27 +263,6 @@ Release-1.10 branch:
pivot based feature tests with CAPM3 API version v1beta1 and branch
release-1.10 on CentOS

Release-1.9 branch:

- **/test metal3-ubuntu-e2e-feature-test-release-1-9-pivoting** runs e2e pivot
based feature tests with CAPM3 API version v1beta1 and branch release-1.9
on Ubuntu
- **/test metal3-ubuntu-e2e-feature-test-release-1-9-remediation** runs e2e
remediation based feature tests with CAPM3 API version v1beta1 and branch
release-1.9 on Ubuntu
- **/test metal3-ubuntu-e2e-feature-test-release-1-9-features** runs e2e non
pivot based feature tests with CAPM3 API version v1beta1 and branch release-1.9
on Ubuntu
- **/test metal3-centos-e2e-feature-test-release-1-9-pivoting** runs e2e pivot
based feature tests with CAPM3 API version v1beta1 and branch release-1.9 on
CentOS
- **/test metal3-centos-e2e-feature-test-release-1-9-remediation** runs e2e
remediation based feature tests with CAPM3 API version v1beta1 and branch
release-1.9 on CentOS
- **/test metal3-centos-e2e-feature-test-release-1-9-features** runs e2e non
pivot based feature tests with CAPM3 API version v1beta1 and branch
release-1.9 on CentOS

### Upgrade tests

#### Clusterctl upgrade tests
Expand All @@ -272,24 +273,25 @@ We run upgrade test on main branch from different releases:
- **/test metal3-e2e-clusterctl-upgrade-test-main** runs e2e clusterctl
upgrade tests on main with Ubuntu

- **/test metal3-e2e-clusterctl-upgrade-test-release-1-12** runs e2e clusterctl
upgrade tests on release-1.12 with Ubuntu

- **/test metal3-e2e-clusterctl-upgrade-test-release-1-11** runs e2e clusterctl
upgrade tests on release-1.11 with Ubuntu

- **/test metal3-e2e-clusterctl-upgrade-test-release-1-10** runs e2e clusterctl
upgrade tests on release-1.10 with Ubuntu

- **/test metal3-e2e-clusterctl-upgrade-test-release-1-9** runs e2e clusterctl
upgrade tests on release-1.9 with Ubuntu

#### K8s upgrade tests

CAPM3 tests upgrading kubernetes between last 3 releases.
The trigger takes the format:
`/test metal3-e2e-<from-minor-k8s-v>-<to-minor-k8s-v>-upgrade-test-<branch>`

- **/test metal3-e2e-1-33-1-34-upgrade-test-main**
- **/test metal3-e2e-1-33-1-34-upgrade-test-release-1-12**
- **/test metal3-e2e-1-31-1-32-upgrade-test-release-1-11**
- **/test metal3-e2e-1-32-1-33-upgrade-test-release-1-10**
- **/test metal3-e2e-1-31-1-32-upgrade-test-release-1-9**

Note:

Expand Down
2 changes: 1 addition & 1 deletion clusterctl-settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
"name": "infrastructure-metal3",
"config": {
"componentsFile": "infrastructure-components.yaml",
"nextVersion": "v1.12.99"
"nextVersion": "v1.13.99"
}
}
9 changes: 4 additions & 5 deletions scripts/ci-e2e.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,12 @@ if [[ "${CAPM3RELEASEBRANCH}" == release-* ]]; then
export IPAMRELEASE="v${CAPM3_RELEASE_PREFIX}.99"
export CAPI_RELEASE_PREFIX="v${CAPM3_RELEASE_PREFIX}."
else
export CAPM3RELEASE="v1.12.99"
export IPAMRELEASE="v1.12.99"
export CAPM3RELEASE="v1.13.99"
export IPAMRELEASE="v1.13.99"
# Commenting this out as CAPI release prefix and exporting CAPIRELEASE
# during pre-release phase of CAPI.
# We will change when minor is released.
# export CAPI_RELEASE_PREFIX="v1.12."
export CAPIRELEASE="v1.12.0-rc.1"
export CAPI_RELEASE_PREFIX="v1.12."
fi

# Default CAPI_CONFIG_FOLDER to $HOME/.config folder if XDG_CONFIG_HOME not set
Expand Down Expand Up @@ -64,7 +63,7 @@ export DATE
# If CAPI_NIGHTLY_BUILD is true, it means that the tests are run against the
# nightly build of CAPI components which are built from CAPI's main branch.
if [[ "${CAPI_NIGHTLY_BUILD:-false}" == "true" ]]; then
export CAPIRELEASE="v1.12.99"
export CAPIRELEASE="v1.13.99"
echo 'export CAPI_NIGHTLY_BUILD="true"' >>"${M3_DEV_ENV_PATH}/config_${USER}.sh"
fi

Expand Down
Loading