NFP - Devstack and Diskimage Create Scripts
Change-Id: I2f49329206a925d2fd5b3935d21f0bde0b95e42e Implements: blueprint gbp-network-services-framework Co-Authored-By: Deepak S <in.live.in@live.in> Co-Authored-By: Yogesh Rajmane <yogesh.rajmane@oneconvergence.com> Co-Authored-By: DhuldevValekar <dhuldev.valekar@oneconvergence.com> Co-Authored-By: ashutosh mishra <mca.ashu4@gmail.com>
This commit is contained in:
		
				
					committed by
					
						
						ashutosh mishra
					
				
			
			
				
	
			
			
			
						parent
						
							623e6fafe1
						
					
				
				
					commit
					1af3c0e892
				
			
							
								
								
									
										23
									
								
								devstack/exercises/nfp_service/fw_base_vm.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								devstack/exercises/nfp_service/fw_base_vm.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
source /home/stack/devstack/openrc neutron service
 | 
			
		||||
 | 
			
		||||
#service chain node and spec creation
 | 
			
		||||
gbp servicechain-node-create  --service-profile base_mode_fw_vm --config 'custom_json:{"mimetype": "config/custom+json","rules": [{"action": "log", "name": "tcp", "service": "tcp/80"}, {"action": "log", "name": "tcp", "service": "tcp/8080"}, {"action": "accept", "name": "tcp", "service": "tcp/22"}, {"action": "accept", "name": "icmp", "service": "icmp"}]}' FWNODE
 | 
			
		||||
gbp servicechain-spec-create --nodes "FWNODE" fw-chainspec
 | 
			
		||||
 | 
			
		||||
# Redirect action, rule, classifier and rule-set
 | 
			
		||||
gbp policy-action-create --action-type REDIRECT --action-value fw-chainspec redirect-to-fw
 | 
			
		||||
gbp policy-action-create --action-type ALLOW allow-to-fw
 | 
			
		||||
gbp policy-classifier-create --protocol tcp --direction bi fw-web-classifier-tcp
 | 
			
		||||
gbp policy-classifier-create --protocol udp --direction bi fw-web-classifier-udp
 | 
			
		||||
gbp policy-classifier-create --protocol icmp --direction bi fw-web-classifier-icmp
 | 
			
		||||
gbp policy-rule-create --classifier fw-web-classifier-tcp --actions redirect-to-fw fw-web-redirect-rule
 | 
			
		||||
gbp policy-rule-create --classifier fw-web-classifier-tcp --actions allow-to-fw fw-web-allow-rule-tcp
 | 
			
		||||
gbp policy-rule-create --classifier fw-web-classifier-udp --actions allow-to-fw fw-web-allow-rule-udp
 | 
			
		||||
gbp policy-rule-create --classifier fw-web-classifier-icmp --actions allow-to-fw fw-web-allow-rule-icmp
 | 
			
		||||
gbp policy-rule-set-create --policy-rules "fw-web-redirect-rule fw-web-allow-rule-tcp fw-web-allow-rule-udp fw-web-allow-rule-icmp" fw-webredirect-ruleset
 | 
			
		||||
 | 
			
		||||
#provider, consumer E-W groups creation
 | 
			
		||||
gbp group-create fw-consumer --consumed-policy-rule-sets "fw-webredirect-ruleset=None"
 | 
			
		||||
gbp group-create fw-provider --provided-policy-rule-sets "fw-webredirect-ruleset=None"
 | 
			
		||||
							
								
								
									
										21
									
								
								devstack/exercises/nfp_service/fw_base_vm_clean.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								devstack/exercises/nfp_service/fw_base_vm_clean.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
source /home/stack/devstack/openrc neutron service
 | 
			
		||||
 | 
			
		||||
gbp group-delete fw-provider
 | 
			
		||||
gbp group-delete fw-consumer
 | 
			
		||||
 | 
			
		||||
gbp policy-rule-set-delete fw-webredirect-ruleset
 | 
			
		||||
gbp policy-rule-delete fw-web-redirect-rule
 | 
			
		||||
gbp policy-rule-delete fw-web-allow-rule-tcp
 | 
			
		||||
gbp policy-rule-delete fw-web-allow-rule-icmp
 | 
			
		||||
gbp policy-rule-delete fw-web-allow-rule-udp
 | 
			
		||||
gbp policy-classifier-delete fw-web-classifier-tcp
 | 
			
		||||
gbp policy-classifier-delete fw-web-classifier-icmp
 | 
			
		||||
gbp policy-classifier-delete fw-web-classifier-udp
 | 
			
		||||
gbp policy-action-delete redirect-to-fw
 | 
			
		||||
gbp policy-action-delete allow-to-fw
 | 
			
		||||
 | 
			
		||||
gbp servicechain-spec-delete fw-chainspec
 | 
			
		||||
gbp servicechain-node-delete FWNODE
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										22
									
								
								devstack/exercises/nfp_service/lb_base.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								devstack/exercises/nfp_service/lb_base.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
source /home/stack/devstack/openrc demo demo
 | 
			
		||||
 | 
			
		||||
# Service chain node and spec creation
 | 
			
		||||
gbp servicechain-node-create --service-profile base_mode_lb --template-file ./templates/haproxy_base_mode.template LBNODE
 | 
			
		||||
gbp servicechain-spec-create --nodes "LBNODE" lb_chainspec
 | 
			
		||||
 | 
			
		||||
# REDIRECT action, classifier, rule and rule-set
 | 
			
		||||
gbp policy-action-create --action-type REDIRECT --action-value lb_chainspec redirect-to-lb
 | 
			
		||||
gbp policy-classifier-create --protocol tcp --direction bi lb-webredirect
 | 
			
		||||
gbp policy-rule-create --classifier lb-webredirect --actions redirect-to-lb lb-web-redirect-rule
 | 
			
		||||
gbp policy-rule-set-create --policy-rules "lb-web-redirect-rule" lb-webredirect-ruleset
 | 
			
		||||
 | 
			
		||||
# Network service policy
 | 
			
		||||
gbp network-service-policy-create --network-service-params type=ip_single,name=vip_ip,value=self_subnet lb_nsp
 | 
			
		||||
 | 
			
		||||
# Consumer PTG
 | 
			
		||||
gbp group-create lb-consumer --consumed-policy-rule-sets "lb-webredirect-ruleset=None"
 | 
			
		||||
 | 
			
		||||
# Provider PTG
 | 
			
		||||
gbp group-create lb-provider --provided-policy-rule-sets "lb-webredirect-ruleset=None" --network-service-policy lb_nsp
 | 
			
		||||
							
								
								
									
										28
									
								
								devstack/exercises/nfp_service/lb_base_clean.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								devstack/exercises/nfp_service/lb_base_clean.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
source /home/stack/devstack/openrc demo demo
 | 
			
		||||
 | 
			
		||||
echo "Make sure that policy-targets associated to PTGs are deleted!!"
 | 
			
		||||
 | 
			
		||||
# Delete PTG
 | 
			
		||||
gbp group-delete lb-consumer
 | 
			
		||||
gbp group-delete lb-provider
 | 
			
		||||
 | 
			
		||||
# Delete network service policy
 | 
			
		||||
gbp network-service-policy-delete lb_nsp
 | 
			
		||||
 | 
			
		||||
# Delete rule-set
 | 
			
		||||
gbp policy-rule-set-delete lb-webredirect-ruleset
 | 
			
		||||
 | 
			
		||||
# Delete rules
 | 
			
		||||
gbp policy-rule-delete lb-web-redirect-rule
 | 
			
		||||
 | 
			
		||||
# Delete classifier
 | 
			
		||||
gbp policy-classifier-delete lb-webredirect
 | 
			
		||||
 | 
			
		||||
# Delete actions
 | 
			
		||||
gbp policy-action-delete redirect-to-lb
 | 
			
		||||
 | 
			
		||||
# Delete service chain node and specs
 | 
			
		||||
gbp servicechain-spec-delete lb_chainspec
 | 
			
		||||
gbp servicechain-node-delete LBNODE
 | 
			
		||||
@@ -0,0 +1,65 @@
 | 
			
		||||
{
 | 
			
		||||
    "AWSTemplateFormatVersion" : "2010-09-09",
 | 
			
		||||
    "Description": "Template to test Haproxy Loadbalacer service",
 | 
			
		||||
 | 
			
		||||
    "Parameters": {
 | 
			
		||||
        "Subnet": {
 | 
			
		||||
            "Description": "Pool Subnet CIDR, on which VIP port should be created",
 | 
			
		||||
            "Type": "String"
 | 
			
		||||
        },
 | 
			
		||||
	"vip_ip": {
 | 
			
		||||
	    "Description": "VIP IP Address",
 | 
			
		||||
            "Type": "String"
 | 
			
		||||
	},
 | 
			
		||||
	"service_chain_metadata": {
 | 
			
		||||
	    "Description": "sc metadata",
 | 
			
		||||
            "Type": "String"
 | 
			
		||||
	}
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    "Resources" : {
 | 
			
		||||
        "HttpHM": {
 | 
			
		||||
            "Type": "OS::Neutron::HealthMonitor",
 | 
			
		||||
            "Properties": {
 | 
			
		||||
                "admin_state_up": true,
 | 
			
		||||
                "delay": 20,
 | 
			
		||||
                "expected_codes": "200",
 | 
			
		||||
                "http_method": "GET",
 | 
			
		||||
                "max_retries": 3,
 | 
			
		||||
                "timeout": 10,
 | 
			
		||||
                "type": "HTTP",
 | 
			
		||||
                "url_path": "/"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "HaproxyPool": {
 | 
			
		||||
            "Type": "OS::Neutron::Pool",
 | 
			
		||||
            "Properties": {
 | 
			
		||||
                "admin_state_up": true,
 | 
			
		||||
                "description": "Haproxy pool from teplate",
 | 
			
		||||
                "lb_method": "ROUND_ROBIN",
 | 
			
		||||
                "monitors": [{"Ref":"HttpHM"}],
 | 
			
		||||
                "name": "Haproxy pool",
 | 
			
		||||
		"provider": "haproxy",
 | 
			
		||||
                "protocol": "HTTP",
 | 
			
		||||
                "subnet_id": {"Ref":"Subnet"},
 | 
			
		||||
                "vip": {
 | 
			
		||||
                    "subnet": {"Ref":"Subnet"},
 | 
			
		||||
		    "address": {"Ref":"vip_ip"},
 | 
			
		||||
                    "name": "Haproxy vip",
 | 
			
		||||
                    "description": {"Ref":"service_chain_metadata"},
 | 
			
		||||
                    "protocol_port": 80,
 | 
			
		||||
                    "connection_limit": -1,
 | 
			
		||||
                    "admin_state_up": true
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "HaproxyLb": {
 | 
			
		||||
            "Type": "OS::Neutron::LoadBalancer",
 | 
			
		||||
            "Properties": {
 | 
			
		||||
                "pool_id": {"Ref":"HaproxyPool"},
 | 
			
		||||
                "protocol_port": 80
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user