summaryrefslogtreecommitdiff
path: root/doc/var-lib-cloud.txt
blob: 2a1acd2bf5b47338f77d8410ea65a39c91d194dc (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
/var/lib/cloud has the following structure:
  - scripts/
      per-instance/
      per-boot/
      per-once/

    files in these directories will be run by 'run-parts' once per
    instance, once per boot, and once per *ever*.

  - seed/
     <datasource>/
        sys-user-data
        user-data
        meta-data

     The 'seed/' directory allows you to seed a specific datasource
     For example, to seed the 'nocloud' datasource you would need to
     populate 
       seed/nocloud/user-data
       seed/nocloud/meta-data

  - instance -> instances/i-abcde
    This is a symlink to the current instance/<instance-id> directory
    created/updated on boot
  - instances/
      i-abcdefgh/
         scripts/ # all scripts in scripts are per-instance
         sem/
            config-puppet
            config-ssh
            set-hostname
         cloud-config.txt
         user-data.txt
         user-data.txt.i
         obj.pkl
         handlers/
         data/  # just a per-instance data location to be used
          
  - sem/
      scripts.once
    These are the cloud-specific semaphores.  The only thing that
    would go here are files to mark that a "per-once" script
    has run.

  - handlers/
      "persistent" handlers (not per-instance).  Same as handlers
      from user-data, just will be cross-instance id

  - data/
      this is a persistent data location.  cloud-init won't really
      use it, but something else (a handler or script could)

to clear out the current instance's data as if to force a "new run" on reboot
do:
  ( cd /var/lib/cloud/instance && sudo rm -Rf * )