# Fix management interface installation errors when using VLAN

> Learn how to diagnose and resolve installation errors in the CubeCOS management interface when VLAN networking is enabled. This guide explains the root cause and provides step-by-step remediation.

## Summary {#summary}

CubeCOS installation failure occurs on hosts utilizing bonded network interfaces with VLAN tagging.

## Details {#details}

### Issues description {#issues-description}

During CubeCOS installation, configuring a VLAN on the management interface may fail with the following error message:

```log
Policy changes could not be applied. No changes have been made to the system.
Unexpected error.
```

This issue occurs due to a parsing logic error in the CubeCOS installation script. As a result, installation fails on hosts that use bonded network interfaces with VLAN tagging.

### Applicable versions {#applicable-versions}

CubeCOS 3.0.0

This article applies to environments running CubeCOS version 3.0.0.

## Resolution {#resolution}

A manual patch has to be applied before CubeCOS installation to allow for CubeCOS hosts to utilize bonded network interfaces with VLAN tagging.

1. Restore CubeCOS to the physical host.
2. Log in as `root` to the CubeCOS host via a physical or virtual console.
3. Update the SDK health utility functions
   1. Edit the following file

      ```shell
      vim /usr/lib/hex_sdk/proj_functions
      ```

   2. Locate the `shared_ip()` and `mgmt_ip()` functions and replace them with the updated logic shown below.

      ```diff
      shared_ip()
      {
          source hex_tuning /etc/settings.txt cubesys.control.vip
          local vip=$T_cubesys_control_vip
          if [[ "$vip" == "" ]] ; then
              source hex_tuning /etc/settings.txt cubesys.controller.ip
              vip=$T_cubesys_controller_vip
          fi
          if [[ "$vip" == "" ]] ; then
              source hex_tuning /etc/settings.txt cubesys.management
              local mgmt_if=$T_cubesys_management
              source hex_tuning /etc/settings.txt "net.if.addr.$mgmt_if"
      -        local mgmt_ip_key="T_net_if_addr_${mgmt_if}"
      +        local mgmt_ip_key="T_net_if_addr_${mgmt_if/./_}"
              vip=${!mgmt_ip_key}
          fi
          echo -n "$vip"
      }

      mgmt_ip()
      {
          source hex_tuning /etc/settings.txt cubesys.management
          local mgmt_if=$T_cubesys_management
          source hex_tuning /etc/settings.txt "net.if.addr.$mgmt_if"
      -    local mgmt_ip_key="T_net_if_addr_${mgmt_if}"
      +    local mgmt_ip_key="T_net_if_addr_${mgmt_if/./_}"
          echo -n "${!mgmt_ip_key}"
      }
      ```

4. Exit the `root` shell session.
   After saving the file, no service restart is required. Exit the root shell session.
5. Continue the installation
   Proceed with the wizard-based CubeCOS installation process.

This patch ensures that management names containing VLAN notation (e.g. bond0.100) are prased correctly during installation.

## Additional information {#additional-information}

Related change: [source code](https://github.com/bigstack-oss/cubecos/blob/e3a16e69d6d517c6ddaf1598deb04da2911d9960/core/main/proj_functions#L119-L144)
