Welcome back LinuxTechi users, with the continuation of our openstack deployment with Tripleo approach. In this tutorial we will discuss the steps how we can deploy tripleo overcloud Servers (Controller and Compute) via undercloud on CentOS 7 VMs hosted in KVM hypervisor.
In our last article we have already discussed our lab setup details and installation of tripleo Undercloud on CentOS 7, for undercloud installation steps refer:
-
Table of Contents
How to Install Tripleo(Openstack on Openstack) UnderCloud on CentOS 7
I am assuming undercloud is already installed and configured. Let’s start overcloud deployment steps.
Step:1 Download and Import Overcloud images
Login to the undercloud server as stack user and download the overcloud images from the below url, in my case I am using latest version of openstack( i.e pike), you can download the images that suits to your environment and openstack version,
https://images.rdoproject.org/pike/delorean/current-tripleo-rdo/
[stack@undercloud ~]$ sudo wget https://images.rdoproject.org/pike/delorean/current-tripleo-rdo/overcloud-full.tar --no-check-certificate [stack@undercloud ~]$ sudo wget https://images.rdoproject.org/pike/delorean/current-tripleo-rdo/ironic-python-agent.tar --no-check-certificate [stack@undercloud ~]$ mkdir ~/images [stack@undercloud ~]$ tar -xpvf ironic-python-agent.tar -C ~/images/ [stack@undercloud ~]$ tar -xpvf overcloud-full.tar -C ~/images/ [stack@undercloud ~]$ source ~/stackrc (undercloud) [stack@undercloud ~]$ openstack overcloud image upload --image-path ~/images/
Now view the uploaded images
(undercloud) [stack@undercloud ~]$ openstack image list +--------------------------------------+------------------------+--------+ | ID | Name | Status | +--------------------------------------+------------------------+--------+ | 003300db-bbe1-4fc3-af39-bca9f56cc169 | bm-deploy-kernel | active | | 1a1d7ddf-9287-40fb-aea5-3aacf41e76a2 | bm-deploy-ramdisk | active | | be978ecb-2d33-4faf-80c0-8cb0625f1a45 | overcloud-full | active | | 0c0c74bc-0b0f-4324-81b4-e0abeed9455e | overcloud-full-initrd | active | | 0bf28731-d645-401f-9557-f24b3b8a6912 | overcloud-full-vmlinuz | active | +--------------------------------------+------------------------+--------+ (undercloud) [stack@undercloud ~]$
Step:2 Add DNS Server in the undercloud network
Use below openstack command to view the subnet
(undercloud) [stack@undercloud ~]$ openstack subnet list +--------------------------------------+-----------------+--------------------------------------+------------------+ | ID | Name | Network | Subnet | +--------------------------------------+-----------------+--------------------------------------+------------------+ | b3c8033d-ea58-44f3-8de1-5d5e29cad74b | ctlplane-subnet | fe1c940b-7f89-428a-86e1-2d134ce8d807 | 192.168.126.0/24 | +--------------------------------------+-----------------+--------------------------------------+------------------+ (undercloud) [stack@undercloud ~]$ openstack subnet show b3c8033d-ea58-44f3-8de1-5d5e29cad74b
Use below command to add dns server
(undercloud) [stack@undercloud ~]$ neutron subnet-update b3c8033d-ea58-44f3-8de1-5d5e29cad74b --dns-nameserver 192.168.122.1
Now verify whether DNS server has been added or not
(undercloud) [stack@undercloud ~]$ openstack subnet show b3c8033d-ea58-44f3-8de1-5d5e29cad74b
Output would be something like below
Step:3 Create VMs for Overcloud’s Controller & Compute
Go to physical server or KVM hypervisor and define two VMs for compute and One for controller node.
Use below commands to create qcow2 image for controller and compute VMs.
[root@kvm-hypervisor ~]# cd /var/lib/libvirt/images/ [root@kvm-hypervisor images]# qemu-img create -f qcow2 -o preallocation=metadata overcloud-controller.qcow2 60G [root@kvm-hypervisor images]# qemu-img create -f qcow2 -o preallocation=metadata overcloud-compute1.qcow2 60G [root@kvm-hypervisor images]# qemu-img create -f qcow2 -o preallocation=metadata overcloud-compute2.qcow2 60G [root@kvm-hypervisor images]# chown qemu:qemu overcloud-*
Use below Virt-install and virsh define command to create and define overcloud vms in KVM hypervisor,
Note: Change RAM, vcpu and CPU family that suits to your environment
[root@kvm-hypervisor ~]# virt-install --ram 8192 --vcpus 2 --os-variant rhel7 --disk path=/var/lib/libvirt/images/overcloud-controller.qcow2,device=disk,bus=virtio,format=qcow2 --noautoconsole --vnc --network network:provisioning --network network:external --name overcloud-controller --cpu Haswell,+vmx --dry-run --print-xml > /tmp/overcloud-controller.xml [root@kvm-hypervisor ~]# [root@kvm-hypervisor ~]# virt-install --ram 8192 --vcpus 2 --os-variant rhel7 --disk path=/var/lib/libvirt/images/overcloud-compute1.qcow2,device=disk,bus=virtio,format=qcow2 --noautoconsole --vnc --network network:provisioning --network network:external --name overcloud-compute1 --cpu Haswell,+vmx --dry-run --print-xml > /tmp/overcloud-compute1.xml [root@kvm-hypervisor ~]# [root@kvm-hypervisor ~]# virt-install --ram 8192 --vcpus 2 --os-variant rhel7 --disk path=/var/lib/libvirt/images/overcloud-compute2.qcow2,device=disk,bus=virtio,format=qcow2 --noautoconsole --vnc --network network:provisioning --network network:external --name overcloud-compute2 --cpu Haswell,+vmx --dry-run --print-xml > /tmp/overcloud-compute2.xml [root@kvm-hypervisor ~]# [root@kvm-hypervisor ~]# virsh define --file /tmp/overcloud-controller.xml [root@kvm-hypervisor ~]# virsh define --file /tmp/overcloud-compute1.xml [root@kvm-hypervisor ~]# virsh define --file /tmp/overcloud-compute2.xml
Verify the VMs status using virsh list command,
[root@kvm-hypervisor ~]# virsh list --all | grep overcloud* - overcloud-compute1 shut off - overcloud-compute2 shut off - overcloud-controller shut off [root@kvm-hypervisor ~]#
Step:4 Install and Configure vbmc (Virtual BMC) on undercloud
Vbmc is power management tool for virtual machines, VMs can be managed via ipmitool.
Using vbmc we can power off, power on and also verify the power status of a VM. We require vbmc as undercloud will require to power on / off VMs during the deployment.
Note: vbmc is the replacement of pxe_ssh as pxe_ssh is depreciated now.
Run below yum install command to install virtualbmc,
[stack@undercloud ~]$ sudo yum install python-virtualbmc -y
Exchange the ssh keys from cloudcloud vm to physical server (KVM hypervisor)
[stack@undercloud ~]$ ssh-copy-id [email protected]
Add the VMs to vbmc using the following commands, In my case libvirt-uri is “qemu+ssh://[email protected]”
[stack@undercloud ~]$ vbmc add overcloud-compute1 --port 6001 --username admin --password password --libvirt-uri qemu+ssh://[email protected]/system [stack@undercloud ~]$ vbmc start overcloud-compute1 [stack@undercloud ~]$ vbmc add overcloud-compute2 --port 6002 --username admin --password password --libvirt-uri qemu+ssh://[email protected]/system [stack@undercloud ~]$ vbmc start overcloud-compute2 [stack@undercloud ~]$ vbmc add overcloud-controller --port 6003 --username admin --password password --libvirt-uri qemu+ssh://[email protected]/system [stack@undercloud ~]$ vbmc start overcloud-controller
Verify the VMs status and its ports,
[stack@undercloud ~]$ vbmc list +----------------------+---------+---------+------+ | Domain name | Status | Address | Port | +----------------------+---------+---------+------+ | overcloud-compute1 | running | :: | 6001 | | overcloud-compute2 | running | :: | 6002 | | overcloud-controller | running | :: | 6003 | +----------------------+---------+---------+------+ [stack@undercloud ~]$
To view power status of VMs, use below command,
[stack@undercloud ~]$ ipmitool -I lanplus -U admin -P password -H 127.0.0.1 -p 6001 power status Chassis Power is off [stack@undercloud ~]$ ipmitool -I lanplus -U admin -P password -H 127.0.0.1 -p 6002 power status Chassis Power is off [stack@undercloud ~]$ ipmitool -I lanplus -U admin -P password -H 127.0.0.1 -p 6003 power status Chassis Power is off [stack@undercloud ~]$
Step:5 Create and Import overcloud nodes inventory via json file
Let’s create a inventory file(json), it will include the details of overcloud servers (Controllers and Compute).
First capture mac address of over cloud nodes, for this go the kvm hypervisor run the below commands
[root@kvm-hypervisor ~]# virsh domiflist overcloud-compute1 | grep provisioning - network provisioning virtio 52:54:00:08:63:bd [root@kvm-hypervisor ~]# virsh domiflist overcloud-compute2 | grep provisioning - network provisioning virtio 52:54:00:72:1d:21 [root@kvm-hypervisor ~]# virsh domiflist overcloud-controller | grep provisioning - network provisioning virtio 52:54:00:0a:dd:57 [root@kvm-hypervisor ~]#
Now create a json file with name “overcloud-stackenv.json”
[stack@undercloud ~]$ vi overcloud-stackenv.json { "nodes": [ { "arch": "x86_64", "disk": "60", "memory": "8192", "name": "overcloud-compute1", "pm_user": "admin", "pm_addr": "127.0.0.1", "pm_password": "password", "pm_port": "6001", "pm_type": "pxe_ipmitool", "mac": [ "52:54:00:08:63:bd" ], "cpu": "2" }, { "arch": "x86_64", "disk": "60", "memory": "8192", "name": "overcloud-compute2", "pm_user": "admin", "pm_addr": "127.0.0.1", "pm_password": "password", "pm_port": "6002", "pm_type": "pxe_ipmitool", "mac": [ "52:54:00:72:1d:21" ], "cpu": "2" }, { "arch": "x86_64", "disk": "60", "memory": "8192", "name": "overcloud-controller", "pm_user": "admin", "pm_addr": "127.0.0.1", "pm_password": "password", "pm_port": "6003", "pm_type": "pxe_ipmitool", "mac": [ "52:54:00:0a:dd:57" ], "cpu": "2" } ] }
Replace the mac address of the VMs that suits to your environment.
Import the Nodes and do the introspection using below command
[stack@undercloud ~]$ source stackrc (undercloud) [stack@undercloud ~]$ openstack overcloud node import --introspect --provide overcloud-stackenv.json
Output of above command should be something like below:
View the overcloud node details using the below command and we have to make sure provisioning state of each node should be available:
(undercloud) [stack@undercloud ~]$ openstack baremetal node list +--------------------------------------+----------------------+---------------+-------------+--------------------+-------------+ | UUID | Name | Instance UUID | Power State | Provisioning State | Maintenance | +--------------------------------------+----------------------+---------------+-------------+--------------------+-------------+ | 44884524-a959-4477-87f9-143f716f422b | overcloud-compute1 | None | power off | available | False | | 445ced0a-d449-419e-8c43-e0f124017300 | overcloud-compute2 | None | power off | available | False | | a625fdfa-9a18-4d7c-aa36-492575f19307 | overcloud-controller | None | power off | available | False | +--------------------------------------+----------------------+---------------+-------------+--------------------+-------------+ (undercloud) [stack@undercloud ~]$
Set Roles or Profile to overcloud nodes:
To set the role to each overcloud node, use the below commands. VMs with name “overloud-compute1/2” will act as a openstack compute node and VM with name “overcloud-controller” will act as openstack compute node.
(undercloud) [stack@undercloud ~]$ openstack baremetal node set --property capabilities='profile:compute,boot_option:local' 44884524-a959-4477-87f9-143f716f422b (undercloud) [stack@undercloud ~]$ openstack baremetal node set --property capabilities='profile:compute,boot_option:local' 445ced0a-d449-419e-8c43-e0f124017300 (undercloud) [stack@undercloud ~]$ openstack baremetal node set --property capabilities='profile:control,boot_option:local' a625fdfa-9a18-4d7c-aa36-492575f19307
Now use below openstack command to verify the role of each node,
(undercloud) [stack@undercloud ~]$ openstack overcloud profiles list +--------------------------------------+----------------------+-----------------+-----------------+-------------------+ | Node UUID | Node Name | Provision State | Current Profile | Possible Profiles | +--------------------------------------+----------------------+-----------------+-----------------+-------------------+ | 44884524-a959-4477-87f9-143f716f422b | overcloud-compute1 | available | compute | | | 445ced0a-d449-419e-8c43-e0f124017300 | overcloud-compute2 | available | compute | | | a625fdfa-9a18-4d7c-aa36-492575f19307 | overcloud-controller | available | control | | +--------------------------------------+----------------------+-----------------+-----------------+-------------------+ (undercloud) [stack@undercloud ~]$
Step:6 Start deployment of Overcloud Nodes
As of now we have completed all the steps whatever is required for overcloud deployment from undercloud server,
Run the below openstack command from undercloud to start the deployment,
(undercloud) [stack@undercloud ~]$ openstack overcloud deploy --templates --control-scale 1 --compute-scale 2 --control-flavor control --compute-flavor compute
In the above command we are using the options like “–compute-scale 2” and “–control-scale 1“, it means we will use two compute nodes and one controller node.
Please note that the above command will take approx. 40 to 50 minutes or more depending on hardware or vm performance. So, you have to wait until the above command will not finished
Output of the above command should be something like below:
Run the beneath command to view IP address of overcloud nodes
(undercloud) [stack@undercloud ~]$ nova list +--------------------------------------+-------------------------+--------+------------+-------------+--------------------------+ | ID | Name | Status | Task State | Power State | Networks | +--------------------------------------+-------------------------+--------+------------+-------------+--------------------------+ | 8c1a556f-9f79-449b-ae15-d111a96b8349 | overcloud-controller-0 | ACTIVE | - | Running | ctlplane=192.168.126.107 | | 31e54540-79a3-4182-8ecc-6e0f8cd3db11 | overcloud-novacompute-0 | ACTIVE | - | Running | ctlplane=192.168.126.101 | | edab92ce-825f-48c0-ba83-1445572c15b9 | overcloud-novacompute-1 | ACTIVE | - | Running | ctlplane=192.168.126.106 | +--------------------------------------+-------------------------+--------+------------+-------------+--------------------------+ (undercloud) [stack@undercloud ~]$
Connect to Over Cloud nodes using ‘heat-admin‘ user:
(undercloud) [stack@undercloud ~]$ ssh [email protected] Last login: Tue Jan 16 14:32:55 2018 from gateway [heat-admin@overcloud-controller-0 ~]$ sudo -i [root@overcloud-controller-0 ~]# hostname -f overcloud-controller-0.localdomain [root@overcloud-controller-0 ~]#
Similarly we can connect to rest of the compute nodes
Once the overcloud has been deployed successfully, all the admin credentials are stored in file “overcloudrc” in stack user’s home directory
(undercloud) [stack@undercloud ~]$ cat ~/overcloudrc
Now try to access the Horizon Dashboard using the credentials mentioned in overcloudrc file.
Open the Web Browser and type the url:
http://192.168.126.103/dashboard
This confirms that overcloud has been deployed successfully. Now Create Projects, Networks and upload cloud images and then you start creating Virtual machines. That’s all from this tutorial, please do share your feedback and comments.
Great. For PoC and Testing, most people use VirtualBox. It will be very excellent if you deploy overcloud nodes in VirtualBox.
Can you share the overcloud setup step by step using baremetal instances using idrac etc…
I am able to successfully deployed baremetal approach but when I have rebooted the overcloud controller network is not coming up. I have ran dhcp command but got 1 IP instead of 3 Ip’s. Not sure what is the problem. Can you tell me what could be the issue.
I have the same problem,have anyone know how to check?
For what I know for undercloud you need to use static ip instead of dhcp.
How can I use it with a physical server? I want to enroll it in overcloud.
Process would be the same, the only difference is that in case of Physical Servers we will use bmc instead of vbmc
Hi ,
Am facing this error every time I do the deploy for overcloud:
2018-03-10 10:23:21Z [overcloud.AllNodesDeploySteps.ComputeDeployment_Step1.0]: SIGNAL_IN_PROGRESS Signal: deployment 39f84573-331c-438c-a8ee-dd046119c582 failed (2)
2018-03-10 10:23:22Z [overcloud.AllNodesDeploySteps.ComputeDeployment_Step1.0]: CREATE_FAILED Error: resources[0]: Deployment to server failed: deploy_status_code : Deployment exited with non-zero status code: 2
2018-03-10 10:23:22Z [overcloud.AllNodesDeploySteps.ComputeDeployment_Step1.1]: CREATE_FAILED CREATE aborted
2018-03-10 10:23:22Z [overcloud.AllNodesDeploySteps.ComputeDeployment_Step1]: CREATE_FAILED Resource CREATE failed: Error: resources[0]: Deployment to server failed: deploy_status_code : Deployment exited with non-zero status code: 2
2018-03-10 10:23:23Z [overcloud.AllNodesDeploySteps.ComputeDeployment_Step1]: CREATE_FAILED Error: resources.ComputeDeployment_Step1.resources[0]: Deployment to server failed: deploy_status_code: Deployment exited with non-zero status code: 2
2018-03-10 10:23:23Z [overcloud.AllNodesDeploySteps.ControllerDeployment_Step1]: CREATE_FAILED CREATE aborted
2018-03-10 10:23:23Z [overcloud.AllNodesDeploySteps]: CREATE_FAILED Resource CREATE failed: Error: resources.ComputeDeployment_Step1.resources[0]: Deployment to server failed: deploy_status_code: Deployment exited with non-zero status code: 2
2018-03-10 10:23:23Z [overcloud.AllNodesDeploySteps.ControllerDeployment_Step1.0]: CREATE_FAILED CREATE aborted
2018-03-10 10:23:23Z [overcloud.AllNodesDeploySteps.ControllerDeployment_Step1]: CREATE_FAILED Resource CREATE failed: Operation cancelled
2018-03-10 10:23:24Z [overcloud.AllNodesDeploySteps]: CREATE_FAILED Error: resources.AllNodesDeploySteps.resources.ComputeDeployment_Step1.resources[0]: Deployment to server failed: deploy_status_code: Deployment exited with non-zero status code: 2
2018-03-10 10:23:24Z [overcloud]: CREATE_FAILED Resource CREATE failed: Error: resources.AllNodesDeploySteps.resources.ComputeDeployment_Step1.resources[0]: Deployment to server failed: deploy_status_code: Deployment exited with non-zero status code: 2
Stack overcloud CREATE_FAILED
overcloud.AllNodesDeploySteps.ComputeDeployment_Step1.1:
resource_type: OS::Heat::StructuredDeployment
physical_resource_id: 54290788-d3c7-4b00-b7b9-ab02b00f4507
status: CREATE_FAILED
status_reason: |
CREATE aborted
deploy_stdout: |
None
deploy_stderr: |
None
overcloud.AllNodesDeploySteps.ComputeDeployment_Step1.0:
resource_type: OS::Heat::StructuredDeployment
physical_resource_id: 39f84573-331c-438c-a8ee-dd046119c582
status: CREATE_FAILED
status_reason: |
Error: resources[0]: Deployment to server failed: deploy_status_code : Deployment exited with non-zero status code: 2
deploy_stdout: |
…
“2018-03-10 10:23:19,537 ERROR: 16288 — ERROR configuring nova_libvirt”
],
“changed”: false,
“failed_when_result”: true
}
to retry, use: –limit @/var/lib/heat-config/heat-config-ansible/309a9bba-5320-481d-9dae-48795977839f_playbook.retry
PLAY RECAP *********************************************************************
localhost : ok=6 changed=2 unreachable=0 failed=1
(truncated, view all with –long)
deploy_stderr: |
overcloud.AllNodesDeploySteps.ControllerDeployment_Step1.0:
resource_type: OS::Heat::StructuredDeployment
physical_resource_id: d46069ed-b4fe-4380-a3d2-da5e5cda60d4
status: CREATE_FAILED
status_reason: |
CREATE aborted
deploy_stdout: |
None
deploy_stderr: |
None
Heat Stack create failed.
Heat Stack create failed.
Note: I follow the guide exactly.
Thanks
You can try to do troubleshoting for overcloud deployment by following this url
‘https://docs.openstack.org/tripleo-docs/latest/install/troubleshooting/troubleshooting-overcloud.html’
Its will be difficult just by providing error code.
Hi Pradeep, much appreciate for your excellent guide, Thanks.
I am using ESXi platform. 1 Director , 1 compute and i Control node. I followd all the steps and stuckup at import- introspect node.
(undercloud) [stack@undercloud ~]$ openstack overcloud node import –introspect –provide overcloud-stav.json
Waiting for messages on queue ‘tripleo’ with no timeout.
0 node(s) successfully moved to the “manageable” state.
Successfully registered node UUID 7906e404-3460-4156-9c9f-8d06ed403094
Successfully registered node UUID a0fc1290-81e7-41e2-a1cc-77f11511d9a2
Waiting for introspection to finish…
Waiting for messages on queue ‘tripleo’ with no timeout.
Introspection of node 7906e404-3460-4156-9c9f-8d06ed403094 timed out.
Introspection of node a0fc1290-81e7-41e2-a1cc-77f11511d9a2 timed out.
This is my content in overcloud-stackenv.json
(undercloud) [stack@undercloud ~]$ cat overcloud-stackenv.json
{
“nodes”: [
{
“mac”: [
“00:50:56:8a:c1:90”
],
“memory”: “24576”,
“capabilities”: “profile:control,boot_option:local”,
“disk”: “100”,
“arch”: “x86_64”,
“name”: “control01”,
“pm_type”: “fake_pxe”
},
{
“mac”: [
“00:50:56:8a:ef:15”
],
“cpu”: “4”,
“memory”: “24576”,
“capabilities”: “profile:control,boot_option:local”,
“disk”: “100”,
“arch”: “x86_64”,
“name”: “compute01”,
“pm_type”: “fake_pxe”
}
]
}
Hi,
We are facing similar problem when we run the import command.
openstack overcloud node import –introspect –provide overcloud-stav.json
Waiting for messages on queue ‘tripleo’ with no timeout.
0 node(s) successfully moved to the “manageable” state.
Successfully registered node UUID 7906e404-3460-4156-9c9f-8d06ed403094
Successfully registered node UUID a0fc1290-81e7-41e2-a1cc-77f11511d9a2
Waiting for introspection to finish…
Waiting for messages on queue ‘tripleo’ with no timeout.
Please let me know which logs are to be seen.
Hi,
I’ve got the same error too, can you help me if you’ve resolved it.
Thanks,
Tharun Appani
Hi Pradeep,
Thank you for the steps you provided to deploy Openstack. After following these step. Got the issue at deployment stage. Below is the Error, I get.
openstack stack failures list overcloud
overcloud.AllNodesDeploySteps.ComputeDeployment_Step1.0:
resource_type: OS::Heat::StructuredDeployment
physical_resource_id: 343ebf75-f45c-44d4-bae0-8ec20a5789ee
status: CREATE_FAILED
status_reason: |
Error: resources[0]: Deployment to server failed: deploy_status_code : Deployment exited with non-zero status code: 1
deploy_stdout: |
deploy_stderr: |
exception: connect failed
erlexec: HOME must be set
erlexec: HOME must be set
Error: Evaluation Error: Error while evaluating a Function Call, Could not find data item step in any Hiera data file and no default supplied at /var/lib/heat-config/heat-config-puppet/ad3ae3b3-4e08-408f-b0b8-759e14777a24.pp:21:4 on node overcloud-novacompute-0.openstacklocal
overcloud.AllNodesDeploySteps.ControllerDeployment_Step1.0:
resource_type: OS::Heat::StructuredDeployment
physical_resource_id: f01e6c40-8b75-4280-8380-fc7adc58e677
status: CREATE_FAILED
status_reason: |
Error: resources[0]: Deployment to server failed: deploy_status_code : Deployment exited with non-zero status code: 1
deploy_stdout: |
deploy_stderr: |
exception: connect failed
erlexec: HOME must be set
erlexec: HOME must be set
Error: Evaluation Error: Error while evaluating a Function Call, Could not find data item step in any Hiera data file and no default supplied at /var/lib/heat-config/heat-config-puppet/39930018-db8c-41d7-b02e-7bd55a332e02.pp:21:4 on node overcloud-controller-0.openstacklocal
This steps assumes you are running the UC as a bm. I am building this all as VM. I got the overcloud nodes show up and register now.
(undercloud) [root@localhost ~]# ironic node-list
+————————————–+——+—————+————-+——————–+————-+
| UUID | Name | Instance UUID | Power State | Provisioning State | Maintenance |
+————————————–+——+—————+————-+——————–+————-+
| 0f56491f-2ba3-43d4-9d8b-c7eac1d4f1a1 | ctl0 | None | power off | available | True |
| bfdcdc2a-54d8-480f-a132-ee9ac743de4c | ctl1 | None | power off | available | True |
| 7f3e497e-0dc1-4473-9308-dc1453ae93e5 | ctl2 | None | power off | available | True |
| 02cf1622-b1b6-413a-8fc8-4c907f1bac5f | com0 | None | power off | available | True |
| ea60afe0-dbf0-4bab-97ee-a02ee8fee409 | com1 | None | power off | available | True |
+————————————–+——+—————+————-+——————–+————-+
Still need vlans, for network isolation.. shall see