forked from CCI-MOC/hil
-
Notifications
You must be signed in to change notification settings - Fork 3
/
haas.cfg
126 lines (110 loc) · 4.95 KB
/
haas.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# This is an example configuration file for HaaS. It describes all of the
# available options in detail. The file ``haas.cfg.dev-no-hardware`` is a
# ready-to-run example for a local development environment with no physical
# infrastructure.
#
# The ``haas`` command will read its configuration from a file called
# ``haas.cfg``, in the current working directory. The ``haas.wsgi`` script
# will look for it at ``/etc/haas.cfg``. This will change in the future; it
# isn't considered reasonable behavior.
[general]
# How verbosely to log. Log messages of the given severity or more will be
# logged. Options include: debug, info, warn/warning, error, critical/fatal.
log_level = debug
[auth]
# There are a handful of API calls that require no special access to execute.
# By default, in this case the user must still successfully authenticate as
# *someone*, but it doesn't matter who. Setting this to False makes it possible
# to make these calls without authenticating at all:
require_authentication = True
[headnode]
# The trunk NIC on the host. This is the nic that the VMs will be bridged to
# to gain access to their networks. See INSTALL.rst for more information.
trunk_nic = eth0
# Names of base headnode instances (as a comma separated list). These are
# VM instances within libvirt, which should be powered off, that can be
# cloned to create a headnode.
base_imgs = img1, img2, img3, img4
# The libvirt instance to connect to. this *needs* to be a system instance for
# HaaS to work --- user sessions provide too little networking functionality
# to support HaaS. If you're running the HaaS API Server on the same machine as
# libvirt the value below is correct. While running it on a separate host should
# be possible, it is untested.
libvirt_endpoint = qemu:///system
[client]
# Options used by the ``haas`` command line tool on the client side.
# The http endpoint that the command line tool should connect to. The server
# doesn't use this; it must be configured separately. To double check that you
# have the right value, make sure the API server is running, and execute::
#
# haas list_nodes free
#
# from within the directory containing haas.cfg.
#
# The default below will be correct if the API Server was launched with the
# ``haas serve`` command.
#
# Note that a user may set the environment variable HAAS_ENDPOINT which
# overrides this option. In that case, the config file isn't used by the client
# at all.
#
# The value below matches what the HaaS development server (``haas serve``) uses
# by default.
endpoint = http://127.0.0.1:5000
[database]
# A SQLAlchemy database URI, specifying the database for the server to
# connect to. At present, only SQLite and PostgreSQL are supported, and only
# PostgreSQL is supported by our migration scripts.
#
# If a relative path is used with SQLite, it will be relative to the HaaS source
# tree. Unless you're doing development, this is almost certainly not what you
# want, so use an absolute path.
#
# Use the sqite database file ``/absolute/path/to/haas.db``:
uri = sqlite:////absolute/path/to/haas.db
#
# Use the sqlite database file ``haas.db`` in the root of the haas source tree.
# Notice that there are three slashes instead of four:
# uri = sqlite:///haas.db
#
# Connect to the postgres server on host ``dbhost`` on port 5432 (which is the
# default, and may be omitted), as user ``alice`` with password ``secret``, and
# use the database myDatabase:
# uri = postgresql://alice:secret@dbhost:5432/myDatabase
[devel]
# A handful of functions which touch external state (start vms, communicate with
# swithces...) can be supressed for development purposes. When this is done, the
# calls to the function will be logged, but not actually executed. If the option
# ``dry_run`` is present (regardless of its value), this functionality is
# enabled:
#dry_run=
[extensions]
# List of extensions to load. The values should all be empty. See
# ``docs/extensions.rst`` for more details.
haas.ext.network_allocators.vlan_pool =
haas.ext.switches.dell =
haas.ext.obm.ipmi =
# Comment out haas.ext.auth.database, and uncomment this next line to disable
# auth altogether. Useful for debugging/test/development.
#haas.ext.auth.null =
haas.ext.auth.database =
[haas.ext.network_allocators.vlan_pool]
# This section is needed only if the vlan_pool allocator is in use.
# VLANs available for use for allocation by the vlan_pool driver. This is a
# comma-separated list of individual VLAN numbers or ranges, e.g::
#
# vlans = 14,35-40, 100-900, 904, 65-85
#
# When running the deployment tests, a smaller number of VLANs may be
# desirable, as it reduces running time substantially. A minumum of four VLANs
# are required.
vlans = 100-200
[haas.ext.switches.dell]
# By default, the modifications made to the dell switches' configuration are
# persistent. Set `save` to False to stop the switch from writing to
# flash memory.
save = True
[haas.ext.switches.nexus]
# Same behaviour as the dell switch. Set `save` to False to stop the switch
# from writing to flash memory.
save = True