Cobbler with puppet - slow in installing packages

Solution 1:

Unless you set explicit dependencies, the ordering of resources may be a problem.
The way you wrote it does not mean that the repo will be deployed before applying the other classes.

For example this:

node server1 {

          class { 'myrepo': }

          class { 'bacula':
            require => Class['myrepo'],
          }
          class { 'vsftpd':
            require => Class['myrepo'],
          }
}

Would order it correctly.
You could also add a require myrepo to the vsftpd and bacula class.
There are many solutions to it.

If those are external modules then I always try to avoid changing them in any way to make updates easier.

See: https://puppet.com/docs/puppet/latest/lang_relationships.html