Statistics
| Branch: | Tag: | Revision:

one / share / etc / oned.conf @ 89c5ae46

History | View | Annotate | Download (51.6 KB)

1
#*******************************************************************************
2
#                       OpenNebula Configuration file
3
#*******************************************************************************
4

    
5
#*******************************************************************************
6
# Daemon configuration attributes
7
#-------------------------------------------------------------------------------
8
#  MANAGER_TIMER: Time in seconds the core uses to evaluate periodical functions.
9
#  MONITORING_INTERVAL cannot have a smaller value than MANAGER_TIMER.
10
#
11
#  MONITORING_INTERVAL: Time in seconds between host and VM monitorization.
12
#
13
#  MONITORING_THREADS: Max. number of threads used to process monitor messages
14
#
15
#  HOST_PER_INTERVAL: Number of hosts monitored in each interval.
16
#  HOST_MONITORING_EXPIRATION_TIME: Time, in seconds, to expire monitoring
17
#  information. Use 0 to disable HOST monitoring recording.
18
#
19
#  VM_INDIVIDUAL_MONITORING: VM monitoring information is obtained along with the
20
#  host information. For some custom monitor drivers you may need activate the
21
#  individual VM monitoring process.
22
#  VM_PER_INTERVAL: Number of VMs monitored in each interval, if the individual
23
#  VM monitoring is set to yes.
24
#  VM_MONITORING_EXPIRATION_TIME: Time, in seconds, to expire monitoring
25
#  information. Use 0 to disable VM monitoring recording.
26
#
27
#  SCRIPTS_REMOTE_DIR: Remote path to store the monitoring and VM management
28
#  scripts.
29
#
30
#  PORT: Port where oned will listen for xmlrpc calls.
31
#  LISTEN_ADDRESS: Host IP to listen on for xmlrpc calls (default: all IPs).
32
#
33
#  DB: Configuration attributes for the database backend
34
#   backend : can be sqlite or mysql (default is sqlite)
35
#   server  : (mysql) host name or an IP address for the MySQL server
36
#   port    : (mysql) port for the connection to the server.
37
#                     If set to 0, the default port is used.
38
#   user    : (mysql) user's MySQL login ID
39
#   passwd  : (mysql) the password for user
40
#   db_name : (mysql) the database name
41
#
42
#  VNC_PORTS: VNC port pool for automatic VNC port assignment, if possible the
43
#  port will be set to ``START`` + ``VMID``
44
#   start   : first port to assign
45
#   reserved: comma separated list of ports or ranges. Two numbers separated by
46
#   a colon indicate a range.
47
#
48
#  LOG: Configuration for the logging system
49
#   system: defines the logging system:
50
#      file      to log in the oned.log file
51
#      syslog    to use the syslog facilities
52
#      std       to use the default log stream (stderr) to use with systemd
53
#   debug_level: 0 = ERROR, 1 = WARNING, 2 = INFO, 3 = DEBUG
54
#
55
#  VM_SUBMIT_ON_HOLD: Forces VMs to be created on hold state instead of pending.
56
#  Values: YES or NO.
57
#*******************************************************************************
58

    
59
LOG = [
60
  SYSTEM      = "file",
61
  DEBUG_LEVEL = 3
62
]
63

    
64
#MANAGER_TIMER = 15
65

    
66
MONITORING_INTERVAL = 60
67
MONITORING_THREADS  = 50
68

    
69
#HOST_PER_INTERVAL               = 15
70
#HOST_MONITORING_EXPIRATION_TIME = 43200
71

    
72
#VM_INDIVIDUAL_MONITORING      = "no"
73
#VM_PER_INTERVAL               = 5
74
#VM_MONITORING_EXPIRATION_TIME = 14400
75

    
76
SCRIPTS_REMOTE_DIR=/var/tmp/one
77

    
78
PORT = 2633
79

    
80
LISTEN_ADDRESS = "0.0.0.0"
81

    
82
DB = [ BACKEND = "sqlite" ]
83

    
84
# Sample configuration for MySQL
85
# DB = [ BACKEND = "mysql",
86
#        SERVER  = "localhost",
87
#        PORT    = 0,
88
#        USER    = "oneadmin",
89
#        PASSWD  = "oneadmin",
90
#        DB_NAME = "opennebula" ]
91

    
92
VNC_PORTS = [
93
    START    = 5900
94
#    RESERVED = "6800, 6801, 6810:6820, 9869"
95
]
96

    
97
#VM_SUBMIT_ON_HOLD = "NO"
98

    
99
#*******************************************************************************
100
# Federation & HA configuration attributes
101
#-------------------------------------------------------------------------------
102
# Control the federation capabilities of oned. Operation in a federated setup
103
# requires a special DB configuration.
104
#
105
#  FEDERATION: Federation attributes
106
#   MODE: Operation mode of this oned.
107
#       STANDALONE no federated.This is the default operational mode
108
#       MASTER     this oned is the master zone of the federation
109
#       SLAVE      this oned is a slave zone
110
#   ZONE_ID: The zone ID as returned by onezone command
111
#   SERVER_ID: ID identifying this server in the zone as returned by the
112
#   onezone server-add command. This ID controls the HA configuration of
113
#   OpenNebula:
114
#     -1 (default) OpenNebula will operate in "solo" mode no HA
115
#     <id> Operate in HA (leader election and state replication)
116
#   MASTER_ONED: The xml-rpc endpoint of the master oned, e.g.
117
#   http://master.one.org:2633/RPC2
118
#
119
#
120
#   RAFT: Algorithm attributes
121
#     LOG_RETENTION: Number of DB log records kept, it determines the
122
#     synchronization window across servers and extra storage space needed.
123
#     LOG_PURGE_TIMEOUT: How often applied records are purged according the log
124
#     retention value. (in seconds)
125
#     ELECTION_TIMEOUT_MS: Timeout to start a election process if no heartbeat
126
#     or log is received from leader.
127
#     BROADCAST_TIMEOUT_MS: How often heartbeats are sent to  followers.
128
#     XMLRPC_TIMEOUT_MS: To timeout raft related API calls
129
#
130
#   RAFT_LEADER_HOOK: Executed when a server transits from follower->leader
131
#     The purpose of this hook is to configure the Virtual IP.
132
#     COMMAND: raft/vip.sh is a fully working script, this should not be changed
133
#     ARGUMENTS: <interface> and <ip_cidr> must be replaced. For example
134
#                ARGUMENTS = "leader ens1 10.0.0.2/24"
135
#
136
#   RAFT_FOLLOWER_HOOK: Executed when a server transits from leader->follower
137
#     The purpose of this hook is to configure the Virtual IP.
138
#     COMMAND: raft/vip.sh is a fully working script, this should not be changed
139
#     ARGUMENTS: <interface> and <ip_cidr> must be replaced. For example
140
#                ARGUMENTS = "follower ens1 10.0.0.2/24"
141
#
142
#  NOTE: Timeout tunning depends on the latency of the servers (network and load)
143
#  as well as the max downtime tolerated by the system. Timeouts needs to be
144
#  greater than 10ms
145
#
146
#*******************************************************************************
147

    
148
FEDERATION = [
149
    MODE          = "STANDALONE",
150
    ZONE_ID       = 0,
151
    SERVER_ID     = -1,
152
    MASTER_ONED   = ""
153
]
154

    
155
RAFT = [
156
    LOG_RETENTION        = 500000,
157
    LOG_PURGE_TIMEOUT    = 600,
158
    ELECTION_TIMEOUT_MS  = 2500,
159
    BROADCAST_TIMEOUT_MS = 500,
160
    XMLRPC_TIMEOUT_MS    = 2000
161
]
162

    
163
# Executed when a server transits from follower->leader
164
# RAFT_LEADER_HOOK = [
165
#     COMMAND = "raft/vip.sh",
166
#     ARGUMENTS = "leader <interface> <ip_cidr>"
167
# ]
168

    
169
# Executed when a server transits from leader->follower
170
# RAFT_FOLLOWER_HOOK = [
171
#     COMMAND = "raft/vip.sh",
172
#     ARGUMENTS = "follower <interface> <ip_cidr>"
173
# ]
174

    
175
#*******************************************************************************
176
# Default showback cost
177
#-------------------------------------------------------------------------------
178
# The following attributes define the default cost for Virtual Machines that
179
# don't have a CPU, MEMORY or DISK cost. This is used by the oneshowback
180
# calculate method.
181
#*******************************************************************************
182

    
183
DEFAULT_COST = [
184
    CPU_COST    = 0,
185
    MEMORY_COST = 0,
186
    DISK_COST   = 0
187
]
188

    
189
#*******************************************************************************
190
# XML-RPC server configuration
191
#-------------------------------------------------------------------------------
192
#  These are configuration parameters for oned's xmlrpc-c server
193
#
194
#  MAX_CONN: Maximum number of simultaneous TCP connections the server
195
#  will maintain
196
#
197
#  MAX_CONN_BACKLOG: Maximum number of TCP connections the operating system
198
#  will accept on the server's behalf without the server accepting them from
199
#  the operating system
200
#
201
#  KEEPALIVE_TIMEOUT: Maximum time in seconds that the server allows a
202
#  connection to be open between RPCs
203
#
204
#  KEEPALIVE_MAX_CONN: Maximum number of RPCs that the server will execute on
205
#  a single connection
206
#
207
#  TIMEOUT: Maximum time in seconds the server will wait for the client to
208
#  do anything while processing an RPC. This timeout will be also used when
209
#  proxy calls to the master in a federation.
210
#
211
#  RPC_LOG: Create a separated log file for xml-rpc requests, in
212
#  "/var/log/one/one_xmlrpc.log".
213
#
214
#  MESSAGE_SIZE: Buffer size in bytes for XML-RPC responses.
215
#
216
#  LOG_CALL_FORMAT: Format string to log XML-RPC calls. Interpreted strings:
217
#     %i -- request id
218
#     %m -- method name
219
#     %u -- user id
220
#     %U -- user name
221
#     %l -- param list
222
#     %p -- user password
223
#     %g -- group id
224
#     %G -- group name
225
#     %a -- auth token
226
#     %% -- %
227
#*******************************************************************************
228

    
229
#MAX_CONN           = 15
230
#MAX_CONN_BACKLOG   = 15
231
#KEEPALIVE_TIMEOUT  = 15
232
#KEEPALIVE_MAX_CONN = 30
233
#TIMEOUT            = 15
234
#RPC_LOG            = NO
235
#MESSAGE_SIZE       = 1073741824
236
#LOG_CALL_FORMAT    = "Req:%i UID:%u %m invoked %l"
237

    
238
#*******************************************************************************
239
# Physical Networks configuration
240
#*******************************************************************************
241
#  NETWORK_SIZE: Here you can define the default size for the virtual networks
242
#
243
#  MAC_PREFIX: Default MAC prefix to be used to create the auto-generated MAC
244
#  addresses is defined here (this can be overwritten by the Virtual Network
245
#  template)
246
#
247
#  VLAN_IDS: VLAN ID pool for the automatic VLAN_ID assignment. This pool
248
#  is for 802.1Q networks (Open vSwitch and 802.1Q drivers). The driver
249
#  will try first to allocate VLAN_IDS[START] + VNET_ID
250
#     start: First VLAN_ID to use
251
#     reserved: Comma separated list of VLAN_IDs or ranges. Two numbers
252
#     separated by a colon indicate a range.
253
#
254
# VXLAN_IDS: Automatic VXLAN Network ID (VNI) assignment. This is used
255
# for vxlan networks.
256
#     start: First VNI to use
257
#     NOTE: reserved is not supported by this pool
258
#
259
# PCI_PASSTHROUGH_BUS: Default bus to attach passthrough devices in the guest,
260
# in hex notation. It may be overwritten in the PCI device using the BUS
261
# attribute.
262
#*******************************************************************************
263

    
264
NETWORK_SIZE = 254
265

    
266
MAC_PREFIX   = "02:00"
267

    
268
VLAN_IDS = [
269
    START    = "2",
270
    RESERVED = "0, 1, 4095"
271
]
272

    
273
VXLAN_IDS = [
274
    START = "2"
275
]
276

    
277
#PCI_PASSTHROUGH_BUS = "0x01"
278

    
279
#*******************************************************************************
280
# DataStore Configuration
281
#*******************************************************************************
282
#  DATASTORE_LOCATION: Path for Datastores. It IS the same for all the hosts
283
#  and front-end. It defaults to /var/lib/one/datastores (in self-contained mode
284
#  defaults to $ONE_LOCATION/var/datastores). Each datastore has its own
285
#  directory (called BASE_PATH) in the form: $DATASTORE_LOCATION/<datastore_id>
286
#  You can symlink this directory to any other path if needed. BASE_PATH is
287
#  generated from this attribute each time oned is started.
288
#
289
#  DATASTORE_CAPACITY_CHECK: Checks that there is enough capacity before
290
#  creating a new image. Defaults to Yes
291
#
292
#  DEFAULT_IMAGE_TYPE: This can take values
293
#       OS        Image file holding an operating system
294
#       CDROM     Image file holding a CDROM
295
#       DATABLOCK Image file holding a datablock, created as an empty block
296
#
297
#  DEFAULT_DEVICE_PREFIX: This can be set to
298
#       hd        IDE prefix
299
#       sd        SCSI
300
#       vd        KVM virtual disk
301
#
302
#  DEFAULT_CDROM_DEVICE_PREFIX: Same as above but for CDROM devices.
303
#
304
#  DEFAULT_IMAGE_PERSISTENT: Control the default value for the PERSISTENT
305
#  attribute on image creation (oneimage clone, onevm disk-saveas). If blank
306
#  images will inherit the persistent attribute from the base image.
307
#
308
#  DEFAULT_IMAGE_PERSISTENT_NEW: Control the default value for the PERSISTENT
309
#  attribute on image creation (oneimage create). By default images are no
310
#  persistent if not set.
311
#*******************************************************************************
312

    
313
#DATASTORE_LOCATION  = /var/lib/one/datastores
314

    
315
DATASTORE_CAPACITY_CHECK = "yes"
316

    
317
DEFAULT_DEVICE_PREFIX       = "hd"
318
DEFAULT_CDROM_DEVICE_PREFIX = "hd"
319

    
320
DEFAULT_IMAGE_TYPE           = "OS"
321
#DEFAULT_IMAGE_PERSISTENT     = ""
322
#DEFAULT_IMAGE_PERSISTENT_NEW = ""
323

    
324
#*******************************************************************************
325
# Information Driver Configuration
326
#*******************************************************************************
327
# You can add more information managers with different configurations but make
328
# sure it has different names.
329
#
330
#   name      : name for this information manager
331
#
332
#   executable: path of the information driver executable, can be an
333
#               absolute path or relative to $ONE_LOCATION/lib/mads (or
334
#               /usr/lib/one/mads/ if OpenNebula was installed in /)
335
#
336
#   arguments : for the driver executable, usually a probe configuration file,
337
#               can be an absolute path or relative to $ONE_LOCATION/etc (or
338
#               /etc/one/ if OpenNebula was installed in /)
339
#*******************************************************************************
340

    
341
#-------------------------------------------------------------------------------
342
#  Information Collector for KVM IM's.
343
#-------------------------------------------------------------------------------
344
#  This driver CANNOT BE ASSIGNED TO A HOST, and needs to be used with KVM
345
#    -h  prints this help.
346
#    -a  Address to bind the collectd socket (default 0.0.0.0)
347
#    -p  UDP port to listen for monitor information (default 4124)
348
#    -f  Interval in seconds to flush collected information (default 5)
349
#    -t  Number of threads for the server (default 50)
350
#    -i  Time in seconds of the monitorization push cycle. This parameter must
351
#        be smaller than MONITORING_INTERVAL, otherwise push monitorization will
352
#        not be effective.
353
#    -w  Timeout in seconds to execute external commands (default unlimited)
354
#-------------------------------------------------------------------------------
355
IM_MAD = [
356
      NAME       = "collectd",
357
      EXECUTABLE = "collectd",
358
      ARGUMENTS  = "-p 4124 -f 5 -t 50 -i 20" ]
359
#-------------------------------------------------------------------------------
360

    
361
#-------------------------------------------------------------------------------
362
#  KVM UDP-push Information Driver Manager Configuration
363
#    -r number of retries when monitoring a host
364
#    -t number of threads, i.e. number of hosts monitored at the same time
365
#    -w Timeout in seconds to execute external commands (default unlimited)
366
#-------------------------------------------------------------------------------
367
IM_MAD = [
368
      NAME          = "kvm",
369
      SUNSTONE_NAME = "KVM",
370
      EXECUTABLE    = "one_im_ssh",
371
      ARGUMENTS     = "-r 3 -t 15 kvm" ]
372
#-------------------------------------------------------------------------------
373

    
374
#-------------------------------------------------------------------------------
375
#  KVM SSH-pull Information Driver Manager Configuration
376
#    -r number of retries when monitoring a host
377
#    -t number of threads, i.e. number of hosts monitored at the same time
378
#    -w Timeout in seconds to execute external commands (default unlimited)
379
#-------------------------------------------------------------------------------
380
# IM_MAD = [
381
#       NAME          = "kvm",
382
#       SUNSTONE_NAME = "kvm-ssh",
383
#       EXECUTABLE    = "one_im_ssh",
384
#       ARGUMENTS     = "-r 3 -t 15 kvm-probes" ]
385
#-------------------------------------------------------------------------------
386

    
387
#-------------------------------------------------------------------------------
388
#  vCenter Information Driver Manager Configuration
389
#    -r number of retries when monitoring a host
390
#    -t number of threads, i.e. number of hosts monitored at the same time
391
#    -w Timeout in seconds to execute external commands (default unlimited)
392
#-------------------------------------------------------------------------------
393
#IM_MAD = [
394
#      NAME          = "vcenter",
395
#      SUNSTONE_NAME = "VMWare vCenter",
396
#      EXECUTABLE    = "one_im_sh",
397
#      ARGUMENTS     = "-c -t 15 -r 0 vcenter" ]
398
#-------------------------------------------------------------------------------
399

    
400
#-------------------------------------------------------------------------------
401
#  EC2 Information Driver Manager Configuration
402
#    -r number of retries when monitoring a host
403
#    -t number of threads, i.e. number of hosts monitored at the same time
404
#    -w Timeout in seconds to execute external commands (default unlimited)
405
#-------------------------------------------------------------------------------
406
#IM_MAD = [
407
#      NAME          = "ec2",
408
#      SUNSTONE_NAME = "Amazon EC2",
409
#      EXECUTABLE    = "one_im_sh",
410
#      ARGUMENTS     = "-c -t 1 -r 0 -w 600 ec2" ]
411
#-------------------------------------------------------------------------------
412

    
413
#-------------------------------------------------------------------------------
414
#  Azure Information Driver Manager Configuration
415
#    -r number of retries when monitoring a host
416
#    -t number of threads, i.e. number of hosts monitored at the same time
417
#    -w Timeout in seconds to execute external commands (default unlimited)
418
#-------------------------------------------------------------------------------
419
#IM_MAD = [
420
#      NAME          = "az",
421
#      SUNSTONE_NAME = "Microsoft Azure",
422
#      EXECUTABLE    = "one_im_sh",
423
#      ARGUMENTS     = "-c -t 1 -r 0 az" ]
424
#-------------------------------------------------------------------------------
425

    
426
#-------------------------------------------------------------------------------
427
#  Dummy Information Driver Manager Configuration
428
#-------------------------------------------------------------------------------
429
#IM_MAD = [ NAME="dummy", SUNSTONE_NAME="Testing", EXECUTABLE="one_im_dummy"]
430
#-------------------------------------------------------------------------------
431

    
432
#*******************************************************************************
433
# Virtualization Driver Configuration
434
#*******************************************************************************
435
# You can add more virtualization managers with different configurations but
436
# make sure it has different names.
437
#
438
#   name      : name of the virtual machine manager driver
439
#
440
#   executable: path of the virtualization driver executable, can be an
441
#               absolute path or relative to $ONE_LOCATION/lib/mads (or
442
#               /usr/lib/one/mads/ if OpenNebula was installed in /)
443
#
444
#   arguments : for the driver executable
445
#
446
#   default   : default values and configuration parameters for the driver, can
447
#               be an absolute path or relative to $ONE_LOCATION/etc (or
448
#               /etc/one/ if OpenNebula was installed in /)
449
#
450
#   type      : driver type, supported drivers: xen, kvm, xml
451
#
452
#   keep_snapshots: do not remove snapshots on power on/off cycles and live
453
#   migrations if the hypervisor supports that.
454
#
455
#   imported_vms_actions : comma-separated list of actions supported
456
#                          for imported vms. The available actions are:
457
#                              migrate
458
#                              live-migrate
459
#                              terminate
460
#                              terminate-hard
461
#                              undeploy
462
#                              undeploy-hard
463
#                              hold
464
#                              release
465
#                              stop
466
#                              suspend
467
#                              resume
468
#                              delete
469
#                              delete-recreate
470
#                              reboot
471
#                              reboot-hard
472
#                              resched
473
#                              unresched
474
#                              poweroff
475
#                              poweroff-hard
476
#                              disk-attach
477
#                              disk-detach
478
#                              nic-attach
479
#                              nic-detach
480
#                              snap-create
481
#                              snap-delete
482
#*******************************************************************************
483

    
484
#-------------------------------------------------------------------------------
485
#  KVM Virtualization Driver Manager Configuration
486
#    -r number of retries when monitoring a host
487
#    -t number of threads, i.e. number of hosts monitored at the same time
488
#    -l <actions[=command_name]> actions executed locally, command can be
489
#        overridden for each action.
490
#        Valid actions: deploy, shutdown, cancel, save, restore, migrate, poll
491
#        An example: "-l migrate=migrate_local,save"
492
#    -p more than one action per host in parallel, needs support from hypervisor
493
#    -s <shell> to execute remote commands, bash by default
494
#    -w Timeout in seconds to execute external commands (default unlimited)
495
#
496
#  Note: You can use type = "qemu" to use qemu emulated guests, e.g. if your
497
#  CPU does not have virtualization extensions or use nested Qemu-KVM hosts
498
#-------------------------------------------------------------------------------
499
VM_MAD = [
500
    NAME           = "kvm",
501
    SUNSTONE_NAME  = "KVM",
502
    EXECUTABLE     = "one_vmm_exec",
503
    ARGUMENTS      = "-t 15 -r 0 kvm",
504
    DEFAULT        = "vmm_exec/vmm_exec_kvm.conf",
505
    TYPE           = "kvm",
506
    KEEP_SNAPSHOTS = "no",
507
    IMPORTED_VMS_ACTIONS = "terminate, terminate-hard, hold, release, suspend,
508
        resume, delete, reboot, reboot-hard, resched, unresched, disk-attach,
509
        disk-detach, nic-attach, nic-detach, snap-create, snap-delete"
510
]
511

    
512
#-------------------------------------------------------------------------------
513

    
514
#-------------------------------------------------------------------------------
515
#  vCenter Virtualization Driver Manager Configuration
516
#    -r number of retries when monitoring a host
517
#    -t number of threads, i.e. number of hosts monitored at the same time
518
#    -p more than one action per host in parallel, needs support from hypervisor
519
#    -s <shell> to execute commands, bash by default
520
#    -d default snapshot strategy. It can be either 'detach' or 'suspend'. It
521
#       defaults to 'suspend'.
522
#    -w Timeout in seconds to execute external commands (default unlimited)
523
#-------------------------------------------------------------------------------
524
#VM_MAD = [
525
#    NAME           = "vcenter",
526
#    SUNSTONE_NAME  = "VMWare vCenter",
527
#    EXECUTABLE     = "one_vmm_sh",
528
#    ARGUMENTS      = "-p -t 15 -r 0 vcenter -s sh",
529
#    DEFAULT        = "vmm_exec/vmm_exec_vcenter.conf",
530
#    TYPE           = "xml",
531
#    KEEP_SNAPSHOTS = "yes",
532
#    IMPORTED_VMS_ACTIONS = "terminate, terminate-hard, hold, release, suspend,
533
#        resume, delete, reboot, reboot-hard, resched, unresched, poweroff,
534
#        poweroff-hard, disk-attach, disk-detach, nic-attach, nic-detach,
535
#        snap-create, snap-delete"
536
#]
537
#-------------------------------------------------------------------------------
538

    
539
#-------------------------------------------------------------------------------
540
#  EC2 Virtualization Driver Manager Configuration
541
#    -r number of retries when monitoring a host
542
#    -t number of threads, i.e. number of actions performed at the same time
543
#    -w Timeout in seconds to execute external commands (default unlimited)
544
#    -p more than one action per host in parallel, needs support from hypervisor
545
#-------------------------------------------------------------------------------
546
#VM_MAD = [
547
#    NAME           = "ec2",
548
#    SUNSTONE_NAME  = "Amazon EC2",
549
#    EXECUTABLE     = "one_vmm_sh",
550
#    ARGUMENTS      = "-t 15 -r 0 -w 600 -p ec2",
551
#    TYPE           = "xml",
552
#    KEEP_SNAPSHOTS = "no",
553
#    IMPORTED_VMS_ACTIONS = "terminate, terminate-hard, hold, release, suspend,
554
#        resume, delete, reboot, reboot-hard, resched, unresched, poweroff,
555
#        poweroff-hard, disk-attach, disk-detach, nic-attach, nic-detach,
556
#        snap-create, snap-delete"
557
#]
558
#-------------------------------------------------------------------------------
559

    
560
#-------------------------------------------------------------------------------
561
#  Azure Virtualization Driver Manager Configuration
562
#    -r number of retries when monitoring a host
563
#    -t number of threads, i.e. number of actions performed at the same time
564
#    -w Timeout in seconds to execute external commands (default unlimited)
565
#-------------------------------------------------------------------------------
566
#VM_MAD = [
567
#    NAME           = "az",
568
#    SUNSTONE_NAME  = "Microsoft Azure",
569
#    EXECUTABLE     = "one_vmm_sh",
570
#    ARGUMENTS      = "-t 15 -r 0 az",
571
#    TYPE           = "xml",
572
#    KEEP_SNAPSHOTS = "no",
573
#    IMPORTED_VMS_ACTIONS = "terminate, terminate-hard, hold, release, suspend,
574
#        resume, delete, reboot, reboot-hard, resched, unresched, poweroff,
575
#        poweroff-hard, disk-attach, disk-detach, nic-attach, nic-detach,
576
#        snap-create, snap-delete"
577
#]
578
#-------------------------------------------------------------------------------
579

    
580
#-------------------------------------------------------------------------------
581
#  Dummy Virtualization Driver Configuration
582
#-------------------------------------------------------------------------------
583
#VM_MAD = [ NAME="dummy", SUNSTONE_NAME="Testing", EXECUTABLE="one_vmm_dummy",
584
#  TYPE="xml" ]
585
#-------------------------------------------------------------------------------
586

    
587
#*******************************************************************************
588
# Transfer Manager Driver Configuration
589
#*******************************************************************************
590
# You can add more transfer managers with different configurations but make
591
# sure it has different names.
592
#   name      : name for this transfer driver
593
#
594
#   executable: path of the transfer driver executable, can be an
595
#               absolute path or relative to $ONE_LOCATION/lib/mads (or
596
#               /usr/lib/one/mads/ if OpenNebula was installed in /)
597
#   arguments :
598
#       -t: number of threads, i.e. number of transfers made at the same time
599
#       -d: list of transfer drivers separated by commas, if not defined all the
600
#           drivers available will be enabled
601
#       -w: Timeout in seconds to execute external commands (default unlimited)
602
#*******************************************************************************
603

    
604
TM_MAD = [
605
    EXECUTABLE = "one_tm",
606
    ARGUMENTS = "-t 15 -d dummy,lvm,shared,fs_lvm,qcow2,ssh,ceph,dev,vcenter,iscsi_libvirt"
607
]
608

    
609
#*******************************************************************************
610
# Datastore Driver Configuration
611
#*******************************************************************************
612
# Drivers to manage the datastores, specialized for the storage backend
613
#   executable: path of the transfer driver executable, can be an
614
#               absolute path or relative to $ONE_LOCATION/lib/mads (or
615
#               /usr/lib/one/mads/ if OpenNebula was installed in /)
616
#
617
#   arguments : for the driver executable
618
#       -t number of threads, i.e. number of repo operations at the same time
619
#       -d datastore mads separated by commas
620
#       -s system datastore tm drivers, used to monitor shared system ds.
621
#       -w Timeout in seconds to execute external commands (default unlimited)
622
#*******************************************************************************
623

    
624
DATASTORE_MAD = [
625
    EXECUTABLE = "one_datastore",
626
    ARGUMENTS  = "-t 15 -d dummy,fs,lvm,ceph,dev,iscsi_libvirt,vcenter -s shared,ssh,ceph,fs_lvm,qcow2,vcenter"
627
]
628

    
629
#*******************************************************************************
630
# Marketplace Driver Configuration
631
#*******************************************************************************
632
# Drivers to manage different marketplaces, specialized for the storage backend
633
#   executable: path of the transfer driver executable, can be an
634
#               absolute path or relative to $ONE_LOCATION/lib/mads (or
635
#               /usr/lib/one/mads/ if OpenNebula was installed in /)
636
#
637
#   arguments : for the driver executable
638
#       -t number of threads, i.e. number of repo operations at the same time
639
#       -m marketplace mads separated by commas
640
#       --proxy proxy address if required to access the internet
641
#       -w Timeout in seconds to execute external commands (default unlimited)
642
#*******************************************************************************
643

    
644
MARKET_MAD = [
645
    EXECUTABLE = "one_market",
646
    ARGUMENTS  = "-t 15 -m http,s3,one"
647
]
648

    
649
#*******************************************************************************
650
# IPAM Driver Configuration
651
#*******************************************************************************
652
# Drivers to manage different IPAMs
653
#   executable: path of the IPAM driver executable, can be an
654
#               absolute path or relative to $ONE_LOCATION/lib/mads (or
655
#               /usr/lib/one/mads/ if OpenNebula was installed in /)
656
#
657
#   arguments : for the driver executable
658
#       -t number of threads, i.e. number of operations at the same time
659
#       -i IPAM mads separated by commas
660
#*******************************************************************************
661

    
662
IPAM_MAD = [
663
    EXECUTABLE = "one_ipam",
664
    ARGUMENTS  = "-t 1 -i dummy"
665
]
666

    
667
#*******************************************************************************
668
# Hook Manager Configuration
669
#*******************************************************************************
670
# The Driver (HM_MAD)
671
# -----------------------------------------------
672
#
673
# Used to execute the Hooks:
674
#   executable: path of the hook driver executable, can be an
675
#               absolute path or relative to $ONE_LOCATION/lib/mads (or
676
#               /usr/lib/one/mads/ if OpenNebula was installed in /)
677
#
678
#   arguments : for the driver executable, can be an absolute path or relative
679
#               to $ONE_LOCATION/etc (or /etc/one/ if OpenNebula was installed
680
#               in /)
681
#
682
# Virtual Machine Hooks (VM_HOOK)
683
# -------------------------------
684
#
685
# Defined by:
686
#   name      : for the hook, useful to track the hook (OPTIONAL)
687
#   on        : when the hook should be executed,
688
#               - CREATE, when the VM is created (onevm create)
689
#               - PROLOG, when the VM is in the prolog state
690
#               - RUNNING, after the VM is successfully booted
691
#               - UNKNOWN, when the VM is in the unknown state
692
#               - SHUTDOWN, after the VM is shutdown
693
#               - STOP, after the VM is stopped (including VM image transfers)
694
#               - DONE, after the VM is deleted or shutdown
695
#               - CUSTOM, user defined specific STATE and LCM_STATE combination
696
#                 of states to trigger the hook.
697
#   command   : path is relative to $ONE_LOCATION/var/remotes/hook
698
#               (self-contained) or to /var/lib/one/remotes/hook (system-wide).
699
#               That directory will be copied on the hosts under
700
#               SCRIPTS_REMOTE_DIR. It can be an absolute path that must exist
701
#               on the target host
702
#   arguments : for the hook. You can access to VM information with $
703
#               - $ID, the ID of the virtual machine
704
#               - $TEMPLATE, the VM template in xml and base64 encoded
705
#               - $PREV_STATE, the previous STATE of the Virtual Machine
706
#               - $PREV_LCM_STATE, the previous LCM STATE of the Virtual Machine
707
#   remote    : values,
708
#               - YES, The hook is executed in the host where the VM was
709
#                 allocated
710
#               - NO, The hook is executed in the OpenNebula server (default)
711
#
712
# Example Virtual Machine Hook
713
# ----------------------------
714
#
715
# VM_HOOK = [
716
#   name      = "advanced_hook",
717
#   on        = "CUSTOM",
718
#   state     = "ACTIVE",
719
#   lcm_state = "BOOT_UNKNOWN",
720
#   command   = "log.rb",
721
#   arguments = "$ID $PREV_STATE $PREV_LCM_STATE" ]
722
#
723
# Host Hooks (HOST_HOOK)
724
# -------------------------------
725
#
726
# Defined by:
727
#   name      : for the hook, useful to track the hook (OPTIONAL)
728
#   on        : when the hook should be executed,
729
#               - CREATE, when the Host is created (onehost create)
730
#               - ERROR, when the Host enters the error state
731
#               - DISABLE, when the Host is disabled
732
#   command   : path is relative to $ONE_LOCATION/var/remotes/hook
733
#               (self-contained) or to /var/lib/one/remotes/hook (system-wide).
734
#               That directory will be copied on the hosts under
735
#               SCRIPTS_REMOTE_DIR. It can be an absolute path that must exist
736
#               on the target host.
737
#   arguments : for the hook. You can use the following Host information:
738
#               - $ID, the ID of the host
739
#               - $TEMPLATE, the Host template in xml and base64 encoded
740
#   remote    : values,
741
#               - YES, The hook is executed in the host
742
#               - NO, The hook is executed in the OpenNebula server (default)
743
#
744
# Virtual Network (VNET_HOOK)
745
# Virtual Router (VROUTER_HOOK)
746
# User (USER_HOOK)
747
# Group (GROUP_HOOK)
748
# Image (IMAGE_HOOK)
749
# -------------------------------
750
#
751
# These hooks are executed when one of the referring entities are created or
752
# removed. Each hook is defined by:
753
#   name      : for the hook, useful to track the hook (OPTIONAL)
754
#   on        : when the hook should be executed,
755
#               - CREATE, when the vnet is created
756
#               - REMOVE, when the vnet is removed
757
#   command   : path is relative to $ONE_LOCATION/var/remotes/hook
758
#               (self-contained) or to /var/lib/one/remotes/hook (system-wide).
759
#               That directory will be copied on the hosts under
760
#               SCRIPTS_REMOTE_DIR. It can be an absolute path that must exist
761
#               on the target host.
762
#   arguments : for the hook. You can use the following Host information:
763
#               - $ID, the ID of the host
764
#               - $TEMPLATE, the vnet template in xml and base64 encoded
765
#
766
# Please note: In a Federation, User and Group hooks can only be defined in
767
# the master OpenNebula.
768
#-------------------------------------------------------------------------------
769

    
770
HM_MAD = [
771
    EXECUTABLE = "one_hm" ]
772

    
773
#VNET_HOOK = [
774
#    name      = "vcenter_net_create",
775
#    on        = "CREATE",
776
#    command   = "vcenter/create_vcenter_net.rb",
777
#    arguments = "$ID $TEMPLATE"]
778

    
779
#VNET_HOOK = [
780
#    name      = "vcenter_net_delete",
781
#    on        = "REMOVE",
782
#    command   = "vcenter/delete_vcenter_net.rb",
783
#    arguments = "$ID $TEMPLATE"]
784

    
785
#*******************************************************************************
786
# Fault Tolerance Hooks
787
#*******************************************************************************
788
# This hook is used to perform recovery actions when a host fails.
789
# Script to implement host failure tolerance
790
#   One of the following modes must be chosen
791
#           -m resched VMs to another host. (Only for images in shared storage!)
792
#           -r recreate VMs running in the host. State will be lost.
793
#           -d delete VMs running in the host
794
#
795
#   Additional flags
796
#           -f resubmit suspended and powered off VMs (only for recreate)
797
#           -p <n> avoid resubmission if host comes back after n monitoring
798
#                 cycles. 0 to disable it. Default is 2.
799
#           -u disables fencing. Fencing is enabled by default. Don't disable it
800
#                 unless you are very sure about what you're doing
801
#*******************************************************************************
802
#
803
#HOST_HOOK = [
804
#    NAME      = "error",
805
#    ON        = "ERROR",
806
#    COMMAND   = "ft/host_error.rb",
807
#    ARGUMENTS = "$ID -m -p 5",
808
#    REMOTE    = "no" ]
809
#-------------------------------------------------------------------------------
810

    
811
#*******************************************************************************
812
# Auth Manager Configuration
813
#*******************************************************************************
814
# AUTH_MAD: The Driver that will be used to authenticate (authn) and
815
# authorize (authz) OpenNebula requests. If defined OpenNebula will use the
816
# built-in auth policies.
817
#
818
#   executable: path of the auth driver executable, can be an
819
#               absolute path or relative to $ONE_LOCATION/lib/mads (or
820
#               /usr/lib/one/mads/ if OpenNebula was installed in /)
821
#
822
#   authn     : list of authentication modules separated by commas, if not
823
#               defined all the modules available will be enabled
824
#   authz     : list of authentication modules separated by commas
825
#
826
# DEFAULT_AUTH: The default authentication driver to use when OpenNebula does
827
# not know the user and needs to authenticate it externally.  If you want to
828
# use "default" (not recommended, but supported for backwards compatibility
829
# reasons) make sure you create a symlink pointing to the actual authentication
830
# driver in /var/lib/one/remotes/auth, and add "default" to the 'auth'
831
# parameter in the 'AUTH_MAD' section.
832
#
833
# SESSION_EXPIRATION_TIME: Time in seconds to keep an authenticated token as
834
# valid. During this time, the driver is not used. Use 0 to disable session
835
# caching
836
#
837
# ENABLE_OTHER_PERMISSIONS: Whether or not users can set the permissions for
838
# 'other', so publishing or sharing resources with others. Users in the oneadmin
839
# group will still be able to change these permissions. Values: YES or NO.
840
#
841
# DEFAULT_UMASK: Similar to Unix umask, sets the default resources permissions.
842
# Its format must be 3 octal digits. For example a umask of 137 will set
843
# the new object's permissions to 640 "um- u-- ---"
844
#*******************************************************************************
845

    
846
AUTH_MAD = [
847
    EXECUTABLE = "one_auth_mad",
848
    AUTHN = "ssh,x509,ldap,server_cipher,server_x509"
849
]
850

    
851
#DEFAULT_AUTH = "default"
852

    
853
SESSION_EXPIRATION_TIME = 900
854

    
855
#ENABLE_OTHER_PERMISSIONS = "YES"
856

    
857
DEFAULT_UMASK = 177
858

    
859
#*******************************************************************************
860
# OneGate
861
#   ONEGATE_ENDPOINT: The URL for the onegate server (the Gate to OpenNebula for
862
#   VMs). The onegate server is started using a separate command. The endpoint
863
#   MUST be consistent with the values in onegate-server.conf
864
#*******************************************************************************
865

    
866
#ONEGATE_ENDPOINT = "http://frontend:5030"
867

    
868
#*******************************************************************************
869
# VM Operations Permissions
870
#******************************************************************************
871
# The following parameters define the operations associated to the ADMIN,
872
# MANAGE and USE permissions. Note that some VM operations require additional
873
# permissions on other objects. Also some operations refers to a class of
874
# actions:
875
#   - disk-snapshot, includes create, delete and revert actions
876
#   - disk-attach, includes attach and detach actions
877
#   - nic-attach, includes attach and detach actions
878
#   - snapshot, includes create, delete and revert actions
879
#   - resched, includes resched and unresched actions
880
#******************************************************************************
881

    
882
VM_ADMIN_OPERATIONS  = "migrate, delete, recover, retry, deploy, resched"
883

    
884
VM_MANAGE_OPERATIONS = "undeploy, hold, release, stop, suspend, resume, reboot,
885
    poweroff, disk-attach, nic-attach, disk-snapshot, terminate, disk-resize,
886
    snapshot, updateconf, rename, resize, update, disk-saveas"
887

    
888
VM_USE_OPERATIONS    = ""
889

    
890
#*******************************************************************************
891
# Restricted Attributes Configuration
892
#*******************************************************************************
893
# The following attributes are restricted to users outside the oneadmin group
894
#*******************************************************************************
895

    
896
VM_RESTRICTED_ATTR = "CONTEXT/FILES"
897
VM_RESTRICTED_ATTR = "NIC/MAC"
898
VM_RESTRICTED_ATTR = "NIC/VLAN_ID"
899
VM_RESTRICTED_ATTR = "NIC/BRIDGE"
900
#VM_RESTRICTED_ATTR = "NIC/INBOUND_AVG_BW"
901
#VM_RESTRICTED_ATTR = "NIC/INBOUND_PEAK_BW"
902
#VM_RESTRICTED_ATTR = "NIC/INBOUND_PEAK_KB"
903
#VM_RESTRICTED_ATTR = "NIC/OUTBOUND_AVG_BW"
904
#VM_RESTRICTED_ATTR = "NIC/OUTBOUND_PEAK_BW"
905
#VM_RESTRICTED_ATTR = "NIC/OUTBOUND_PEAK_KB"
906
#VM_RESTRICTED_ATTR = "NIC/OPENNEBULA_MANAGED"
907
#VM_RESTRICTED_ATTR = "NIC/VCENTER_INSTANCE_ID"
908
#VM_RESTRICTED_ATTR = "NIC/VCENTER_NET_REF"
909
#VM_RESTRICTED_ATTR = "NIC/VCENTER_PORTGROUP_TYPE"
910
VM_RESTRICTED_ATTR = "NIC_DEFAULT/MAC"
911
VM_RESTRICTED_ATTR = "NIC_DEFAULT/VLAN_ID"
912
VM_RESTRICTED_ATTR = "NIC_DEFAULT/BRIDGE"
913
#VM_RESTRICTED_ATTR = "DISK/TOTAL_BYTES_SEC"
914
#VM_RESTRICTED_ATTR = "DISK/READ_BYTES_SEC"
915
#VM_RESTRICTED_ATTR = "DISK/WRITE_BYTES_SEC"
916
#VM_RESTRICTED_ATTR = "DISK/TOTAL_IOPS_SEC"
917
#VM_RESTRICTED_ATTR = "DISK/READ_IOPS_SEC"
918
#VM_RESTRICTED_ATTR = "DISK/WRITE_IOPS_SEC"
919
#VM_RESTRICTED_ATTR = "DISK/OPENNEBULA_MANAGED"
920
#VM_RESTRICTED_ATTR = "DISK/VCENTER_DS_REF"
921
#VM_RESTRICTED_ATTR = "DISK/VCENTER_INSTANCE_ID"
922
#VM_RESTRICTED_ATTR = "DISK/SIZE"
923
#VM_RESTRICTED_ATTR = "DISK/ORIGINAL_SIZE"
924
#VM_RESTRICTED_ATTR = "DISK/SIZE_PREV"
925
VM_RESTRICTED_ATTR = "CPU_COST"
926
VM_RESTRICTED_ATTR = "MEMORY_COST"
927
VM_RESTRICTED_ATTR = "DISK_COST"
928
VM_RESTRICTED_ATTR = "PCI"
929
VM_RESTRICTED_ATTR = "EMULATOR"
930
#VM_RESTRICTED_ATTR = "USER_INPUTS/CPU"
931
#VM_RESTRICTED_ATTR = "USER_INPUTS/MEMORY"
932
#VM_RESTRICTED_ATTR = "USER_INPUTS/VCPU"
933
#VM_RESTRICTED_ATTR = "TEMPLATE/VCENTER_VM_FOLDER"
934

    
935
#VM_RESTRICTED_ATTR = "RANK"
936
#VM_RESTRICTED_ATTR = "SCHED_RANK"
937
#VM_RESTRICTED_ATTR = "REQUIREMENTS"
938
#VM_RESTRICTED_ATTR = "SCHED_REQUIREMENTS"
939

    
940
IMAGE_RESTRICTED_ATTR = "SOURCE"
941
#IMAGE_RESTRICTED_ATTR = "TEMPLATE/VCENTER_IMPORTED"
942

    
943
#*******************************************************************************
944
# The following restricted attributes only apply to VNets that are a reservation.
945
# Normal VNets do not have restricted attributes.
946
#*******************************************************************************
947

    
948
VNET_RESTRICTED_ATTR = "VN_MAD"
949
VNET_RESTRICTED_ATTR = "PHYDEV"
950
VNET_RESTRICTED_ATTR = "VLAN_ID"
951
VNET_RESTRICTED_ATTR = "BRIDGE"
952
VNET_RESTRICTED_ATTR = "CONF"
953
VNET_RESTRICTED_ATTR = "BRIDGE_CONF"
954
VNET_RESTRICTED_ATTR = "IP_LINK_CONF"
955

    
956
VNET_RESTRICTED_ATTR = "AR/VN_MAD"
957
VNET_RESTRICTED_ATTR = "AR/PHYDEV"
958
VNET_RESTRICTED_ATTR = "AR/VLAN_ID"
959
VNET_RESTRICTED_ATTR = "AR/BRIDGE"
960

    
961
#*******************************************************************************
962
# Inherited Attributes Configuration
963
#*******************************************************************************
964
# The following attributes will be copied from the resource template to the
965
# instantiated VMs. More than one attribute can be defined.
966
#
967
# INHERIT_IMAGE_ATTR: Attribute to be copied from the Image template
968
# to each VM/DISK.
969
#
970
# INHERIT_DATASTORE_ATTR: Attribute to be copied from the Datastore template
971
# to each VM/DISK.
972
#
973
# INHERIT_VNET_ATTR: Attribute to be copied from the Network template
974
# to each VM/NIC.
975
#*******************************************************************************
976

    
977
#INHERIT_IMAGE_ATTR     = "EXAMPLE"
978
#INHERIT_IMAGE_ATTR     = "SECOND_EXAMPLE"
979
#INHERIT_DATASTORE_ATTR = "COLOR"
980
#INHERIT_VNET_ATTR      = "BANDWIDTH_THROTTLING"
981

    
982
INHERIT_DATASTORE_ATTR  = "CEPH_HOST"
983
INHERIT_DATASTORE_ATTR  = "CEPH_SECRET"
984
INHERIT_DATASTORE_ATTR  = "CEPH_USER"
985
INHERIT_DATASTORE_ATTR  = "CEPH_CONF"
986
INHERIT_DATASTORE_ATTR  = "POOL_NAME"
987

    
988
INHERIT_DATASTORE_ATTR  = "ISCSI_USER"
989
INHERIT_DATASTORE_ATTR  = "ISCSI_USAGE"
990
INHERIT_DATASTORE_ATTR  = "ISCSI_HOST"
991

    
992
INHERIT_IMAGE_ATTR      = "ISCSI_USER"
993
INHERIT_IMAGE_ATTR      = "ISCSI_USAGE"
994
INHERIT_IMAGE_ATTR      = "ISCSI_HOST"
995
INHERIT_IMAGE_ATTR      = "ISCSI_IQN"
996

    
997
INHERIT_DATASTORE_ATTR  = "GLUSTER_HOST"
998
INHERIT_DATASTORE_ATTR  = "GLUSTER_VOLUME"
999

    
1000
INHERIT_DATASTORE_ATTR  = "DISK_TYPE"
1001
INHERIT_DATASTORE_ATTR  = "VCENTER_ADAPTER_TYPE"
1002
INHERIT_DATASTORE_ATTR  = "VCENTER_DISK_TYPE"
1003
INHERIT_DATASTORE_ATTR  = "VCENTER_DS_REF"
1004
INHERIT_DATASTORE_ATTR  = "VCENTER_DS_IMAGE_DIR"
1005
INHERIT_DATASTORE_ATTR  = "VCENTER_DS_VOLATILE_DIR"
1006
INHERIT_DATASTORE_ATTR  = "VCENTER_INSTANCE_ID"
1007

    
1008
INHERIT_IMAGE_ATTR      = "DISK_TYPE"
1009
INHERIT_IMAGE_ATTR      = "VCENTER_ADAPTER_TYPE"
1010
INHERIT_IMAGE_ATTR      = "VCENTER_DISK_TYPE"
1011

    
1012
INHERIT_VNET_ATTR       = "VLAN_TAGGED_ID"
1013
INHERIT_VNET_ATTR       = "FILTER_IP_SPOOFING"
1014
INHERIT_VNET_ATTR       = "FILTER_MAC_SPOOFING"
1015
INHERIT_VNET_ATTR       = "MTU"
1016
INHERIT_VNET_ATTR       = "INBOUND_AVG_BW"
1017
INHERIT_VNET_ATTR       = "INBOUND_PEAK_BW"
1018
INHERIT_VNET_ATTR       = "INBOUND_PEAK_KB"
1019
INHERIT_VNET_ATTR       = "OUTBOUND_AVG_BW"
1020
INHERIT_VNET_ATTR       = "OUTBOUND_PEAK_BW"
1021
INHERIT_VNET_ATTR       = "OUTBOUND_PEAK_KB"
1022
INHERIT_VNET_ATTR       = "CONF"
1023
INHERIT_VNET_ATTR       = "BRIDGE_CONF"
1024
INHERIT_VNET_ATTR       = "IP_LINK_CONF"
1025

    
1026
INHERIT_VNET_ATTR       = "VCENTER_NET_REF"
1027
INHERIT_VNET_ATTR       = "VCENTER_SWITCH_NAME"
1028
INHERIT_VNET_ATTR       = "VCENTER_SWITCH_NPORTS"
1029
INHERIT_VNET_ATTR       = "VCENTER_PORTGROUP_TYPE"
1030
INHERIT_VNET_ATTR       = "VCENTER_CCR_REF"
1031
INHERIT_VNET_ATTR       = "VCENTER_INSTANCE_ID"
1032

    
1033
#*******************************************************************************
1034
# Transfer Manager Driver Behavior Configuration
1035
#*******************************************************************************
1036
# The  configuration for each driver is defined in TM_MAD_CONF. These
1037
# values are used when creating a new datastore and should not be modified
1038
# since they define the datastore behavior.
1039
#   name      : name of the transfer driver, listed in the -d option of the
1040
#               TM_MAD section
1041
#   ln_target : determines how the persistent images will be cloned when
1042
#               a new VM is instantiated.
1043
#       NONE: The image will be linked and no more storage capacity will be used
1044
#       SELF: The image will be cloned in the Images datastore
1045
#       SYSTEM: The image will be cloned in the System datastore
1046
#   clone_target : determines how the non persistent images will be
1047
#                  cloned when a new VM is instantiated.
1048
#       NONE: The image will be linked and no more storage capacity will be used
1049
#       SELF: The image will be cloned in the Images datastore
1050
#       SYSTEM: The image will be cloned in the System datastore
1051
#   shared : determines if the storage holding the system datastore is shared
1052
#            among the different hosts or not. Valid values: "yes" or "no"
1053
#   ds_migrate : The driver allows migrations across datastores. Valid values:
1054
#               "yes" or "no". Note: THIS ONLY APPLIES TO SYSTEM DS.
1055
#*******************************************************************************
1056

    
1057
TM_MAD_CONF = [
1058
    NAME = "dummy", LN_TARGET = "NONE", CLONE_TARGET = "SYSTEM", SHARED = "YES",
1059
    DS_MIGRATE = "YES"
1060
]
1061

    
1062
TM_MAD_CONF = [
1063
    NAME = "lvm", LN_TARGET = "NONE", CLONE_TARGET = "SELF", SHARED = "YES"
1064
]
1065

    
1066
TM_MAD_CONF = [
1067
    NAME = "shared", LN_TARGET = "NONE", CLONE_TARGET = "SYSTEM", SHARED = "YES",
1068
    DS_MIGRATE = "YES"
1069
]
1070

    
1071
TM_MAD_CONF = [
1072
    NAME = "fs_lvm", LN_TARGET = "SYSTEM", CLONE_TARGET = "SYSTEM", SHARED="YES",
1073
    DRIVER = "raw"
1074
]
1075

    
1076
TM_MAD_CONF = [
1077
    NAME = "qcow2", LN_TARGET = "NONE", CLONE_TARGET = "SYSTEM", SHARED = "YES",
1078
    DRIVER = "qcow2"
1079
]
1080

    
1081
TM_MAD_CONF = [
1082
    NAME = "ssh", LN_TARGET = "SYSTEM", CLONE_TARGET = "SYSTEM", SHARED = "NO",
1083
    DS_MIGRATE = "YES"
1084
]
1085

    
1086
TM_MAD_CONF = [
1087
    NAME = "ceph", LN_TARGET = "NONE", CLONE_TARGET = "SELF", SHARED = "YES",
1088
    DS_MIGRATE = "NO", DRIVER = "raw"
1089
]
1090

    
1091
TM_MAD_CONF = [
1092
    NAME = "iscsi_libvirt", LN_TARGET = "NONE", CLONE_TARGET = "SELF", SHARED = "YES",
1093
    DS_MIGRATE = "NO"
1094
]
1095

    
1096
TM_MAD_CONF = [
1097
    NAME = "dev", LN_TARGET = "NONE", CLONE_TARGET = "NONE", SHARED = "YES"
1098
]
1099

    
1100
TM_MAD_CONF = [
1101
    NAME = "vcenter", LN_TARGET = "NONE", CLONE_TARGET = "SYSTEM", SHARED = "YES"
1102
]
1103

    
1104
#*******************************************************************************
1105
# Datastore Manager Driver Behavior Configuration
1106
#*******************************************************************************
1107
# The  configuration for each driver is defined in DS_MAD_CONF. These
1108
# values are used when creating a new datastore and should not be modified
1109
# since they define the datastore behavior.
1110
#   name      : name of the transfer driver, listed in the -d option of the
1111
#               DS_MAD section
1112
#   required_attrs : comma separated list of required attributes in the DS
1113
#                    template
1114
#   persistent_only: specifies whether the datastore can only manage persistent
1115
#                    images
1116
#*******************************************************************************
1117

    
1118
DS_MAD_CONF = [
1119
    NAME = "ceph",
1120
    REQUIRED_ATTRS = "DISK_TYPE,BRIDGE_LIST",
1121
    PERSISTENT_ONLY = "NO",
1122
    MARKETPLACE_ACTIONS = "export"
1123
]
1124

    
1125
DS_MAD_CONF = [
1126
    NAME = "dev", REQUIRED_ATTRS = "DISK_TYPE", PERSISTENT_ONLY = "YES"
1127
]
1128

    
1129
DS_MAD_CONF = [
1130
    NAME = "iscsi_libvirt", REQUIRED_ATTRS = "DISK_TYPE,ISCSI_HOST",
1131
    PERSISTENT_ONLY = "YES"
1132
]
1133

    
1134
DS_MAD_CONF = [
1135
    NAME = "dummy", REQUIRED_ATTRS = "", PERSISTENT_ONLY = "NO"
1136
]
1137

    
1138
DS_MAD_CONF = [
1139
    NAME = "fs", REQUIRED_ATTRS = "", PERSISTENT_ONLY = "NO",
1140
    MARKETPLACE_ACTIONS = "export"
1141
]
1142

    
1143
DS_MAD_CONF = [
1144
    NAME = "lvm", REQUIRED_ATTRS = "DISK_TYPE,BRIDGE_LIST",
1145
    PERSISTENT_ONLY = "NO"
1146
]
1147

    
1148
DS_MAD_CONF = [
1149
    NAME = "vcenter",
1150
    REQUIRED_ATTRS = "VCENTER_INSTANCE_ID, VCENTER_DS_REF, VCENTER_DC_REF",
1151
    PERSISTENT_ONLY = "NO",
1152
    MARKETPLACE_ACTIONS = "export"
1153
]
1154

    
1155
#*******************************************************************************
1156
# MarketPlace Driver Behavior Configuration
1157
#*******************************************************************************
1158
# The  configuration for each driver is defined in MARKET_MAD_CONF. These
1159
# values are used when creating a new marketplaces and should not be modified
1160
# since they define the marketplace behavior.
1161
#   name      : name of the market driver
1162
#   required_attrs : comma separated list of required attributes in the Market
1163
#                    template
1164
#   app_actions: List of actions allowed for a MarketPlaceApp
1165
#     - monitor The apps of the marketplace will be monitored
1166
#     - create, the app in the marketplace
1167
#     - delete, the app from the marketplace
1168
#   public: set to yes for external marketplaces. A public marketplace can be
1169
#   removed even if it has registered apps.
1170
#*******************************************************************************
1171

    
1172
MARKET_MAD_CONF = [
1173
    NAME = "one",
1174
    SUNSTONE_NAME  = "OpenNebula.org Marketplace",
1175
    REQUIRED_ATTRS = "",
1176
    APP_ACTIONS = "monitor",
1177
    PUBLIC = "yes"
1178
]
1179

    
1180
MARKET_MAD_CONF = [
1181
    NAME = "http",
1182
    SUNSTONE_NAME  = "HTTP server",
1183
    REQUIRED_ATTRS = "BASE_URL,PUBLIC_DIR",
1184
    APP_ACTIONS = "create, delete, monitor"
1185
]
1186

    
1187
MARKET_MAD_CONF = [
1188
    NAME = "s3",
1189
    SUNSTONE_NAME = "Amazon S3",
1190
    REQUIRED_ATTRS = "ACCESS_KEY_ID,SECRET_ACCESS_KEY,REGION,BUCKET",
1191
    APP_ACTIONS = "create, delete, monitor"
1192
]
1193

    
1194
#*******************************************************************************
1195
# Authentication Driver Behavior Definition
1196
#*******************************************************************************
1197
# The configuration for each driver is defined in AUTH_MAD_CONF. These
1198
# values must not be modified since they define the driver behavior.
1199
#   name            : name of the auth driver
1200
#   password_change : allow the end users to change their own password. Oneadmin
1201
#                     can still change other user's passwords
1202
#   driver_managed_groups : allow the driver to set the user's group even after
1203
#                     user creation. In this case addgroup, delgroup and chgrp
1204
#                     will be disabled, with the exception of chgrp to one of
1205
#                     the groups in the list of secondary groups
1206
#   max_token_time  : limit the maximum token validity, in seconds. Use -1 for
1207
#                     unlimited maximum, 0 to disable login tokens
1208
#*******************************************************************************
1209

    
1210
AUTH_MAD_CONF = [
1211
    NAME = "core",
1212
    PASSWORD_CHANGE = "YES",
1213
    DRIVER_MANAGED_GROUPS = "NO",
1214
    MAX_TOKEN_TIME = "-1"
1215
]
1216

    
1217
AUTH_MAD_CONF = [
1218
    NAME = "public",
1219
    PASSWORD_CHANGE = "NO",
1220
    DRIVER_MANAGED_GROUPS = "NO",
1221
    MAX_TOKEN_TIME = "-1"
1222
]
1223

    
1224
AUTH_MAD_CONF = [
1225
    NAME = "ssh",
1226
    PASSWORD_CHANGE = "YES",
1227
    DRIVER_MANAGED_GROUPS = "NO",
1228
    MAX_TOKEN_TIME = "-1"
1229
]
1230

    
1231
AUTH_MAD_CONF = [
1232
    NAME = "x509",
1233
    PASSWORD_CHANGE = "NO",
1234
    DRIVER_MANAGED_GROUPS = "NO",
1235
    MAX_TOKEN_TIME = "-1"
1236
]
1237

    
1238
AUTH_MAD_CONF = [
1239
    NAME = "ldap",
1240
    PASSWORD_CHANGE = "YES",
1241
    DRIVER_MANAGED_GROUPS = "YES",
1242
    MAX_TOKEN_TIME = "86400"
1243
]
1244

    
1245
AUTH_MAD_CONF = [
1246
    NAME = "server_cipher",
1247
    PASSWORD_CHANGE = "NO",
1248
    DRIVER_MANAGED_GROUPS = "NO",
1249
    MAX_TOKEN_TIME = "-1"
1250
]
1251

    
1252
AUTH_MAD_CONF = [
1253
    NAME = "server_x509",
1254
    PASSWORD_CHANGE = "NO",
1255
    DRIVER_MANAGED_GROUPS = "NO",
1256
    MAX_TOKEN_TIME = "-1"
1257
]