Deploy a NFV Lab with VMware TCA and VCD: Difference between revisions

From Iwan
Jump to: navigation, search
(Import pages from nsx.ninja)
 
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=Summary=
Last year VMware released the VMware Telco Cloud Automation (TCA) platform, which is a platform designed to help Cloud Service Providers (a.k.a. Telcos) onboard new applications, automate the design and deployment of both Virtual Network Functions (VNFs) and Cloud-native Network Functions (CNFs).
Last year VMware released the VMware Telco Cloud Automation (TCA) platform, which is a platform designed to help Cloud Service Providers (a.k.a. Telcos) onboard new applications, automate the design and deployment of both Virtual Network Functions (VNFs) and Cloud-native Network Functions (CNFs).


This article will give you detailed step-by-step instructions to get started with testing out how TCA is set up and how this integrates with all other Software-Defined Data Center (SDDC) components. In this article, I will use VMware Cloud Director (VCD) as the Network Function Virtualisation (NFV) Virtualised Infrastructure Manager (VIM).
This article will give you detailed step-by-step instructions to get started with testing out how TCA is set up and how this integrates with all other Software-Defined Data Center (SDDC) components. In this article, I will use VMware Cloud Director (VCD) as the Network Function Virtualisation (NFV) Virtualised Infrastructure Manager (VIM).


=Previous Publications=
==Previous Publications==


My colleague Gary Day already [https://vtelco.home.blog/2020/05/10/vmware-telco-cloud-automation-overview-and-deployment-walkthrough-with-vcloud-director/ published] about this topic a year ago, and a lot has changed since then...  and when I asked him about an update he told me he was too busy and when I told him that his article contains old outdated information he told me "The movement you start to blog about something 5 minutes after the release, it is old already..." Good joke Gary, but I am doing this updated article anyway.
My colleague Gary Day already [https://vtelco.home.blog/2020/05/10/vmware-telco-cloud-automation-overview-and-deployment-walkthrough-with-vcloud-director/ published] about this topic a year ago, and a lot has changed since then...  and when I asked him about an update he told me he was too busy and when I told him that his article contains old outdated information he told me "The movement you start to blog about something 5 minutes after the release, it is old already..." Good joke Gary, but I am doing this updated article anyway.
Line 15: Line 13:
# There are also challenges with integration, adhering to ETSI standards that have made the progress towards MANO slower than most would have liked.
# There are also challenges with integration, adhering to ETSI standards that have made the progress towards MANO slower than most would have liked.


=The Diagram=
==The Diagram==


For better understanding let's first start with a diagram with all the components that I used to build this (nested) lab.
For better understanding let's first start with a diagram with all the components that I used to build this (nested) lab.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-DIAGRAM-1.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-DIAGRAM-1.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


=Prerequisites=
==Prerequisites==


TCA and VCD will need a full-blown SDDC to work with. other than that a Rabbit MQ server is required to "glue" TCA and VCD together in terms of operation.
TCA and VCD will need a full-blown SDDC to work with. other than that a Rabbit MQ server is required to "glue" TCA and VCD together in terms of operation.
Line 28: Line 26:
I don't think I have to mention this but I will do it anyway, you also need to have licenses for everything including VCD and TCA.
I don't think I have to mention this but I will do it anyway, you also need to have licenses for everything including VCD and TCA.


=Deployment Steps=
==Deployment Steps==


I have "chopped" the deployment steps up in higher levels so that is easier to understand what steps need to be taken. Each step will obviously consist out of substeps and I will go through all steps in the detailed form below.
I have "chopped" the deployment steps up in higher levels so that is easier to understand what steps need to be taken. Each step will obviously consist out of substeps and I will go through all steps in the detailed form below.
Line 59: Line 57:
I have not deployed VMware vRealize Operations Manager 8.1.1 Advanced Edition yet in this article, I will update this article later with this or write a new article when this is added.
I have not deployed VMware vRealize Operations Manager 8.1.1 Advanced Edition yet in this article, I will update this article later with this or write a new article when this is added.


=STEP 1: Deploy the vSphere and NSX-T Infrastructure (your plain SDDC Infra)=
==STEP 1{{fqm}} Deploy the vSphere and NSX&ndash;T Infrastructure 〈your plain SDDC Infra〉==


I am not going to explain to you how to build a full-blown SDDC with vSphere and NSX in this article as I have already done that in [https://nsx.ninja/index.php/NSX-T_(nested)_Lab_with_(3)_different_sites_(and_full_(nested)_SDDC_deployment) one of my other articles → NSX-T (nested) Lab with (3) different sites (and full (nested) SDDC deployment)]
I am not going to explain to you how to build a full-blown SDDC with vSphere and NSX in this article as I have already done that in [https://nsx.ninja/index.php/NSX-T_(nested)_Lab_with_(3)_different_sites_(and_full_(nested)_SDDC_deployment) one of my other articles → NSX-T (nested) Lab with (3) different sites (and full (nested) SDDC deployment)]


=STEP 2: Deploy a new vRealize Orchestrator Appliance=
==STEP 2{{fqm}} Deploy a new vRealize Orchestrator Appliance==


vRealize Orchestrator (vRO) is a modern workflow automation platform that simplifies and automates complex data center infrastructure tasks for increased extensibility and agility.
vRealize Orchestrator (vRO) is a modern workflow automation platform that simplifies and automates complex data center infrastructure tasks for increased extensibility and agility.
Line 69: Line 67:
I have chosen not to deploy VMware vRealize Orchestrator Appliance 8.1 and in order to make this choice, I went over the VMware interoperability matrix to verify what "newest" version I could use whiteout getting into trouble and I am can also use version 8.3.
I have chosen not to deploy VMware vRealize Orchestrator Appliance 8.1 and in order to make this choice, I went over the VMware interoperability matrix to verify what "newest" version I could use whiteout getting into trouble and I am can also use version 8.3.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-02-1.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-02-1.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Line 78: Line 76:
Log in with the username "root" and the password you provided during the deployment.
Log in with the username "root" and the password you provided during the deployment.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-02-2.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-02-2.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


The following screen will pop up.
The following screen will pop up.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-02-3.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-02-3.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


I wanted to make sure that the hostname was configured correctly so I clicked on "Host Settings"
I wanted to make sure that the hostname was configured correctly so I clicked on "Host Settings"


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-02-4.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-02-4.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Next you need to click on "Configure Authentication Provider" to configure the authentication provider. Use your vCenter Server host here:
Next you need to click on "Configure Authentication Provider" to configure the authentication provider. Use your vCenter Server host here:


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-02-5.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-02-5.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-02-6.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-02-6.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Use the correct vSphere credentials here:
Use the correct vSphere credentials here:


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-02-7.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-02-7.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Select the proper "Admin Group"
Select the proper "Admin Group"


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-02-8.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-02-8.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-02-9.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-02-9.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


The deployment and configuration/preparation of vRO is now finished are you will use the appliance later where this needs to be integrated with the TCA (Control Plane).
The deployment and configuration/preparation of vRO is now finished are you will use the appliance later where this needs to be integrated with the TCA (Control Plane).


=STEP 3: Deploy a new VMware Cloud Director Appliance=
==STEP 3{{fqm}} Deploy a new VMware Cloud Director Appliance==


The deployment of VCD is pretty straight forward and with the use of an OVA the deployment is pretty much a click next-next-next-finish task. So I will not discuss any detailed steps of this here. Besides that, you can find plenty of articles that have already been written about this like [https://www.virten.net/2020/10/introducing-simplified-deployment-for-vmware-cloud-director-10-2/ this].
The deployment of VCD is pretty straight forward and with the use of an OVA the deployment is pretty much a click next-next-next-finish task. So I will not discuss any detailed steps of this here. Besides that, you can find plenty of articles that have already been written about this like [https://www.virten.net/2020/10/introducing-simplified-deployment-for-vmware-cloud-director-10-2/ this].
Line 120: Line 118:
Below I have only given pointers on how to finetune the deployment a bit without running into issues later on.
Below I have only given pointers on how to finetune the deployment a bit without running into issues later on.


==Update DNS records==
===Update DNS records===


There is no way to specify the hostname during the deployment of VCD. A Lot of us just take this for granted, but when you do not have a correct PTR record in your DNS server your hostname will not be correctly populated. I learned this the hard way, unfortunately.
There is no way to specify the hostname during the deployment of VCD. A Lot of us just take this for granted, but when you do not have a correct PTR record in your DNS server your hostname will not be correctly populated. I learned this the hard way, unfortunately.
Line 148: Line 146:
}}
}}


==VCD interfaces and static routes==
===VCD interfaces and static routes===


During the deployment, you can also add in static routes, as my complete SDDC is behind a router and on a different subnet I have specified some static routes. In the lab diagram, you only see POD240 (SDDC) but I also have a POD230 that is out of scope for this article.
During the deployment, you can also add in static routes, as my complete SDDC is behind a router and on a different subnet I have specified some static routes. In the lab diagram, you only see POD240 (SDDC) but I also have a POD230 that is out of scope for this article.
Line 160: Line 158:
Deploy the VCD Appliance using the OVF deployment and specify all the correct parameters.
Deploy the VCD Appliance using the OVF deployment and specify all the correct parameters.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-03-1.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-03-1.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Line 174: Line 172:
** This IP address should not be routable (when this is routable  the management interface may not be reachable and will result in a failure during the initial installation)
** This IP address should not be routable (when this is routable  the management interface may not be reachable and will result in a failure during the initial installation)


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-03-2.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-03-2.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


When the VCD Appliance is deployed correctly you will see the following screen on the console.
When the VCD Appliance is deployed correctly you will see the following screen on the console.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-03-3.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-03-3.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Log in to the new VCD appliance using the VAMI interface to do the initial configuration using "root" and the password you have specified during the deployment.
Log in to the new VCD appliance using the VAMI interface to do the initial configuration using "root" and the password you have specified during the deployment.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-03-4.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-03-4.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Line 191: Line 189:
First, you need to specify the NFS mount and passwords for VCD (DB and GUI).
First, you need to specify the NFS mount and passwords for VCD (DB and GUI).


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-03-5.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-03-5.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Line 198: Line 196:
Now it is time to specify the "system administrator" username, password, name and email address.
Now it is time to specify the "system administrator" username, password, name and email address.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-03-6.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-03-6.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Last you specify the system name and the installation ID.  
Last you specify the system name and the installation ID.  


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-03-7.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-03-7.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


When you submitted the settings and the configuration is done correctly you will get the following screen and you are able to browse to the VCD Service Provider Admin Portal of VCD.
When you submitted the settings and the configuration is done correctly you will get the following screen and you are able to browse to the VCD Service Provider Admin Portal of VCD.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-03-8.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-03-8.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Log in to the  Service Provider Admin Portal using the "administrator" username with the password (you just specified).
Log in to the  Service Provider Admin Portal using the "administrator" username with the password (you just specified).


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-03-9.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-03-9.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


When everything is ok, your screen should look like this:
When everything is ok, your screen should look like this:


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-03-10.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-03-10.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


=STEP 4: Deploy a new RabbitMQ Server=
==STEP 4{{fqm}} Deploy a new RabbitMQ Server==


I installed RabbitMQ on an Ubuntu 20.04 server using the instructions on [https://computingforgeeks.com/how-to-install-latest-rabbitmq-server-on-ubuntu-linux/ this website].
I installed RabbitMQ on an Ubuntu 20.04 server using the instructions on [https://computingforgeeks.com/how-to-install-latest-rabbitmq-server-on-ubuntu-linux/ this website].
Line 227: Line 225:
The Virtual Machine hardware specs that I used are :
The Virtual Machine hardware specs that I used are :


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-04-1.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-04-1.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Line 288: Line 286:
Once the login credentials are created you can log in to the RabbitMQ Management Web dashboard that is listening on port TCP/15672.
Once the login credentials are created you can log in to the RabbitMQ Management Web dashboard that is listening on port TCP/15672.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-04-2.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-04-2.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


=STEP 5: Integrate VMware Cloud Director with RabbitMQ=
==STEP 5{{fqm}} Integrate VMware Cloud Director with RabbitMQ==


==Assign permissions to the administrator user (on the RabbitMQ server)==
===Assign permissions to the administrator user 〈on the RabbitMQ server〉===


# Click on the "admin" tab
# Click on the "admin" tab
Line 300: Line 298:
# Click on "Set topic permission"
# Click on "Set topic permission"


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-05-1.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-05-1.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


==Integrate the RabbitMQ server (on the VCD server)==
===Integrate the RabbitMQ server 〈on the VCD server〉===


# Click on the "Administration" tab
# Click on the "Administration" tab
Line 311: Line 309:
# Enable Non-blocking AMQP Notifications
# Enable Non-blocking AMQP Notifications


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-05-2.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-05-2.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Line 318: Line 316:
Once this is tested successfully you can continue with the rest.  
Once this is tested successfully you can continue with the rest.  


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-05-3.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-05-3.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


==add additional "exchange" (on the RabbitMQ server)==
===add additional exchange 〈on the RabbitMQ server〉===


The exchange "vcd.notifications20" was automatically created and you can verify that by going to the "Exchanges" tab.
The exchange "vcd.notifications20" was automatically created and you can verify that by going to the "Exchanges" tab.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-05-4.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-05-4.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


You can also click on the "Queues" tab, but this will be empty at this point.
You can also click on the "Queues" tab, but this will be empty at this point.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-05-5.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-05-5.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


I also created an additional Exchange (with the name "systemExchange") but I am not sure if this is really required (as VCD used this exchange explicitly in the config).
I also created an additional Exchange (with the name "systemExchange") but I am not sure if this is really required (as VCD used this exchange explicitly in the config).


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-05-6.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-05-6.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


=STEP 6: Deploy a new Telco Cloud Automation Server (with the Manager Role)=
==STEP 6{{fqm}} Deploy a new Telco Cloud Automation Server 〈with the Manager Role〉==


First, you deploy a TCA with the role "Manager" and then you deploy a TCA (or multiple TCA's) with the role "Control Plane".
First, you deploy a TCA with the role "Manager" and then you deploy a TCA (or multiple TCA's) with the role "Control Plane".
Line 344: Line 342:
Just do a regular OVA deployment, and have your IP address, NTP, DNS, and password information ready. You will get the option to "Configure Appliance Role" and since you are deploying the Manager first you select manager here.
Just do a regular OVA deployment, and have your IP address, NTP, DNS, and password information ready. You will get the option to "Configure Appliance Role" and since you are deploying the Manager first you select manager here.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-06-00.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-06-00.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


When the deployment is finished you can log in to the non-VAMI part with the username "administrator" and the password you specified during the deployment.
When the deployment is finished you can log in to the non-VAMI part with the username "administrator" and the password you specified during the deployment.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-06-1.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-06-1.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


There is not much to see here yet. You first need to do the initial configuration using the VAMI GUI.
There is not much to see here yet. You first need to do the initial configuration using the VAMI GUI.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-06-2.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-06-2.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Line 366: Line 364:
When you are logged in you will get a welcome screen and notice the word "Manager". This will tell you that the role you deployed is correct and you are configuring the correct TCA.
When you are logged in you will get a welcome screen and notice the word "Manager". This will tell you that the role you deployed is correct and you are configuring the correct TCA.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-06-3.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-06-3.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Specify your location of the TCA.
Specify your location of the TCA.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-06-4.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-06-4.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Specify the system name of the TCA.
Specify the system name of the TCA.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-06-5.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-06-5.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Connect to your vCenter Server.
Connect to your vCenter Server.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-06-6.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-06-6.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Configure SSO.
Configure SSO.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-06-7.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-06-7.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Restart the TCA to finish the initial configuration.
Restart the TCA to finish the initial configuration.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-06-8.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-06-8.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Once restarted the Dashboard of the TCA (Manager) should look like this.
Once restarted the Dashboard of the TCA (Manager) should look like this.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-06-9.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-06-9.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


When you click on the "Appliance summary" tab you can view the running services.
When you click on the "Appliance summary" tab you can view the running services.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-06-10.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-06-10.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


=STEP 7: Deploy a new Telco Cloud Automation Server (with the Control Plane Role)=
==STEP 7{{fqm}} Deploy a new Telco Cloud Automation Server 〈with the Control Plane Role〉==


Now that the TCA Manager is deployed you follow the exact same steps for deployment, but this time you select the Control Plane Role.  
Now that the TCA Manager is deployed you follow the exact same steps for deployment, but this time you select the Control Plane Role.  


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-07-1.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-07-1.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Line 417: Line 415:
=STEP 8: Configure VMware Cloud Director (prepare the integration with (Telco Cloud Automation server)=
=STEP 8: Configure VMware Cloud Director (prepare the integration with (Telco Cloud Automation server)=


==Add vCenter Server + NSX-T Manager==
===Add vCenter Server and NSX&ndash;T Manager===


In order to provide compute resources to our VNF, you need to add a vCenter Server to VCD.
In order to provide compute resources to our VNF, you need to add a vCenter Server to VCD.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-1.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-1.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Specify all the details required to connect to the vCenter Server.
Specify all the details required to connect to the vCenter Server.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-2.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-2.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Trust the SSL certificate (as I am using self-signed certificates everywhere).
Trust the SSL certificate (as I am using self-signed certificates everywhere).


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-3.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-3.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Skip the NSX-v integration part, as you are using NSX-T these days.
Skip the NSX-v integration part, as you are using NSX-T these days.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-4.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-4.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Configure the Access.
Configure the Access.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-5.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-5.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Finish the integration.
Finish the integration.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-6.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-6.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Verify if the vCenter Server is correctly integrated without any errors.
Verify if the vCenter Server is correctly integrated without any errors.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-7.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-7.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Now you need to integrate the NSX-T Manager.
Now you need to integrate the NSX-T Manager.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-8.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-8.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Specify all the details required to connect to the NSX-T Manager.
Specify all the details required to connect to the NSX-T Manager.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-9.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-9.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Trust the SSL certificate (as I am using self-signed certificates everywhere).
Trust the SSL certificate (as I am using self-signed certificates everywhere).


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-10.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-10.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Verify if the NSX-T Manager is correctly integrated without any errors.
Verify if the NSX-T Manager is correctly integrated without any errors.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-11.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-11.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


==Create a Network Pool==
===Create a Network Pool===


Before you can create a Provider VDC you need to create a Network Pool.
Before you can create a Provider VDC you need to create a Network Pool.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-12.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-12.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Specify the name of the Network Pool.
Specify the name of the Network Pool.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-13.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-13.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Specify a Network Pool type. I am using Geneve here as I am using NSX-T networks.
Specify a Network Pool type. I am using Geneve here as I am using NSX-T networks.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-14.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-14.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Select the NSX-T Manager.
Select the NSX-T Manager.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-15.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-15.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Select the correct Transport Zone.
Select the correct Transport Zone.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-16.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-16.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Complete the Network Pool configuration.
Complete the Network Pool configuration.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-17.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-17.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Verify if the Network Pool is correctly created without any errors.
Verify if the Network Pool is correctly created without any errors.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-18.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-18.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


==Create a Provider VDC==
===Create a Provider VDC===


Now that the Network Pool is created it is time to create a Provider VDC.
Now that the Network Pool is created it is time to create a Provider VDC.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-19.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-19.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Specify a name for the Provider VDC.
Specify a name for the Provider VDC.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-20.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-20.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Select a vCenter Server where you want to consume the resource capacity for the VNFs.
Select a vCenter Server where you want to consume the resource capacity for the VNFs.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-21.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-21.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Select a Resource Pool (vSphere Cluster) where you want to consume the resource capacity for the VNFs.
Select a Resource Pool (vSphere Cluster) where you want to consume the resource capacity for the VNFs.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-22.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-22.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Select the Storage (policies) where you want to consume the storage capacity for the VNFs.
Select the Storage (policies) where you want to consume the storage capacity for the VNFs.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-23.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-23.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Select the Network Pool where you want to consume the network capacity for the VNFs.
Select the Network Pool where you want to consume the network capacity for the VNFs.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-24.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-24.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Complete the Provider VCD configuration.
Complete the Provider VCD configuration.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-25.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-25.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Verify if the Provider VDC is correctly created without any errors.
Verify if the Provider VDC is correctly created without any errors.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-26.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-26.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


==Create a vCloud Director Organization==
===Create a vCloud Director Organization===


Now that the Provider VDC is completed you need to create a new Organization.
Now that the Provider VDC is completed you need to create a new Organization.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-27.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-27.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Specify the Organization name.
Specify the Organization name.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-28.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-28.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Verify if the Organization is correctly created without any errors.
Verify if the Organization is correctly created without any errors.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-29.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-29.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Click on the Organization name and "Open in Tenant Portal". This will bring you to the Organization Portal where you need to create a new tenant user with the "Organization Administrator" Role.
Click on the Organization name and "Open in Tenant Portal". This will bring you to the Organization Portal where you need to create a new tenant user with the "Organization Administrator" Role.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-30.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-30.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


To do this select the "Administration" tab.
To do this select the "Administration" tab.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-31.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-31.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Create a new user and specify the password and Role as "Organization Administrator".
Create a new user and specify the password and Role as "Organization Administrator".


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-32.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-32.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Verify if the User is correctly created without any errors.
Verify if the User is correctly created without any errors.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-33.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-33.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Verify if the Organization has now one User.
Verify if the Organization has now one User.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-34.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-34.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


==Create an Organization Virtual Data Center==
===Create an Organization Virtual Data Center===


Now that the user is created you need to create an Organization VDC.
Now that the user is created you need to create an Organization VDC.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-35.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-35.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Specify a name for the new Organization VCD.
Specify a name for the new Organization VCD.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-36.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-36.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Select the newly created Organization.
Select the newly created Organization.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-37.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-37.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Select the newly created Provider VDC.
Select the newly created Provider VDC.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-38.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-38.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Select an Allocation Model. For simplicity reasons I have selected "Pay-As-You-Go".
Select an Allocation Model. For simplicity reasons I have selected "Pay-As-You-Go".


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-39.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-39.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


I have changed the defaults for "CPU resources guaranteed" from 20 to 10 and the same I have done for the Memory resources guaranteed as well. The rest of the settings are kept default. The reason why I have done this here is that I am using a Nested Lab and all resources are nested.
I have changed the defaults for "CPU resources guaranteed" from 20 to 10 and the same I have done for the Memory resources guaranteed as well. The rest of the settings are kept default. The reason why I have done this here is that I am using a Nested Lab and all resources are nested.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-40.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-40.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Select a storage policy and enable "Thin Provisioning".
Select a storage policy and enable "Thin Provisioning".


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-41.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-41.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Select the newly created Network Pool.
Select the newly created Network Pool.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-42.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-42.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Complete the Organization VCD configuration.
Complete the Organization VCD configuration.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-43.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-43.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Verify if the Organization VDC is correctly created without any errors.
Verify if the Organization VDC is correctly created without any errors.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-44.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-44.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Click on the Organization VDC to specify an "existing" EXTERNAL network (after you have pre-created the external network in NSX-T)
Click on the Organization VDC to specify an "existing" EXTERNAL network (after you have pre-created the external network in NSX-T)


==Create an external network for this Organization VDC==
===Create an external network for this Organization VDC===


In order for the Organization VDC to route the VNF networks to the "outside world," you need to create an EXTERNAL network. I have already created this network and I am using the "SEG-Web" network for this.
In order for the Organization VDC to route the VNF networks to the "outside world," you need to create an EXTERNAL network. I have already created this network and I am using the "SEG-Web" network for this.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-45.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-45.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Line 660: Line 658:
The Tier-1 Gateway is also linked to a Tier-0 Gateway and routing for this network is configured correctly.
The Tier-1 Gateway is also linked to a Tier-0 Gateway and routing for this network is configured correctly.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-46.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-46.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Once your EXTERNAL network is in place you can create a new network in the newly created Organization VDC by clicking on the "Networks" section.
Once your EXTERNAL network is in place you can create a new network in the newly created Organization VDC by clicking on the "Networks" section.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-47.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-47.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Specify the Organizational VDC Scope where you want to use this network.
Specify the Organizational VDC Scope where you want to use this network.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-48.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-48.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Specify the Network Type and select "Imported" as you are using an existing external network in this case.
Specify the Network Type and select "Imported" as you are using an existing external network in this case.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-49.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-49.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Select the existing NSX-T Logical Switch (Network Segment) that you want to use for the VNF external communication.
Select the existing NSX-T Logical Switch (Network Segment) that you want to use for the VNF external communication.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-50.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-50.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Specify a name for the network. The Gateway will be taken/detected automatically from NSX-T.
Specify a name for the network. The Gateway will be taken/detected automatically from NSX-T.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-51.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-51.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Specify a "static pool" of the external IP addresses you want to use.
Specify a "static pool" of the external IP addresses you want to use.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-52.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-52.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Specify the DNS settings.
Specify the DNS settings.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-53.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-53.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Complete the Network configuration.
Complete the Network configuration.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-54.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-54.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Verify if the Network is correctly created without any errors.
Verify if the Network is correctly created without any errors.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-08-55.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-08-55.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


=STEP 9: Integrate VMware Cloud Director with Telco Cloud Automation (Control Plane)=
==STEP 9{{fqm}} Integrate VMware Cloud Director with Telco Cloud Automation 〈Control Plane〉==


Now that the required configuration is all done on VDC it is time to integrate VCD with the TCA Contol Plane Appliance.
Now that the required configuration is all done on VDC it is time to integrate VCD with the TCA Contol Plane Appliance.


==Create the new Virtual Infrastructure==
===Create the new Virtual Infrastructure===


You have deployed the Control Plane TCA already in STEP 7. Now it is time to configure it using the VAMI interface by logging in with the username "admin" and the password you specified during the OVA deployment.
You have deployed the Control Plane TCA already in STEP 7. Now it is time to configure it using the VAMI interface by logging in with the username "admin" and the password you specified during the OVA deployment.
Line 718: Line 716:
When you are logged in you will get a welcome screen and notice the word "Control Plane". This will tell you that the role you deployed is correct and you are configuring the correct TCA.
When you are logged in you will get a welcome screen and notice the word "Control Plane". This will tell you that the role you deployed is correct and you are configuring the correct TCA.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-09-1.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-09-1.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


The [https://docs.vmware.com/en/VMware-Telco-Cloud-Automation/1.9/tca-deploymentguide/GUID-304979AF-F5F9-40F9-B810-B1C1B3C13AD2.html license key is added] as one of the first steps by doing the initial configuration using the VAMI GUI.
The [https://docs.vmware.com/en/VMware-Telco-Cloud-Automation/1.9/tca-deploymentguide/GUID-304979AF-F5F9-40F9-B810-B1C1B3C13AD2.html license key is added] as one of the first steps by doing the initial configuration using the VAMI GUI.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-09-2.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-09-2.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Specify your location of the TCA.
Specify your location of the TCA.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-09-3.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-09-3.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Specify the system name of the TCA.
Specify the system name of the TCA.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-09-4.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-09-4.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Now you get to configure an "Instance Type" and this is where you define what "Virtual Infra" you are using this Control TCA for. This article is about VMware Cloud Director (VCD) so I am selecting  VMware Cloud Director here.
Now you get to configure an "Instance Type" and this is where you define what "Virtual Infra" you are using this Control TCA for. This article is about VMware Cloud Director (VCD) so I am selecting  VMware Cloud Director here.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-09-5.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-09-5.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Specify the VCD hostname and login credentials of the admin user of VDC. In my case, this is "administrator@system".
Specify the VCD hostname and login credentials of the admin user of VDC. In my case, this is "administrator@system".


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-09-6.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-09-6.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Trust the SSL certificate (as I am using self-signed certificates everywhere).
Trust the SSL certificate (as I am using self-signed certificates everywhere).


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-09-7.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-09-7.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Line 755: Line 753:
This needs to be configured on the VCD side first.
This needs to be configured on the VCD side first.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-09-8.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-09-8.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


So I went back to VCD and clicked the "Administration" tab and selected "Public Address" settings and specified them by clicking edit.
So I went back to VCD and clicked the "Administration" tab and selected "Public Address" settings and specified them by clicking edit.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-09-9.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-09-9.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Specify the Web Portal Public address.
Specify the Web Portal Public address.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-09-10.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-09-10.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Specify the API Public address.
Specify the API Public address.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-09-11.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-09-11.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Specify the Console Proxy Public address.
Specify the Console Proxy Public address.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-09-12.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-09-12.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Verify if the Public Addresses are correctly configured without any errors.
Verify if the Public Addresses are correctly configured without any errors.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-09-13.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-09-13.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Now let's continue the integration on the TCA Control Plane. Clicking continues should now work without any issues.
Now let's continue the integration on the TCA Control Plane. Clicking continues should now work without any issues.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-09-00.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-09-00.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Specify the vCenter Server hostname and credentials.
Specify the vCenter Server hostname and credentials.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-09-14.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-09-14.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Trust the SSL certificate (as I am using self-signed certificates everywhere).
Trust the SSL certificate (as I am using self-signed certificates everywhere).


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-09-15.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-09-15.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Specify the NSX-T Manager hostname and credentials.
Specify the NSX-T Manager hostname and credentials.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-09-16.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-09-16.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Trust the SSL certificate (as I am using self-signed certificates everywhere).
Trust the SSL certificate (as I am using self-signed certificates everywhere).


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-09-17.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-09-17.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Specify the RabbitMQ (Deployed in STEP 4) hostname and credentials.
Specify the RabbitMQ (Deployed in STEP 4) hostname and credentials.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-09-18.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-09-18.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Specify the VRO((Deployed in STEP 2) hostname and credentials.
Specify the VRO(Deployed in STEP 2) hostname and credentials.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-09-19.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-09-19.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Line 826: Line 824:
So I tried to use port 443, and this worked.
So I tried to use port 443, and this worked.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-09-20.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-09-20.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Restart the TCA to finish the initial configuration.
Restart the TCA to finish the initial configuration.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-09-21.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-09-21.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Once restarted the Dashboard of the TCA (Manager) should look like this.
Once restarted the Dashboard of the TCA (Manager) should look like this.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-09-22.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-09-22.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Line 847: Line 845:
Go to "Virtual Infrastructure" and add a new Virtual Infrastructure by selecting "VMware Cloud Director".
Go to "Virtual Infrastructure" and add a new Virtual Infrastructure by selecting "VMware Cloud Director".


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-10-1.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-10-1.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Verify if the Virtual Infrastructure is correctly configured without any errors.
Verify if the Virtual Infrastructure is correctly configured without any errors.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-10-2.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-10-2.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


=STEP 11: Create Compute Profile=
=STEP 11{{fqm}} Create Compute Profile=


Before you can deploy our first VNF you first need to create a "Compute Profile".
Before you can deploy our first VNF you first need to create a "Compute Profile".
Line 863: Line 861:
Go to "Virtual Infrastructure" and select Virtual Infrastructure.
Go to "Virtual Infrastructure" and select Virtual Infrastructure.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-11-1.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-11-1.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Click on the three dots and select "Manage Compute Profile".
Click on the three dots and select "Manage Compute Profile".


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-11-2.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-11-2.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Add a Compute Profile.
Add a Compute Profile.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-11-3.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-11-3.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Specify a name, select the OrgVDC and select the storage Profile and click on "Add".
Specify a name, select the OrgVDC and select the storage Profile and click on "Add".


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-11-4.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-11-4.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


Verify if the Compute Profile is correctly created without any errors.
Verify if the Compute Profile is correctly created without any errors.


<span style="border:3px solid red;display: inline-block;">[[File:NFV1-STEP-11-5.png|800px]]</span>
<span style="border:3px solid #f4c613;display: inline-block;">[[File:NFV1-STEP-11-5.png|800px]]</span>
<div style="clear:both"></div>
<div style="clear:both"></div>


In [[Deploying_your_first_VNF_(with_TCA)|this next article]], I will show you how to deploy your first VNF using TCA.
In [[Deploying your first VNF (with TCA)|this next article]], I will show you how to deploy your first VNF using TCA.


=Related Articles=
=Related Articles=
* [[Deploy_a_NFV_Lab_with_VMware_TCA_and_VCD|Deploy an NFV Lab with VMware TCA and VCD]]
* Deploy an NFV Lab with VMware TCA and VCD
* [[Deploying_your_first_VNF_(with_TCA)|Deploying your first VNF (with TCA)]]
* [[Deploying your first VNF (with TCA)]]
* [[Scaling_out_your_VNF_(with_TCA)|Scaling out your VNF (with TCA)]]
* [[Scaling out your VNF (with TCA)]]


[[Category:NSX-T NFV]]
[[Category:NSX]]
[[Category:Networking]]
[[Category:VMware]]

Latest revision as of 21:03, 16 March 2024

Last year VMware released the VMware Telco Cloud Automation (TCA) platform, which is a platform designed to help Cloud Service Providers (a.k.a. Telcos) onboard new applications, automate the design and deployment of both Virtual Network Functions (VNFs) and Cloud-native Network Functions (CNFs).

This article will give you detailed step-by-step instructions to get started with testing out how TCA is set up and how this integrates with all other Software-Defined Data Center (SDDC) components. In this article, I will use VMware Cloud Director (VCD) as the Network Function Virtualisation (NFV) Virtualised Infrastructure Manager (VIM).

Previous Publications

My colleague Gary Day already published about this topic a year ago, and a lot has changed since then... and when I asked him about an update he told me he was too busy and when I told him that his article contains old outdated information he told me "The movement you start to blog about something 5 minutes after the release, it is old already..." Good joke Gary, but I am doing this updated article anyway.

The reasons why TCA is used are:

  1. There are a number of challenges in the Management and Orchestration (MANO) space, Telcos are seeing a real lack of cloud expertise by many of the vendors
  2. The vendor lock-in approach is also common when you take my VNF you have to take my MANO / VNFM stack, this helps with efficiency but doesn’t really solve the promise of an open, agnostic NFV Infrastructure.
  3. There are also challenges with integration, adhering to ETSI standards that have made the progress towards MANO slower than most would have liked.

The Diagram

For better understanding let's first start with a diagram with all the components that I used to build this (nested) lab.

NFV1-DIAGRAM-1.png

Prerequisites

TCA and VCD will need a full-blown SDDC to work with. other than that a Rabbit MQ server is required to "glue" TCA and VCD together in terms of operation.

I don't think I have to mention this but I will do it anyway, you also need to have licenses for everything including VCD and TCA.

Deployment Steps

I have "chopped" the deployment steps up in higher levels so that is easier to understand what steps need to be taken. Each step will obviously consist out of substeps and I will go through all steps in the detailed form below.

  • STEP 1: Deploy the vSphere and NSX-T Infrastructure (your plain SDDC Infra)
  • STEP 2: Deploy a new vRealize Orchestrator Appliance
  • STEP 3: Deploy a new VMware Cloud Director Appliance
  • STEP 4: Deploy a new Rabbit MQ Server
  • STEP 5: Integrate VMware Cloud Director with Rabbit MQ
  • STEP 6: Deploy a new Telco Cloud Automation Server (with the Manager Role)
  • STEP 7: Deploy a new Telco Cloud Automation Server (with the Control Plane Role)
  • STEP 8: Configure VMware Cloud Director (prepare the integration with (Telco Cloud Automation server)
  • STEP 9: Integrate VMware Cloud Director with Telco Cloud Automation (Control Plane)
  • STEP 10: Integrate Telco Cloud Automation (Control Plane) with Telco Cloud Automation (Manager)
  • STEP 11: Create Compute Profile

The software versions that I have worked on within this lab are almost based on the VMware Telco Cloud Infrastructure – Cloud Director Edition 1.0 Release Notes.

So I am using:

  • VMware vCenter Server and ESXi 6.7 Update 3
  • VMware vRealize Orchestrator Appliance 8.3 (I should have used VMware vRealize Orchestrator Appliance 8.1 to be fully in line with the VMware Telco Cloud Infrastructure – Cloud Director Edition 1.0 Build of Material (BoM) list, but I have chosen not to)
  • VMware NSX-T Data Center Advanced Edition 3.0.2
  • VMware vRealize Log Insight 8.1.1
  • VMware vSAN 6.7 U3 Standard Edition
  • VMware Cloud Director 10.2 (I should have used VMware Cloud Director 10.1.2 to be fully in line with the VMware Telco Cloud Infrastructure – Cloud Director Edition 1.0 Build of Material (BoM) list, but I have chosen not to)
  • RabbitMQ server 3.8 with Erlang/OTP 24 on top of Ubuntu 20.04
  • VMware Telco Cloud Automation 1.9.5

I have not deployed VMware vRealize Operations Manager 8.1.1 Advanced Edition yet in this article, I will update this article later with this or write a new article when this is added.

STEP 1» Deploy the vSphere and NSX–T Infrastructure 〈your plain SDDC Infra〉

I am not going to explain to you how to build a full-blown SDDC with vSphere and NSX in this article as I have already done that in one of my other articles → NSX-T (nested) Lab with (3) different sites (and full (nested) SDDC deployment)

STEP 2» Deploy a new vRealize Orchestrator Appliance

vRealize Orchestrator (vRO) is a modern workflow automation platform that simplifies and automates complex data center infrastructure tasks for increased extensibility and agility.

I have chosen not to deploy VMware vRealize Orchestrator Appliance 8.1 and in order to make this choice, I went over the VMware interoperability matrix to verify what "newest" version I could use whiteout getting into trouble and I am can also use version 8.3.

NFV1-STEP-02-1.png

The deployment of vRO is pretty straight forward and with the use of an OVA the deployment is pretty much a click next-next-next-finish task. So I will not discuss any detailed steps of this here. Besides that you can find plenty of articles that have already been written about this like this or this article for example.

Once installed you need to start the "pre-configuration" of vRO.

Log in with the username "root" and the password you provided during the deployment.

NFV1-STEP-02-2.png

The following screen will pop up.

NFV1-STEP-02-3.png

I wanted to make sure that the hostname was configured correctly so I clicked on "Host Settings"

NFV1-STEP-02-4.png

Next you need to click on "Configure Authentication Provider" to configure the authentication provider. Use your vCenter Server host here:

NFV1-STEP-02-5.png

NFV1-STEP-02-6.png

Use the correct vSphere credentials here:

NFV1-STEP-02-7.png

Select the proper "Admin Group"

NFV1-STEP-02-8.png

NFV1-STEP-02-9.png

The deployment and configuration/preparation of vRO is now finished are you will use the appliance later where this needs to be integrated with the TCA (Control Plane).

STEP 3» Deploy a new VMware Cloud Director Appliance

The deployment of VCD is pretty straight forward and with the use of an OVA the deployment is pretty much a click next-next-next-finish task. So I will not discuss any detailed steps of this here. Besides that, you can find plenty of articles that have already been written about this like this.

Below I have only given pointers on how to finetune the deployment a bit without running into issues later on.

Update DNS records

There is no way to specify the hostname during the deployment of VCD. A Lot of us just take this for granted, but when you do not have a correct PTR record in your DNS server your hostname will not be correctly populated. I learned this the hard way, unfortunately.

As I am using BIND for DNS I needed to alter some BIND files

sudo nano /var/lib/bind/db.sddc.lab

user $ORIGIN sddc.lab.
vcd-01                  A       10.203.0.101
sudo nano /var/lib/bind/db.10.203

user $TTL 604800     ; 1 week
101                     PTR     vcd-01.sddc.lab.
Restart BIND:
   sudo systemctl restart named

BIND Status (Useful to show errors in configuration)
   sudo systemctl status named

VCD interfaces and static routes

During the deployment, you can also add in static routes, as my complete SDDC is behind a router and on a different subnet I have specified some static routes. In the lab diagram, you only see POD240 (SDDC) but I also have a POD230 that is out of scope for this article.

I have added routes for VCD so it knows how to reach POD230 and POD240.

10.203.0.230 10.203.230.0/24, 10.203.0.240 10.203.240.0/24

Deploy the VCD Appliance using the OVF deployment and specify all the correct parameters.

NFV1-STEP-03-1.png

Specify network settings on VCD-01.

The VCD appliance has two interfaces:

  • eth0
    • This interface is used for the management
  • eth1
    • This interface is used for the Database sync in a High Availability deployment of VCD
    • This Subnet/IP needs to be different than the eth0 one
    • This IP address should not be routable (when this is routable the management interface may not be reachable and will result in a failure during the initial installation)

NFV1-STEP-03-2.png

When the VCD Appliance is deployed correctly you will see the following screen on the console.

NFV1-STEP-03-3.png

Log in to the new VCD appliance using the VAMI interface to do the initial configuration using "root" and the password you have specified during the deployment.

NFV1-STEP-03-4.png

When you are logged in it is time for the initial configuration.

First, you need to specify the NFS mount and passwords for VCD (DB and GUI).

NFV1-STEP-03-5.png

Important

The NFS mount needs to be a unique mount for each VCD deployment. The best thing you can do is create a separate folder with a separate NFS mount for each VCD deployment you do (in a lab).

Now it is time to specify the "system administrator" username, password, name and email address.

NFV1-STEP-03-6.png

Last you specify the system name and the installation ID.

NFV1-STEP-03-7.png

When you submitted the settings and the configuration is done correctly you will get the following screen and you are able to browse to the VCD Service Provider Admin Portal of VCD.

NFV1-STEP-03-8.png

Log in to the Service Provider Admin Portal using the "administrator" username with the password (you just specified).

NFV1-STEP-03-9.png

When everything is ok, your screen should look like this:

NFV1-STEP-03-10.png

STEP 4» Deploy a new RabbitMQ Server

I installed RabbitMQ on an Ubuntu 20.04 server using the instructions on this website.

The Virtual Machine hardware specs that I used are :

NFV1-STEP-04-1.png

Before RabbitMQ can be installed you first need to install Erlang and the instructions for this are given here.

I did a quick check if Erlang was successfully installed:

administrator@rabbitmq-02:~$ erl
Erlang/OTP 24 [erts-12.0.3] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [jit]

Eshell V12.0.3  (abort with ^G)
1>

Because the VCD may have some interoperability issues with RabbitMQ version 3.9 (the latest version) I decided to deploy the RabbitMQ server with a specific version (3.8).

administrator@rabbitmq-02:~$ sudo apt-get install rabbitmq-server=3.8.22-1

After the deployment, I did a quick check if the RabbitMQ service was running on the server.

administrator@rabbitmq-02:~$ systemctl status  rabbitmq-server.service
● rabbitmq-server.service - RabbitMQ broker
     Loaded: loaded (/lib/systemd/system/rabbitmq-server.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2021-09-06 11:20:34 UTC; 1min 48s ago
   Main PID: 33392 (beam.smp)
      Tasks: 24 (limit: 4617)
     Memory: 91.4M
     CGroup: /system.slice/rabbitmq-server.service
             ├─33392 /usr/lib/erlang/erts-12.0.3/bin/beam.smp -W w -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -sbwt none -sbwtdcpu none -sbwtdio none -- -root /usr/lib/erl>
             ├─33403 erl_child_setup 32768
             ├─33449 /usr/lib/erlang/erts-12.0.3/bin/epmd -daemon
             ├─33472 inet_gethost 4
             └─33473 inet_gethost 4

Sep 06 11:20:29 rabbitmq-01 rabbitmq-server[33392]:   Doc guides:  https://rabbitmq.com/documentation.html
Sep 06 11:20:29 rabbitmq-01 rabbitmq-server[33392]:   Support:     https://rabbitmq.com/contact.html
Sep 06 11:20:29 rabbitmq-01 rabbitmq-server[33392]:   Tutorials:   https://rabbitmq.com/getstarted.html
Sep 06 11:20:29 rabbitmq-01 rabbitmq-server[33392]:   Monitoring:  https://rabbitmq.com/monitoring.html
Sep 06 11:20:29 rabbitmq-01 rabbitmq-server[33392]:   Logs: /var/log/rabbitmq/rabbit@rabbitmq-01.log
Sep 06 11:20:29 rabbitmq-01 rabbitmq-server[33392]:         /var/log/rabbitmq/rabbit@rabbitmq-01_upgrade.log
Sep 06 11:20:29 rabbitmq-01 rabbitmq-server[33392]:         <stdout>
Sep 06 11:20:29 rabbitmq-01 rabbitmq-server[33392]:   Config file(s): (none)
Sep 06 11:20:34 rabbitmq-01 rabbitmq-server[33392]:   Starting broker... completed with 0 plugins.
Sep 06 11:20:34 rabbitmq-01 systemd[1]: Started RabbitMQ broker.

administrator@rabbitmq-01:~$

Before you can log in to the RabbitMQ Management Web dashboard (when installed) you need some login credentials.

sudo rabbitmqctl add_user **administrator** VMware1
sudo rabbitmqctl set_user_tags administrator administrator

Once the login credentials are created you can log in to the RabbitMQ Management Web dashboard that is listening on port TCP/15672.

NFV1-STEP-04-2.png

STEP 5» Integrate VMware Cloud Director with RabbitMQ

Assign permissions to the administrator user 〈on the RabbitMQ server〉

  1. Click on the "admin" tab
  2. Click on the the "administrator" user
  3. Click on "Set permission"
  4. Click on "Set topic permission"

NFV1-STEP-05-1.png

Integrate the RabbitMQ server 〈on the VCD server〉

  1. Click on the "Administration" tab
  2. Click on "Extensibility"
  3. Click on Edit
  4. Add the RabbitMQ Server settings
  5. Enable Non-blocking AMQP Notifications

NFV1-STEP-05-2.png

Test the RabbitMQ Server by clicking on "Test".

Once this is tested successfully you can continue with the rest.

NFV1-STEP-05-3.png

add additional exchange 〈on the RabbitMQ server〉

The exchange "vcd.notifications20" was automatically created and you can verify that by going to the "Exchanges" tab.

NFV1-STEP-05-4.png

You can also click on the "Queues" tab, but this will be empty at this point.

NFV1-STEP-05-5.png

I also created an additional Exchange (with the name "systemExchange") but I am not sure if this is really required (as VCD used this exchange explicitly in the config).

NFV1-STEP-05-6.png

STEP 6» Deploy a new Telco Cloud Automation Server 〈with the Manager Role〉

First, you deploy a TCA with the role "Manager" and then you deploy a TCA (or multiple TCA's) with the role "Control Plane".

Just do a regular OVA deployment, and have your IP address, NTP, DNS, and password information ready. You will get the option to "Configure Appliance Role" and since you are deploying the Manager first you select manager here.

NFV1-STEP-06-00.png

When the deployment is finished you can log in to the non-VAMI part with the username "administrator" and the password you specified during the deployment.

NFV1-STEP-06-1.png

There is not much to see here yet. You first need to do the initial configuration using the VAMI GUI.

NFV1-STEP-06-2.png

NOTE: You can log in to the non-VAMI and VAMI interface, but the credentials are going to be different :

  • NON-VAMI BEFORE CONFIGURATION: Username = administrator / Password = what you specify during the OVA deployment.
  • VAMI BEFORE CONFIGURATION: Username = admin / Password = what you specify during the OVA deployment.
  • NON-VAMI AFTER CONFIGURATION: Username / Password = your vCenter Server credentials.

The license key is added as one of the first steps by doing the initial configuration using the VAMI GUI.

When you are logged in you will get a welcome screen and notice the word "Manager". This will tell you that the role you deployed is correct and you are configuring the correct TCA.

NFV1-STEP-06-3.png

Specify your location of the TCA.

NFV1-STEP-06-4.png

Specify the system name of the TCA.

NFV1-STEP-06-5.png

Connect to your vCenter Server.

NFV1-STEP-06-6.png

Configure SSO.

NFV1-STEP-06-7.png

Restart the TCA to finish the initial configuration.

NFV1-STEP-06-8.png

Once restarted the Dashboard of the TCA (Manager) should look like this.

NFV1-STEP-06-9.png

When you click on the "Appliance summary" tab you can view the running services.

NFV1-STEP-06-10.png

STEP 7» Deploy a new Telco Cloud Automation Server 〈with the Control Plane Role〉

Now that the TCA Manager is deployed you follow the exact same steps for deployment, but this time you select the Control Plane Role.

NFV1-STEP-07-1.png

The initial configuration of the TCA Control plane will be done in STEP 9.

Lets first "prepare" the VCD so it can be integrated with the TCA Control Plan in one go

STEP 8: Configure VMware Cloud Director (prepare the integration with (Telco Cloud Automation server)

Add vCenter Server and NSX–T Manager

In order to provide compute resources to our VNF, you need to add a vCenter Server to VCD.

NFV1-STEP-08-1.png

Specify all the details required to connect to the vCenter Server.

NFV1-STEP-08-2.png

Trust the SSL certificate (as I am using self-signed certificates everywhere).

NFV1-STEP-08-3.png

Skip the NSX-v integration part, as you are using NSX-T these days.

NFV1-STEP-08-4.png

Configure the Access.

NFV1-STEP-08-5.png

Finish the integration.

NFV1-STEP-08-6.png

Verify if the vCenter Server is correctly integrated without any errors.

NFV1-STEP-08-7.png

Now you need to integrate the NSX-T Manager.

NFV1-STEP-08-8.png

Specify all the details required to connect to the NSX-T Manager.

NFV1-STEP-08-9.png

Trust the SSL certificate (as I am using self-signed certificates everywhere).

NFV1-STEP-08-10.png

Verify if the NSX-T Manager is correctly integrated without any errors.

NFV1-STEP-08-11.png

Create a Network Pool

Before you can create a Provider VDC you need to create a Network Pool.

NFV1-STEP-08-12.png

Specify the name of the Network Pool.

NFV1-STEP-08-13.png

Specify a Network Pool type. I am using Geneve here as I am using NSX-T networks.

NFV1-STEP-08-14.png

Select the NSX-T Manager.

NFV1-STEP-08-15.png

Select the correct Transport Zone.

NFV1-STEP-08-16.png

Complete the Network Pool configuration.

NFV1-STEP-08-17.png

Verify if the Network Pool is correctly created without any errors.

NFV1-STEP-08-18.png

Create a Provider VDC

Now that the Network Pool is created it is time to create a Provider VDC.

NFV1-STEP-08-19.png

Specify a name for the Provider VDC.

NFV1-STEP-08-20.png

Select a vCenter Server where you want to consume the resource capacity for the VNFs.

NFV1-STEP-08-21.png

Select a Resource Pool (vSphere Cluster) where you want to consume the resource capacity for the VNFs.

NFV1-STEP-08-22.png

Select the Storage (policies) where you want to consume the storage capacity for the VNFs.

NFV1-STEP-08-23.png

Select the Network Pool where you want to consume the network capacity for the VNFs.

NFV1-STEP-08-24.png

Complete the Provider VCD configuration.

NFV1-STEP-08-25.png

Verify if the Provider VDC is correctly created without any errors.

NFV1-STEP-08-26.png

Create a vCloud Director Organization

Now that the Provider VDC is completed you need to create a new Organization.

NFV1-STEP-08-27.png

Specify the Organization name.

NFV1-STEP-08-28.png

Verify if the Organization is correctly created without any errors.

NFV1-STEP-08-29.png

Click on the Organization name and "Open in Tenant Portal". This will bring you to the Organization Portal where you need to create a new tenant user with the "Organization Administrator" Role.

NFV1-STEP-08-30.png

To do this select the "Administration" tab.

NFV1-STEP-08-31.png

Create a new user and specify the password and Role as "Organization Administrator".

NFV1-STEP-08-32.png

Verify if the User is correctly created without any errors.

NFV1-STEP-08-33.png

Verify if the Organization has now one User.

NFV1-STEP-08-34.png

Create an Organization Virtual Data Center

Now that the user is created you need to create an Organization VDC.

NFV1-STEP-08-35.png

Specify a name for the new Organization VCD.

NFV1-STEP-08-36.png

Select the newly created Organization.

NFV1-STEP-08-37.png

Select the newly created Provider VDC.

NFV1-STEP-08-38.png

Select an Allocation Model. For simplicity reasons I have selected "Pay-As-You-Go".

NFV1-STEP-08-39.png

I have changed the defaults for "CPU resources guaranteed" from 20 to 10 and the same I have done for the Memory resources guaranteed as well. The rest of the settings are kept default. The reason why I have done this here is that I am using a Nested Lab and all resources are nested.

NFV1-STEP-08-40.png

Select a storage policy and enable "Thin Provisioning".

NFV1-STEP-08-41.png

Select the newly created Network Pool.

NFV1-STEP-08-42.png

Complete the Organization VCD configuration.

NFV1-STEP-08-43.png

Verify if the Organization VDC is correctly created without any errors.

NFV1-STEP-08-44.png

Click on the Organization VDC to specify an "existing" EXTERNAL network (after you have pre-created the external network in NSX-T)

Create an external network for this Organization VDC

In order for the Organization VDC to route the VNF networks to the "outside world," you need to create an EXTERNAL network. I have already created this network and I am using the "SEG-Web" network for this.

NFV1-STEP-08-45.png

This network is also linked to a Tier-1 Gateway.

The Tier-1 Gateway is also linked to a Tier-0 Gateway and routing for this network is configured correctly.

NFV1-STEP-08-46.png

Once your EXTERNAL network is in place you can create a new network in the newly created Organization VDC by clicking on the "Networks" section.

NFV1-STEP-08-47.png

Specify the Organizational VDC Scope where you want to use this network.

NFV1-STEP-08-48.png

Specify the Network Type and select "Imported" as you are using an existing external network in this case.

NFV1-STEP-08-49.png

Select the existing NSX-T Logical Switch (Network Segment) that you want to use for the VNF external communication.

NFV1-STEP-08-50.png

Specify a name for the network. The Gateway will be taken/detected automatically from NSX-T.

NFV1-STEP-08-51.png

Specify a "static pool" of the external IP addresses you want to use.

NFV1-STEP-08-52.png

Specify the DNS settings.

NFV1-STEP-08-53.png

Complete the Network configuration.

NFV1-STEP-08-54.png

Verify if the Network is correctly created without any errors.

NFV1-STEP-08-55.png

STEP 9» Integrate VMware Cloud Director with Telco Cloud Automation 〈Control Plane〉

Now that the required configuration is all done on VDC it is time to integrate VCD with the TCA Contol Plane Appliance.

Create the new Virtual Infrastructure

You have deployed the Control Plane TCA already in STEP 7. Now it is time to configure it using the VAMI interface by logging in with the username "admin" and the password you specified during the OVA deployment.

When you are logged in you will get a welcome screen and notice the word "Control Plane". This will tell you that the role you deployed is correct and you are configuring the correct TCA.

NFV1-STEP-09-1.png

The license key is added as one of the first steps by doing the initial configuration using the VAMI GUI.

NFV1-STEP-09-2.png

Specify your location of the TCA.

NFV1-STEP-09-3.png

Specify the system name of the TCA.

NFV1-STEP-09-4.png

Now you get to configure an "Instance Type" and this is where you define what "Virtual Infra" you are using this Control TCA for. This article is about VMware Cloud Director (VCD) so I am selecting VMware Cloud Director here.

NFV1-STEP-09-5.png

Specify the VCD hostname and login credentials of the admin user of VDC. In my case, this is "administrator@system".

NFV1-STEP-09-6.png

Trust the SSL certificate (as I am using self-signed certificates everywhere).

NFV1-STEP-09-7.png

At this point, I got an error that the "Public URL is not configured.

This needs to be configured on the VCD side first.

NFV1-STEP-09-8.png

So I went back to VCD and clicked the "Administration" tab and selected "Public Address" settings and specified them by clicking edit.

NFV1-STEP-09-9.png

Specify the Web Portal Public address.

NFV1-STEP-09-10.png

Specify the API Public address.

NFV1-STEP-09-11.png

Specify the Console Proxy Public address.

NFV1-STEP-09-12.png

Verify if the Public Addresses are correctly configured without any errors.

NFV1-STEP-09-13.png

Now let's continue the integration on the TCA Control Plane. Clicking continues should now work without any issues.

NFV1-STEP-09-00.png

Specify the vCenter Server hostname and credentials.

NFV1-STEP-09-14.png

Trust the SSL certificate (as I am using self-signed certificates everywhere).

NFV1-STEP-09-15.png

Specify the NSX-T Manager hostname and credentials.

NFV1-STEP-09-16.png

Trust the SSL certificate (as I am using self-signed certificates everywhere).

NFV1-STEP-09-17.png

Specify the RabbitMQ (Deployed in STEP 4) hostname and credentials.

NFV1-STEP-09-18.png

Specify the VRO(Deployed in STEP 2) hostname and credentials.

NFV1-STEP-09-19.png

When using the "default port" 8281 I received the following error.

Unable to validate the configuration details for https://vro-01.sddc.lab:8281/vco/api/workflows

So I tried to use port 443, and this worked.

NFV1-STEP-09-20.png

Restart the TCA to finish the initial configuration.

NFV1-STEP-09-21.png

Once restarted the Dashboard of the TCA (Manager) should look like this.

NFV1-STEP-09-22.png

STEP 10: Integrate Telco Cloud Automation (Control Plane) with Telco Cloud Automation (Manager)

Now that VCD is integrated with TCA Control Plane you need to integrate the TCP Control Plane with the TCA Manager.

Log in to the TCA Manager using the NON-VAMI interface using the "administrator@vsphere.local "username and the password belonging to that SSO account.

Go to "Virtual Infrastructure" and add a new Virtual Infrastructure by selecting "VMware Cloud Director".

NFV1-STEP-10-1.png

Verify if the Virtual Infrastructure is correctly configured without any errors.

NFV1-STEP-10-2.png

STEP 11» Create Compute Profile

Before you can deploy our first VNF you first need to create a "Compute Profile".

Log in to the TCA Manager using the NON-VAMI interface using the "administrator@vsphere.local "username and the password belonging to that SSO account.

Go to "Virtual Infrastructure" and select Virtual Infrastructure.

NFV1-STEP-11-1.png

Click on the three dots and select "Manage Compute Profile".

NFV1-STEP-11-2.png

Add a Compute Profile.

NFV1-STEP-11-3.png

Specify a name, select the OrgVDC and select the storage Profile and click on "Add".

NFV1-STEP-11-4.png

Verify if the Compute Profile is correctly created without any errors.

NFV1-STEP-11-5.png

In this next article, I will show you how to deploy your first VNF using TCA.

Related Articles