code: def _create_hosting_devices_from_config(self):
          
          hd_dict = config.get_specific_config('cisco_hosting_device')
          attr_info = ciscohostingdevicemanager.RESOURCE_ATTRIBUTE_MAP[
              ciscohostingdevicemanager.DEVICES]
          adm_context = bc.context.get_admin_context()
  
          for hd_uuid, kv_dict in hd_dict.items():
              # ensure hd_uuid is properly formatted
              hd_uuid = config.uuidify(hd_uuid)
              try:
                  old_hd = self.get_hosting_device(adm_context, hd_uuid)
                  is_create = False
              except ciscohostingdevicemanager.HostingDeviceNotFound:
                  old_hd = {}
                  is_create = True
              kv_dict['id'] = hd_uuid
              kv_dict['tenant_id'] = self.l3_tenant_id()
              # make sure we keep using same config agent if it has been assigned
              kv_dict['cfg_agent_id'] = old_hd.get('cfg_agent_id')
              # make sure we keep using management port if it exists
              kv_dict['management_port_id'] = old_hd.get('management_port_id')
              config.verify_resource_dict(kv_dict, True, attr_info)
              hd = {ciscohostingdevicemanager.DEVICE: kv_dict}
              try:
                  if is_create:
                      self.create_hosting_device(adm_context, hd)
                  else:
                      self.update_hosting_device(adm_context, kv_dict['id'], hd)
              except n_exc.NeutronException:
                  with excutils.save_and_reraise_exception():
                      LOG.error('Invalid hosting device specification in '
                                'configuration file for device = %s',
                                hd_uuid)
docs: To be called late during plugin initialization so that any hosting
          device specified in the config file is properly inserted in the DB.