def _config_net_topology(self, conf):
conf = self._init_net_specs(conf)<EOL>mgmts = self._select_mgmt_networks(conf)<EOL>self._validate_netconfig(conf)<EOL>allocated_subnets, conf = self._allocate_subnets(conf)<EOL>try:<EOL><INDENT>self._add_mgmt_to_domains(conf, mgmts)<EOL>self._register_preallocated_ips(conf)<EOL>self._allocate_ips_to_nics(conf)<EOL>self._set_mtu_to_nics(conf)<EOL>self._add_dns_records(conf, mgmts)<EOL><DEDENT>except:<EOL><INDENT>self._subnet_store.release(allocated_subnets)<EOL>raise<EOL><DEDENT>return conf<EOL>
Initialize and populate all the network related elements, like
reserving ips and populating network specs of the given confiiguration
spec

Args:
    conf (dict): Configuration spec to initalize

Returns:
    None