See the curated release notes here.
Full Changelog
Enhancements:
- #657 Install latest docker version within build_gate.sh script
- #650 Support multiple versions of clusterctl
- #647 Update Docker Provider to CAPI v0.4.2 and the lastest clusterctl image
- #646 Use KRM based k8s applier
- #642 Docker Provider - Force to Use Quay.io Clusterctl image
- #641 First Target Node BMH Image HREF Should Not Reference Ephemeral Host
- #640 Support for MAC address when VM count > 0 in AIAP
- #639 Set containerd as default CRI for Ephemeral Cluster Node
- #638 Uplift K8s Docker provider to v1.21
- #634 Run Airship Certified Kubernetes conformance status against k8s v1.21
- #633 Allow to specify poll interval for k8s apply phases
- #632 AIAP: Allow pulling a private airshipctl binary repo
- #630 Implement
airshipctl version
- #629 AIAP: Switch to a readiness probe for the docker and libvirt containers
- #626 AIAP: Cause AIAP to fail faster
- #624 Add possibility to wait for certain state when applying particular resources
- #623 AIAP: Utilize
document pull
command for arbitrary refspecs - #622 Day 2 Operations - Generate new QCOW bundle with upgrades
- #616 Implement
remoteRef
Configuration Option for Use in Document Pull - #615 Spike: Validate Node Label changes can be made through Metal3 BMH
- #614 Spike: Metal3.io Support for BIOS/Firmware Updates and RAID Configuration Changes
- #610 Spike: Metal3.io Upgrade for Brownfield Site
- #609 Spike: CAPI Component Upgrades for Brownfield Sites
- #608 Spike: Understand CoreDNS upgrades for an existing cluster
- #607 Update Helm Controller & Source Controller to the latest versions
- #605 Spike: Upgrade Dell i40e driver for an existing site
- #604 Spike: Deliver OS/Kernel Patches for an existing site
- #603 Spike: Upgrade containerd for an existing Kubernetes cluster
- #601 Upgrade Kustomize to the latest version
- #600 Upgrade CAPZ to version v0.5.0 with Cluster API v1alpha4 support
- #599 Upgrade CAPD to v1alpha4 for the Docker provider
- #598 Upgrade KPT from v0.37.1 to v1.0.0-beta.x
- #597 Airship specific implementation of KRM Function Specification
- #594 Configure K8s API server & Controller Manager settings
- #591 Clean up documentation for Airshipctl & CAPG integration
- #590 Add Tigera Installation Registry to Versions Catalogue Schema
- #589 Kubernetes uplift to v1.21 & Establish general pattern for K8s upgrades
- #586 SOPS GPG Key Management
- #580 Allow some additional steps (including extracting kubeconfig and untainting) in phase run
- #579 Enable tolerance to timed out poll requests
- #575 Fully Implement
gating
Type for Use By All Provider Types - #574 Generate additional CRDs for validation of airshipctl API types
- #572 Allow for image replacement in the iso-build-image executor
- #568 Use clusterctl binary to perform related operations (init, move, etc)
- #567 Allow to specify multiple clusters per get-kubeconfig command
- #563 Improve static validation solution
- #562 Enable static validation against all available phase plans in site
- #561 Decouple implementation and unit tests in pkg/container module
- #557 Upgrade sonobuoy to v0.51
- #554 Upgrade capm3, bmo and ironic version to v0.4.2
- #551 Clusterctl Move & the CA
- #548 Provide Configurable Timeout for Getting Kubeconfig During Phase Run
- #546 Add container cleanup to airship executor containers
- #545 Generic container timeout validation & enforcement
- #544 Generic Container Timeout support
- #540 Add support of iLO Redfish api
- #538 Merge v2.0 Branch Updates
- #537 Functionalize metal3 worker definition
- #532 Generate VersionsCatalogue and NetworkCatalogue schemas via kubebuilder
- #528 Bring gcp-test-site to be current with current airshipctl deployment & gating
- #524 Enhance Gating to Test KRM Function Updates
- #523 Airshipctl and Cluster API GCP Provider Integration updates
- #520 Enhance ReplacementTranformer to Allow Replacing into Multiple Targets
- #518 Upgrade CAPI to v1alpha4 & CAPM3 to v1alpha5 for Bare Metal
- #517 Use
airshipctl plan run
in gates - #514 Move KRM functions away from dockerhub-hosted base images
- #511 Enhance VersionsCatalogue schema to support helm image format
- #510 Enhance KubeadmConfigTemplate in base function to support bare metal
- #509 Enhance base ironic-vars & deployment to support bare metal
- #508 Enhance ironic-entrypoints ConfigMap in base function to support bare metal
- #507 Enhance KubeadmControlPlane in base function to support bare metal
- #505 Airshipctl Usability Improvement: airshipctl config get-manifest should display the name of the manifest
- #498 True up versions catalog for any missing images
- #495 Add "target-file" and "merge" flag to
airshipctl cluster get-kubeconfig
command - #493 Concrete example in airship in a pod Readme
- #481 Introduce Validate() method to ClusterMap interface
- #478 Add Airship-in-a-pod to Zuul Gates
- #477 Update Airship-in-a-pod to allow specifying site manifest location
- #475 airshipctl config get-context must show which of the contexts is current if there are more than one contexts
- #456 Set containerd as default CRI & systemd as the default cgroup driver
- #443 Support tigera operator wait logic in airshipctl
- #424 Secret stringData Encoding
- #394 Introduce "Plan Describe" Command
- #377 Define mechanism for managing lifecycle of Labels, Taints post deployment via BMH or provider artifacts
- #359 Enhance baremetal sub command to expose hosts defined in the documents
- #281 Generate user guide command links
- #280 Create airshipctl user guide documentation structure
- #252 Identify Dual Stack IPV6 information for infrastructure and gating needs upstream
- #19 Implement
airshipctl phase validate schema
Bug Fixes:
- #664
make manifests
target doesn't work - #663 10_build_gate.sh fails to locate ensure-docker ansible role
- #661 source|target version replacement for qcow_bundle is missing.
- #653 AIAP: Using the
.git
suffix on repository names causes runner pod failure - #644 Fix Broken Links in Airshipctl Docs
- #636 AIAP: Passwords and tokens are stored as plaintext
- #635 Dockerhub pull rate limit error for golang images
- #631 AIAP: Error changing power state at libvirt URI "qemu:///system"
- #620 Empty ReplacementTransformer source value causes panic
- #618 Error while running airshipctl cluster get-kubeconfig.
- #595
initinfra-networking
phases should be properly applied - #592 Remove unused patch_bmo_config.yaml
- #573
make manifests
tries and fails to generate manifests for other API types - #566 It's impossible to set 0 wait timeout in CLI options
- #565 clusterctl-init-ephemeral failing (docker provider)
- #564 Align other site definitions to use plans (and fix the failing docker gate)
- #560 Kube RBAC Proxy fails Clair scans for high risk vulnerabilities
- #559 Etcd fails Clair scan for high risk vulnerabilities
- #558 BMO & Ironic & Ironic-Inspector fail Clair scans for high risk vulnerabilities
- #556 Run Airship Certified Kubernetes conformance status against k8s 1.20
- #550 Flux source-controller Function Proxy Var Replacement Not Working
- #549 Add replacements for
composite/infra
- #541 Airshipctl fails to cleanup kubeconfig in KubernetesApply executor
- #535 In Anuket lab, airshipctl go-redfish receives iLO redfish EOF error when post to insert virtual media
- #534 Replacement transformer fails for list
- #531 Worker MachineTemplates are missing worker labels
- #530 Metadata.yaml should be a complete kubernetes style yaml
- #526 Fix
airshipctl config get-context
maximum args - #525 airshipctl exits with error when expanding controlplane nodes
- #522 Templater latest image is not working
- #513 Airship interacting with generic container hangs
- #502 Airshipbot appears to be reopening issues right after closing them
- #501 Node restarts without pause label in capm3- v0.4.0
- #479
airshipctl document pull
does not work if a repo has a detached HEAD - #416 airshipctl document pull has a default pull from treasuremap that is not documented
- #404 Ethernet_mac_address get null value if mac address is not passed in host catalogue causing network service to fail.