ipv6 testcase disable port-security on vRouter
[yardstick.git] / yardstick / benchmark / scenarios / networking / ping6_setup.bash
1 #!/bin/bash
2
3 ##############################################################################
4 # Copyright (c) 2015 Huawei Technologies Co.,Ltd and others.
5 #
6 # All rights reserved. This program and the accompanying materials
7 # are made available under the terms of the Apache License, Version 2.0
8 # which accompanies this distribution, and is available at
9 # http://www.apache.org/licenses/LICENSE-2.0
10 ##############################################################################
11
12
13 # download and create image
14 openrc=$1
15 external_network=$2
16 echo "openrc=$openrc"
17 echo "external_network=$external_network"
18 source $openrc
19 wget https://download.fedoraproject.org/pub/fedora/linux/releases/22/Cloud/x86_64/Images/Fedora-Cloud-Base-22-20150521.x86_64.qcow2 >/dev/null 2>&1
20
21 glance image-create --name 'Fedora22' --disk-format qcow2 \
22 --container-format bare --file ./Fedora-Cloud-Base-22-20150521.x86_64.qcow2
23
24
25 # create router
26 neutron router-create ipv4-router
27 neutron router-create ipv6-router
28
29
30 # create (ipv4,ipv6)router and net and subnet
31 neutron net-create ipv4-int-network1
32 neutron net-create ipv6-int-network2
33
34 # Create IPv4 subnet and associate it to ipv4-router
35 neutron subnet-create --name ipv4-int-subnet1 \
36 --dns-nameserver 8.8.8.8 ipv4-int-network1 20.0.0.0/24
37 neutron router-interface-add ipv4-router ipv4-int-subnet1
38
39 #  Associate the net04_ext to the Neutron routers
40 neutron router-gateway-set ipv6-router $external_network
41 neutron router-gateway-set ipv4-router $external_network
42
43 # Create two subnets, one IPv4 subnet ipv4-int-subnet2 and
44 # one IPv6 subnet ipv6-int-subnet2 in ipv6-int-network2, and associate both subnets to ipv6-router
45 neutron subnet-create --name ipv4-int-subnet2 --dns-nameserver 8.8.8.8 ipv6-int-network2 10.0.0.0/24
46 neutron subnet-create --name ipv6-int-subnet2 \
47  --ip-version 6 --ipv6-ra-mode slaac --ipv6-address-mode slaac ipv6-int-network2 2001:db8:0:1::/64
48
49
50 neutron router-interface-add ipv6-router ipv4-int-subnet2
51 neutron router-interface-add ipv6-router ipv6-int-subnet2
52
53
54 # create key
55 nova keypair-add vRouterKey > ~/vRouterKey
56
57 # Create ports for vRouter
58 neutron port-create --name eth0-vRouter --mac-address fa:16:3e:11:11:11 ipv6-int-network2
59 neutron port-create --name eth1-vRouter --mac-address fa:16:3e:22:22:22 ipv4-int-network1
60
61 # Create ports for VM1 and VM2.
62 neutron port-create --name eth0-VM1 --mac-address fa:16:3e:33:33:33 ipv4-int-network1
63 neutron port-create --name eth0-VM2 --mac-address fa:16:3e:44:44:44 ipv4-int-network1
64
65 # Update ipv6-router with routing information to subnet 2001:db8:0:2::/64
66 neutron router-update ipv6-router \
67  --routes type=dict list=true destination=2001:db8:0:2::/64,nexthop=2001:db8:0:1:f816:3eff:fe11:1111
68
69 # vRouter boot
70 nova boot --image Fedora22 --flavor m1.small \
71 --user-data ./metadata.txt \
72 --nic port-id=$(neutron port-list | grep -w eth0-vRouter | awk '{print $2}') \
73 --nic port-id=$(neutron port-list | grep -w eth1-vRouter | awk '{print $2}') \
74 --key-name vRouterKey vRouter
75
76 # VM create
77 nova boot --image Fedora22  --flavor m1.small \
78 --nic port-id=$(neutron port-list | grep -w eth0-VM1 | awk '{print $2}') \
79 --key-name vRouterKey VM1
80
81 nova boot --image Fedora22  --flavor m1.small \
82 --nic port-id=$(neutron port-list | grep -w eth0-VM2 | awk '{print $2}') \
83 --key-name vRouterKey VM2
84
85 sleep 60
86
87 nova list
88 # disable eth0-VM1, eth0-VM2, eth0-vRouter, eth1-vRouter port-security
89 for port in eth0-VM1 eth0-VM2 eth0-vRouter eth1-vRouter
90 do
91     neutron port-update --no-security-groups $port
92     neutron port-update $port --port-security-enabled=False
93     neutron port-show $port | grep port_security_enabled
94 done