forked from puppetlabs/puppet
-
Notifications
You must be signed in to change notification settings - Fork 1
/
CHANGELOG
1701 lines (1145 loc) · 62.6 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
0.25.0
Fixed #2280 - Detailed exit codes fix
Fixed #198 - Puppet man pages added
Moved puppetd, puppetmasterd, puppetrun, puppetca from bin to sbin
Fixed #2071 - Updated LDAP schema
Fixed #1849 - Ruby 1.9 portability: `when' doesn't like colons, replace with semicolons
Fixed #1910 - Updated logcheck regex
Fixed #1879 - Added to tidy documentation
Fixed #1881 - Added md5lite explanation
Fixed #1877 - Tidy type reference update for use of 0
Fix autotest on win32
Doc strings update for REST
Fixed #1840 - Bug fixes and improvements for Emacs puppet-mode.el
0.24.8
Fixed #2077 - ralsh user broken on OSX
Fixed #2004 - ssh_authorized_key fails if no target is defined
Fixed #1629 - incorrect permissions on ssh_authorized_keys created files
Fixed #2000 - No default specified for checksum
Fixed #2026 - Red Hat ignoring stop method
Added ext/dbfix.sql script - fixes common errors in stored configuration databases
Fixed #1963 - Failing to read /proc/mounts for selinux kills file downloads
Fixed #2025 - gentoo service provider handle only default init level
Fixed #1910 - updated logcheck
Fixed #1871 - Sensitive information leaked in log reports
Fixed #1956 - Cleaned up variable names to be more sane, clarified error messages
and fixed incorrect use of 'value' variable rather than 'member'.
Fixed #1831 - Added sprintf function
Fixed #1830 - Added regsubst function
Updated up2date and service confines to add support for Oracle EL and VM
Fixing #1948 and #1953 - augeas ins bug: wrong number of arguments (1 for 3)
Fixing #944 - changing error message from warning to info - connection recycled
Fixed #961 - puppetd creating too many/not closing TCP connections
Fixed #1959 - Added column protection for environment schema migration
Fixing #1869 - autoloaded files should never leak exceptions
Fixing #1543 - Nagios parse errors no longer kill Puppet
Fixed #1420 - nagios_serviceescalation not allowing host_name more than one type
Fixed #1884 - Exported resources are marked as unexported when collected on the exporting host
Fixed #1922 - Functions squash all arguments into a single hash
Fixed #1538 - Yumrepo sets permissions wrongly on files in /etc/yum.repos.d
Fixed #1936 - Added /* */ support to the vim file
Fixed #1541 - nagios objects write files to clientbucket on every change
Fixed #1542 - cannot purge nagios objects
Fixing #1912 - gid still works with no 'should' value fixing ralsh issues
Fixing the Rakefile to use 'git format-patch'
Added README.rst file
Enhancements to Stored Configuration performance
Added Reductive Labs build library to tasks directory
Fixed #1852 - Correct behaviour when no SELinux bindings
Updated Red Hat spec file 0.24.7
Fixed #1920 - Shadow password corruption
0.24.7
Fixed #1804 - Added VDev and MultiVDev properties to the ZPool type
Fixed #1496 - nagios_servicedependency needs a unique host_name?
Fixed #1420 - nagios_serviceescalation not allowing host_name more than one type
Bug #1803 Zfs should auto require the ancestor file systems
Refactor #1802 Use 'zfs get -H -o value' instead of parsing output for value
Fixing #1800 - tidy now correctly ignores missing files and directories
Fixing #1794 - returning sync when it is already initialized
Fixing #1750 again - All of the properties and now :ensure check replace?
Deprecate the NetInfo nameservice provider. Use directoryservice instead
Add macauthorization type
Fixing #1703 - using a mutex around the sending of the tagmails
Fix #1788 - allow rspec rake to run only some tests
Fixing the AST constant warnings, using a variable instead of a constant
Feature #1696 Add support for branded zones
Feature #1783 - Add ZFS support
type/mcx.rb Feature #1026 - MCX Type
Fixing #1749 - Splay now hopefully behaves "better" for small values
Fix #1741 - Add inline_template function
Slight denormalisation to store a host's environment as a first class
Added Rake :ci namespace and CI tasks
Refactoring the thread-safety in Puppet::Util
Removing the included testing gems; you must now install them yourself
Refactoring of SELinux functions to use native Ruby SELinux interface
Removing all mention of EPM, RPM, or Sun packages.
Fixed #1496 - nagios_servicedependency needs a unique host_name?
Fixed #1420 - nagios_serviceescalation not allowing host_name more than one type
Fixed #1695 - Solaris 10 zone provider doesn't properly handle unknown zone attributes in newer releases
Fixed #1776 - Trivial fix for gentoo service provider
Fixed #1767 - Minor fix to emacs mode
Fixed #1711 - fileserver test fails due to incorrect mocking
Fixed #1751 - Mac OS X DirectoryService nameservice provider support for
plist output and password hash fil
Fixed #1752 - Add an optional argument to Puppet::Util.execute to determine
whether stderr and stdout are combined in the output
Added versionable feature to the RPM provider
Fixed #1668 - puppetca can't clean unsigned certs
Moved RRD feature from util/metric.rb to feature/base.rb
Fixed #1735 and #1747 - Fixes to confine system
Fixed #1681 - Add filesystem type check to test for per-file SELinux context support
Fixed #1746 - Sync SELinux file attributes after file contents created/modified
Replaced SELInux calls to binaries with Ruby SELinux bindings
Fixed #1748 - Include spec directory in packages
Fixes #1672 - unsafe crontab handling in Solaris
Fixed #1718 - Added preseed to apt uninstall and purge
Fixed #1739 - Added uninstall functionality to yum provider
Fixed #1710 - Spurious output in test run
Fixed #1667 - Documentation should specify natural language regexs, not Regexp objects
Fixed #1692 - k5login fails to set mode when file is created
Fixed #1660 - Added specific recurse values for tidy
Fixed #1698 - All logs should now show up in the reports
Fixed #1661 - Type reference: tidy should specify manditory parameters
Fixed #1104 - Classes and nodes should set $name variables
Updated Red Hat spec file for 0.24.6
Removed conf/debian directory - Debian packaging information
now maintained downstream
Added augeas type
Added support for @doc type and manifest documentation support - see:
http://reductivelabs.com/trac/puppet/wiki/PuppetManifestDocumentation
Added multiline comment support
0.24.6
Adding support to the user type for: profiles, auths, project,
key/value pairs (extension to Solaris RBAC support added in
0.24.6)
Fixed #1662 - Configuration Reference still references 'section'
Fixed #1460 - enhance redhat puppetmaster init.d script to easy start puppetmaster as a mongrel cluster
Fixed #1663 - Regression relating to facter fact naming from 0.24.5
Fixed #1655 - Provider::Confine::Variable tests are broken
Fixed #1646 - service puppet status does not work as non-root
on redhat system
Fixed #1649 - Updated OSX package cleanup
Fixed #1647 - puppetdoc -r providers now working again
Fixed #1639 - uninitialized constant Puppet::Type::User::ProviderUseradd
Fixed #1637 - With an inexistant (global) templatedir, modules
can't access their templates
Fixed #1202 - Collection attribute matching doesn't parse arrays
Fixed #1473 - Puppetd stops with error after puppetmasterd
is unavailable
Fixed #1354 - yum provider problems with RHEL 3
Fixed #1633 - Added support for --detailed-exits to bin/puppet
Fixed #381 - Allow Allow multiple overrides in one statement
Fixing #947 - pluginsync no longer fails poorly when no plugins exist
Fixed #981 - Removed 'Adding aliases' info message
Fixing #1089 - Log messages are now tagged with the log level,
making it easier to match messages in the 'tagmail' report.
Fixing #1098 - Multiline strings now correctly increment the line count
Fixing #1614 - Environments no longer have to be listed out
Fixed #1628 - Changed node search to use certname rather than Facter
hostname
Fixed #1613 - The client environment will be substituted when looking
up settings.
Updated puppet binary documentation
Feature #1624 - Added RBAC roles to solaris user provider
Fixed #1586 - Specifying "fully qualified" package names in Gentoo
Fixed #1620 - Add 'sles' to Puppet confines when 'suse' is used
Fixed #1585 - Allow complex 'if' and variable expressions
Fixed #1564 - Saving File#checksum to state.yaml broken
Fixed #1603 - Added support for running Puppet inside a Rack application
(mod_rails) with Passenger and Apache
Fixed #1596 - Deploying file resources with ++ generates error
Modified the group and zone resource types to no longer call
'currentpropvalues' as a means of setting all values to absent.
There should be no behaviour change from this change.
Modified the behaviour of resource-level 'retrieve' -- it only
calls 'retrieve' on each property if the resource exists.
Fixed #1622 - Users and their groups should again add in one transaction
Fixed #791 - You should now be able to create and find a user/group in one transaction.
Fixed #1610 - Raise "Filebucketed" messages to Notice priority
FIxed #1530 - ssh_authorized_keys provider does not crash anymore on SSH type 1 keys
Added a number of confines to package providers
Fixed #1609 - Added confines for the Gentoo, FreeBSD and
SMF (Solaris) service providers
Fixed #1608 - Added ubuntu to defaultfor for apt provider
Fixed #1607 - Added ubuntu to defaultfor for Debian service
provider
Fixed #1045 - Multiple metaparams all get added to resources.
Fixed #1472 -- defined, exported resources in the current compile
now get expanded correctly.
Fixed #1595 - Internally, Property#retrieve is no longer called
when no 'should' value is available for a resource.
Fixed #1588 - Fixed puppetca --clean --all
Fixed #1584 - Added support for appended variables
Fixed #1554 - Added support for multiple template directories
Fixed #1500 - puppetrun not working
Fixed #1579 and #1580 - errors in the Puppet RPM spec file
Fixed #1572 -- file purging now fails if remote sources do not exist.
Fixed #1521 -- ldap user and password are now used with the default connection.
Fixed issues with file descriptors leaking into subprocesses
Fixed #1568 - createpackage.sh
Fixed #1571 - Puppet::Util::binary returns incorrect results
Fixed #1553 - Puppet and Facter cannot both install the plist module into two different locations
Adjusted hpuxuseradd user provider to confine to HP-UX and fixed HP-UX user provider path regression
Fixed debug messages in package type - thanks to Todd Zullinger for this fix
Fixed #1566 - changed password property of the user type
Fixed debug messages in package type
Updated Red Hat spec file
Fixes #1455 - Adds HP-UX support for user type
Fixes #1551 puppetmaster.freshness xmlrpc call returns incorrect type
Fixes #1554 - Fix exception for undefined hostname
Fixed #1533 - changed permissions for man directory
Added daemontools and runit providers for service type
Added simple rake task for running unit tests
Added spec Rake task
Fixed #1526 - Fixed leak in template
Fixed #1506 - Removed storeconfig duplicate indexes
Fixed #1457 - case insensitive match for error
Fixed #1488 - Moved individual functions out of functions.rb into
lib/puppet/parser/functions directory. New functions should be create in this directory.
Fixed #1508 - Added HP-UX package provider
Fixed #1502 - Fixed poor stored configuration performance
Fixed #1510 - Storeconfiguration fixed for Rails 2.1
Add the -P/--ping option to puppetrun, fixes #1501
Fixed #1394 - Added stored configuration clearing script to /ext
Fixed #1442 - replaced use of Facter for report titling with certname
Fixed $1456 - add proxy configuration capability to yum repo
Fixed #1457 - removed confine warning
A working script to create an OS X pkg out of the Puppet repository
Fixed #1441 - Updated console colours
Expose all puppet variables as instance member variables of the template wrapper.
This helps resolve redmine #1427, by providing a safe mechanism to access variables.
* Implement Puppet::Parser::Scope#to_hash, which returns a hash containing all the
variable bindings in the current and, optionally, parent scope.
* Use that to set instance member variables into Puppet::Parser::Templatewrapper
* Report the time taken for variable binding at debug level, to help identify any
performance regression that is encountered in the real world.
* Rename the @scope and @file members of the template wrapper, to avoid clashing
with a scope variable exposed within puppet.
Ensure that we consistently use either string #{} interpolation or String.%
interpolation, not both, to avoid issues where a #{} interpolated value
contains a % character.
Feature #1476: Allow specification of --bindir --sbindir --sitelibdir --mandir --destdir
in installation
Added feature #1241 : Improve performance of group lookups
Fixed bug #1448: Puppet CA incorrectly writes out all certs to inventory .txt on each
certificate signing
Fixing puppetlast to make it work with 0.24.5 / 0.25. Made puppetlast work on 0.24.5
by using the YAML indirector
0.24.5
You can now select the encoding format when transferring the catalog,
with 'yaml' still being the default but 'marshal' being an option.
This is because testing has shown drastic performance differences
between the two, with up to 70% of compile time being spent
in YAML code. Use the 'catalog_format' setting to choose your format,
and the setting must be set on the client.
Fixed #1431 - Provider confines must now specify similar tests in one call.
I.e., you can't do confine :operatingsystem => %w{a b} and then
confine :operatingsystem => %w{b c}; you'd need to do them in one command.
This now-obsolete behaviour does not seem to be used anywhere.
The fix for #1431 is actually just removing the tests that exposed
this change; the change happened when I refactored how confines work.
Removed faulty interface type
Updated /spec/unit/rails.rb test
Fix #1426 - services on redhat are restarted again and status is
called from the Red Hat provider
Fixed #1414 - Return code from waitpid now right shifted 8 bits
Fixed #174 - a native type type for managing ssh authorized_keys
files is available.
Further moves from the examples directory and ext directory
Fixed #1397 One line fix, fail instead of log
Moved debian to conf and updated examples directory
Fixed #1368 - updated Red Hat init scripts
Added message referencing ReductiveLabs build library
Fixed #1396 - Added sha1 function from DavidS to core
Fixed #1399 - the ldap user provider now knows it can manage
passwords.
Fixed #1272 - if you provide a group name as the gid to an ldap
user, the name will be converted to a gid. Note that this only
looks up ldap groups, at this point; if you want to set an ldap
user's primary group to a local group, you have to specify the GID.
Fixed #1226 - gems can now specify source repositories.
Fixed #1232 - the rundir no longer specifies a user/group,
and there are now client- and server-specific yaml directories.
Fixed 1240 - puppet will function more like puppetd if graphing
or reporting are enabled.
Fixed #1231 - Exceptions during initialization should now be clearer.
Fixed #1006 - puppetrun --class works again. I added the class
membership testing to the Ldap node terminus, and added tests,
so it shouldn't break again.
Fixed #1114 - Facts in plugin directories should now be autoloaded,
as long as you're using Facter 1.5.
Removed support for the 'node_name' setting in LDAP and external node lookups.
Fixed #1195 - Updated Gentoo init scripts
Fixed #1367 - Updated Rakefile for new daily builds
Fixed #1370 - removed test/util/loadedfile.rb tests
Fixed #1221 - aliases to titles now work for resources.
Fixed #1012 - templates in the templatedir are preferred to module templates.
Fixed #707 - special '@reboot'-style cron jobs work again.
Fixed #1360 - allowdupe works on groups again.
Fixed #1369 - the init service provider now supports HP-UX.
Removed support for the 'node_name' setting in LDAP and external node
lookups.
Also removed support for 'default' nodes in external nodes.
LDAP nodes now use the certificate name, the short name, and 'default',
but external nodes just use the certificate name and any custom terminus
types will use just the certificate name.
Fixing #1168 (for 0.24.x) -- automatically downcasing the fqdn.
Also requiring that passed in certnames be downcased; the setting
system isn't currently flexible enough to automatically downcase
it for the user.
Adding a ResourceTemplate class for using templates directly
within resources (i.e., client-side templates). This would really
only be used for composite resources that pass the results of the
template on to generated resources.
Exporting or collecting resources no longer raises an exception
when no storeconfigs is enabled, it just produces a warning.
Always using the cert name to store yaml files, which fixes #1178.
The Master handler previously provided the support for the :node_name
setting, and that functionality has now been moved into the Node
class. At the same time, the names to search through have been
changed somewhat: Previously, the certificate name and the
hostname were both used for searching, but now, the cert name
is always searched first (unless node_name == facter), but only
the Facter hostname, domain, and fqdn are used otherwise. We no
longer split the cert name, only the hostname/domain/fqdn.
Fixing transaction support for prefetching generated resources.
Adding support for settings within the existing Facter provider confines.
Moving all confine code out of the Provider class, and fixing #1197.
Created a Confiner module for the Provider class methods, enhanced
the interface between it and the Confine class to make sure binary
paths are searched for fresh each time.
Modified the 'factpath' setting to automatically configure
Facter to load facts there if a new enough version of
Facter is used.
Crontab provider: fix a parse error when a line begins with a space
character (fixes #1216)
Instead of deleting the init scripts (with --del) we should simply
disable it with chkconfig service off, and respectfully do the same
for enable => true;
Added ldap providers for users and groups.
Added support for the --all option to puppetca --clean. If
puppetca --clean --all is issued then all client certificates
are removed.
Resources now return the 'should' value for properties from
the [] accessor method (they previously threw an exception when
this method was used with properties). This shouldn't have any
affect functionally; it just makes the method equivalent to 'should'
for properties, but it works for all attribute types now.
Modified the 'master' handler to use the Catalog class to
compile node configurations, rather than using the Configuration
handler, which was never used directly. I removed the Configuration
handler as a result.
Modified the 'master' handler (responsible for sending configurations
to clients) to always return Time.now as its compile date, so
configurations will always get recompiled.
Fixed #1184 -- definitions now autoload correctly all of the time.
Removed the code from the client that tries to avoid recompiling
the catalog. The client will now always recompile, assuming it
can reach the server. It will still use the cached config if
there's a failure.
Fixing #1173 -- classes and definitions can now have the same
name as a directory with no failures.
Saving new facts now expires any cached node information.
Switching how caching is handled, so that objects now all
have an expiration date associated with them. This makes it
much easier to know whether a given cached object should be used
or if it should be regenerated.
Changing the default environment to production.
0.24.4
Pass source to pkg_add via the PKG_PATH environment variable if
it ends in a '/' indicating it is a directory. Allows pkg_add
to resolve dependancies, and make it possible to specify packages
without version numbers.
Fixing #571 -- provider suitability is now checked at resource
evaluation time, rather than resource instantiation time. This
means that you don't catch your "errors" as early, but it also
means you should be able to realistically configure a whole host
in one run.
Moved the configuration of the Node cache to the puppetmasterd
executable, since it otherwise causes caches to be used in all
cases, which we don't want (e.g., bin/puppet was using them).
Ported #198 man page creation functionality to 0.24.x branch and
added man pages and man page creation logic to install.rb. The
man pages are stored in man/man8 and will install to config::CONFIG
mandir/man8.
Fixing #1138 -- the yamldir is automatically created by the
server now that it's in the :puppetmasterd section rather than
a separate :yaml section.
Disabling http keep-alive as a means of preventing #1010.
There is now a constant in Puppet::Network::HttpPool that will
disable or enable this feature, but note that we determined
that it can cause corruption, especially in file serving (but
it's client-side corruption).
Applying patch by Ryan McBride to fix OpenBSD package
matching. The actual problem was caused by the fix to #1001.
Found all instances of methods where split() is used without
any local variables and added a local variable -- see
http://snurl.com/21zf8. My own testing showed that this
caused memory growth to level off at a reasonable level.
Note that the link above says the problem is only with class
methods, but my own testing showed that it's any method that
meets these criteria. This is not a functional change, but
should hopefully be the last nail in the coffin of #1131.
Found an array that leaked pretty quickly between reparsing
files, thanks to work by Adam Jacob and Arjuna Christenson
(the finding, not the leak). I'm going to act like this
fixes #1131, at least for now, but I doubt it does,
since that shows general memory growth over time, whereas
the leak here should go away as soon as files are reparsed
(because the parser is holding the reference to the leaking
array).
Fixed #1147: Cached nodes are correctly considered out of
date if the node facts have been updated (thus causing
node facts to again be available in manifests, for those
cases where they were not).
Fixed #1137: The certificate name is correctly being added
to the facts hash.
Fixed #1136: Verbose and Debug no longer clobber each other.
Hopefully *finally* fixed the "already being managed" problem
(#1036). The problem only cropped up if there was a failure
when trying to manage the system -- this would cause the
setting-based resources not to get cleaned up.
0.24.3
Modified the ldap node terminus to also use the facts version
as the version for a node, which should similarly encourage the
use of the yaml cache. (Related to #1130)
Caching node information in yaml (I figured caching in memory will
cause ever-larger memory growth), and changing the external node
terminus to use the version of the facts as their version. This
will usually result in the cached node information being used,
instead of always hitting the external node app during file
serving. Note that if the facts aren't changed by the client,
then this will result in the cached node being used, but at this
point, the client always updates its facts. (#1130)
Fixing #1132 -- host names can now have dashes anywhere.
(Patch by freiheit.)
Fixing #1118 -- downloading plugins and facts now ignores noop.
Note that this changes the behaviour a bit -- the resource's
noop setting always beats the global setting (previously,
whichever was true would win).
The change in checksums from 'timestamp' to 'mtime' no longer
result in updates on every run (#1116).
Aliases again work in relationships (#1094).
The CA serial file will no longer ever be owned by
root (#1041).
Fixing the rest of #1113: External node commands can specify
an environment and Puppet will now use it.
Partially fixing #1113: LDAP nodes now support environments,
and the schema has been updated accordingly.
Always duplicating resource defaults in the parser, so that
stacked metaparameter values do not result in all resources
that receive a given default also getting those stacked
values.
0.24.2
Fixing #1062 by moving the yamldir setting to its own yaml
section. This should keep the yamldir from being created
on clients.
Fixed #1047 -- Puppet's parser no longer changes the order
in which statements are evaluated, which means that case
statements can now set variables that are used by other
variables.
Fixed #1063 -- the master correctly logs syntax errors when
reparsing during a single run.
Removed the loglevels from the valid values for `logoutput`
in the Exec resource type -- the log levels are specified
using the `loglevel` parameter, not `logoutput`. This never
worked, or at least hasn`t for ages, and now the docs are
just correct.
Somewhat refactored fileserving so that it no longer caches
any objects, nor does it use Puppet's RAL resources. In the
process, I fixed #894 (you can now copy links) and refactored
other classes as necessary. Mostly it was fixing tests.
Hopefully partially fixed #1010 -- clients should now fail
to install files whose checksums do not match the checksum
from the server.
Fixed #1018 -- resources now have their namevars added as
aliases in the resource catalog, just like they were added
in the resource classes.
Fixed #1037 -- remote unreadable files no longer have the
permission denied exceptions caught, thus forbidding them
from being replaced with 'nil'.
The environment is now available as a variable in the manifests.
Fixed #1043 -- autoloading now searches the plugins directory
in each module, in addition to the lib directory. The 'lib'
directory is also deprecated, but supported for now to give
people a chance to convert.
Fixed #1003 -- Applying DavidS's patch to fix searching for
tags in sql.
Fixed #992 -- Puppet is now compatible with gems 1.0.1.
Fixed #968 again, this time with tests -- parseonly works,
including not compiling the configurations, and also storeconfigs
is no longer required during parse-testing.
Fixed #1021 -- the problem was that my method of determining
the in-degree sometimes resulted in a lower number than the
number of in-edges.
Fixed #997 -- virtual defined types are no longer evaluated.
NOTE: This introduces a behaviour change, in that you previously
could realize a resource within a virtual defined resource, and now
you must realize the entire defined resource, rather than just
the contained resource.
Fixed #1030 - class and definition evaluation has been significantly
refactored, fixing this problem and making the whole interplay
between the classes, definitions, and nodes, and the Compile class much
cleaner.
Exec resources must now have unique names, although the commands can still
be duplicated. This is easily accomplished by just specifying a unique
name with whatever (unique or otherwise) command you need.
Fixed #989 -- missing CRL files are correctly ignored, and the
value should be set to 'false' to explicitly not look for these
files.
Fixed #1017 -- environment-specific modulepath is no longer ignored.
Fixing #794 -- consolidating the gentoo configuration files.
Fixing #976 -- both the full name of qualified classes and
the class parts are now added as tags. I've also
created a Tagging module that we should push throughout
the rest of the system that uses tags.
Fixing #995 -- puppetd no longer dies at startup if the server
is not running.
Fixing #977 -- the rundir is again set to 1777.
Fixed #971 -- classes can once again be included multiple
times.
Added builtin support for Nagios types using
Naginator to parse and generate the files.
0.24.1
Updated vim filetype detection. (#900 and #963)
Default resources like schedules no longer conflict with
managed resources. (#965)
Removing the ability to disable http keep-alive, since
it didn't really work anyway and it should no longer
be necessary.
Refactored http keep-alive so it actually works again.
This should be sufficient enough that we no longer need the
ability to disable keep-alive. There is now a central
module responsible for managing HTTP instances, along with
all certificates in those instances.
Fixed a backward compatibility issue when running 0.23.x
clients against 0.24.0 servers -- relationships would
consistently not work. (#967)
Closing existing http connections when opening a new one,
and closing all connections after each run. (#961)
Removed warning about deprecated explicit plugins mounts.
0.24.0 (misspiggy)
Modifying the behaviour of the certdnsnames setting. It now defaults
to an empty string, and will only be used if it is set to something
else. If it is set, then the host's FQDN will also be added as
an alias. The default behaviour is now to add 'puppet' and
'puppet.$domain' as DNS aliases when the name for the cert being
signed is equal to the signing machine's name, which will only
be the case for CA servers. This should result in servers always
having the alias set up and no one else, but you can still override
the aliases if you want.
External node support now requires that you set the 'node_terminus'
setting to 'exec'. See the IndirectionReference on the wiki for more
information.
http_enable_post_connection_check added as a configuration
option for puppetd. This defaults to true, which validates the server
SSL certificate against the requested host name in new versions of ruby.
See #896 for more information.
Mounts no longer remount swap filesystems.
Slightly modifying how services manage their list of paths
(and adding documention for it). Services now default
to the paths specified by the provider classes.
Removed 'type' as a valid attribute for services, since it's been
deprecated since the creation of providers.
Removed 'running' as a valid attribute for services, since it's
been deprecated since February 2006.
Added modified patch by Matt Palmer which adds a 'plugins' mount,
fixing #891. See PluginsInModules on the wiki for information on
usage.
Empty dbserver and dbpassword settings will now be ignored when
initializing Rails connections (patch by womble).
Configuration settings can now be blank (patch by womble).
Added calls to endpwent/endgrent when searching for user and group IDs,
which fixes #791.
Obviated 'target' in interfaces, as all file paths were automatically
calculated anyway. The parameter is still there, but it's
not used and just generates a warning.
Fixing some of the problems with interface management on Red Hat.
Puppet now uses the :netmask property and does not try to set
the bootproto (#762).
You now must specify an environment and you are required to specify
the valid environments for your site. (#911)
Certificates now always specify a subjectAltName, but it defaults
to '*', meaning that it doesn't require DNS names to match. You
can override that behaviour by specifying a value for
'certdnsnames', which will then require that hostname as a match (#896).
Relationship metaparams (:notify, :require, :subscribe, and
:before) now stack when they are collecting metaparam values
from their containers (#446). For instance, if a resource
inside a definition has a value set for 'require', and you call
the definition with 'require', the resource gets both requires,
where before it would only retain its initial value.
Changed the behavior of --debug to include Mongrel client
debugging information. Mongrel output will be written to
the terminal only, not to the puppet debug log. This should
help anyone working with reverse HTTP SSL proxies. (#905)
Fixed #800 -- invalid configurations are no longer
cached. This was done partially by adding a relationship
validation step once the entire configuration is created,
but it also required the previously-mentioned changes
to how the configuration retrieval process works.
Removed some functionality from the Master client,
since the local functionality has been replaced
with the Indirector already, and rearranging how configuration
retrieval is done to fix ordering and caching bugs.
The node scope is now above all other scopes besides
the 'main' scope, which should help make its variables
visible to other classes, assuming those classes were
not included in the node's parent.
Replaced GRATR::Digraph with Puppet::SimpleGraph as
the base class for Puppet's graphing. Functionality
should be equivalent but with dramatically better
performance.
The --use-nodes and --no-nodes options are now obsolete.
Puppet automatically detects when nodes are defined, and if
they are defined it will require that a node be found,
else it will not look for a node nor will it fail if it
fails to find one.
Fixed #832. Added the '--no-daemonize' option to puppetd and
puppetmasterd. NOTE: The default behavior of 'verbose' and
'debug' no longer cause puppetd and puppetmasterd to not
daemonize.
Added k5login type. (#759)
Fixed CA race condition. (#693)
Added shortname support to config.rb and refactored addargs
0.23.2
Fixed the problem in cron jobs where environment settings
tended to multiple. (#749)
Collection of resources now correctly only collects exported
resources again. This was broken in 0.23.0. (#731)
'gen_config' now generates a configuration with
all parameters under a heading that matches the
process name, rather than keeping section headings.
Refactored how the parser and interpreter relate,
so parsing is now effectively an atomic process (thus
fixing #314 and #729). This makes the interpreter less
prone to error and less prone to show the error to the
clients. Note that this means that if a configuration
fails to parse, then the previous, parseable configuration
will be used instead, so the client will not know that
the configuration failed to parse.
Added support for managing interfaces, thanks to work
by Paul Rose.
Fixed #652, thanks to a patch by emerose; --fqdn again
works with puppetd.
Added an extra check to the Mongrel support so that
Apache can be used with optional cert checking, instead
of mandatory, thus allowing Mongrel to function as the CA.
This is thanks to work done by Marcin Owsiany.
0.23.1 (beaker)
You can now specify relationships to classes, which work
exactly like relationships to defined types:
require => Class[myclass]
This works with qualified classes, too.
You can now do simple queries in a collection of
exported resources. You still cannot do multi-condition queries,
though. (#703)
puppetca now exits with a non-zero code if it cannot
find any host certificates to clean. (Patch by Dean
Wilson.)
Fully-qualified resources can now have defaults. (#589)
Resource references can now be fully-qualified names,
meaning you can list definitions with a namespace as
dependencies. (#468)
Files modified using a FileType instance, as ParsedFile
does, will now automatically get backed up to the filebucket
named "puppet".
Added a 'maillist' type for managing mailing lists.
Added a 'mailalias' type for managing mail aliases.
Added patch by Valentin Vidic that adds the '+>' syntax to
resources, so parameter values can be added to.
The configuration client now pulls libraries down to $libdir,
and all autoloading is done from there with full support
for any reloadable file, such as types and providers. (#621)
Note that this is not backward compatible -- if you're using
pluginsync right now, you'll need to disable it on your clients
until you can upgrade them.
The Rails log level can now be set via (shockingly!) the
'rails_loglevel' parameter (#710). Note that this isn't
exactly the feature asked for, but I could not find a
way to directly copy ActiveRecord's concept of an environment.