<commit_before># OpenNebula Linux VM Contextualization

## Description

This addon provides contextualization packages for the Linux (and, other
Unix-like) guest virtual machines running in the OpenNebula cloud. Based
on the provided contextualization parameters, the packages prepare the
networking in the running guest virt. machine, configure SSH keys, set
passwords, run custom start scripts, and many others.

## Download

Latest versions can be downloaded from the
[release page](https://github.com/OpenNebula/addon-context-linux/releases).
Check the supported OpenNebula versions for each release.

## Install

Documentation on packages installation and guest contextualization can
be found in the latest stable
[OpenNebula Operation Guide](http://docs.opennebula.org/stable/operation/vm_setup/context_overview.html).
For beta releases, refer to the latest
[development documentation](http://docs.opennebula.org/devel/operation/vm_setup/context_overview.html).

## Tested platforms

List of tested platforms only:

| Platform                        | Versions                                 |
|---------------------------------|------------------------------------------|
| AlmaLinux                       | 8, 9                                     |
| Alpine Linux                    | 3.13, 3.14, 3.15                         |
| Amazon Linux                    | 2                                        |
| CentOS                          | 7, 8 Stream                              |
| Debian                          | 10, 11, 12                               |
| Devuan                          | 2                                        |
| Fedora                          | 34, 35                                   |
| FreeBSD                         | 12, 13                                   |
| openSUSE                        | 15                                       |
| Oracle Linux                    | 7, 8                                     |
| Red Hat Enterprise Linux        | 7, 8                                     |
| Rocky Linux                     | 8                                        |
| Ubuntu                          | 14.04, 16.04, 18.04, 20.04, 21.10, 22.04 |

(the packages might work on other versions or flavours, but those aren't tested)

### Guest Network Configuration

> **NOTE: Available since context packages version 6.2.0.**

The context scripts support selectable guest network management service (a component in guest OS responsible for assigning IP addresses, routes, and bringing interfaces up). Following network configuration types can be selected by setting the context variable `NETCFG_TYPE` (empty default fallbacks to autodetection of the most suitable one for a particular platform):

- `bsd` for FreeBSD network configuration,
- `interfaces` for Debian-style configuration in `/etc/network/interfaces`,
- `netplan` for Netplan with following renders set in context variable `NETCFG_NETPLAN_RENDERER`:
  - empty or `networkd` for systemd-network (default),
  - `NetworkManager` for NetworkManager
- `networkd` for systemd-networkd,
- `nm` for NetworkManager,
- `scripts` for legacy Red Hat-style configuration via `/etc/sysconfig/network-scripts/ifcfg-ethX` files.

Interface IP address configuration method can be customized as well. Following IPv4 configuration methods are supported via NIC attribute `METHOD`:

- empty or `static` for static address assignment based on context variables,
- `dhcp` for DHCPv4,
- `skip` to skip IPv4 configuration.<commit_msg>Update list of Linux distributions<commit_after># OpenNebula Linux VM Contextualization

## Description

This addon provides contextualization packages for the Linux (and, other
Unix-like) guest virtual machines running in the OpenNebula cloud. Based
on the provided contextualization parameters, the packages prepare the
networking in the running guest virt. machine, configure SSH keys, set
passwords, run custom start scripts, and many others.

## Download

Latest versions can be downloaded from the
[release page](https://github.com/OpenNebula/addon-context-linux/releases).
Check the supported OpenNebula versions for each release.

## Install

Documentation on packages installation and guest contextualization can
be found in the latest stable
[OpenNebula Operation Guide](http://docs.opennebula.org/stable/operation/vm_setup/context_overview.html).
For beta releases, refer to the latest
[development documentation](http://docs.opennebula.org/devel/operation/vm_setup/context_overview.html).

## Tested platforms

List of tested platforms only:

| Platform                        | Versions                                 |
|---------------------------------|------------------------------------------|
| AlmaLinux                       | 8, 9                                     |
| Alpine Linux                    | 3.13, 3.14, 3.15                         |
| ALT Linux                       | 9, 10, Sisyphus                          |
| Amazon Linux                    | 2                                        |
| CentOS                          | 7, 8 Stream                              |
| Debian                          | 10, 11, 12                               |
| Devuan                          | 2                                        |
| Fedora                          | 34, 35                                   |
| FreeBSD                         | 12, 13                                   |
| openSUSE                        | 15                                       |
| Oracle Linux                    | 7, 8                                     |
| Red Hat Enterprise Linux        | 7, 8, 9                                  |
| Rocky Linux                     | 8                                        |
| Ubuntu                          | 16.04, 18.04, 20.04, 21.10, 22.04        |
| Ubuntu Minimal                  | 20.04, 22.04                             |

(the packages might work on other versions or flavours, but those aren't tested)

### Guest Network Configuration

> **NOTE: Available since context packages version 6.2.0.**

The context scripts support selectable guest network management service (a component in guest OS responsible for assigning IP addresses, routes, and bringing interfaces up). Following network configuration types can be selected by setting the context variable `NETCFG_TYPE` (empty default fallbacks to autodetection of the most suitable one for a particular platform):

- `bsd` for FreeBSD network configuration,
- `interfaces` for Debian-style configuration in `/etc/network/interfaces`,
- `netplan` for Netplan with following renders set in context variable `NETCFG_NETPLAN_RENDERER`:
  - empty or `networkd` for systemd-network (default),
  - `NetworkManager` for NetworkManager
- `networkd` for systemd-networkd,
- `nm` for NetworkManager,
- `scripts` for legacy Red Hat-style configuration via `/etc/sysconfig/network-scripts/ifcfg-ethX` files.

Interface IP address configuration method can be customized as well. Following IPv4 configuration methods are supported via NIC attribute `METHOD`:

- empty or `static` for static address assignment based on context variables,
- `dhcp` for DHCPv4,
- `skip` to skip IPv4 configuration.
{'fraction_non_alphanumeric': 0.08672835243750864, 'fraction_numerical': 0.019334346084794916, 'mean_word_length': 1.6832160059281216, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 38, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3446539', 'n_tokens_mistral': 1804, 'n_tokens_neox': 1582, 'n_words': 644}