o x[h @sZddlZddlZddlZddlmZmZmZeeZ Gdddejj j Z dddZ dS)N)netsubputilc@s(eZdZd ddZd ddZddZdS) RendererNc Cs|jD]U\}}d|}t|j|}||vrd}n6t|trTz dj|d|dd}Wnt y?t d|Ynw| d}|rM|d |7}|d |j 7}t||qdS) Nzetc/hostname.{}zdhcp zinet {address} {netmask}addressnetmask)rrz#Invalid static configuration for %smtuz mtu %d )interface_configurationsitemsformatr target_pathtargetdhcp_interfaces isinstancedictKeyErrorLOGerrorgetinterface_routesr write_file)selfr device_namevif_filefncontentrr7/usr/lib/python3/dist-packages/cloudinit/net/openbsd.py write_config s*       zRenderer.write_configFcCstttdddk}|jstddS|r8tjddgdd| D] }tjd d d |gddq(dSt j j tjgd ddd gdtjgdddd gdtjddgdddS)N.rz!openbsd generate postcmd disabledshz /etc/netstartT)capture dhcpleasectlz-w30)routedeldefault)r$rcs)r'flushr))boolintplatformreleasesplit _postcmdsrdebugrrrdhcp IscDhclientkill_dhcp_client)rrunhas_dhcpleasectl interfacerrrstart_services"s    zRenderer.start_servicescCsZ|dkrd}t|j|}|d}t||dS|jd|d|d|d|_dS)Nz0.0.0.0z etc/mygater z !route add z -netmask  )rr rrrr)rnetworkrgatewayrrrrrr set_route3s*zRenderer.set_routeN)F)__name__ __module__ __qualname__r r:r>rrrrr s   rcCstSr?)r is_OpenBSD)rrrr availableFsrDr?)loggingr/cloudinit.net.bsd cloudinitrrr getLoggerr@rbsd BSDRendererrrDrrrrs :