404

[ Avaa Bypassed ]




Upload:

Command:

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

import logging
import platform

import cloudinit.net.bsd
from cloudinit import net, 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" + self.interface_routes
            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:
            net.dhcp.IscDhclient.kill_dhcp_client()
            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)
        else:
            self.interface_routes = (
                self.interface_routes
                + "!route add "
                + network
                + " -netmask "
                + netmask
                + " "
                + gateway
                + "\n"
            )


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

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
netops Folder 0755
__init__.py File 42.24 KB 0644
activators.py File 8.77 KB 0644
bsd.py File 8.43 KB 0644
cmdline.py File 9.04 KB 0644
dhcp.py File 21.06 KB 0644
eni.py File 21.26 KB 0644
ephemeral.py File 14.33 KB 0644
freebsd.py File 3.25 KB 0644
netbsd.py File 1.41 KB 0644
netplan.py File 18.87 KB 0644
network_manager.py File 19.06 KB 0644
network_state.py File 35.77 KB 0644
networkd.py File 12.19 KB 0644
openbsd.py File 2.47 KB 0644
renderer.py File 1.64 KB 0644
renderers.py File 1.78 KB 0644
sysconfig.py File 42.8 KB 0644
udev.py File 1.39 KB 0644