summaryrefslogtreecommitdiff
path: root/doc/rtd/topics/datasources/altcloud.rst
blob: acd5e2a3cac8714067557627d794c256f2ef6bdf (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
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
.. _datasource_alt_cloud:

Alt Cloud
=========

The datasource altcloud will be used to pick up user data on `RHEVm`_ and
`vSphere`_.

RHEVm
-----

For `RHEVm`_ v3.0 the userdata is injected into the VM using floppy
injection via the `RHEVm`_ dashboard "Custom Properties".

The format of the Custom Properties entry must be:

::

    floppyinject=user-data.txt:<base64 encoded data>

For example to pass a simple bash script:

.. sourcecode:: sh

    % cat simple_script.bash
    #!/bin/bash
    echo "Hello Joe!" >> /tmp/JJV_Joe_out.txt

    % base64 < simple_script.bash
    IyEvYmluL2Jhc2gKZWNobyAiSGVsbG8gSm9lISIgPj4gL3RtcC9KSlZfSm9lX291dC50eHQK

To pass this example script to cloud-init running in a  `RHEVm`_ v3.0 VM
set the "Custom Properties" when creating the RHEMv v3.0 VM to:

::

    floppyinject=user-data.txt:IyEvYmluL2Jhc2gKZWNobyAiSGVsbG8gSm9lISIgPj4gL3RtcC9KSlZfSm9lX291dC50eHQK

**NOTE:** The prefix with file name must be: ``floppyinject=user-data.txt:``

It is also possible to launch a `RHEVm`_ v3.0 VM and pass optional user
data to it using the Delta Cloud.

For more information on Delta Cloud see: http://deltacloud.apache.org

vSphere
-------

For VMWare's `vSphere`_ the userdata is injected into the VM as an ISO
via the cdrom. This can be done using the `vSphere`_ dashboard
by connecting an ISO image to the CD/DVD drive.

To pass this example script to cloud-init running in a `vSphere`_ VM
set the CD/DVD drive when creating the vSphere VM to point to an
ISO on the data store.

**Note:** The ISO must contain the user data.

For example, to pass the same ``simple_script.bash`` to vSphere:

Create the ISO
^^^^^^^^^^^^^^

.. sourcecode:: sh

    % mkdir my-iso

NOTE: The file name on the ISO must be: ``user-data.txt``

.. sourcecode:: sh

    % cp simple_script.bash my-iso/user-data.txt
    % genisoimage -o user-data.iso -r my-iso

Verify the ISO
^^^^^^^^^^^^^^

.. sourcecode:: sh

    % sudo mkdir /media/vsphere_iso
    % sudo mount -o loop user-data.iso /media/vsphere_iso
    % cat /media/vsphere_iso/user-data.txt
    % sudo umount /media/vsphere_iso

Then, launch the `vSphere`_ VM the ISO user-data.iso attached as a CDROM.

It is also possible to launch a `vSphere`_ VM and pass optional user
data to it using the Delta Cloud.

For more information on Delta Cloud see: http://deltacloud.apache.org

.. _RHEVm: https://www.redhat.com/virtualization/rhev/desktop/rhevm/
.. _vSphere: https://www.vmware.com/products/datacenter-virtualization/vsphere/overview.html
.. vi: textwidth=79