3 \me-$ @ s d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlm Z d dl mZmZ dZ dZejeZG dd de jdZG d d d eZegZdddZd d ZdddZdd Zdd Zdd ZdddZdS ) N)util)get_devicelistread_sys_net_safez#/run/initramfs/open-iscsi.interfacedisabledc @ s8 e Zd ZdZejedddZejedddZ dS )InitramfsNetworkConfigSourcezBABC for net config sources that read config written by initramfses)returnc C s dS )zAIs this initramfs config source applicable to the current system?N )selfr r /usr/lib/python3.6/cmdline.py is_applicable s z*InitramfsNetworkConfigSource.is_applicablec C s dS )z;Render a v1 network config from the initramfs configurationNr )r r r r render_config" s z*InitramfsNetworkConfigSource.render_configN) __name__ __module____qualname____doc__abcabstractmethodboolr dictr r r r r r s r ) metaclassc @ s6 e Zd ZdZd ddZedddZeddd ZdS )KlibcNetworkConfigSourcezInitramfsNetworkConfigSource for klibc initramfs (i.e. Debian/Ubuntu) Has three parameters, but they are intended to make testing simpler, _not_ for use in production code. (This is indicated by the prepended underscores.) Nc C st || _ || _|| _| j d kr$t | _ | jd kr8tj | _| jd krpi | _x&t D ]}t|d}|rP|| j|<