Allow specifying ssh key file for compute nodes and network controller
[osm/openvim.git] / osm_openvim / 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
38 # Default openflow controller information
39 of_controller:      floodlight                   # Type of controller to be used.
40                                                  # Valid controllers are 'opendaylight', 'floodlight' or <custom>
41 # of_controller_module: module                     # Only needed for <custom>.  Python module that implement
42                                                  # this controller. By default a file with the name  <custom>.py is used 
43 # of_<other>:           value                      # Other parameters required by <custom> controller. Consumed by __init__
44 of_user:            user credentials             # User credentials for the controller if needed
45 of_password:        passwd credentials           # Password credentials for the controller if needed
46 of_controller_ip:   127.0.0.1                    # IP address where the Openflow controller is listening
47 of_controller_port: 7070                         # TCP port where the Openflow controller is listening (REST API server)
48 of_controller_dpid: '00:01:02:03:04:05:06:07'    # Openflow Switch identifier (put here the right number)
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
54 # Server parameters
55 http_host:       0.0.0.0             # IP address where openvim is listening (by default, localhost)
56 http_port:       9080                # General port where openvim is listening (by default, 9080)
57 http_admin_port: 9085                # Admin port where openvim is listening (when missing, no administration server is launched)
58
59 # Database parameters
60 db_host:   localhost                 # by default localhost
61 db_user:   vim                       # DB user
62 db_passwd: vimpw                     # DB password
63 db_name:   vim_db                    # Name of the VIM DB
64
65
66 # Common compute node parameters
67 host_image_path:  /opt/VNF/images        # Folder, same for every host, where the VNF images will be copied
68 # host_ssh_keyfile: /path/to/ssh-key-file  # Default ssh_kye to use for connecting to compute nodes
69
70
71 # Deprecated: testing parameters (used by ./test/test_openvim.py)
72 tenant_id: fc7b43b6-6bfa-11e4-84d2-5254006d6777   # Default tenant identifier for testing
73
74
75 # Underlay network: VLAN ranges used for underlay dataplane networks
76 # When a network is created an unused value in this range is used
77 network_vlan_range_start: 3000
78 network_vlan_range_end:   4000
79
80
81 # Overlay network implementation. Options are:
82 # - ovs :   (by default) Use a vlxan mesh between computes to handle the network overlay.
83 # - bridge: Use pre-populated linux bridges with L2 conectivity at compte nodes.
84 network_type : ovs
85 ovs_controller_ip:        localhost               # IP address of the controller OVS network host
86 ovs_controller_user:      osm_user                # User for controller OVS network host
87 # ovs_controller_password: osm_passwd               # password for controller OVS network host
88 # ovs_controller_keyfile:   /path/to/ssh-key-file   # ssh-access-key file to connect host
89 ovs_controller_file_path: /var/lib/openvim        # Path for dhcp daemon configuration, by default '/var/lib/openvim'
90
91
92 # Host bridge interfaces for networks. It applies only for 'network_type: bridge'
93 # Indicates the bridges at compute nodes to be used for the overlay networks
94 # Bridge networks need to be pre-provisioned on each host and Openvim uses those pre-provisioned bridge networks.
95 # Openvim assumes that the following bridge interfaces have been created on each host, appropriately associated to a physical port.
96 # The following information needs to be provided:
97 #    - Name of the bridge (identical in all hosts)
98 #    - VLAN tag associated to each bridge interface
99 #    - The speed of the physical port in Gbps, where that bridge interface was created
100 # For instance, next example assumes that 10 bridges have been created on each host
101 # using vlans 2001 to 2010, associated to a 1Gbps physical port 
102 #bridge_ifaces:
103 #   #name:      [vlan, speed in Gbps]
104 #   virbrMan1:  [2001, 1]
105 #   virbrMan2:  [2002, 1]
106 #   virbrMan3:  [2003, 1]
107 #   virbrMan4:  [2004, 1]
108 #   virbrMan5:  [2005, 1]
109 #   virbrMan6:  [2006, 1]
110 #   virbrMan7:  [2007, 1]
111 #   virbrMan8:  [2008, 1]
112 #   virbrMan9:  [2009, 1]
113 #   virbrMan10: [2010, 1]
114
115 # Used only when 'mode' is at development'. Indicates which 'bridge_ifaces' is used for dataplane networks
116 #development_bridge: virbrMan10
117
118 # DHCP SERVER PARAMETERS.
119 # In case some of the previous 'bridge_ifaces' are connected to an EXTERNAL dhcp server, provide
120 #   the server parameters to allow openvim getting the allocated IP addresses of virtual machines
121 #   connected to the indicated 'bridge_ifaces' and or 'nets'. Openvim will connect to the dhcp server by ssh.
122 # DHCP server must contain a shell script "get_dhcp_lease.sh" included in the path, that accepts a mac address as
123 #   parameter and return empty or the allocated IP address. See an example at the end of the file 
124 #   ./openvim/dhcp_thread.py 
125 # COMMENT all lines in case you do not have a DHCP server in 'normal', 'development'  or 'host only' modes.
126 #   For 'test' or 'OF only' modes you can leave then uncommented, because in these modes fake IP 
127 #   address are generated instead of connecting with a real DHCP server.
128 #dhcp_server:
129 #   host:     host-ip-or-name
130 #   #port:     22               #ssh port, by default 22
131 #   provider: isc-dhcp-server  #dhcp-server type
132 #   user:     user
133 #   #provide password, or key if needed
134 #   password: passwd
135 #   #keyfile:     ssh-access-key
136 #   #list of the previous bridge interfaces attached to this dhcp server
137 #   bridge_ifaces:   [ virbrMan1, virbrMan2 ]
138 #   #list of the networks attached to this dhcp server
139 #   nets: [default]
140
141
142 # Logging parameters       # DEBUG, INFO, WARNING, ERROR, CRITICAL
143 log_level:       DEBUG
144 log_level_db:    DEBUG
145 log_level_of:    DEBUG
146
147