Releases: metal3-io/baremetal-operator
v0.6.0
Changes since v0.5.1
🔒 Vulnerability fixes
Ironic-image v24.1.1
has a security advisory which in Metal3 context has circular dependency to this Baremetal Operator release (v0.6.0 contains #1657), making this BMO release and Ironic-image release coupled by default (coupling can be reversed via configuration).
⚠️ Breaking Changes
- Remove ibmc and idrac drivers (#1624)
- Update to gophercloud v2.0.0-beta.3.0.20240416104816-9aef3836d310 (#1569, #1676)
- Remove Inspector from all deployments scripts (#1544)
✨ New Features
- HostFirmwareComponents CRD and Controller & Tests (#1559)
- Add nonbootable iso api (#1623)
- Add new CRD for FirmwareComponents Update (#1501)
🐛 Bug Fixes
- Fixes for HostFirmwareComponents (#1655)
- Fix an indentation error in kustomization file regarding ironic configmap generator (#1548)
- Fix VM selection in clean-e2e.sh (#1537)
- Implement E2E_CONF_FILE Override in ci-e2e.sh (#1526)
- Fix ginkgo version mismatch between cli and import package in e2e (#1524)
📖 Documentation
- Remove redundant deploy instruction (#1652)
- update releasing docs (#1640)
- Add alternative Tilt setup method to documentation (#1558)
- Add trigger phrases and status badge for e2e tests (#1525)
- switch markdownlint container to markdownlint-cli2 (#1521)
- add release-0.5 to README.md (#1517)
- update releasing.md (#1519)
- fix previous release detection in make release-notes (#1511)
🌱 Others
- Pinning ironic image release-24.1 (#1679)
- Add e2e ironic upgrades (#1662)
- Added unit tests for baremetalHostTypes and bmceventSubscriptionController (#1615)
- E2E: Run multiple BMO upgrade tests in sequence (#1561)
- E2E: Cleanup emulator variable (#1661)
- E2E: Prepare for emulator based on protocol (#1656)
- Make use of the new liveness/readiness probe scripts (#1657)
- add workflow to approve actions on PR change (#1654)
- Fix link in e2e readme (#1653)
- check for skipCleanup before running cleanup of test resources (#1641)
- Test virtualmedia booting (#1520)
- Update ironic basic-auth-tls overlay (#1651)
- add support for beta/rc releases in release notes (#1636)
- remove obsolete Makefile related gofmt, gosec scripts (#1632)
- add golang base image check to verify-release.sh (#1614)
- Remove last traces of auth-config (#1605)
- Stop setting IRONIC_FAST_TRACK by default (#1603)
- add release-* as branch trigger to e2e fixture workflow (#1599)
- E2E: Add labels on test coverage (#1578)
- Add unit test on features.go (#1579)
- Move e2e config functionality to a separate file (#1593)
- Update OWNERS file (#1570)
- E2E: Workaround issue with minikube image load (#1572)
- Drop dependency on x/exp/slices (#1567)
- Use real Context and make provisioners context-aware (#1566)
- Drop dependency on pkg/errors from hardwareutils (#1568)
- Allow BMC address to be updated (#1549)
- Add ironic and bmo cleanup for upgrade BMO E2E tests (#1553)
- E2E: Fix basic auth config (#1556)
- E2E: Remove unused variables (#1557)
- Reduce GH fixture test GINKGO_NODES to 1 (#1543)
- Add 'wait-power-state' interval to fixture test for flake fix (#1551)
- E2E Upgrade test: Add more BMO versions to upgrade from (#1523)
- Enabled more golangci linters (#1536)
- E2E: Increase some intervals (#1546)
- add iPXE TLS support to local ironic deployment (#1326)
- Enable parallel testing in E2E (#1527)
- Set USE_IRONIC_INSPECTOR explicitly (to true for now) (#1530)
- Add BMO e2e upgrade test (#1451)
- Install golangci-lint directly instead of building it using go-modules (#1522)
- Add golangci-lint github workflow (#1394)
- reduce github actions permissions (#1509)
- Add github action to trigger container images build (#1456)
- Develop User-Friendly baremetalhost creation for Tilt interface (#1483)
- Bump google.golang.org/protobuf to v1.33.0 (#1608)
- Bump golang.org/x/net to v0.23.0 and golang to v1.21.9 (#1658)
- Bump actions/checkout from 4.1.1 to 4.1.2 (#1647)
- Bump actions/cache from 4.0.1 to 4.0.2 (#1644)
- Bump github/codeql-action from 3.24.6 to 3.24.9 (#1646)
- Bump github.com/onsi/gomega from 1.31.1 to 1.32.0 (#1625)
- Bump controller-runtime to v0.16.3 and CAPI to v1.6.4 (#1678)
- Bump github.com/go-logr/logr from 1.3.0 to 1.4.1 (#1500)
- Bump EndBug/add-and-commit from 9.1.3 to 9.1.4 (#1540)
- Bump actions/setup-go from 4.1.0 to 5.0.0 (#1538)
- Bump go.etcd.io/etcd/client/pkg/v3 from 3.5.12 to 3.5.13 (#1643)
- Bump github.com/google/uuid from 1.5.0 to 1.6.0 (#1534)
- Bump go.uber.org/zap from 1.26.0 to 1.27.0 (#1563)
- Bump shellcheck to v0.10.0 (#1609)
- Bump github.com/docker/docker from 24.0.7+incompatible to 24.0.9+incompatible in /test (#1630)
- Bump golangci-lint to v1.56.2 (#1588)
- Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 (#1590)
- Bump softprops/action-gh-release from 1 to 2 (#1645)
- Bump github.com/prometheus/client_golang from 1.18.0 to 1.19.0 (#1592)
♻️ Superseded or Reverted
- Bump: (#1510, #1515, #1529, #1535, #1539, #1541, #1542, #1547, #1564, #1575, #1576, #1577, #1619, #1633, #1675, #1676)
The image for this release is: v0.6.0
Thanks to all our contributors! 😊
v0.5.1
Changes since v0.5.0
📖 Documentation
- Update build badges (#1518)
🌱 Others
- Bump CAPI to v1.5.6 (#1595)
- Bump go to v1.21.7 (#1584)
- Add build image action to release-0.5 (#1580)
- Harden stable branch against inspector removal (#1562)
- Update OWNERS file (#1582)
♻️ Superseded or Reverted
The container image for this release is: v0.5.1
Thanks to all our contributors! 😊
v0.4.2
Changes since v0.4.1
🌱 Others
- Harden release-0.4 against ironic inspector removal (#1587)
- Bump go to v1.21.7 (#1585)
- Add build images action to release-0.4 (#1581)
- Bump gosec to 2.18.2 (#1475)
- Bump markdownlint to 0.13.0 (#1471)
- Update OWNERS file (#1583)
- Improve hack/verify-release.sh draft release note handling (#1460)
♻️ Superseded or Reverted
- Go Bump: (#1514)
The container image for this release is: v0.4.2
Thanks to all our contributors! 😊
v0.5.0
Changes since v0.4.1
⚠️ Breaking Changes
- Kustomizations usable off the shelf (#1438)
- Add "empty" profile and officially deprecate hardware profiles (#1381)
- Use ironic inventory API instead of calling ironic-inspector (#1355)
- adopt manifests for kustomize v5 (#1353)
✨ New Features
- Add an explicit way to auto-detect ChecksumType (#1480)
- Support both Ironic and Inspector inventory formats (#1450)
- Detect which inspection implementation to use for new nodes (#1446)
- Expose FirmwareInterface in Node/BMC (#1441)
- Implement API version negotiation (#1435)
- Pass preprovisioningNetworkData to Ironic (#1380)
- Add e2e tests (#1303)
- Add a list of alternate disk names to HardwareDetails (#1269)
🐛 Bug Fixes
- Fix htpasswd command not found (#1486)
- Don't munge timestamp in structured logs, again (#1439)
- Do not update instance_info and deploy_interface for active nodes (#1428)
- Log node updates with a normal logger (#1420)
- Prevent hosts from getting into infinite power-off loops (#1356)
- Proceed to power off after deprovisioning (#1312)
📖 Documentation
- add OpenSSF Scorecard badge to README (#1499)
- add clomonitor badge to README (#1492)
- Commit signing off update. (#1445)
- Add release-0.3 branch test triggers in README (#1421)
- Add CI support and branch maintenance section (#1393)
- Add test trigger description for diffrerent branches in README (#1388)
- clarify tag usage in releasing.md (#1366)
- fix releasing.md on annotated tags (#1365)
- fix typo in releasing.md (#1363)
- update releasing.md (#1352)
- improve release notes tool (#1348)
🌱 Others
- bump go modules in /test to sync (#1507)
- E2E: Have a common function to install BMO and Ironic (#1494)
- E2e: Name artifacts based on emulator (#1490)
- Bump github.com/prometheus/client_golang from 1.17.0 to 1.18.0 (#1505)
- E2e: Change the filename of basic_provisioning_test.go to provisioning_and_annotation_test.go. (#1493)
- Bump actions/setup-go from 4.1.0 to 5.0.0 (#1504)
- Bump kubernetes-sigs/kubebuilder-release-tools from 0.4.2 to 0.4.3 (#1503)
- Bump github/codeql-action from 2.22.8 to 3.22.12 (#1502)
- bump x/crypto to 0.17.0 (#1497)
- E2e Add SSH Key-Based Authentication (#1491)
- Bump github.com/google/uuid from 1.4.0 to 1.5.0 (#1495)
- Bump go.etcd.io/etcd/client/pkg/v3 from 3.5.10 to 3.5.11 (#1488)
- e2e: Enhanced Serial Log Checking Functionality (#1470)
- sync cert-manager version with preloaded images in e2e (#1479)
- bump gosec to 2.18.2 (#1474)
- E2e live iso ssh implementation (#1453)
- Fix ensure-minikube script to allow minikube versions greater than MINIMUM_MINIKUBE_VERSION (#1469)
- bump markdownlint to 0.13.0 (#1467)
- Delete "ok-to-test" label from dependabot PRs (#1463)
- improve hack/verify-release.sh draft release note handling (#1459)
- Bump golang version to 1.20.11 (#1454)
- Implement Helper Functions for E2E Tests (#1448)
- Enable the Redfish RAID interfaces (#1452)
- Remove traces of IRONIC_INSPECTOR_ENDPOINT in BMO (#1447)
- Replace uses of kubectl and cmctl binaries in e2e (#1440)
- Add github workflow for e2e fixture tests (#1437)
- Bump github.com/golangci/golangci-lint from 1.55.1 to 1.55.2 in /hack/tools (#1432)
- Bump github.com/onsi/gomega from 1.29.0 to 1.30.0 (#1444)
- Implement Detached/Status Annotation E2E Test (#1434)
- Clean up logging and error handling in the webhooks (#1427)
- Integrate sushy-tools and Redfish into e2e testing (#1410)
- Bump github.com/docker/docker from 24.0.5+incompatible to 24.0.7+incompatible in /test (#1409)
- Adding PR title verifier (#1426)
- Bump actions/checkout from 4.1.0 to 4.1.1 (#1424)
- Re-inspection by annotation test added (#1402)
- fix various issues with go modules (#1418)
- add verify-release.sh (#1407)
- Bump github.com/go-logr/logr from 1.2.4 to 1.3.0 (#1413)
- Bump sigs.k8s.io/yaml from 1.3.0 to 1.4.0 (#1414)
- Implement BMH provisioning E2E test (#1403)
- Fixing ensure-go script to allow go versions greater than MINIMUM_GO_VERSION (#1405)
- Adding go work files in gitignore (#1404)
- Add e2e basic operations test (#1389)
- Add e2e external inspection test (#1382)
- Bump golang.org/x/net from 0.14.0 to 0.17.0 (#1392)
- Enable concurrency in BMO controllers through cmdLine flags (#1247)
- Gosec: Run submodules separately (#1362)
- run dependabot less often (#1359)
- Bump go.uber.org/zap from 1.25.0 to 1.26.0 (#1358)
- Stop using Inspector API for inspection status (#1260)
- Bump actions/cache from 3.3.1 to 3.3.2 (#1354)
- Bump github.com/gophercloud/gophercloud from 1.5.0 to 1.6.0 (#1350)
- fix issue with git directory ownership in golint (#1349)
♻️ Superseded or Reverted
- Bump: (#1351, #1357, #1376, #1377, #1378, #1379, #1390, #1391, #1397, #1400, #1401, #1408, #1411, #1412, #1415, #1416, #1425, #1464, #1465)
The container image for this release is: v0.5.0
Thanks to all our contributors! 😊
v0.4.1
v0.4.0
Changes since v0.3.1
⚠️ Breaking Changes
- Change iBMC to use iPXE instead of PXE (#1305)
- bump core kubernetes libraries (#1276)
- Move hardware profile code to the api module (#1278)
✨ New Features
- Add an explicit Architecture field (closes #1270) (#1328)
- Add TLS configuration flags for BMO (#1282)
🐛 Bug Fixes
- Trigger reconcile on Secret change (#1322)
- Remove duplicate declaration of annotation constants outside metal3api (#1310)
- Power off nodes upon deletion (#1176)
📖 Documentation
- update releasing.md with release branches (#1298)
🌱 Others
- fix the golang tag and sha to match golang:1.20.7 (#1345)
- Bump actions/checkout from 3.5.3 to 3.6.0 (#1344)
- Bump github/codeql-action from 2.21.4 to 2.21.5 (#1343)
- Bump controller-runtime to v0.15.2 (#1342)
- Bump controller-tools to v0.12.1 (#1341)
- bump x/net to v0.14.0 (#1340)
- Bump golangci-lint to v1.54.2 (#1337)
- Fix code quality issues in BMO TLS configuration code (#1327)
- Bump go version to v1.20 (#1314)
- Bmh annotation validations (#1120)
- fix distroless:nonroot pinning (#1286)
- Stop using Extra when building hardware inventory (#1297)
- Bump github.com/prometheus/client_golang from 1.15.1 to 1.16.0 (#1295)
- Add dependabot workflow and configuration (#1287)
- update kubeconform to v0.6.2 (#1285)
- Remove explicit version when importing v1alpha1 (#1281)
- Set minimum TLS version for webhook (#1311)
♻️ Superseded or reverted
- Bumps: #1288, #1289, #1291, #1292, #1293, #1295, #1300, #1319, #1324, #1330, #1331, #1333, #1334
- Revert: #1299
The container image for this release is: v0.4.0
Thanks to all our contributors! 😊
v0.3.1
Changes since v0.3.0
✨ New Features
🐛 Bug Fixes
- Don't check for ironic capacity in 'deleting' state (#1259)
- Do not try to update images for nodes in transient states (#1271)
📖 Documentation
- update releasing.md with links to main process (#1266)
🌱 Others
- Reduce the preprovisioning image retry delay (#1275)
- bump golang image from 1.19.6 to 1.19.9 (#1272)
- pin distroless to static:nonroot with sha digest (#1267)
- Bump go module dependencies (#1257)
- Revert " Reduce the preprovisioning image retry delay" (#1280)
- Simplify dependencies of the apis module (#1279)
The container image for this release is: v0.3.1
Thanks to all our contributors! 😊
v0.3.0
Changes since v0.2.0
⚠️ Breaking Changes
- Store htpasswd files in Secrets instead of ConfigMaps (#1241)
- run BMO ironic deployment as non-root (#1231, #1242)
✨ New Features
- Supported forced reboot of preprovisioning images (#1237)
- Delay delete of detached hosts based on annotation metadata (#1236)
- add explicit securitycontexts to controller (#1204)
🐛 Bug Fixes
- Create nodes with namespace already prepended (#1243)
- Do not reconcile HostFirmwareSettings for detached hosts (#1234)
- Always retry failed cleaning on deprovisioning (fixes #1182) (#1184)
- allow namespace to continue terminating when bmh is deprovisioning at the same time (#1226)
- uplift golang and x/net (#1222)
- Accept http_proxy/https_proxy from env when
make docker
(#1213) - hack: gomod needs to verify all go.mod files (#1217)
- bump kustomize to v4.5.7 (#1214)
- .github: secure github actions (#1201)
- Add missing rbac rules for BaremetalHost Controller (#1256)
📖 Documentation
- update releasing.md (#1244)
- fix broken links in markdown files (#1255)
- add PreprovisioningImage documentation (closes #1009) (#1221)
- Mention CustomDeploy in the API docs (#1205)
- update user-guide url (#1220)
- Fix a minor typo in API document (#1219)
- Remove erroneous state transition (#1198)
🌱 Others
- Bump go module dependencies (#1257)
- add broken link checker action (#1254)
- Disable scheduled workflows from running in forks (#1246)
- Delay deprovision/delete when multiple finalizers exist (#1230)
- remove old unnecessary OWNERS files (#1232)
- set maintenance reason when turning maintenance on (#1212)
- Separate mariadb component (#1196)
- Separate updating images from ValidateManagementAccess (#1207)
- kubesec: update codeql-action to v2 (#1208)
- owners: add tuminoid to reviewers (#1206)
- use docker.io consistently, and pin more checks (#1203)
- pin golang:1.19.4 with digest (#1202)
- Refine ironic provisioner log data format (#1175)
- manifestlint: move from kubeval to kubeconform (#1200)
- shellcheck: pin to 0.9.0 (#1195)
- Add Lennart Jern as a reviewer (#1194)
- Use same settings for provisioner and controller logs (#1249)
- Replace package "text" with "google/safetext" (#1215)
- Do not consider empty RAID and root device hints updated (#1134)
Superseded or reverted
The container image for this release is: v0.3.0
Thanks to all our contributors! 😊
v0.2.0
Changes since v0.1.2
⚠️ Breaking Change
- Bump golang to v1.19 and other go module dependencies and fix golint test (#1171)
- Ironic-deployment: Use kustomize components (#1172)
🐛 Bug Fixes
📖 Documentation
- Add detail guidelines for contributing guide including release and versioning process (#1170)
🌱 Others
- Bump golang 1.19 in release.yml (#1193)
- markdown: pin mdl to 0.12 and fix complaints (#1192)
- Fix mac address for demo and fixture provisioners (#1188)
- Dockerfile: use apt-get instead of apt (#1186)
- build: introduce support for FROM overrides (#1180)
- Add SECURITY_CONTACTS file (#1179)
- Add Kashif Khan as approver (#1178)
- Uplift to go.etcd.io/etcd/v3 (#1189)
The container image for this release is: v0.2.0
Thanks to all our contributors! 😊
v0.1.2
Changes since v0.1.1
🌱 Others
- Bump golang to v1.18 (#1174)
- Uplift go modules: k8s.io/* to v0.24.2, CRT to v0.12.3, controller tools to v0.9.1 and golangci-lint to v1.47.1 (#1149)
- Exclude hosts with virtual media from PROVISIONING_LIMIT (#1173)
- run_local_ironic.sh: add proxy setting (#1169)
- Delete controller flag for baremetalhost for secret (#1164)
- run_local_ironic.sh: make HTTP_PORT customizable (#1168)
📖 Documentation
- Add issue and PR templates to the repository (#1166)
The container image for this release is: v0.1.2
Thanks to all our contributors! 😊