summaryrefslogtreecommitdiff
path: root/doc/sources/nocloud
diff options
context:
space:
mode:
Diffstat (limited to 'doc/sources/nocloud')
-rw-r--r--doc/sources/nocloud/README55
-rw-r--r--doc/sources/nocloud/README.rst71
2 files changed, 71 insertions, 55 deletions
diff --git a/doc/sources/nocloud/README b/doc/sources/nocloud/README
deleted file mode 100644
index c94b206a..00000000
--- a/doc/sources/nocloud/README
+++ /dev/null
@@ -1,55 +0,0 @@
-The data source 'NoCloud' and 'NoCloudNet' allow the user to provide user-data
-and meta-data to the instance without running a network service (or even without
-having a network at all)
-
-You can provide meta-data and user-data to a local vm boot via files on a vfat
-or iso9660 filesystem. These user-data and meta-data files are expected to be
-in the format described in doc/example/seed/README . Basically, user-data is
-simply user-data and meta-data is a yaml formated file representing what you'd
-find in the EC2 metadata service.
-
-Given a disk 12.04 cloud image in 'disk.img', you can create a sufficient disk
-by following the example below.
-
-## create user-data and meta-data files that will be used
-## to modify image on first boot
-$ { echo instance-id: iid-local01; echo local-hostname: cloudimg; } > meta-data
-
-$ printf "#cloud-config\npassword: passw0rd\nchpasswd: { expire: False }\nssh_pwauth: True\n" > user-data
-
-## create a disk to attach with some user-data and meta-data
-$ genisoimage -output seed.iso -volid cidata -joliet -rock user-data meta-data
-
-## alternatively, create a vfat filesystem with same files
-## $ truncate --size 2M seed.img
-## $ mkfs.vfat -n cidata seed.img
-## $ mcopy -oi seed.img user-data meta-data ::
-
-## create a new qcow image to boot, backed by your original image
-$ qemu-img create -f qcow2 -b disk.img boot-disk.img
-
-## boot the image and login as 'ubuntu' with password 'passw0rd'
-## note, passw0rd was set as password through the user-data above,
-## there is no password set on these images.
-$ kvm -m 256 \
- -net nic -net user,hostfwd=tcp::2222-:22 \
- -drive file=boot-disk.img,if=virtio \
- -drive file=seed.iso,if=virtio
-
-Note, that the instance-id provided ('iid-local01' above) is what is used to
-determine if this is "first boot". So if you are making updates to user-data
-you will also have to change that, or start the disk fresh.
-
-
-Also, you can inject an /etc/network/interfaces file by providing the content
-for that file in the 'network-interfaces' field of metadata. Example metadata:
- instance-id: iid-abcdefg
- network-interfaces: |
- iface eth0 inet static
- address 192.168.1.10
- network 192.168.1.0
- netmask 255.255.255.0
- broadcast 192.168.1.255
- gateway 192.168.1.254
- hostname: myhost
-
diff --git a/doc/sources/nocloud/README.rst b/doc/sources/nocloud/README.rst
new file mode 100644
index 00000000..aa3cf1a3
--- /dev/null
+++ b/doc/sources/nocloud/README.rst
@@ -0,0 +1,71 @@
+The data source ``NoCloud`` and ``NoCloudNet`` allow the user to provide user-data
+and meta-data to the instance without running a network service (or even without
+having a network at all).
+
+You can provide meta-data and user-data to a local vm boot via files on a `vfat`_
+or `iso9660`_ filesystem.
+
+These user-data and meta-data files are expected to be
+in the following format.
+
+::
+
+ /user-data
+ /meta-data
+
+Basically, user-data is simply user-data and meta-data is a yaml formatted file
+representing what you'd find in the EC2 metadata service.
+
+Given a disk ubuntu 12.04 cloud image in 'disk.img', you can create a sufficient disk
+by following the example below.
+
+::
+
+ ## create user-data and meta-data files that will be used
+ ## to modify image on first boot
+ $ { echo instance-id: iid-local01; echo local-hostname: cloudimg; } > meta-data
+
+ $ printf "#cloud-config\npassword: passw0rd\nchpasswd: { expire: False }\nssh_pwauth: True\n" > user-data
+
+ ## create a disk to attach with some user-data and meta-data
+ $ genisoimage -output seed.iso -volid cidata -joliet -rock user-data meta-data
+
+ ## alternatively, create a vfat filesystem with same files
+ ## $ truncate --size 2M seed.img
+ ## $ mkfs.vfat -n cidata seed.img
+ ## $ mcopy -oi seed.img user-data meta-data ::
+
+ ## create a new qcow image to boot, backed by your original image
+ $ qemu-img create -f qcow2 -b disk.img boot-disk.img
+
+ ## boot the image and login as 'ubuntu' with password 'passw0rd'
+ ## note, passw0rd was set as password through the user-data above,
+ ## there is no password set on these images.
+ $ kvm -m 256 \
+ -net nic -net user,hostfwd=tcp::2222-:22 \
+ -drive file=boot-disk.img,if=virtio \
+ -drive file=seed.iso,if=virtio
+
+**Note:** that the instance-id provided (``iid-local01`` above) is what is used to
+determine if this is "first boot". So if you are making updates to user-data
+you will also have to change that, or start the disk fresh.
+
+Also, you can inject an ``/etc/network/interfaces`` file by providing the content
+for that file in the ``network-interfaces`` field of metadata.
+
+Example metadata:
+
+::
+
+ instance-id: iid-abcdefg
+ network-interfaces: |
+ iface eth0 inet static
+ address 192.168.1.10
+ network 192.168.1.0
+ netmask 255.255.255.0
+ broadcast 192.168.1.255
+ gateway 192.168.1.254
+ hostname: myhost
+
+.. _iso9660: https://en.wikipedia.org/wiki/ISO_9660
+.. _vfat: https://en.wikipedia.org/wiki/File_Allocation_Table