# Pre-installation check tools for CubeCOS

> Verify your network environment before deploying CubeCOS with built-in pre-installation check tools and the network preset CLI to ensure connectivity and reduce deployment issues.

Use the following pre-installation check tools to ensure your network environment is properly configured for a CubeCOS deployment. These tools help administrators validate network topology, connectivity, and access control using the network preset CLI to minimize deployment risks and accelerate cluster deployments.

## CubeCOS network preset/ diagnostics tool overview {#cubecos-network-preset-diagnostics-tool-overview}

Previously known as `diagnostic`, the network preset enabled administrators to test and validate network topology and configuration prior to a CubeCOS cluster deployment.

Within the preset CLI, four main functions are present for utilization:

1. Check network interface status

   Displays the status and detailed properties of all network interfaces on the host, including link state, MTU, speed, and driver information.

2. Flat network preset

   Tests and validates the interface configuration for flat (provider) network types.

3. VLAN network preset

   Verifies interface readiness for VLAN-based segmentation, including VLAN tagging support and physical interface mapping.

4. Bonded interface preset

   Checks network bonding configurations to confirm that interface aggregation is functional and ready for production use.

:::info

For detailed information about the different network types and supported topologies, refer to the [Network section](../category/network).

:::

## Validate network configuration with the preset CLI {#validate-network-configuration-with-the-preset-cli}

### Login to admin CLI and select Advanced option {#login-to-admin-cli-and-select-advanced-option}

```bash
unconfigured login: admin
Password:
Last login: Tue Jul 12 02:14:07 on tty1
Welcome to the Cube Appliance
First Time Setup Options:
1: Wizard
2: Advanced
Enter index: 2
Welcome to the Cube Appliance
Enter "help" for a list of available commands
License files are not installed
unconfigured>
```

### Check Network Interface status {#check-network-interface-status}

CLI: `preset show_interface all`

```bash
unconfigured> preset show_interface all
Press enter for local or input IP ranges (IP,IP-IP,...):
--------------------------------------------------------------------------------------------------------
     Dev    Label        DevID/Cfg   BusID/Slaves               HWAddr     Driver  Link  State    Speed
--------------------------------------------------------------------------------------------------------
    eth0     IF.1        14e4.165f   0000:01:00.0    18:66:da:eb:b6:78        tg3   yes     UP    1000F
    eth1     IF.2        14e4.165f   0000:01:00.1    18:66:da:eb:b6:79        tg3   yes   DOWN    1000F
    eth2     IF.3        14e4.165f   0000:02:00.0    18:66:da:eb:b6:7a        tg3    no   DOWN      N/A
    eth3     IF.4        14e4.165f   0000:02:00.1    18:66:da:eb:b6:7b        tg3    no   DOWN      N/A
--------------------------------------------------------------------------------------------------------
unconfigured>
```

### Set Interface : flat {#set-interface--flat}

CLI: `preset set_interface`

```bash
unconfigured>preset set_interface
--------------------------------------------------------------------------------------------------------
     Dev    Label        DevID/Cfg   BusID/Slaves               HWAddr     Driver  Link  State    Speed
--------------------------------------------------------------------------------------------------------
    eth0     IF.1        14e4.165f   0000:01:00.0    18:66:da:eb:b6:78        tg3   yes     UP    1000F
    eth1     IF.2        14e4.165f   0000:01:00.1    18:66:da:eb:b6:79        tg3   yes   DOWN    1000F
    eth2     IF.3        14e4.165f   0000:02:00.0    18:66:da:eb:b6:7a        tg3    no   DOWN      N/A
    eth3     IF.4        14e4.165f   0000:02:00.1    18:66:da:eb:b6:7b        tg3    no   DOWN      N/A
--------------------------------------------------------------------------------------------------------
Select an interface:
1: eth0
2: eth1
3: eth2
4: eth3
Enter index: 1
Specify CIDR: 192.168.10.30/24
unconfigured> preset ping 192.168.10.1
Ping 192.168.10.1 ... OK
unconfigured>
```

### Set Interface : bond {#set-interface--bond}

CLI: `preset set_bond_interface`

```bash
unconfigured>preset set_bond_interface
--------------------------------------------------------------------------------------------------------
     Dev    Label        DevID/Cfg   BusID/Slaves               HWAddr     Driver  Link  State    Speed
--------------------------------------------------------------------------------------------------------
    eth0     IF.1        14e4.165f   0000:01:00.0    18:66:da:eb:b6:78        tg3   yes     UP    1000F
    eth1     IF.2        14e4.165f   0000:01:00.1    18:66:da:eb:b6:79        tg3   yes   DOWN    1000F
    eth2     IF.3        14e4.165f   0000:02:00.0    18:66:da:eb:b6:7a        tg3    no   DOWN      N/A
    eth3     IF.4        14e4.165f   0000:02:00.1    18:66:da:eb:b6:7b        tg3    no   DOWN      N/A
--------------------------------------------------------------------------------------------------------
Specify bond name: mgmt
Specify bond slaves (e.g. ethX,ethY): eth0,eth1
Specify CIDR: 192.168.10.30/24
unconfigured> preset ping 192.168.10.1
Ping 192.168.10.1 ... OK
unconfigured>
```

### Set Interface : vlan {#set-interface--vlan}

CLI: `preset set_vlan_interface`

```bash
unconfigured>preset set_vlan_interface
--------------------------------------------------------------------------------------------------------
     Dev    Label        DevID/Cfg   BusID/Slaves               HWAddr     Driver  Link  State    Speed
--------------------------------------------------------------------------------------------------------
    eth0     IF.1        14e4.165f   0000:01:00.0    18:66:da:eb:b6:78        tg3   yes     UP    1000F
    eth1     IF.2        14e4.165f   0000:01:00.1    18:66:da:eb:b6:79        tg3   yes     UP    1000F
    eth2     IF.3        14e4.165f   0000:02:00.0    18:66:da:eb:b6:7a        tg3    no   DOWN      N/A
    eth3     IF.4        14e4.165f   0000:02:00.1    18:66:da:eb:b6:7b        tg3    no   DOWN      N/A
    mgmt     mgmt    fast,layer3+4      eth0,eth1    18:66:da:eb:b6:78    802.3ad   yes     UP    2000F
--------------------------------------------------------------------------------------------------------
Specify interface name: mgmt
Input VLAN ID (1-4095): 100
Specify CIDR: 192.168.10.60/24
unconfigured> preset ping 192.168.10.1
Ping 192.168.10.1 ... OK
unconfigured>
```

### Unset the Interface {#unset-the-interface}

CLI: `preset clear_interface`

```bash
unconfigured>preset clear_interface
--------------------------------------------------------------------------------------------------------
     Dev    Label        DevID/Cfg   BusID/Slaves               HWAddr     Driver  Link  State    Speed
--------------------------------------------------------------------------------------------------------
    eth0     IF.1        14e4.165f   0000:01:00.0    18:66:da:eb:b6:78        tg3   yes     UP    1000F
    eth1     IF.2        14e4.165f   0000:01:00.1    18:66:da:eb:b6:79        tg3   yes     UP    1000F
    eth2     IF.3        14e4.165f   0000:02:00.0    18:66:da:eb:b6:7a        tg3    no   DOWN      N/A
    eth3     IF.4        14e4.165f   0000:02:00.1    18:66:da:eb:b6:7b        tg3    no   DOWN      N/A
    mgmt     mgmt    fast,layer3+4      eth0,eth1    18:66:da:eb:b6:78    802.3ad   yes     UP    2000F
--------------------------------------------------------------------------------------------------------
Select interface type:
1: eth
2: bond
3: vlan
4: all
Enter index: 4
unconfigured>
```
