summaryrefslogtreecommitdiff
path: root/doc/sources/opennebula/README
blob: 772a5b999635cec82e96604d9a6485c451f3a64f (plain)
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
The 'OpenNebula' DataSource supports the OpenNebula contextualization disk.

The following criteria are required to be identified by
DataSourceOpenNebula as contextualization disk:
  * must be formatted with iso9660 filesystem or labeled as CDROM
  * must be un-partitioned block device (/dev/vdb, not /dev/vdb1)
  * must contain
     * context.sh

== Content of config-drive ==
  * context.sh
    This is the only mandatory file on context disk, the rest content depends
    on contextualization parameter FILES and thus is optional. It's
    a shell script defining all context parameters. This script is
    processed by bash (/bin/bash) to simulate behaviour of common
    OpenNebula context scripts. Processed variables are handed over
    back to cloud-init for further processing.

== Configuration ==
Cloud-init's behaviour can be modified by context variables found
in the context.sh file in the folowing ways (variable names are
case-insensitive):
  * dsmode:
    values: local, net, disabled
    default: None

    Tells if this datasource will be processed in local (pre-networking) or
    net (post-networking) stage or even completely disabled.

  * ssh_key:
    default: None
    If present, these key(s) will be used as the public key(s) for
    the instance. More keys can be specified in this single context
    variable, but each key must be on it's own line. I.e. keys must
    be separated by newlines.

  * hostname:
    default: None
    Custom hostname for the instance.

  * public_ip:
    default: None
    If hostname not specified, public_ip is used to DNS resolve hostname.

  * 'user_data' or 'userdata':
    default: None
    This provides cloud-init user-data. See other documentation for what
    all can be present here.

== Example OpenNebula's Virtual Machine template ==

CONTEXT=[
  PUBLIC_IP="$NIC[IP]",
  SSH_KEY="$USER[SSH_KEY] 
$USER[SSH_KEY1] 
$USER[SSH_KEY2] ",
  USER_DATA="#cloud-config
# see https://help.ubuntu.com/community/CloudInit

packages: []

mounts:
- [vdc,none,swap,sw,0,0]
runcmd:
- echo 'Instance has been configured by cloud-init.' | wall
" ]