Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow selective sync of plugins to target nodes #1934

Closed
hajee opened this issue Jun 24, 2020 · 3 comments
Closed

Allow selective sync of plugins to target nodes #1934

hajee opened this issue Jun 24, 2020 · 3 comments
Labels
Feature New features and improvements.

Comments

@hajee
Copy link
Contributor

hajee commented Jun 24, 2020

Use Case

When using a puppet apply block in a plan, bolt sync's all of the plugin files in all of the modules over to the target node. When the Bolt projects where small and the execution time of the puppet code was long, this was no issue. Since the integration with Puppet Enterprise, it is recommended that the Bolt dir is integrated with the control repo. In general control repo's for larger environments are quite large.

If we would like a plan to contain a very small fragment of puppet code, currently all plugins from all modules are synced to the targets. This is very time and resource consuming.

Describe the Solution You Would Like

It would be great if the plan author can specify what modules need to be synced, and thereby controlling the amount of plugin data to be synced to the target.

@hajee hajee added the Feature New features and improvements. label Jun 24, 2020
hajee added a commit to enterprisemodules/bolt that referenced this issue Jun 24, 2020
hajee added a commit to enterprisemodules/bolt that referenced this issue Jun 24, 2020
hajee added a commit to enterprisemodules/bolt that referenced this issue Jun 24, 2020
…et nodes

* **Added support for selective sync of plugins to target** ([puppetlabs#1934](puppetlabs#1934))
hajee added a commit to enterprisemodules/bolt that referenced this issue Jun 24, 2020
…et nodes

* **Added support for selective sync of plugins to target** ([puppetlabs#1934](puppetlabs#1934))

This feature allows a plan author ti specificy what plugins need to be synced to the target node. You can do this by add an array of module names or an array of regular expressions to the config of a target. Here is an example:

    $target.set_config('selective_sync', ['stdlib'])
    apply($target) {
      notice 'Hallo'
    }

The apply block here ony sync’s the stdlib module to the target.
hajee added a commit to enterprisemodules/bolt that referenced this issue Jun 24, 2020
…et nodes

* **Added support for selective sync of plugins to target** ([puppetlabs#1934](puppetlabs#1934))

This feature allows a plan author ti specificy what plugins need to be synced to the target node. You can do this by add an array of module names or an array of regular expressions to the config of a target. Here is an example:

    $target.set_config('selective_sync', ['stdlib'])
    apply($target) {
      notice 'Hallo'
    }

The apply block here ony sync’s the stdlib module to the target.

!feature
@lucywyman
Copy link
Contributor

@hajee Are you wanting to use this with PE? Or just with Bolt?

@hajee
Copy link
Contributor Author

hajee commented Jun 24, 2020

I think this can be useful for both. Right now we use bolt we might switch to the more integrated variant in PE. Seeing the use case it is more beneficial for PE, but I can imagine the same issues happening using just bolt and having a large set of modules.

hajee added a commit to enterprisemodules/bolt that referenced this issue Jun 30, 2020
…et nodes

* **Added support for selective sync of plugins to target** ([puppetlabs#1934](puppetlabs#1934))

This feature allows a plan author to specificy what plugins need to be synced to the target node. You can do this by add an array of module names to the options parameter. Here is an example:

    apply($target, ‘required_modules => [‘stdlib’] ) {
      notice 'Hallo'
    }

The apply block here ony sync’s the stdlib module to the target. The same feature also
works on apply_prep functions. Here is an example:

    apply_prep($target, ‘required_modules => [‘stdlib’] )

When no required modules are specified, *ALL* plugins from *ALL* modules are synced.

!feature
hajee added a commit to enterprisemodules/bolt that referenced this issue Jun 30, 2020
…et nodes

* **Added support for selective sync of plugins to target** ([puppetlabs#1934](puppetlabs#1934))

This feature allows a plan author to specificy what plugins need to be synced to the target node. You can do this by add an array of module names to the options parameter. Here is an example:

    apply($target, ‘required_modules => [‘stdlib’] ) {
      notice 'Hallo'
    }

The apply block here ony sync’s the stdlib module to the target. The same feature also
works on apply_prep functions. Here is an example:

    apply_prep($target, ‘required_modules => [‘stdlib’] )

When no required modules are specified, *ALL* plugins from *ALL* modules are synced.

!feature
hajee added a commit to enterprisemodules/bolt that referenced this issue Jul 7, 2020
…et nodes

* **Added support for selective sync of plugins to target** ([puppetlabs#1934](puppetlabs#1934))

!feature
This feature allows a plan author to specificy what plugins need to be synced to the target node. You can do this by add an array of module names to the options parameter. Here is an example:

    apply($target, ‘required_modules => [‘stdlib’] ) {
      notice 'Hallo'
    }

The apply block here ony sync’s the stdlib module to the target. The same feature also
works on apply_prep functions. Here is an example:

    apply_prep($target, ‘required_modules => [‘stdlib’] )

When no required modules are specified, *ALL* plugins from *ALL* modules are synced.
hajee added a commit to enterprisemodules/bolt that referenced this issue Jul 7, 2020
…et nodes

* **Added support for selective sync of plugins to target** ([puppetlabs#1934](puppetlabs#1934))

!feature
This feature allows a plan author to specificy what plugins need to be synced to the target node. You can do this by add an array of module names to the options parameter. Here is an example:

    apply($target, ‘required_modules => [‘stdlib’] ) {
      notice 'Hallo'
    }

The apply block here ony sync’s the stdlib module to the target. The same feature also
works on apply_prep functions. Here is an example:

    apply_prep($target, ‘required_modules => [‘stdlib’] )

When no required modules are specified, *ALL* plugins from *ALL* modules are synced.
lucywyman added a commit that referenced this issue Jul 7, 2020
(GH-1934) Add support for selective sync of plugins to target nodes
@lucywyman
Copy link
Contributor

Closed by #1935

jpogran pushed a commit to jpogran/bolt that referenced this issue Sep 1, 2020
…et nodes

* **Added support for selective sync of plugins to target** ([puppetlabs#1934](puppetlabs#1934))

!feature
This feature allows a plan author to specificy what plugins need to be synced to the target node. You can do this by add an array of module names to the options parameter. Here is an example:

    apply($target, ‘required_modules => [‘stdlib’] ) {
      notice 'Hallo'
    }

The apply block here ony sync’s the stdlib module to the target. The same feature also
works on apply_prep functions. Here is an example:

    apply_prep($target, ‘required_modules => [‘stdlib’] )

When no required modules are specified, *ALL* plugins from *ALL* modules are synced.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature New features and improvements.
Projects
None yet
Development

No branches or pull requests

2 participants