linux_dev - OpenNebula/one-apps GitHub Wiki

Developer Information

Repository Structure

All code is located under context-linux/src/. Here the directory structure follows the installation directory structure:

├── etc
│   ├── cron.d
│   ├── devd
│   ├── init
│   ├── init.d
│   ├── modules-load.d
│   ├── NetworkManager
│   ├── one-context.d
│   ├── periodic
│   ├── rc.d
│   ├── systemd
│   └── udev
├── lib
│   └── udev
└── usr
    ├── bin
    ├── lib
    ├── local
    └── sbin

Filenames may contain one or more tags. Tags are appended to the filename name after two hashes (##), e.g. script##systemd. The tags on the filename select the file for use in different environments or targets. If more than one tag is present, they are separated by dots, e.g. script##systemd.rpm.

Examples:

  • script - non-tagged file for all targets
  • script##systemd - file tagged with systemd
  • script##systemd.rpm - file tagged with systemd and rpm

Contextualization Scripts

Contextualization scripts are executed on every boot and during reconfiguration. They are located in context-linux/src/etc/one-context.d/. Scripts are divided into two classes:

  • Local scripts, run before networking, prefixed with loc-
  • Post-networking scripts, prefixed with net-

All other scripts not prefixed with loc- or net- are executed first during the post-networking contextualization stage.