The original words of Phanes, tirelessly carved into a slab of "No'".

Be wary of complicated Documentation Schemes

Don’t read this.  This was using the wrong documentation.  There was a version mismatch between what was being used and what was installed that was causing the confusion.  The next articles do not have this problem.

So, after last week’s total failure to properly design a transition plan, I’m going to backup everything everywhere and rebuild from scratch using the future state.  One of the problems with organic architecture is that it is so interconnected that moving away from it is unmanageable without sacrifice.

To best prepare, I’ve got a recent fascination with the concept of orchestration in SOA– and an SOA design is most definitely what future state will become by design.

I have decided that I am going to get out of a cycle with my own projects where I will sacrifice sane planning and attention to detail to speed up whatever flavorful project I am interested in that week by investing in a model.

So, we’re doing this right.  Right now, I need orchestration.  A video explaining what the fuck I’m talking about is here.  I’ve selected puppet as the means to do that.

Over the next couple of weeks I will evolve this into a how-to for setting up a puppet master.

My new puppet master is slotted to be oldhorse.surroindustries.com, a fresh install of Ubuntu Server Xenial 16.04 LTS on an on-Premises Poweredge rack server with six blades.

They’ve got a .deb package for it, which further concerns me that I may have wanted to select Debian for my default distribution (but I haven’t test driven Debian for anything serious yet and want stability with this build).  The package Xenial is not fully supported as a public candidate, so I may run into issues later.  It is located here:

https://apt.puppetlabs.com/puppetlabs-release-pc1-xenial.deb

[ phanes@oldhorse ] << ~ >>

[- curl https://apt.puppetlabs.com/puppetlabs-release-pc1-xenial.deb -o puppetlabs-release-pc1-xenial.deb
 % Total % Received % Xferd Average Speed Time Time Time Current
 Dload Upload Total Spent Left Speed
100 13662 100 13662 0 0 26251 0 --:--:-- --:--:-- --:--:-- 26222

[ phanes@oldhorse ] << ~ >>

[- ls
puppetlabs-release-pc1-xenial.deb

[ phanes@oldhorse ] << ~ >>

[- sudo dpkg -i puppetlabs-release-pc1-xenial.deb 
Selecting previously unselected package puppetlabs-release-pc1.
(Reading database ... 96559 files and directories currently installed.)
Preparing to unpack puppetlabs-release-pc1-xenial.deb ...
Unpacking puppetlabs-release-pc1 (1.1.0-2xenial) ...
Setting up puppetlabs-release-pc1 (1.1.0-2xenial) ...

[ phanes@oldhorse ] << ~ >>

[- sudo apt-get update
Hit:1 https://us.archive.ubuntu.com/ubuntu xenial InRelease
Hit:2 https://us.archive.ubuntu.com/ubuntu xenial-updates InRelease 
Ign:3 https://apt.puppetlabs.com xenial InRelease 
Hit:4 https://us.archive.ubuntu.com/ubuntu xenial-backports InRelease 
Get:5 https://security.ubuntu.com/ubuntu xenial-security InRelease [94.5 kB]
Get:6 https://apt.puppetlabs.com xenial Release [13.3 kB] 
Get:7 https://apt.puppetlabs.com xenial Release.gpg [836 B] 
Get:8 https://apt.puppetlabs.com xenial/PC1 amd64 Packages [7,937 B] 
Get:9 https://apt.puppetlabs.com xenial/PC1 i386 Packages [7,462 B] 
Get:10 https://apt.puppetlabs.com xenial/PC1 all Packages [4,784 B]
Fetched 129 kB in 0s (143 kB/s) 
Reading package lists... Done

[ phanes@oldhorse ] << ~ >>

[- sudo apt-get install puppetserver
Reading package lists... Done
Building dependency tree 
Reading state information... Done
The following additional packages will be installed:
 ca-certificates-java fontconfig-config fonts-dejavu-core java-common libcups2 libfontconfig1
 liblcms2-2 libpcsclite1 libxi6 libxrender1 libxtst6 openjdk-8-jre-headless puppet-agent
 x11-common
Suggested packages:
 default-jre cups-common liblcms2-utils pcscd openjdk-8-jre-jamvm libnss-mdns fonts-dejavu-extra
 fonts-ipafont-gothic fonts-ipafont-mincho ttf-wqy-microhei | ttf-wqy-zenhei fonts-indic
The following NEW packages will be installed:
 ca-certificates-java fontconfig-config fonts-dejavu-core java-common libcups2 libfontconfig1
 liblcms2-2 libpcsclite1 libxi6 libxrender1 libxtst6 openjdk-8-jre-headless puppet-agent
 puppetserver x11-common
0 upgraded, 15 newly installed, 0 to remove and 44 not upgraded.
Need to get 75.7 MB of archives.
After this operation, 225 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 https://us.archive.ubuntu.com/ubuntu xenial/main amd64 liblcms2-2 amd64 2.6-3ubuntu2 [137 kB]
Get:2 https://apt.puppetlabs.com xenial/PC1 amd64 puppet-agent amd64 1.7.0-1xenial [13.9 MB]
Get:3 https://us.archive.ubuntu.com/ubuntu xenial/main amd64 x11-common all 1:7.7+13ubuntu3 [22.4 kB]
Get:4 https://us.archive.ubuntu.com/ubuntu xenial/main amd64 libxtst6 amd64 2:1.2.2-1 [14.1 kB]
Get:5 https://us.archive.ubuntu.com/ubuntu xenial/main amd64 ca-certificates-java all 20160321 [12.9 kB]
Get:6 https://us.archive.ubuntu.com/ubuntu xenial/main amd64 java-common all 0.56ubuntu2 [7,742 B]
Get:7 https://us.archive.ubuntu.com/ubuntu xenial/main amd64 libcups2 amd64 2.1.3-4 [197 kB]
Get:8 https://us.archive.ubuntu.com/ubuntu xenial/main amd64 fonts-dejavu-core all 2.35-1 [1,039 kB]
Get:9 https://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 fontconfig-config all 2.11.94-0ubuntu1.1 [49.9 kB]
Get:10 https://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libfontconfig1 amd64 2.11.94-0ubuntu1.1 [131 kB]
Get:11 https://us.archive.ubuntu.com/ubuntu xenial/main amd64 libpcsclite1 amd64 1.8.14-1ubuntu1 [21.4 kB]
Get:12 https://us.archive.ubuntu.com/ubuntu xenial/main amd64 libxi6 amd64 2:1.7.6-1 [28.6 kB]
Get:13 https://us.archive.ubuntu.com/ubuntu xenial/main amd64 libxrender1 amd64 1:0.9.9-0ubuntu1 [18.5 kB]
Get:14 https://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 openjdk-8-jre-headless amd64 8u91-b14-3ubuntu1~16.04.1 [26.9 MB]
Get:15 https://apt.puppetlabs.com xenial/PC1 amd64 puppetserver all 2.6.0-1puppetlabs1 [33.3 MB]
Fetched 75.7 MB in 23s (3,218 kB/s) 
Selecting previously unselected package liblcms2-2:amd64.
(Reading database ... 96564 files and directories currently installed.)
Preparing to unpack .../liblcms2-2_2.6-3ubuntu2_amd64.deb ...
Unpacking liblcms2-2:amd64 (2.6-3ubuntu2) ...
Selecting previously unselected package x11-common.
Preparing to unpack .../x11-common_1%3a7.7+13ubuntu3_all.deb ...
Unpacking x11-common (1:7.7+13ubuntu3) ...
Selecting previously unselected package libxtst6:amd64.
Preparing to unpack .../libxtst6_2%3a1.2.2-1_amd64.deb ...
Unpacking libxtst6:amd64 (2:1.2.2-1) ...
Selecting previously unselected package ca-certificates-java.
Preparing to unpack .../ca-certificates-java_20160321_all.deb ...
Unpacking ca-certificates-java (20160321) ...
Selecting previously unselected package java-common.
Preparing to unpack .../java-common_0.56ubuntu2_all.deb ...
Unpacking java-common (0.56ubuntu2) ...
Selecting previously unselected package libcups2:amd64.
Preparing to unpack .../libcups2_2.1.3-4_amd64.deb ...
Unpacking libcups2:amd64 (2.1.3-4) ...
Selecting previously unselected package fonts-dejavu-core.
Preparing to unpack .../fonts-dejavu-core_2.35-1_all.deb ...
Unpacking fonts-dejavu-core (2.35-1) ...
Selecting previously unselected package fontconfig-config.
Preparing to unpack .../fontconfig-config_2.11.94-0ubuntu1.1_all.deb ...
Unpacking fontconfig-config (2.11.94-0ubuntu1.1) ...
Selecting previously unselected package libfontconfig1:amd64.
Preparing to unpack .../libfontconfig1_2.11.94-0ubuntu1.1_amd64.deb ...
Unpacking libfontconfig1:amd64 (2.11.94-0ubuntu1.1) ...
Selecting previously unselected package libpcsclite1:amd64.
Preparing to unpack .../libpcsclite1_1.8.14-1ubuntu1_amd64.deb ...
Unpacking libpcsclite1:amd64 (1.8.14-1ubuntu1) ...
Selecting previously unselected package libxi6:amd64.
Preparing to unpack .../libxi6_2%3a1.7.6-1_amd64.deb ...
Unpacking libxi6:amd64 (2:1.7.6-1) ...
Selecting previously unselected package libxrender1:amd64.
Preparing to unpack .../libxrender1_1%3a0.9.9-0ubuntu1_amd64.deb ...
Unpacking libxrender1:amd64 (1:0.9.9-0ubuntu1) ...
Selecting previously unselected package openjdk-8-jre-headless:amd64.
Preparing to unpack .../openjdk-8-jre-headless_8u91-b14-3ubuntu1~16.04.1_amd64.deb ...
Unpacking openjdk-8-jre-headless:amd64 (8u91-b14-3ubuntu1~16.04.1) ...
Selecting previously unselected package puppet-agent.
Preparing to unpack .../puppet-agent_1.7.0-1xenial_amd64.deb ...
Unpacking puppet-agent (1.7.0-1xenial) ...
Selecting previously unselected package puppetserver.
Preparing to unpack .../puppetserver_2.6.0-1puppetlabs1_all.deb ...
Unpacking puppetserver (2.6.0-1puppetlabs1) ...
Processing triggers for systemd (229-4ubuntu7) ...
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for ca-certificates (20160104ubuntu1) ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
Processing triggers for libc-bin (2.23-0ubuntu3) ...
Setting up liblcms2-2:amd64 (2.6-3ubuntu2) ...
Setting up x11-common (1:7.7+13ubuntu3) ...
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
Setting up libxtst6:amd64 (2:1.2.2-1) ...
Setting up java-common (0.56ubuntu2) ...
Setting up libcups2:amd64 (2.1.3-4) ...
Setting up fonts-dejavu-core (2.35-1) ...
Setting up fontconfig-config (2.11.94-0ubuntu1.1) ...
Setting up libfontconfig1:amd64 (2.11.94-0ubuntu1.1) ...
Setting up libpcsclite1:amd64 (1.8.14-1ubuntu1) ...
Setting up libxi6:amd64 (2:1.7.6-1) ...
Setting up libxrender1:amd64 (1:0.9.9-0ubuntu1) ...
Setting up puppet-agent (1.7.0-1xenial) ...
Created symlink from /etc/systemd/system/multi-user.target.wants/puppet.service to /lib/systemd/system/puppet.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/mcollective.service to /lib/systemd/system/mcollective.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/pxp-agent.service to /lib/systemd/system/pxp-agent.service.
Removed symlink /etc/systemd/system/multi-user.target.wants/pxp-agent.service.
Setting up ca-certificates-java (20160321) ...
Adding debian:certSIGN_ROOT_CA.pem
Adding debian:SecureTrust_CA.pem
Adding debian:thawte_Primary_Root_CA_-_G2.pem
Adding debian:Camerfirma_Global_Chambersign_Root.pem
Adding debian:DigiCert_Trusted_Root_G4.pem
Adding debian:Verisign_Class_1_Public_Primary_Certification_Authority_-_G2.pem
Adding debian:DigiCert_Assured_ID_Root_G2.pem
Adding debian:DigiCert_Global_Root_G3.pem
Adding debian:Chambers_of_Commerce_Root_-_2008.pem
Adding debian:Cybertrust_Global_Root.pem
Adding debian:VeriSign_Class_3_Public_Primary_Certification_Authority_-_G5.pem
Adding debian:Izenpe.com.pem
Adding debian:CA_Disig_Root_R1.pem
Adding debian:Secure_Global_CA.pem
Adding debian:SwissSign_Gold_CA_-_G2.pem
Adding debian:GlobalSign_Root_CA_-_R2.pem
Adding debian:Atos_TrustedRoot_2011.pem
Adding debian:Verisign_Class_2_Public_Primary_Certification_Authority_-_G2.pem
Adding debian:IdenTrust_Commercial_Root_CA_1.pem
Adding debian:SwissSign_Silver_CA_-_G2.pem
Adding debian:Buypass_Class_3_Root_CA.pem
Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem
Adding debian:AddTrust_Low-Value_Services_Root.pem
Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem
Adding debian:GeoTrust_Global_CA_2.pem
Adding debian:QuoVadis_Root_CA_3_G3.pem
Adding debian:Verisign_Class_1_Public_Primary_Certification_Authority_-_G3.pem
Adding debian:Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.pem
Adding debian:DigiCert_Assured_ID_Root_CA.pem
Adding debian:Network_Solutions_Certificate_Authority.pem
Adding debian:Security_Communication_RootCA2.pem
Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem
Adding debian:ApplicationCA_-_Japanese_Government.pem
Adding debian:Actalis_Authentication_Root_CA.pem
Adding debian:Staat_der_Nederlanden_EV_Root_CA.pem
Adding debian:NetLock_Business_=Class_B=_Root.pem
Adding debian:Verisign_Class_2_Public_Primary_Certification_Authority_-_G3.pem
Adding debian:Verisign_Class_3_Public_Primary_Certification_Authority_-_G2.pem
Adding debian:thawte_Primary_Root_CA.pem
Adding debian:Taiwan_GRCA.pem
Adding debian:XRamp_Global_CA_Root.pem
Adding debian:Camerfirma_Chambers_of_Commerce_Root.pem
Adding debian:thawte_Primary_Root_CA_-_G3.pem
Adding debian:Certinomis_-_Autorité_Racine.pem
Adding debian:GeoTrust_Global_CA.pem
Adding debian:Global_Chambersign_Root_-_2008.pem
Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem
Adding debian:TURKTRUST_Certificate_Services_Provider_Root_2007.pem
Adding debian:AddTrust_Qualified_Certificates_Root.pem
Adding debian:COMODO_RSA_Certification_Authority.pem
Adding debian:Swisscom_Root_EV_CA_2.pem
Adding debian:COMODO_Certification_Authority.pem
Adding debian:AC_Raíz_Certicámara_S.A..pem
Adding debian:ACCVRAIZ1.pem
Adding debian:S-TRUST_Universal_Root_CA.pem
Adding debian:StartCom_Certification_Authority_G2.pem
Adding debian:Buypass_Class_2_CA_1.pem
Adding debian:IGC_A.pem
Adding debian:SecureSign_RootCA11.pem
Adding debian:DigiCert_Assured_ID_Root_G3.pem
Adding debian:Swisscom_Root_CA_1.pem
Adding debian:TÜBİTAK_UEKAE_Kök_Sertifika_Hizmet_Sağlayıcısı_-_Sürüm_3.pem
Adding debian:China_Internet_Network_Information_Center_EV_Certificates_Root.pem
Adding debian:AffirmTrust_Premium.pem
Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2011.pem
Adding debian:Verisign_Class_3_Public_Primary_Certification_Authority.pem
Adding debian:GeoTrust_Universal_CA_2.pem
Adding debian:CFCA_EV_ROOT.pem
Adding debian:GeoTrust_Primary_Certification_Authority.pem
Adding debian:NetLock_Qualified_=Class_QA=_Root.pem
Adding debian:UTN_USERFirst_Hardware_Root_CA.pem
Adding debian:Entrust_Root_Certification_Authority_-_G2.pem
Adding debian:GlobalSign_Root_CA.pem
Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem
Adding debian:Equifax_Secure_CA.pem
Adding debian:AddTrust_Public_Services_Root.pem
Adding debian:AddTrust_External_Root.pem
Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem
Adding debian:Entrust_Root_Certification_Authority.pem
Adding debian:GlobalSign_Root_CA_-_R3.pem
Adding debian:VeriSign_Class_3_Public_Primary_Certification_Authority_-_G4.pem
Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem
Adding debian:Microsec_e-Szigno_Root_CA.pem
Adding debian:CA_WoSign_ECC_Root.pem
Adding debian:EBG_Elektronik_Sertifika_Hizmet_Sağlayıcısı.pem
Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem
Adding debian:GeoTrust_Universal_CA.pem
Adding debian:VeriSign_Universal_Root_Certification_Authority.pem
Adding debian:QuoVadis_Root_CA_2_G3.pem
Adding debian:DigiCert_Global_Root_G2.pem
Adding debian:T-TeleSec_GlobalRoot_Class_2.pem
Adding debian:RSA_Security_2048_v3.pem
Adding debian:USERTrust_ECC_Certification_Authority.pem
Adding debian:ssl-cert-snakeoil.pem
Adding debian:S-TRUST_Authentication_and_Encryption_Root_CA_2005_PN.pem
Adding debian:TC_TrustCenter_Class_3_CA_II.pem
Adding debian:Equifax_Secure_Global_eBusiness_CA.pem
Adding debian:TWCA_Global_Root_CA.pem
Adding debian:DigiCert_Global_Root_CA.pem
Adding debian:WoSign.pem
Adding debian:Equifax_Secure_eBusiness_CA_1.pem
Adding debian:Baltimore_CyberTrust_Root.pem
Adding debian:Certum_Root_CA.pem
Adding debian:EE_Certification_Centre_Root_CA.pem
Adding debian:Deutsche_Telekom_Root_CA_2.pem
Adding debian:AffirmTrust_Commercial.pem
Adding debian:EC-ACC.pem
Adding debian:Certplus_Class_2_Primary_CA.pem
Adding debian:AffirmTrust_Networking.pem
Adding debian:QuoVadis_Root_CA_1_G3.pem
Adding debian:Security_Communication_EV_RootCA1.pem
Adding debian:Swisscom_Root_CA_2.pem
Adding debian:Verisign_Class_3_Public_Primary_Certification_Authority_2.pem
Adding debian:ComSign_CA.pem
Adding debian:Buypass_Class_2_Root_CA.pem
Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem
Adding debian:Comodo_AAA_Services_root.pem
Adding debian:Certigna.pem
Adding debian:E-Tugra_Certification_Authority.pem
Adding debian:Staat_der_Nederlanden_Root_CA_-_G3.pem
Adding debian:StartCom_Certification_Authority_2.pem
Adding debian:SwissSign_Platinum_CA_-_G2.pem
Adding debian:TWCA_Root_Certification_Authority.pem
Adding debian:ePKI_Root_Certification_Authority.pem
Adding debian:TeliaSonera_Root_CA_v1.pem
Adding debian:DST_Root_CA_X3.pem
Adding debian:USERTrust_RSA_Certification_Authority.pem
Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem
Adding debian:Verisign_Class_1_Public_Primary_Certification_Authority.pem
Adding debian:TÜRKTRUST_Elektronik_Sertifika_Hizmet_Sağlayıcısı_H6.pem
Adding debian:Security_Communication_Root_CA.pem
Adding debian:ACEDICOM_Root.pem
Adding debian:GeoTrust_Primary_Certification_Authority_-_G2.pem
Adding debian:Sonera_Class_2_Root_CA.pem
Adding debian:Microsec_e-Szigno_Root_CA_2009.pem
Adding debian:Visa_eCommerce_Root.pem
Adding debian:Go_Daddy_Class_2_CA.pem
Adding debian:TÜRKTRUST_Elektronik_Sertifika_Hizmet_Sağlayıcısı_H5.pem
Adding debian:QuoVadis_Root_CA.pem
Adding debian:Certum_Trusted_Network_CA.pem
Adding debian:QuoVadis_Root_CA_3.pem
Adding debian:Comodo_Trusted_Services_root.pem
Adding debian:NetLock_Express_=Class_C=_Root.pem
Adding debian:CNNIC_ROOT.pem
Adding debian:Comodo_Secure_Services_root.pem
Adding debian:WoSign_China.pem
Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem
Adding debian:QuoVadis_Root_CA_2.pem
Adding debian:Sonera_Class_1_Root_CA.pem
Adding debian:CA_Disig_Root_R2.pem
Adding debian:AffirmTrust_Premium_ECC.pem
Adding debian:WellsSecure_Public_Root_Certificate_Authority.pem
Adding debian:COMODO_ECC_Certification_Authority.pem
Adding debian:OISTE_WISeKey_Global_Root_GA_CA.pem
Adding debian:Juur-SK.pem
Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem
Adding debian:UTN_USERFirst_Email_Root_CA.pem
Adding debian:StartCom_Certification_Authority.pem
Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem
Adding debian:DST_ACES_CA_X6.pem
Adding debian:Starfield_Class_2_CA.pem
Adding debian:Certification_Authority_of_WoSign_G2.pem
Adding debian:Hongkong_Post_Root_CA_1.pem
Adding debian:GeoTrust_Primary_Certification_Authority_-_G3.pem
Adding debian:Staat_der_Nederlanden_Root_CA.pem
Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem
Adding debian:Staat_der_Nederlanden_Root_CA_-_G2.pem
Adding debian:PSCProcert.pem
Adding debian:Trustis_FPS_Root_CA.pem
Adding debian:T-TeleSec_GlobalRoot_Class_3.pem
Adding debian:Root_CA_Generalitat_Valenciana.pem
Adding debian:NetLock_Notary_=Class_A=_Root.pem
Adding debian:Certinomis_-_Root_CA.pem
Adding debian:CA_Disig.pem
done.
Processing triggers for ca-certificates (20160104ubuntu1) ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...

done.
done.
Setting up openjdk-8-jre-headless:amd64 (8u91-b14-3ubuntu1~16.04.1) ...
update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/rmid to provide /usr/bin/rmid (rmid) in auto mode
update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java to provide /usr/bin/java (java) in auto mode
update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode
update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/jjs to provide /usr/bin/jjs (jjs) in auto mode
update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/pack200 to provide /usr/bin/pack200 (pack200) in auto mode
update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode
update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/unpack200 to provide /usr/bin/unpack200 (unpack200) in auto mode
update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/orbd to provide /usr/bin/orbd (orbd) in auto mode
update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/servertool to provide /usr/bin/servertool (servertool) in auto mode
update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/tnameserv to provide /usr/bin/tnameserv (tnameserv) in auto mode
update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode
Setting up puppetserver (2.6.0-1puppetlabs1) ...
usermod: no changes
Processing triggers for libc-bin (2.23-0ubuntu3) ...
Processing triggers for systemd (229-4ubuntu7) ...
Processing triggers for ureadahead (0.100.0-19) ...

[ phanes@oldhorse ] << ~ >>

[- sudo apt-get update
Hit:1 https://us.archive.ubuntu.com/ubuntu xenial InRelease
Get:2 https://us.archive.ubuntu.com/ubuntu xenial-updates InRelease [95.7 kB] 
Ign:3 https://apt.puppetlabs.com xenial InRelease 
Get:4 https://security.ubuntu.com/ubuntu xenial-security InRelease [94.5 kB] 
Hit:5 https://apt.puppetlabs.com xenial Release 
Hit:6 https://us.archive.ubuntu.com/ubuntu xenial-backports InRelease 
Fetched 190 kB in 0s (213 kB/s) 
Reading package lists... Done

[ phanes@oldhorse ] << ~ >>

[- 

Now, in my case, I’ve got alot of expertise built up over the years for managing “single linux servers”, and I do it well, but, I have to admit, when it comes to managing clusters of linux servers in the manner I’ll be doing here, I’m still deep in learning, because it works completely differently.  Orchestration is a completely new thing to me and I’m still unsure of its capabilities.  What I do know though is that once you start using orchestration you need to manage each node, including the master node, with that orchestration layer for the entire server lifecycle or it gets out of hand, so I’ve got to break my habit of fixing things on the fly using traditional tools– which I’m trying to do anyway for other reasons.

Anyway, puppetmaster package is now installed.

I am following a guide here, which has turned out not to be accurate:

https://docs.puppet.com/puppet/3.8/reference/install_debian_ubuntu.html

Everything works as expected until you get to this instruction:

sudo puppet resource package puppetmaster ensure=latest

Which, on running, is clearly inaccurate:

[ phanes@oldhorse ] << ~ >>

[- sudo puppet resource package puppetmaster ensure=latest
sudo: puppet: command not found

[ phanes@oldhorse ] << ~ >>

[- echo $PATH
/home/phanes/bin:/home/phanes/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin

[ phanes@oldhorse ] << ~ >>

[- which puppet
/opt/puppetlabs/bin/puppet

[ phanes@oldhorse ] << ~ >>

[- sudo su -
root@oldhorse:~# which puppet
/opt/puppetlabs/bin/puppet
root@oldhorse:~# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/opt/puppetlabs/bin

Oddly enough, in freenode/#puppet I was told I should be “configuring my environment”, whatever that means.  Wtf.  You would think the guides or package would set this up for you, or at least be accurate for such a widely used tool.

Maybe it’s  because I’m using the public candidate?

Luckily for me, since it’s in root’s path (and that user’s path, but not that user using sudo’s path, weird, i can just run it as root:

root@oldhorse:~# puppet resource package puppetmaster ensure=latest
Warning: Facter: Could not process routing table entry: Expected a destination followed by key/value pairs, got '192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown'
Error: Could not update: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install puppetmaster' returned 100: Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 puppetmaster : Depends: puppetmaster-common (= 3.8.5-2) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Error: /Package[puppetmaster]/ensure: change from purged to latest failed: Could not update: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install puppetmaster' returned 100: Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 puppetmaster : Depends: puppetmaster-common (= 3.8.5-2) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
package { 'puppetmaster':
 ensure => 'purged',
}

Says puppetmaster-common is not installed which it needs, and apparently there was an error trying to install it.  So let’s install that and see what happens:

root@oldhorse:~# apt-get install puppetmaster-common
Reading package lists... Done
Building dependency tree 
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 puppetmaster-common : Depends: puppet-common (= 3.8.5-2)
E: Unable to correct problems, you have held broken packages.

Looks like another unmanaged dependency: puppet-common

This sucks.

root@oldhorse:~# apt-get install puppet-common
Reading package lists... Done
Building dependency tree 
Reading state information... Done
The following packages were automatically installed and are no longer required:
 ca-certificates-java fontconfig-config fonts-dejavu-core java-common libcups2 libfontconfig1
 liblcms2-2 libxi6 libxrender1 libxtst6 openjdk-8-jre-headless x11-common
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
 debconf-utils facter fonts-lato hiera javascript-common libjs-jquery libruby2.3 libyaml-0-2
 rake ruby ruby-augeas ruby-deep-merge ruby-did-you-mean ruby-json ruby-minitest ruby-net-telnet
 ruby-nokogiri ruby-power-assert ruby-rgen ruby-safe-yaml ruby-selinux ruby-shadow
 ruby-test-unit ruby2.3 rubygems-integration unzip zip
Suggested packages:
 mcollective-common ruby-rrd ri ruby-dev bundler
Recommended packages:
 virt-what
The following packages will be REMOVED:
 puppet-agent puppetserver
The following NEW packages will be installed:
 debconf-utils facter fonts-lato hiera javascript-common libjs-jquery libruby2.3 libyaml-0-2
 puppet-common rake ruby ruby-augeas ruby-deep-merge ruby-did-you-mean ruby-json ruby-minitest
 ruby-net-telnet ruby-nokogiri ruby-power-assert ruby-rgen ruby-safe-yaml ruby-selinux
 ruby-shadow ruby-test-unit ruby2.3 rubygems-integration unzip zip
0 upgraded, 28 newly installed, 2 to remove and 44 not upgraded.
Need to get 7,870 kB of archives.
After this operation, 84.2 MB disk space will be freed.
Do you want to continue? [Y/n] y
Get:1 https://us.archive.ubuntu.com/ubuntu xenial/main amd64 fonts-lato all 2.0-1 [2,693 kB]
Get:2 https://us.archive.ubuntu.com/ubuntu xenial/main amd64 libyaml-0-2 amd64 0.1.6-3 [47.6 kB]
Get:3 https://us.archive.ubuntu.com/ubuntu xenial/universe amd64 debconf-utils all 1.5.58ubuntu1 [57.5 kB]
Get:4 https://us.archive.ubuntu.com/ubuntu xenial/main amd64 rubygems-integration all 1.10 [4,966 B]
Get:5 https://us.archive.ubuntu.com/ubuntu xenial/main amd64 rake all 10.5.0-2 [48.2 kB]
Get:6 https://us.archive.ubuntu.com/ubuntu xenial/main amd64 ruby-did-you-mean all 1.0.0-2 [8,390 B]
Get:7 https://us.archive.ubuntu.com/ubuntu xenial/main amd64 ruby-minitest all 5.8.4-2 [36.6 kB]
Get:8 https://us.archive.ubuntu.com/ubuntu xenial/main amd64 ruby-net-telnet all 0.1.1-2 [12.6 kB]
Get:9 https://us.archive.ubuntu.com/ubuntu xenial/main amd64 ruby-power-assert all 0.2.7-1 [7,668 B]
Get:10 https://us.archive.ubuntu.com/ubuntu xenial/main amd64 ruby-test-unit all 3.1.7-2 [60.3 kB]
Get:11 https://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libruby2.3 amd64 2.3.1-2~16.04 [2,957 kB]
Get:12 https://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 ruby2.3 amd64 2.3.1-2~16.04 [40.9 kB]
Get:13 https://us.archive.ubuntu.com/ubuntu xenial/main amd64 ruby all 1:2.3.0+1 [5,530 B]
Get:14 https://us.archive.ubuntu.com/ubuntu xenial/universe amd64 ruby-json amd64 1.8.3-1build4 [43.9 kB]
Get:15 https://us.archive.ubuntu.com/ubuntu xenial/universe amd64 facter all 2.4.6-1 [75.1 kB]
Get:16 https://us.archive.ubuntu.com/ubuntu xenial/universe amd64 ruby-deep-merge all 1.0.1+gitf9df6fdb-1 [8,226 B]
Get:17 https://us.archive.ubuntu.com/ubuntu xenial/universe amd64 hiera all 2.0.0-2 [21.6 kB]
Get:18 https://us.archive.ubuntu.com/ubuntu xenial/main amd64 javascript-common all 11 [6,066 B]
Get:19 https://us.archive.ubuntu.com/ubuntu xenial/main amd64 libjs-jquery all 1.11.3+dfsg-4 [161 kB]
Get:20 https://us.archive.ubuntu.com/ubuntu xenial/universe amd64 ruby-augeas amd64 1:0.5.0-3build4 [10.6 kB]
Get:21 https://us.archive.ubuntu.com/ubuntu xenial/universe amd64 ruby-nokogiri amd64 1.6.7.2-3build1 [88.3 kB]
Get:22 https://us.archive.ubuntu.com/ubuntu xenial/universe amd64 ruby-rgen all 0.7.0-2 [70.0 kB]
Get:23 https://us.archive.ubuntu.com/ubuntu xenial/universe amd64 ruby-safe-yaml all 1.0.4-1 [17.5 kB]
Get:24 https://us.archive.ubuntu.com/ubuntu xenial/universe amd64 ruby-shadow amd64 2.4.1-1build4 [9,490 B]
Get:25 https://us.archive.ubuntu.com/ubuntu xenial/universe amd64 puppet-common all 3.8.5-2 [1,015 kB]
Get:26 https://us.archive.ubuntu.com/ubuntu xenial/universe amd64 ruby-selinux amd64 2.4-3build2 [46.2 kB]
Get:27 https://us.archive.ubuntu.com/ubuntu xenial/main amd64 unzip amd64 6.0-20ubuntu1 [158 kB]
Get:28 https://us.archive.ubuntu.com/ubuntu xenial/main amd64 zip amd64 3.0-11 [158 kB]
Fetched 7,870 kB in 5s (1,437 kB/s)
(Reading database ... 103100 files and directories currently installed.)
Removing puppetserver (2.6.0-1puppetlabs1) ...
Removing puppet-agent (1.7.0-1xenial) ...
Processing triggers for libc-bin (2.23-0ubuntu3) ...
Selecting previously unselected package fonts-lato.
(Reading database ... 97027 files and directories currently installed.)
Preparing to unpack .../fonts-lato_2.0-1_all.deb ...
Unpacking fonts-lato (2.0-1) ...
Selecting previously unselected package libyaml-0-2:amd64.
Preparing to unpack .../libyaml-0-2_0.1.6-3_amd64.deb ...
Unpacking libyaml-0-2:amd64 (0.1.6-3) ...
Selecting previously unselected package debconf-utils.
Preparing to unpack .../debconf-utils_1.5.58ubuntu1_all.deb ...
Unpacking debconf-utils (1.5.58ubuntu1) ...
Selecting previously unselected package rubygems-integration.
Preparing to unpack .../rubygems-integration_1.10_all.deb ...
Unpacking rubygems-integration (1.10) ...
Selecting previously unselected package rake.
Preparing to unpack .../archives/rake_10.5.0-2_all.deb ...
Unpacking rake (10.5.0-2) ...
Selecting previously unselected package ruby-did-you-mean.
Preparing to unpack .../ruby-did-you-mean_1.0.0-2_all.deb ...
Unpacking ruby-did-you-mean (1.0.0-2) ...
Selecting previously unselected package ruby-minitest.
Preparing to unpack .../ruby-minitest_5.8.4-2_all.deb ...
Unpacking ruby-minitest (5.8.4-2) ...
Selecting previously unselected package ruby-net-telnet.
Preparing to unpack .../ruby-net-telnet_0.1.1-2_all.deb ...
Unpacking ruby-net-telnet (0.1.1-2) ...
Selecting previously unselected package ruby-power-assert.
Preparing to unpack .../ruby-power-assert_0.2.7-1_all.deb ...
Unpacking ruby-power-assert (0.2.7-1) ...
Selecting previously unselected package ruby-test-unit.
Preparing to unpack .../ruby-test-unit_3.1.7-2_all.deb ...
Unpacking ruby-test-unit (3.1.7-2) ...
Selecting previously unselected package libruby2.3:amd64.
Preparing to unpack .../libruby2.3_2.3.1-2~16.04_amd64.deb ...
Unpacking libruby2.3:amd64 (2.3.1-2~16.04) ...
Selecting previously unselected package ruby2.3.
Preparing to unpack .../ruby2.3_2.3.1-2~16.04_amd64.deb ...
Unpacking ruby2.3 (2.3.1-2~16.04) ...
Selecting previously unselected package ruby.
Preparing to unpack .../ruby_1%3a2.3.0+1_all.deb ...
Unpacking ruby (1:2.3.0+1) ...
Selecting previously unselected package ruby-json.
Preparing to unpack .../ruby-json_1.8.3-1build4_amd64.deb ...
Unpacking ruby-json (1.8.3-1build4) ...
Selecting previously unselected package facter.
Preparing to unpack .../facter_2.4.6-1_all.deb ...
Unpacking facter (2.4.6-1) ...
Selecting previously unselected package ruby-deep-merge.
Preparing to unpack .../ruby-deep-merge_1.0.1+gitf9df6fdb-1_all.deb ...
Unpacking ruby-deep-merge (1.0.1+gitf9df6fdb-1) ...
Selecting previously unselected package hiera.
Preparing to unpack .../archives/hiera_2.0.0-2_all.deb ...
Unpacking hiera (2.0.0-2) ...
Selecting previously unselected package javascript-common.
Preparing to unpack .../javascript-common_11_all.deb ...
Unpacking javascript-common (11) ...
Selecting previously unselected package libjs-jquery.
Preparing to unpack .../libjs-jquery_1.11.3+dfsg-4_all.deb ...
Unpacking libjs-jquery (1.11.3+dfsg-4) ...
Selecting previously unselected package ruby-augeas.
Preparing to unpack .../ruby-augeas_1%3a0.5.0-3build4_amd64.deb ...
Unpacking ruby-augeas (1:0.5.0-3build4) ...
Selecting previously unselected package ruby-nokogiri.
Preparing to unpack .../ruby-nokogiri_1.6.7.2-3build1_amd64.deb ...
Unpacking ruby-nokogiri (1.6.7.2-3build1) ...
Selecting previously unselected package ruby-rgen.
Preparing to unpack .../ruby-rgen_0.7.0-2_all.deb ...
Unpacking ruby-rgen (0.7.0-2) ...
Selecting previously unselected package ruby-safe-yaml.
Preparing to unpack .../ruby-safe-yaml_1.0.4-1_all.deb ...
Unpacking ruby-safe-yaml (1.0.4-1) ...
Selecting previously unselected package ruby-shadow.
Preparing to unpack .../ruby-shadow_2.4.1-1build4_amd64.deb ...
Unpacking ruby-shadow (2.4.1-1build4) ...
Selecting previously unselected package puppet-common.
Preparing to unpack .../puppet-common_3.8.5-2_all.deb ...
Unpacking puppet-common (3.8.5-2) ...
Selecting previously unselected package ruby-selinux.
Preparing to unpack .../ruby-selinux_2.4-3build2_amd64.deb ...
Unpacking ruby-selinux (2.4-3build2) ...
Selecting previously unselected package unzip.
Preparing to unpack .../unzip_6.0-20ubuntu1_amd64.deb ...
Unpacking unzip (6.0-20ubuntu1) ...
Selecting previously unselected package zip.
Preparing to unpack .../archives/zip_3.0-11_amd64.deb ...
Unpacking zip (3.0-11) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for libc-bin (2.23-0ubuntu3) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Setting up fonts-lato (2.0-1) ...
Setting up libyaml-0-2:amd64 (0.1.6-3) ...
Setting up debconf-utils (1.5.58ubuntu1) ...
Setting up rubygems-integration (1.10) ...
Setting up ruby-did-you-mean (1.0.0-2) ...
Setting up ruby-minitest (5.8.4-2) ...
Setting up ruby-net-telnet (0.1.1-2) ...
Setting up ruby-power-assert (0.2.7-1) ...
Setting up ruby-test-unit (3.1.7-2) ...
Setting up javascript-common (11) ...
apache2_invoke: Enable configuration javascript-common
Setting up libjs-jquery (1.11.3+dfsg-4) ...
Setting up unzip (6.0-20ubuntu1) ...
Setting up zip (3.0-11) ...
Setting up rake (10.5.0-2) ...
Setting up libruby2.3:amd64 (2.3.1-2~16.04) ...
Setting up ruby2.3 (2.3.1-2~16.04) ...
Setting up ruby (1:2.3.0+1) ...
Setting up ruby-json (1.8.3-1build4) ...
Setting up facter (2.4.6-1) ...
Setting up ruby-deep-merge (1.0.1+gitf9df6fdb-1) ...
Setting up hiera (2.0.0-2) ...
Setting up ruby-augeas (1:0.5.0-3build4) ...
Setting up ruby-nokogiri (1.6.7.2-3build1) ...
Setting up ruby-rgen (0.7.0-2) ...
Setting up ruby-safe-yaml (1.0.4-1) ...
Setting up ruby-shadow (2.4.1-1build4) ...
Setting up puppet-common (3.8.5-2) ...
Setting up ruby-selinux (2.4-3build2) ...
Processing triggers for libc-bin (2.23-0ubuntu3) ...
root@oldhorse:~# 

Ok, puppet-common is installed.  Now for puppetmaster-common:

root@oldhorse:~# apt-get install puppetmaster-common
Reading package lists... Done
Building dependency tree 
Reading state information... Done
The following packages were automatically installed and are no longer required:
 ca-certificates-java fontconfig-config fonts-dejavu-core java-common libcups2 libfontconfig1
 liblcms2-2 libxi6 libxrender1 libxtst6 openjdk-8-jre-headless x11-common
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
 ruby-activemodel ruby-activerecord ruby-activerecord-deprecated-finders ruby-activesupport
 ruby-arel ruby-atomic ruby-blankslate ruby-builder ruby-i18n ruby-thread-safe ruby-tzinfo
Suggested packages:
 puppet-el ruby-ldap ruby-stomp stompserver vim-puppet ruby-builder-doc
The following NEW packages will be installed:
 puppetmaster-common ruby-activemodel ruby-activerecord ruby-activerecord-deprecated-finders
 ruby-activesupport ruby-arel ruby-atomic ruby-blankslate ruby-builder ruby-i18n
 ruby-thread-safe ruby-tzinfo
0 upgraded, 12 newly installed, 0 to remove and 44 not upgraded.
Need to get 677 kB of archives.
After this operation, 4,435 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 https://us.archive.ubuntu.com/ubuntu xenial/universe amd64 puppetmaster-common all 3.8.5-2 [12.9 kB]
Get:2 https://us.archive.ubuntu.com/ubuntu xenial/universe amd64 ruby-i18n all 0.7.0-2 [34.1 kB]
Get:3 https://us.archive.ubuntu.com/ubuntu xenial/universe amd64 ruby-atomic amd64 1.1.16-2build5 [9,914 B]
Get:4 https://us.archive.ubuntu.com/ubuntu xenial/universe amd64 ruby-thread-safe all 0.3.5-3 [26.3 kB]
Get:5 https://us.archive.ubuntu.com/ubuntu xenial/universe amd64 ruby-tzinfo all 1.2.2-1 [34.5 kB]
Get:6 https://us.archive.ubuntu.com/ubuntu xenial/universe amd64 ruby-activesupport all 2:4.2.6-1 [202 kB]
Get:7 https://us.archive.ubuntu.com/ubuntu xenial/universe amd64 ruby-blankslate all 3.1.3-1 [4,650 B]
Get:8 https://us.archive.ubuntu.com/ubuntu xenial/universe amd64 ruby-builder all 3.2.2-4 [13.0 kB]
Get:9 https://us.archive.ubuntu.com/ubuntu xenial/universe amd64 ruby-activemodel all 2:4.2.6-1 [45.5 kB]
Get:10 https://us.archive.ubuntu.com/ubuntu xenial/universe amd64 ruby-arel all 6.0.3-2 [26.8 kB]
Get:11 https://us.archive.ubuntu.com/ubuntu xenial/universe amd64 ruby-activerecord all 2:4.2.6-1 [259 kB]
Get:12 https://us.archive.ubuntu.com/ubuntu xenial/universe amd64 ruby-activerecord-deprecated-finders all 1.0.4-1 [8,464 B]
Fetched 677 kB in 0s (1,707 kB/s) 
Selecting previously unselected package puppetmaster-common.
(Reading database ... 100114 files and directories currently installed.)
Preparing to unpack .../puppetmaster-common_3.8.5-2_all.deb ...
Unpacking puppetmaster-common (3.8.5-2) ...
Selecting previously unselected package ruby-i18n.
Preparing to unpack .../ruby-i18n_0.7.0-2_all.deb ...
Unpacking ruby-i18n (0.7.0-2) ...
Selecting previously unselected package ruby-atomic.
Preparing to unpack .../ruby-atomic_1.1.16-2build5_amd64.deb ...
Unpacking ruby-atomic (1.1.16-2build5) ...
Selecting previously unselected package ruby-thread-safe.
Preparing to unpack .../ruby-thread-safe_0.3.5-3_all.deb ...
Unpacking ruby-thread-safe (0.3.5-3) ...
Selecting previously unselected package ruby-tzinfo.
Preparing to unpack .../ruby-tzinfo_1.2.2-1_all.deb ...
Unpacking ruby-tzinfo (1.2.2-1) ...
Selecting previously unselected package ruby-activesupport.
Preparing to unpack .../ruby-activesupport_2%3a4.2.6-1_all.deb ...
Unpacking ruby-activesupport (2:4.2.6-1) ...
Selecting previously unselected package ruby-blankslate.
Preparing to unpack .../ruby-blankslate_3.1.3-1_all.deb ...
Unpacking ruby-blankslate (3.1.3-1) ...
Selecting previously unselected package ruby-builder.
Preparing to unpack .../ruby-builder_3.2.2-4_all.deb ...
Unpacking ruby-builder (3.2.2-4) ...
Selecting previously unselected package ruby-activemodel.
Preparing to unpack .../ruby-activemodel_2%3a4.2.6-1_all.deb ...
Unpacking ruby-activemodel (2:4.2.6-1) ...
Selecting previously unselected package ruby-arel.
Preparing to unpack .../ruby-arel_6.0.3-2_all.deb ...
Unpacking ruby-arel (6.0.3-2) ...
Selecting previously unselected package ruby-activerecord.
Preparing to unpack .../ruby-activerecord_2%3a4.2.6-1_all.deb ...
Unpacking ruby-activerecord (2:4.2.6-1) ...
Selecting previously unselected package ruby-activerecord-deprecated-finders.
Preparing to unpack .../ruby-activerecord-deprecated-finders_1.0.4-1_all.deb ...
Unpacking ruby-activerecord-deprecated-finders (1.0.4-1) ...
Processing triggers for systemd (229-4ubuntu7) ...
Processing triggers for ureadahead (0.100.0-19) ...
Setting up puppetmaster-common (3.8.5-2) ...
Setting up ruby-i18n (0.7.0-2) ...
Setting up ruby-atomic (1.1.16-2build5) ...
Setting up ruby-thread-safe (0.3.5-3) ...
Setting up ruby-tzinfo (1.2.2-1) ...
Setting up ruby-activesupport (2:4.2.6-1) ...
Setting up ruby-blankslate (3.1.3-1) ...
Setting up ruby-builder (3.2.2-4) ...
Setting up ruby-activemodel (2:4.2.6-1) ...
Setting up ruby-arel (6.0.3-2) ...
Setting up ruby-activerecord (2:4.2.6-1) ...
Setting up ruby-activerecord-deprecated-finders (1.0.4-1) ...
Processing triggers for systemd (229-4ubuntu7) ...
Processing triggers for ureadahead (0.100.0-19) ...
root@oldhorse:~#

Making some progress.

Oddly enough, that changed the location of the puppet binary:

root@oldhorse:~# puppet resource package puppetmaster ensure=latest
-su: /opt/puppetlabs/bin/puppet: No such file or directory
root@oldhorse:~# which puppet
/usr/bin/puppet

Seriously weird.  Why?

So, reloaded the root profile and tried again:

root@oldhorse:~# exit
logout

[ phanes@oldhorse ] << ~ >>

[- sudo su -
root@oldhorse:~# which puppet
/usr/bin/puppet
root@oldhorse:~# puppet resource package puppetmaster ensure=latest
Notice: /Package[puppetmaster]/ensure: ensure changed 'purged' to 'latest'
package { 'puppetmaster':
 ensure => '3.8.5-2',
}
root@oldhorse:~#

And we’re good.  Time to move on with what is turning out to be a rather inaccurate guide.

[ phanes@oldhorse ] << ~ >>

[- service puppet restart
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to restart 'puppet.service'.
Authenticating as: Chris Punches,,, (phanes)
Password: 
==== AUTHENTICATION COMPLETE ===

[ phanes@oldhorse ] << ~ >>

[-

Now that puppetmaster is updated and the service is restarted, the official guide wants me to install puppet on the agent nodes.  I won’t be doing that in that order.  First, I’m setting up my master where I’ll decide how the nodes will be configured.

I’ve gone ahead and installed puppet agent on this machine as well since I want the master service to control this host as well.

Enter certificates.  First, I’ll need to name the puppet service for the nodes.  According to the guide that’s in puppet.conf.  Since they did not specify a default path in the official documentation, I’ll have to look for it.  I’m sure it’ll be simple and straightforward since this is a fresh install of Ubuntu Xenial and only the steps in this article have been made so far:

root@oldhorse:/etc# ls puppet*
puppet:
auth.conf etckeeper-commit-pre manifests puppet.conf
etckeeper-commit-post fileserver.conf modules

puppetlabs:
code mcollective puppet puppetserver
root@oldhorse:/etc# ls puppetlabs/puppet
auth.conf hiera.yaml puppet.conf ssl
root@oldhorse:/etc#

Nope.  I really think something’s wrong with this guide.  So from here, we need figure out which puppet configuration file the puppet master is actually using.

We have:

/etc/puppet/puppet.conf
/etc/puppetlabs/puppet/puppet.conf

Because god forbid naming conventions be defined by utility.

And, of course:

<Phanes> is the puppet master service reading from /etc/puppet/puppet.conf or /etc/puppetlabs/puppet/puppet.conf ? The guide ended up with both.
<binford2k> Phanes: are you certain that you have the packages from puppetlabs and not from your distro?
* vodka has quit (Ping timeout: 265 seconds)
<Phanes> binford2k, https://phanes.silogroup.org/orchestration-puppet-master/
<binford2k> Phanes: and what's the reason for starting with puppet 3.x and not 4.x?
* eeeprom has quit (Remote host closed the connection)
* toky (~cruzmi@c-73-216-201-252.hsd1.va.comcast.net) has joined #puppet
<binford2k> oh, wait. You're reading the docs for puppet 3 and installing puppet 4?
<Phanes> oh you've got to be kidding me
<Phanes> ffs, i need to reinstall this server os

HA!  There’s nothing wrong with the guide, it’s for a previous version!

On their official site as the first hit from google.  No warnings.  You have to browse around the site to see that it’s an old version.  No wonder nothing’s making sense.  I can’t believe this, I just wasted a whole night on this.

Time to nuke the server and start again, even more pissed off than I am now.  Since I have other shit to do, I’m putting it off until tomorrow.

Next Post

Previous Post

Leave a Reply

© 2021 Phanes' Canon

The Personal Blog of Chris Punches