Refactor to support OVS insted of prepopulate tagged interfaces and linux briges
[osm/openvim.git] / openvimd.cfg
1 ##
2 # Copyright 2015 Telefónica Investigación y Desarrollo, S.A.U.
3 # This file is part of openvim
4 # All Rights Reserved.
5 #
6 # Licensed under the Apache License, Version 2.0 (the "License"); you may
7 # not use this file except in compliance with the License. You may obtain
8 # a copy of the License at
9 #
10 #         http://www.apache.org/licenses/LICENSE-2.0
11 #
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15 # License for the specific language governing permissions and limitations
16 # under the License.
17 #
18 # For those usages not covered by the Apache License, Version 2.0 please
19 # contact with: nfvlabs@tid.es
20 ##
21
22
23
24 #Miscellaneous
25 #Option to test openvim without the needed infrastructure, possible values are
26 #    "normal"      by default, Openflow controller (OFC), switch and real host are needed
27 #    "test"        Used for testing http API and database without connecting to host or to OFC
28 #    "host only"   Used when neither OFC nor OF switch are provided. 
29 #                  Dataplane network connection must be done manually.
30 #    "OF only"     Used for testing of new openflow controllers support. No real VM deployments will be done but
31 #                  OFC will be used as in real mode
32 #    "development" Forced a cloud-type deployment, nomal memory instead of hugepages is used, 
33 #                  without cpu pinning, and using a bridge network instead of a real OFC dataplane networks.
34 #                  The same 'development_bridge' (see below) is used for all dataplane networks
35 mode: test
36
37 #Openflow controller information
38 of_controller:      floodlight                   # Type of controller to be used. 
39                                                  # Valid controllers are 'opendaylight', 'floodlight' or <custom>
40 #of_controller_module: module                    # Only needed for <custom>.  Python module that implement
41                                                  # this controller. By default a file with the name  <custom>.py is used 
42 #of_<other>:           value                     # Other parameters required by <custom> controller. Consumed by __init__
43 of_user:            user credentials             # User credentials for the controller if needed
44 of_password:        passwd credentials           # Password credentials for the controller if needed
45 of_controller_ip:   127.0.0.1                    # IP address where the Openflow controller is listening
46 of_controller_port: 7070                         # TCP port where the Openflow controller is listening (REST API server)
47 of_controller_dpid: '00:01:02:03:04:05:06:07'    # Openflow Switch identifier (put here the right number)
48
49 #This option is used for those openflow switch that cannot deliver one packet to several output with different vlan tags
50 #When set to true, it fails when trying to attach different vlan tagged ports to the same net
51 of_controller_nets_with_same_vlan: false         # (by default, true)
52
53 #Server parameters
54 http_host:       localhost           # IP address where openvim is listening (by default, localhost)
55 http_port:       9080                # General port where openvim is listening (by default, 9080)
56 http_admin_port: 9085                # Admin port where openvim is listening (when missing, no administration server is launched)
57
58 #database parameters
59 db_host:   0.0.0.0                   # by default localhost
60 db_user:   vim                       # DB user
61 db_passwd: vimpw                     # DB password
62 db_name:   vim_db                    # Name of the VIM DB
63
64 #host paremeters
65 image_path: "/opt/VNF/images"        # Folder, same for every host, where the VNF images will be copied
66
67 #testing parameters (used by ./test/test_openvim.py)
68 tenant_id: fc7b43b6-6bfa-11e4-84d2-5254006d6777   # Default tenant identifier for testing
69
70 #VLAN ranges used for the dataplane networks (ptp, data)
71 #When a network is created an unused value in this range is used
72 network_vlan_range_start: 3000
73 network_vlan_range_end:   4000
74
75 # Network overlay supported by openvim compute, bsae on openvswicth or linux bridges to manage management networks for NFVs.
76 # - ovs : Create a vlxan mesh between computes to handle the network overlay, no prepopulated bridges or networks is need it.
77 # - bridge: Use pre-populate linux bridges by openvim configuration scripts.
78
79 network_type : ovs
80
81 #host bridge interfaces for networks
82 # Openvim cannot create bridge networks automatically, in the same way as other CMS do when network type is "bridge".
83 # Bridge networks need to be pre-provisioned on each host and Openvim uses those pre-provisioned bridge networks.
84 # Openvim assumes that the following bridge interfaces have been created on each host, appropriately associated to a physical port.
85 # The following information needs to be provided:
86 #    - Name of the bridge (identical in all hosts)
87 #    - VLAN tag associated to each bridge interface
88 #    - The speed of the physical port in Gbps, where that bridge interface was created
89 # For instance, next example assumes that 10 bridges have been created on each host
90 # using vlans 2001 to 2010, associated to a 1Gbps physical port 
91 #bridge_ifaces:
92 #   #name:      [vlan, speed in Gbps]
93 #   virbrMan1:  [2001, 1]
94 #   virbrMan2:  [2002, 1]
95 #   virbrMan3:  [2003, 1]
96 #   virbrMan4:  [2004, 1]
97 #   virbrMan5:  [2005, 1]
98 #   virbrMan6:  [2006, 1]
99 #   virbrMan7:  [2007, 1]
100 #   virbrMan8:  [2008, 1]
101 #   virbrMan9:  [2009, 1]
102 #   virbrMan10: [2010, 1]
103
104 #Used only when 'mode' is at development'. Indicates which 'bridge_ifaces' is used for dataplane networks
105 #development_bridge: virbrMan10
106
107 #DHCP SERVER PARAMETERS. 
108 #In case some of the previous 'bridge_ifaces' are connected to an EXTERNAL dhcp server, provide 
109 #   the server parameters to allow openvim getting the allocated IP addresses of virtual machines
110 #   connected to the indicated 'bridge_ifaces' and or 'nets'. Openvim will connect to the dhcp server by ssh.
111 #DHCP server must contain a shell script "get_dhcp_lease.sh" included in the path, that accepts a mac address as 
112 #   parameter and return empty or the allocated IP address. See an example at the end of the file 
113 #   ./openvim/dhcp_thread.py 
114 #COMMENT all lines in case you do not have a DHCP server in 'normal', 'development'  or 'host only' modes.
115 #   For 'test' or 'OF only' modes you can leave then uncommented, because in these modes fake IP 
116 #   address are generated instead of connecting with a real DHCP server.
117 dhcp_server:
118    host:     host-ip-or-name  
119    #port:     22               #ssh port, by default 22
120    provider: isc-dhcp-server  #dhcp-server type
121    user:     user
122    #provide password, or key if needed
123    password: passwd           
124    #key:     ssh-access-key
125    #list of the previous bridge interfaces attached to this dhcp server
126    bridge_ifaces:   [ virbrMan1, virbrMan2 ] 
127    #list of the networks attached to this dhcp server
128    nets: [default]
129
130
131 #logging parameters       # DEBUG, INFO, WARNING, ERROR, CRITICAL
132 log_level:       ERROR
133 log_level_db:    DEBUG
134 log_level_of:    DEBUG
135
136