Managing firmware

The MetalSoft enables users to keep track of individual component’s firmware and allows the mass upgrade using upgrade policies.

Upgrading a server’s individual components

At register time the system will check for the firmware of the various components of the server.

A separate, daily request is done to check for available upgrades using the server’s upgrade site (where available). Click “Check for available upgrades” to force a check.

Available upgrades will appear in the component’s list.

../_images/managing_firmware1.pngFirmware upgrade individual component

Component upgrades are typically done in one go to avoid rebooting the server multiple times. Check the components that need to be upgraded and click “Upgrade selected components to latest” to trigger a mass upgrade which will reboot the server.

If the server is allocated the user and all it’s delegates will be notified on email and the term for the upgrade will be set 24h from the moment of the button press.

Enabling automatic firmware upgrades

To enable automatic firmware updates go to Firmware upgrade > Automatic upgrade. Select Enabled from the dropdown and set an interval of at least 1h as the target upgrade interval.

To define which server types and components will be upgraded if upgrades are available, create policies by clicking on Add firmware upgrade policy.

../_images/managing_firmware2.pngFirmware upgrade policy

The rules of a firmware upgrade policies are all combined using “AND” and can match one or more of the following fields:

  • Server Component Type
  • Server Component Firmware Version
  • Datacenter name
  • Server Vendor
  • Server Tags
  • Server ID
  • Server Component Target Version (note that this is not a rule per se. This will override the version that will be used instead of latest)

There are two “Actions” for a firmware upgrade rule;

  • Accept - This will trigger an immediate upgrade with user notification.
  • Accept with confirmation - This will trigger a notification to be sent to the user via email which the user can use to postpone or cancel the upgrade
  • Deny - This will block the upgrade of the respective component. Deny types are evaluated before accept ones. Thus they can be used to create exceptions.

Applying firmware policies at Deploy time

Beta feature. This feature is currently only available via the API and the Terraform provider.

It is possible to specify a number of firmware policies to be applied before a deploy happens. For example to upgrade (or downgrade) all M.40.32.v2 servers that have a Dell PERC H330 Adapter to version use the following policy:

data "metalcloud_server_type" "large" {

resource "metalcloud_firmware_policy" "policy-4" {
  server_firmware_upgrade_policy_label = "upgrade-by-component-name-to-specific-version"

  //Possible values: accept, deny, accept_with_confirmation
  server_firmware_upgrade_policy_action = "accept"

  server_firmware_upgrade_policy_rule {
    operation = "string_equal"
    property = "server_type_id"
    value = data.metalcloud_server_type.large.server_type_id

  server_firmware_upgrade_policy_rule {
    operation = "string_contains"
    property  = "server_component_name"
    value     = "PERC H330 Adapter"
  server_firmware_upgrade_policy_rule {
    operation = "string_equal"
    property  = "server_component_target_version"
    value     = ""

  instance_array_list = []

Refer to the MetalSoft Terraform provider for more details.