Bare metal

This section provides information about deprecated and removed functionality in bare metal services.

WireGuard

Deprecated

MOSK 25.1 and Container Cloud 2.29.0

Unsupported

To be decided

Details

Deprecated support for WireGuard. If you still require the feature, contact Mirantis support for further information.

MetalLBConfigTemplate resource management

Deprecated

MOSK 24.2 and Container Cloud 2.27.0

Unsupported

MOSK 24.3 and Container Cloud 2.28.0

Details

Deprecated the MetalLBConfigTemplate resource. Use the MetalLBConfig resource instead.

Existing MetalLBConfigTemplate objects and related Subnet objects are automatically migrated to MetallbConfig during MOSK cluster update to 24.2.

Since MOSK 25.1, Admission Controller blocks creation of new MetalLBConfigTemplate objects.

SubnetPool resource management

Deprecated

MOSK 24.2 and Container Cloud 2.27.0

Unsupported

MOSK 24.3 and Container Cloud 2.28.0

Details

Deprecated the SubnetPool resource along with automated subnet creation using SubnetPool.

Existing configurations that use SubnetPool objects in L2Template will be automatically migrated to Subnet objects during cluster update to MOSK 24.2. As a result of migration, existing Subnet objects will be referenced in L2Template objects instead of SubnetPool.

Since MOSK 25.1 and Container Cloud 2.29.0, Admission Controller blocks creation of new SubnetPool objects.

If you still require this feature, contact Mirantis support for further information.

Default L2Template for a namespace

Deprecated

MOSK 23.2 and Container Cloud 2.24.0

Unsupported

MOSK 23.3 and Container Cloud 2.25.0

Details

Disabled creation of the default L2 template for a namespace.

On existing clusters, clusterRef: default is removed during the migration process. Subsequently, this parameter is not substituted with the cluster.sigs.k8s.io/cluster-name label, ensuring the application of the L2 template across the entire Kubernetes namespace. Therefore, you can continue using existing default L2 templates for namespaces.

The clusterRef parameter in L2Template

Deprecated

MOSK 23.3 and Container Cloud 2.25.0

Unsupported

To be decided

Details

Deprecated the clusterRef parameter located in the L2Template spec. Use the cluster.sigs.k8s.io/cluster-name label instead.

On existing clusters, this parameter is automatically migrated to the cluster.sigs.k8s.io/cluster-name label since MOSK 23.3 and Container Cloud 2.25.0.

Ubuntu Focal

Deprecated

MOSK 24.3 and Container Cloud 2.28.0

Unsupported

MOSK 25.1 and Container Cloud 2.29.0

Details

Deprecated support for the Focal Fossa Ubuntu distribution in favor of Jammy Jellyfish.

Warning

During the course of the MOSK 24.3 and Container Cloud 2.28.x series, Mirantis highly recommends upgrading an operating system on your cluster machines to Ubuntu 22.04 before the following major release becomes available.

It is not mandatory to upgrade all machines at once. You can upgrade them one by one or in small batches, for example, if the maintenance window is limited in time.

The Cluster release update of the Ubuntu 20.04-based MOSK clusters will become impossible as of Container Cloud 2.29.0, where Ubuntu 22.04 is the only supported version.

Management cluster update to Container Cloud 2.29.1 will be blocked if at least one node of any related MOSK cluster is running Ubuntu 20.04.

byName in BareMetalHostProfile

Deprecated

MOSK 24.1 and Container Cloud 2.26.0

Unsupported

MOSK 25.2 and Container Cloud 2.27.0

Details

Deprecated the byName field in the BareMetalHostProfile object. As a replacement, use a more specific selector, such as byPath, serialNumber, or wwn. For details, see Container Cloud API Reference: BareMetalHostProfile.

minSizeGiB and maxSizeGiB in BareMetalHostProfile

Deprecated

MOSK 24.1 and Container Cloud 2.26.0

Unsupported

To be decided

Details

Deprecated the minSizeGiB and maxSizeGiB fields in the BareMetalHostProfile object.

Instead of floats that define sizes in GiB for *GiB fields, use the <sizeNumber>Gi text notation such as Ki, Mi, and so on.

All newly created profiles are automatically migrated to the Gi syntax. In existing profiles, migrate the syntax manually.

The wipe field in spec of BareMetalHostProfile

Deprecated

MOSK 24.1 and Container Cloud 2.26.0

Unsupported

To be decided

Details

Deprecated the wipe field from the spec:devices section of the BareMetalHostProfile object for the sake of wipeDevice.

For backward compatibility, any existing wipe: true option is automatically converted to the following structure:

wipeDevice:
  eraseMetadata:
    enabled: True

For new machines, use the wipeDevice structure in the BareMetalHostProfile object.

L2Template without the l3Layout parameters section

Deprecated

MOS 21.3 and Container Cloud 2.9.0

Unsupported

MOSK 23.2 and Container Cloud 2.24.0

Details

Deprecated the use of the L2Template object without the l3Layout section in spec. The use of the l3Layout section is mandatory since Container Cloud 2.24.0 and MOSK 23.2.

On existing clusters, the l3Layout section is not added automatically. Therefore, if you do not have the l3Layout section in L2 templates of your existing clusters, manually add it and define all subnets that are used in the npTemplate section of the L2 template.

Example L2 template with the l3Layout section
apiVersion: ipam.mirantis.com/v1alpha1
kind: L2Template
metadata:
  labels:
    bm-1490-template-controls-netplan: anymagicstring
    cluster.sigs.k8s.io/cluster-name: managed-cluster
    kaas.mirantis.com/provider: baremetal
    kaas.mirantis.com/region: region-one
  name: bm-1490-template-controls-netplan
  namespace: managed-ns
spec:
  ifMapping:
  - enp9s0f0
  - enp9s0f1
  - eno1
  - ens3f1
  l3Layout:
  - scope: namespace
    subnetName: lcm-nw
  - scope: namespace
    subnetName: storage-frontend
  - scope: namespace
    subnetName: storage-backend
  - scope: namespace
    subnetName: metallb-public-for-extiface
  npTemplate: |-
    version: 2
    ethernets:
      {{nic 0}}:
        dhcp4: false
        dhcp6: false
        match:
          macaddress: {{mac 0}}
        set-name: {{nic 0}}
        mtu: 1500
      {{nic 1}}:
        dhcp4: false
        dhcp6: false
        match:
          macaddress: {{mac 1}}
        set-name: {{nic 1}}
        mtu: 1500
      {{nic 2}}:
        dhcp4: false
        dhcp6: false
        match:
          macaddress: {{mac 2}}
        set-name: {{nic 2}}
        mtu: 1500
      {{nic 3}}:
        dhcp4: false
        dhcp6: false
        match:
          macaddress: {{mac 3}}
        set-name: {{nic 3}}
        mtu: 1500
    bonds:
      bond0:
        parameters:
          mode: 802.3ad
          #transmit-hash-policy: layer3+4
          #mii-monitor-interval: 100
        interfaces:
          - {{ nic 0 }}
          - {{ nic 1 }}
      bond1:
        parameters:
          mode: 802.3ad
          #transmit-hash-policy: layer3+4
          #mii-monitor-interval: 100
        interfaces:
          - {{ nic 2 }}
          - {{ nic 3 }}
    vlans:
      stor-f:
        id: 1494
        link: bond1
        addresses:
          - {{ip "stor-f:storage-frontend"}}
      stor-b:
        id: 1489
        link: bond1
        addresses:
          - {{ip "stor-b:storage-backend"}}
      m-pub:
        id: 1491
        link: bond0
    bridges:
      k8s-ext:
        interfaces: [m-pub]
        addresses:
          - {{ ip "k8s-ext:metallb-public-for-extiface" }}
      k8s-lcm:
        dhcp4: false
        dhcp6: false
        gateway4: {{ gateway_from_subnet "lcm-nw" }}
        addresses:
          - {{ ip "k8s-lcm:lcm-nw" }}
        nameservers:
          addresses: [ 172.18.176.6 ]
        interfaces:
            - bond0

For details on L2 template configuration, see Create L2 templates.

Caution

Partial definition of subnets is prohibited.

The dnsmasq.dhcp_range parameter

Deprecated

MOSK 22.5 and Container Cloud 2.21.0

Unsupported

MOSK 23.2 and Container Cloud 2.24.0

Details

Deprecated the dnsmasq.dhcp_range parameter of the baremetal-operator Helm chart values in the Cluster spec. Use the Subnet object configuration for this purpose instead.

Since Container Cloud 2.24.0, admission-controller does not accept any changes to dnsmasq.dhcp_range except removal. Therefore, manually remove this parameter from the baremetal-operator release spec section of the Cluster object as described in Configure multiple DHCP address ranges.

The MetalLB configInline parameter

Deprecated

MOSK 23.2 and Container Cloud 2.24.0

Unsupported

MOSK 23.3 and Container Cloud 2.25.0

Details

Deprecated the configInline parameter in the metallb Helm chart values of the Cluster spec. Use the MetalLBConfig, MetalLBConfigTemplate, and Subnet objects instead of this parameter.

The L2Template and IPaddr parameter status fields

Deprecated

MOSK 23.1 and Container Cloud 2.23.0

Unsupported

MOSK 23.3 and Container Cloud 2.25.0

Details

Deprecated the following status fields for the L2Template and IPaddr objects:

  • IPaddr:

    • labelSetChecksum

    • phase in favor of state

    • reason in favor of messages

  • L2Template:

    • phase in favor of state

    • reason in favor of messages

    • specHash

Subnet and SubnetPool status fields

Deprecated

MOSK 23.1 and Container Cloud 2.23.0

Unsupported

MOSK 23.3 and Container Cloud 2.25.0

Details

Deprecated the following Subnet and SubnetPool status fields:

  • Subnet.Status: labelSetChecksum, statusMessage in favor of state and messages

  • SubnetPool.Status: statusMessage in favor of state and messages

IpamHost status fields renaming

Deprecated

MOSK 22.5 and Container Cloud 2.21.0

Renamed

MOSK 23.1 and Container Cloud 2.22.0

Details

Renamed the following fields of the IpamHost status:

  • netconfigV2 to netconfigCandidate

  • netconfigV2state to netconfigCandidateState

  • netconfigFilesState to netconfigFilesStates (per file)

The format of netconfigFilesState is changed after renaming. The netconfigFilesStates field contains a dictionary of statuses of network configuration files stored in netconfigFiles. The dictionary contains the keys that are file paths and values that have the same meaning for each file that netconfigFilesState had:

  • For a successfully rendered configuration file: OK: <timestamp> <sha256-hash-of-rendered-file>, where a timestamp is in the RFC 3339 format.

  • For a failed rendering: ERR: <error-message>.

The status.l2RenderResult field of the IpamHost object

Deprecated

MOSK 22.4 and Container Cloud 2.19.0

Unsupported

To be decided

Details

Deprecated the status.l2RenderResult field of the IpamHost object in the sake of status.NetconfigCandidateState.

The status.nicMACmap field of the IpamHost object

Deprecated

MOSK 21.6 and Container Cloud 2.14.0

Unsupported

MOSK 22.1 and Container Cloud 2.15.0

Details

Removed nicMACmap in the IpamHost status. Instead, use the serviceMap field that contains actual information about services, IP addresses, and addresses interfaces.

The ipam/DefaultSubnet label of the Subnet object

Deprecated

MOSK 21.6 and Container Cloud 2.14.0

Unsupported

To be decided

Details

Deprecated the ipam/DefaultSubnet label of the metadata field of the Subnet object.

The IpamHost status fields

Deprecated

MOSK 21.5 and Container Cloud 2.12.0

Renamed

MOSK 22.5 and Container Cloud 2.22.0

Details

Replaced the following IpamHost status fields:

  • ipAllocationResult is replaced with State and an error message, if any, in the Messages list.

  • osMetadataNetwork is replaced with NetconfigCandidate.

IPAM API resources

Deprecated

MOSK 21.4 and Container Cloud 2.11.0

Renamed

MOSK 21.5 and Container Cloud 2.12.0

Details

Deprecated the following IPAM API resources: created, lastUpdated, and versionIpam. These resources will be eventually replaced with objCreated, objUpdated, and objStatusUpdated.

Netchecker

Deprecated

MOSK 21.3 and Container Cloud 2.9.0

Unsupported

MOSK 21.4 and Container Cloud 2.11.0

Details

Deprecated the Netchecker service.

bootUEFI

Deprecated

MOSK 21.2 and Container Cloud 2.8.0

Unsupported

MOSK 21.3 and Container Cloud 2.9.0

Details

Replaced the bootUEFI field in the BareMetalHost configuration with bootMode that has the following values:

  • UEFI if UEFI is enabled

  • legacy if UEFI is disabled.