support for ipv6
[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 # download and create image
13 source /opt/admin-openrc.sh
14 wget https://download.fedoraproject.org/pub/fedora/linux/releases/22/Cloud/x86_64/Images/Fedora-Cloud-Base-22-20150521.x86_64.qcow2
15 glance image-create --name 'Fedora22' --disk-format qcow2 \
16 --container-format bare --file ./Fedora-Cloud-Base-22-20150521.x86_64.qcow2
17
18 # create external network
19 neutron net-create net04_ext --router:external --provider:physical_network physnet \
20 --provider:network_type vlan --provider:segmentation_id 1411
21 neutron subnet-create net04_ext 10.145.140.0/24 --name net04_ext__subnet \
22 --allocation-pool start=10.145.140.13,end=10.145.140.20 --disable-dhcp --gateway 10.145.140.1
23
24 # create router
25 neutron router-create ipv4-router
26 neutron router-create ipv6-router
27
28
29 # create (ipv4,ipv6)router and net and subnet
30 neutron net-create --port_security_enabled=False ipv4-int-network1
31 neutron net-create --port_security_enabled=False ipv6-int-network2
32
33 # Create IPv4 subnet and associate it to ipv4-router
34 neutron subnet-create --name ipv4-int-subnet1 \
35 --dns-nameserver 8.8.8.8 ipv4-int-network1 20.0.0.0/24
36 neutron router-interface-add ipv4-router ipv4-int-subnet1
37
38 #  Associate the net04_ext to the Neutron routers
39 neutron router-gateway-set ipv6-router net04_ext
40 neutron router-gateway-set ipv4-router net04_ext
41
42 # Create two subnets, one IPv4 subnet ipv4-int-subnet2 and
43 # one IPv6 subnet ipv6-int-subnet2 in ipv6-int-network2, and associate both subnets to ipv6-router
44 neutron subnet-create --name ipv4-int-subnet2 --dns-nameserver 8.8.8.8 ipv6-int-network2 10.0.0.0/24
45 neutron subnet-create --name ipv6-int-subnet2 \
46  --ip-version 6 --ipv6-ra-mode slaac --ipv6-address-mode slaac ipv6-int-network2 2001:db8:0:1::/64
47
48
49 neutron router-interface-add ipv6-router ipv4-int-subnet2
50 neutron router-interface-add ipv6-router ipv6-int-subnet2
51
52
53 # create key
54 nova keypair-add vRouterKey > ~/vRouterKey
55
56 # Create ports for vRouter
57 neutron port-create --name eth0-vRouter --mac-address fa:16:3e:11:11:11 ipv6-int-network2
58 neutron port-create --name eth1-vRouter --mac-address fa:16:3e:22:22:22 ipv4-int-network1
59
60 # Create ports for VM1 and VM2.
61 neutron port-create --name eth0-VM1 --mac-address fa:16:3e:33:33:33 ipv4-int-network1
62 neutron port-create --name eth0-VM2 --mac-address fa:16:3e:44:44:44 ipv4-int-network1
63
64 # Update ipv6-router with routing information to subnet 2001:db8:0:2::/64
65 neutron router-update ipv6-router \
66  --routes type=dict list=true destination=2001:db8:0:2::/64,nexthop=2001:db8:0:1:f816:3eff:fe11:1111
67
68 # vRouter boot
69 nova boot --image Fedora22 --flavor m1.small \
70 --user-data ./metadata.txt \
71 --nic port-id=$(neutron port-list | grep -w eth0-vRouter | awk '{print $2}') \
72 --nic port-id=$(neutron port-list | grep -w eth1-vRouter | awk '{print $2}') \
73 --key-name vRouterKey vRouter
74
75 # VM create
76 nova boot --image Fedora22  --flavor m1.small \
77 --nic port-id=$(neutron port-list | grep -w eth0-VM1 | awk '{print $2}') \
78 --key-name vRouterKey VM1
79
80 nova boot --image Fedora22  --flavor m1.small \
81 --nic port-id=$(neutron port-list | grep -w eth0-VM2 | awk '{print $2}') \
82 --key-name vRouterKey VM2
83
84 nova list