def _create_hosting_device_templates_from_config(self):
hdt_dict = config.get_specific_config('<STR_LIT>')<EOL>attr_info = ciscohostingdevicemanager.RESOURCE_ATTRIBUTE_MAP[<EOL>ciscohostingdevicemanager.DEVICE_TEMPLATES]<EOL>adm_context = bc.context.get_admin_context()<EOL>for hdt_uuid, kv_dict in hdt_dict.items():<EOL><INDENT>hdt_uuid = config.uuidify(hdt_uuid)<EOL>try:<EOL><INDENT>self.get_hosting_device_template(adm_context, hdt_uuid)<EOL>is_create = False<EOL><DEDENT>except ciscohostingdevicemanager.HostingDeviceTemplateNotFound:<EOL><INDENT>is_create = True<EOL><DEDENT>kv_dict['<STR_LIT:id>'] = hdt_uuid<EOL>kv_dict['<STR_LIT>'] = self.l3_tenant_id()<EOL>config.verify_resource_dict(kv_dict, True, attr_info)<EOL>hdt = {ciscohostingdevicemanager.DEVICE_TEMPLATE: kv_dict}<EOL>try:<EOL><INDENT>if is_create:<EOL><INDENT>self.create_hosting_device_template(adm_context, hdt)<EOL><DEDENT>else:<EOL><INDENT>self.update_hosting_device_template(adm_context,<EOL>kv_dict['<STR_LIT:id>'], hdt)<EOL><DEDENT><DEDENT>except n_exc.NeutronException:<EOL><INDENT>with excutils.save_and_reraise_exception():<EOL><INDENT>LOG.error('<STR_LIT>'<EOL>'<STR_LIT>',<EOL>hdt_uuid)<EOL><DEDENT><DEDENT><DEDENT>
To be called late during plugin initialization so that any hosting
        device templates defined in the config file is properly inserted in
        the DB.