404

[ Avaa Bypassed ]




Upload:

Command:

botdev@3.14.135.249: ~ $
# This file is part of cloud-init. See LICENSE file for license information.

import platform

import cloudinit.net.bsd
from cloudinit import log as logging
from cloudinit import subp, util

LOG = logging.getLogger(__name__)


class Renderer(cloudinit.net.bsd.BSDRenderer):
    def write_config(self):
        for device_name, v in self.interface_configurations.items():
            if_file = "etc/hostname.{}".format(device_name)
            fn = subp.target_path(self.target, if_file)
            if device_name in self.dhcp_interfaces():
                content = "dhcp\n"
            elif isinstance(v, dict):
                try:
                    content = "inet {address} {netmask}".format(
                        address=v["address"], netmask=v["netmask"]
                    )
                except KeyError:
                    LOG.error(
                        "Invalid static configuration for %s", device_name
                    )
                mtu = v.get("mtu")
                if mtu:
                    content += " mtu %d" % mtu
                content += "\n"
            util.write_file(fn, content)

    def start_services(self, run=False):
        has_dhcpleasectl = bool(int(platform.release().split(".")[0]) > 6)
        if not self._postcmds:
            LOG.debug("openbsd generate postcmd disabled")
            return
        if has_dhcpleasectl:  # OpenBSD 7.0+
            subp.subp(["sh", "/etc/netstart"], capture=True)
            for interface in self.dhcp_interfaces():
                subp.subp(
                    ["dhcpleasectl", "-w", "30", interface], capture=True
                )
        else:
            subp.subp(["pkill", "dhclient"], capture=True, rcs=[0, 1])
            subp.subp(["route", "del", "default"], capture=True, rcs=[0, 1])
            subp.subp(["route", "flush", "default"], capture=True, rcs=[0, 1])
            subp.subp(["sh", "/etc/netstart"], capture=True)

    def set_route(self, network, netmask, gateway):
        if network == "0.0.0.0":
            if_file = "etc/mygate"
            fn = subp.target_path(self.target, if_file)
            content = gateway + "\n"
            util.write_file(fn, content)


def available(target=None):
    return util.is_OpenBSD()

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
__init__.py File 42.56 KB 0644
activators.py File 9.81 KB 0644
bsd.py File 8.48 KB 0644
cmdline.py File 9.05 KB 0644
dhcp.py File 11.61 KB 0644
eni.py File 21.56 KB 0644
ephemeral.py File 14.5 KB 0644
freebsd.py File 3.2 KB 0644
netbsd.py File 1.43 KB 0644
netplan.py File 18.73 KB 0644
network_manager.py File 13.06 KB 0644
network_state.py File 36.05 KB 0644
networkd.py File 12.63 KB 0644
openbsd.py File 2.2 KB 0644
renderer.py File 2.08 KB 0644
renderers.py File 1.8 KB 0644
sysconfig.py File 40.04 KB 0644
udev.py File 1.42 KB 0644