Hello.
We currently have puppet masterless setup. All modules stored in one dir,
like this:
> ├── smi_assets
> ├── smi_common
> ├── smi_site_smi
> ├── smi_site_smi_aws
> ├── smi_site_smsilicon
> ├── smi_site_smware
> ├── smi_sudo
> ├── smi_zabbix
> └── stdlib
>
This directory mounted to every server via nfs.
We have 4 different sites, and 4 entry point, that specified params for
puppet classes, and run "common" module.
On every server we have cron job, that run puppet.
In "common" class we have all classes running in exact order, like this:
> class{'smi_common::resolver': } ->
> class{'smi_common::devnode::sudo': } ->
> class{'smi_common::ntp': } ->
> class{'smi_common::devnode::user_ssh_configs': } ->
> class{'smi_common::devnode::profile_local': } ->
> class{'smi_common::puppet': } ->
> class{'smi_common::pkg_managers': } ->
> class{'smi_common::devnode::pkg_essentials': } ->
>
I have already set up "The Foreman" for provisioning, and it works very
good.
When I started to move classes to foreman puppet server, add them to
foreman group, u have forced with problem, that there is no mechanism for
order classes applying.
-
How define order of classes applying ?
-
Can I define class parametrs for all hosts in a single file, and not
override in with foreman web interface? How to point foreman to that file? -
How to debug puppet changes before executing on all hosts? With
masterless setup I could test chnges on one server, and than commit to
share directory. But how to debug with clent-server?
BR,
Alex