Custom migration source plugin not enabled in source site error I'm trying to write a custom source plugin for a d7-d8 migration. I want to extend the Drupal\node\Plugin\migrate\source\d7 Node.php plugin.
I'm getting the following error when I try to run the migration from the UI:

Migration my_node_page did not meet the requirements. The module
my_xtra is not enabled in the source site. source_module:
my_xtra.

When I run drush ms I get a different error

No database connection configured for source plugin variable

The database connection key is specified in the group yml and works for other migrations which don't use the custom source plugin.
Here's my yml file
id: my_node_page
label: Node Basic Page
audit: true
migration_tags:
  - Drupal 7
  - Content
migration_group: my_group
source:
  plugin: my_xtra_node
  node_type: 'page'
process:

Here's my custom plugin.
    &lt;?php
    
    namespace Drupal\my_extra\Plugin\migrate\source;
    
    use Drupal\node\Plugin\migrate\source\d7\Node;
    
    /**
     * Drupal 7 node source from database.
     *
     * @MigrateSource(
     *   id = &quot;my_xtra_node&quot;,
     *   source_provider = &quot;node&quot;,
     *   source_module = &quot;my_xtra&quot;,
     *   
     * )
     */
    class NodeXtra extends Node {
    
    
      /**
       * {@inheritdoc}
      */
      public function query() {
        // Select node in its last revision.
        $query = $this-&gt;select('node_revision', 'nr')
          -&gt;fields('n', [
            'nid',
            'type',
            'language',
            'status',
            'created',
            'changed',
            'comment',
            'promote',
            'sticky',
            'tnid',
            'translate',
          ])
          -&gt;fields('nr', [
            'vid',
            'title',
            'log',
            'timestamp',
          ]);
        $query-&gt;addField('n', 'uid', 'node_uid');
        $query-&gt;addField('nr', 'uid', 'revision_uid');
        $query-&gt;innerJoin('node', 'n', static::JOIN);
    
        // If the content_translation module is enabled, get the source langcode
        // to fill the content_translation_source field.
        if ($this-&gt;moduleHandler-&gt;moduleExists('content_translation')) {
          $query-&gt;leftJoin('node', 'nt', 'n.tnid = nt.nid');
          $query-&gt;addField('nt', 'language', 'source_langcode');
        }
        $this-&gt;handleTranslations($query);
    
        if (isset($this-&gt;configuration['node_type'])) {
          $query-&gt;condition('n.type', $this-&gt;configuration['node_type']);
        }
    
        return $query;
      } 
}

Thanks!
Your source module should be &quot;node&quot; since that's what you're extending.
/**
* Drupal 7 node source from database.
*
* @MigrateSource(
*   id = &quot;my_xtra_node&quot;,
*   source_module = &quot;node&quot; 
* )
*/