← Back to team overview

cloud-init-dev team mailing list archive

[Merge] ~redriver/cloud-init:frbsd-azure-branch into cloud-init:master

 

The proposal to merge ~redriver/cloud-init:frbsd-azure-branch into cloud-init:master has been updated.

Commit Message changed to:

This patch targets to make FreeBSD 10.3 or 11 work on Azure. The modifications abide by the rule of 
(1) making as less modification as possible
(2) delegating the platform or cloud specific operations to the specific classes instead of adding platform checking.

The main modifications constitute the following items:

1. Commands for network configuration are different from the ones on Ubuntu, for example, get ipv4/ipv6/mac, so, some of the functions called by apply_network_config are moved distro/FreeBSD.py instead of being handled in net/__init__.py.
2. Password setting through "pw" can only work through pipe, like "echo PASSWD|pw ... -H 0".
3. Default group for root user is "wheel" on FreeBSD. So, 'root:wheel' should be added syslog_fix_perms field.
4. There are some changes related to FreeBSD on Azure (DataSourceAzure):
(a) The leases file for dhclient is different from the one on Linux, so, the lease file path should be generated according to platform. The other similar platform related values: default primary network interface (hn0)and default file system (ufs)
(b) Mounting issues, including mounting CD, and get mount information
(c) Azure protocol depends on a field of dhclient lease file, but its name is different on FreeBSD. (azure.py, "option-245" vs. "unknown-245")
(d) Method to find resource (ephemeral) disk is a little complex because FreeBSD does not provide /dev/disk/cloud/azure_resource. This method is also used by WALinuxAgent 2.2
(e) Add a cloud.cfg for FreeBSD on Azure. Azure sets user information through ovf file, so the default configuration should not contain any user information.

Some of the features have not been fully implemented, for example, get seed from "/sys/firmware/acpi/tables/OEM0" on Linux, but this information on FreeBSD cannot be directly fetched. The config modules are also needed to be checked whether they work for FreeBSD on Azure.

For more details, see:
https://code.launchpad.net/~redriver/cloud-init/+git/cloud-init/+merge/314794
-- 
Your team cloud init development team is requested to review the proposed merge of ~redriver/cloud-init:frbsd-azure-branch into cloud-init:master.


References