I'd like to figure out where I went wrong or if there is an issue…
$ sudo puppet agent -t
Warning: Local environment: "production" doesn't match server specified node environment "KT_megacorp_Baseline_Puppet_Modules_6", switching agent to "KT_megacorp_Baseline_Puppet_Modules_6".
Info: Retrieving pluginfacts
Info: Retrieving plugin
Warning: nmcli (1.0.6) and NetworkManager (1.0.0) versions don't match. Use --nocheck to suppress the warning.
Warning: nmcli (1.0.6) and NetworkManager (1.0.0) versions don't match. Use --nocheck to suppress the warning.
Warning: nmcli (1.0.6) and NetworkManager (1.0.0) versions don't match. Use --nocheck to suppress the warning.
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not find class motd for katello-katello.example.com on node katello-katello.example.com
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
First I ran this…
sudo mkdir /var/www/html/pub/puppet-modules
sudo chmod a+rw /var/www/html/pub/puppet-modules
git clone https://github.com/puppetlabs/puppetlabs-motd.git
cd puppetlabs-motd
…bumped version…
sudo pulp-puppet-module-builder --output-dir /var/www/html/pub/puppet-modules .
Then I created a product with a puppet repo sync'ed from that output plus a repo synced from puppetforge…
$ hammer product info --id 17 --organization "Mega Corporation"
ID: 17
Name: Puppet Modules
Label: puppet-motd
Description: Example puppet product
Sync State: Syncing Complete.
Sync Plan ID:
GPG:
GPG Key ID:
GPG Key:
Organization: Mega Corporation
Readonly: false
Deletable:
Content:
- Repo Name: Puppet Forge
URL: /custom/puppet-motd/puppet-forge
Content Type: puppet - Repo Name: Puppet MOTD
URL: /custom/puppet-motd/puppet-motd
Content Type: puppet
Then I created a content view and added the puppet module to it…
$ hammer content-view info --id 6 --organization "Mega Corporation"
Warning: Option --id is deprecated. This option will be removed in Katello 2.5, Use --uuid
ID: 6
Name: Puppet Modules
Label: Puppet_Modules
Composite: false
Description:
Content Host Count: 0
Organization: Mega Corporation
Yum Repositories:
Docker Repositories:
Puppet Modules:
- ID: 1
Name: puppetlabs-motd
Author: puppetlabs
Created: 2016/02/01 12:45:19
Updated: 2016/02/01 12:45:19
Lifecycle Environments: - ID: 6
Name: Baseline - ID: 2
Name: Library
Versions: - ID: 6
Version: 1.0
Published: 2016/02/01 12:45:31
Components:
Activation Keys:
After publishing and promoting to Baseline lifecycle env here is what ended up on disk…
$ ls -l /etc/puppet/environments/KT_megacorp_Baseline_Puppet_Modules_6/modules
drwxr-xr-x. 6 apache apache 4096 Jan 31 08:50 puppetlabs-motd
After moving my host to that puppet environment and adding the motd class to it, I ran puppet agent -t and got the error at the start of this email…
Error 400 on SERVER: Could not find class motd for katello-katello.example.com on node katello-katello.example.com
If I make a symlink in the modules dir like this…
$ ls -l /etc/puppet/environments/KT_megacorp_Baseline_Puppet_Modules_6/modules
lrwxrwxrwx. 1 apache apache 15 Feb 1 08:32 motd -> puppetlabs-motd
drwxr-xr-x. 6 apache apache 4096 Jan 31 08:50 puppetlabs-motd
Then puppet agent -t runs clean and I can see motd updated.
So… Where did I go wrong? Why was the module created on disk named puppetlabs-motd instead of motd? Or is there some other problem?