Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Gliffy Diagram
size1200
nameCloud Agnostic Intent Execution Workflow
pagePin39

Follow up ups:

  • Policy DB – is there any restriction on json objects store? -  
    • Matti to follow up with Ankit
    Current R2 support – single VF module (VNFC) assumption per VNF for vCPE - follow up with Kang Xi to validate
  • Intent – "Infrastructure Resource Isolation for VNF" – { "qosProperty": { {"Burstable QoS": "TRUE", "Burstable QoS Oversubscription Percentage": "25"} } }
    • Only certain pre-defined over-subscription values are allowed to simplify implementation 

Private Cloud Setup - OpenStack-based

...

7a) MC Processing (need MC code changes)7a1) Fetch MC

  • Parse Template (e.g. OpenStack Heat Template)
    • For each VNFC, instance type in the template
      • Fetch Cloud-Agnostic Workload Deployment Policy (Intent

...

      • ) based on <Service (e.g. vCPE), VNFC (e.g. vGW)>
        • Value/Content: <Policy JSON> 
      • Parse Policy JSON
      • Modify template according to Intent - intent examples below
        • "Infrastructure High Availability (HA) for VNF" 
        • "Infrastructure Resource Isolation for VNF"   
          • "Burstable QoS"
  • Policy (Intent) Realization

    • "Infrastructure High Availability (HA) for VNF"
      • OpenStack-based Cloud realization 
        • For R3, Host-based anti-affinity using server groups //Beyond R3, Support other anti-affinity models at availability zone level etc. 
        • Notes on implementation: 
          • Instance "count" in heat template specifies VNFC scale out factor 
          • While dynamic injection of server group into heat template is ideal, a simple starting point could be just switching to an alternate heat which is identical to the deployment template and additionally has server group
      • Azure realization 
        • Availability Set?
    • "Infrastructure Resource Isolation for VNF" – { "qosProperty": { {"Burstable QoS": "TRUE", "Burstable QoS Oversubscription Percentage": "25"} } }

        • Example 
          • VNFC with "Guaranteed QoS" 
            • "flavor-xyz-no-oversubscription"
            • vCPU (Min/Max) - 16, Mem (Min/Max) - 32GB 
          • Same VNFC with "Burstable QoS", 25% over-subscription 
            • "flavor-xyz-25-percent-oversubscription"
            • vCPU (Min) - 16, Mem (Min) - 32GB 
            • vCPU (Max) - 20, Mem (Max) - 40GB  
        • Only certain pre-defined over-subscription values are allowed to simplify implementation
        • Notes on implementation:
          • While dynamic injection of limit/reservation into flavor is ideal, a simple starting would be to be to switch to a pre-defined flavor in the environment file
            • For aforementioned example
              • Original flavor - "flavor-xyz-no-oversubscription"
              • Modified flavor based on Policy - "flavor-xyz-25-percent-oversubscription" 

7b) Policy (Intent) Database

  • For R3, store Cloud-Agnostic Workload Deployment Policy (Intent) can be stored in the form of configuration file(s) in the OOM K8S Persistent Volumes to simplify implementation.
Code Block
languagepy
themeEmacs
titleMC Workload Deployment Policy
linenumberstrue
collapsetrue
//Policy Example 1 - VNFC VGW which is part of vCPE service
{
	"Service": "vCPE"
	"VNFC": "vgw", //"vgw" is also intechangeably used as "vg"	

For R3, this policy can be stored in the form of configuration file(s) in the OOM K8S Persistent Volumes to simplify implementation.

Code Block
languagepy
themeEmacs
titleMC Workload Deployment Policy
linenumberstrue
collapsetrue


//Policy Example 1 - VNFC VGW which is part of vCPE service
{
	"Service": "vCPE"
	"VNFC": "vgw", //"vgw" is also intechangeably used as "vg"	
	
	{
		"cloudOwner": "VMware VIO", //can be a specific cloud owner such as Azure, VMware VIO, Wind River Titanium Cloud etc.
		"intent": 
		{
			"name": "Infrastructure Resource Isolation for VNF", 
				// realization possible without dedicating CPU and Memory, refer to section on "Cloud Resource Partitioning for Differentiated QoS" 
				// on how this can help in offering tiered services
			"qosProperty": 
			{
				{"Burstable QoS": "TRUE", "Burstable QoS Oversubscription Percentage": "25"}

			}
		}
	}
}


//Policy Example 2 - VNFC vDNS which is part of vLoadBalancer/vDNS service
{
	"Service": "vDNS",
	"VNFC": "vDNS", 
	
	//By default, Policy (Intent) is applicable to all cloud owners/regions unless specified.
	{		
		"intent": 
		{
			"name": "Infrastructure High Availability (HA) for VNF", 
		}
	},
	
	{
		"intentcloudOwner": 
		{
			"name""VMware VIO", //can be a specific cloud owner such as Azure, VMware VIO, Wind River Titanium Cloud etc.
		"intent": 
		{
			"name": "Infrastructure Resource Isolation for VNF", 
				// realization possible without dedicating CPU and Memory, refer to section on "Cloud Resource Partitioning for Differentiated QoS" 
				// on how this can help in offering tiered services
			"qosProperty": 
			{		
				{"GuaranteedBurstable QoS": "TRUE", "Burstable QoS Oversubscription Percentage": "25"}

			}
		}
	}
}

Intent Realization

      • Example 
        • VNFC with "Guaranteed QoS" 
          • vCPU (Min/Max) - 16, Mem (Min/Max) - 32GB 
        • Same VNFC with "Burstable QoS", 25% oversubscription 
          • vCPU (Min) - 16, Mem (Min) - 32GB 
          • vCPU (Max) - 20, Mem (Max) - 40GB

OOF → Multi-VIM/Cloud Policy API - Other

  • Convert to appropriate instance type based on intent //e.g. "Infrastructure Resource Isolation for VNF" may result in a different instance type if the cloud owner supports "Burstable QoS"

SO → Multi-VIM/Cloud 

  • Get Cloud Region of interest
  • Parse Template (e.g. OpenStack Heat Template)
    • For each VNFC, instance type in the template
      • Get Policy based on <Service, VNFC>
        • Value/Content: <Policy JSON - only Intent portion> 
      • Parse Policy JSON
      • Modify template according to Intent - intent examples below
        • "Infrastructure High Availability (HA) for VNF" 
        • "Infrastructure Resource Isolation for VNF"   
          • "Burstable QoS"

Policy Management

...




//Policy Example 2 - VNFC vDNS which is part of vLoadBalancer/vDNS service
{
	"Service": "vDNS",
	"VNFC": "vDNS", 
	
	//By default, Policy (Intent) is applicable to all cloud owners/regions unless specified.
	{		
		"intent": 
		{
			"name": "Infrastructure High Availability (HA) for VNF", 
		}
	},
	
	{
		"intent": 
		{
			"name": "Infrastructure Resource Isolation for VNF", 
				// realization possible without dedicating CPU and Memory, refer to section on "Cloud Resource Partitioning for Differentiated QoS" 
				// on how this can help in offering tiered services
			"qosProperty": 
			{		
				{"Guaranteed QoS": "TRUE"}
			}
		}
	}
}


Cloud Resource Partitioning for Differentiated QoS (Combined with Previous)

Value:

  • Applicable to all use cases
  • Casablanca Targets:
    • vCPE (Enable Tiered service offering); 5G Network Slicing (Stretch Goal) 

...