forked from yaybu/yaybu
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES
204 lines (151 loc) · 7.09 KB
/
CHANGES
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
Changelog for yaybu
===================
0.1.14 (unreleased)
-------------------
- Yaybu hackers now have additional ways of invoking the debugger, including
an equivalent to the pdb ``pm()`` and ``set_trace()`` methods..
0.1.13 (2011-12-02)
-------------------
- Initial subversion checkouts are no longer quiet - to match 'svn up'
behaviour - this is useful for large checkouts when you arent sure if the
checkout has hung.
- Use of 'svn' without having subversion installed will trigger a propper error
instead of a traceback. Both this and the rsync checks now have a proper
exception for reporting missing dependencies.
- Service[] now parses the output of ``/sbin/status`` to determine if an
upstart job is running or not. It considers the goal of the job to determine
if it needs to adjust the job. For example, we might want to start a job and
that job isn't running, but it is starting. That is good enough, so Yaybu
wouldn't take any action.
A side effect of implementing proper state detection is that when trying to
restart an upstart job that was stopped now just starts the job directly.
- Adds version information to the command line interface
- The protocol Yaybu uses for communicating over SSH has grown some version
metadata. This will be used to ensure better interoperability between Yaybu
clients and targets.
**WARNING** You will need to ensure your clients and servers are running at
least this version as this is (hopefully the last) protcol breaking change.
- Reclassifies some log output as debug information for quieter deployments
when nothing has changed.
0.1.12 (2011-11-30)
-------------------
- Add a dummy Checkout provider that uses rsync. The primary use case for this
feature is vagrant where you can do something like this::
resources.append:
- Checkout:
name: /var/checkouts/my-site
repository: /vagrant
scm: rsync
user: vagrant
- Execute:
name: buildout
command: ./buildout
cwd: /var/checkouts/my-site
policy:
execute:
- when: sync
on: Checkout[/var/checkouts/my-site]
There are 2 advantages here: firstly, your production config will likely
deploy from Git, but Vagrant always gives you a /vagrant directory without
having to have a seperate Git checkout. With this change you can still use a
Checkout resource for your /vagrant sourced code, keeping your recipes as
similar as possible. Secondly, your ``vagrant provision`` will be able to
detect code changes just like a real Checkout. For example, you can add
watches to restart services when you change a particular script or asset in
your 'checkout'.
- The default mode for directories is now 0755.
- Improve cross-platform support by not making assumptions about the value of
sys.maxunicode.
- Use yay 0.0.39 to avoid some pickle issues.
0.1.11 (2011-11-19)
-------------------
- A Subversion checkout will now understand and happily use data passed to it
as String objects. This means if you use the ``scm_password`` attribute it
won't leak your password into the logs.
- We now depend on Yay 0.0.35 for the improved ``String`` API.
- The subprocess abstraction natively supports ``String`` instances and will
mask any secrets in log output. It now also supports native strings and
will shlex.split them automatically.
0.1.10 (2011-11-10)
-------------------
- Yabyu now depends on Yay 0.0.33 and the improved ``Openers()`` API. This means
that cookbook assets can be fetched from any location that Yay can be fetched
from, including http and https.
- This change also means that Yay loading also respects the YAYBUPATH, and that
http content can be on the YAYBUPATH.
- Fix python-magic fallback - in previous version the fallback was inverted and
claiming all text was binary
0.1.9 (2011-11-07)
------------------
- Add a basic docs for Vagrant provisioner.
- Add a better fallback for when 'python-magic' isn't installed
0.1.8 (2011-11-04)
------------------
- Allow ``set_interactive`` call on RemoteRunner for batch processing use cases
- Allow API users to set a particular identity file with set_identity_file
- Change Context object to parse user@host:port into individual variables
This fixes ${yaybu.host} containing user and ports details.
0.1.7 (2011-10-18)
------------------
- Add some toys for people driving Yaybu from code without Yay
- Improve quick start documentation to stress idempotence
- Don't import yaybu.resources or yaybu.providers from yaybu package any more
- yaybu is now a namespace package
- You can declare your own resources and providers using the yaybu.resources
yaybu.providers entry points
0.1.6 (2011-07-26)
------------------
- A variable called yaybu.host is available from your configs
- Add Git support
- Added minimal RemoteRunner API
- --expand-only only shows resources key (more useful)
- More test coverage
- Documentation updates
- Support '.import: - ${foo}'
0.1.5 (2011-07-06)
------------------
- Logging is now via python logging module
- Audit log to syslog is working again
- Audit log is configurable through /etc/yaybu
- Added yaybu.core.debug to assist debugging yaybu in remote mode
- Can run network tests with TEST_NETWORK=1 ./bin/test discover
- New yaybu.harness module to house testing harness related code
- Tests have moved into sensible locations within yaybu module
0.1.4 (2011-06-16)
------------------
- EventState removes successfully applied updates on the fly, not just at the end
- Remove the simlog API and be as 'full-fat' as possible in simulate mode
- File provider will no longer log diffs when updating encrypted files ;)
- Every test that uses check_apply will also be tested for simulation
- Better use of python-magic: Use mimetypes and look for text/
- Use a stricter glob for identifying currently active sysv services
- EventState now records against id rather than home
- Test harness now enforces idempotence of check_apply
- Test harness now manages fakeroot by itself
- Fix logging issue for long resource ids
- More sensible default PATH
- Don't consider empty files to be binary
- Simplify logging, and fix logging of diffs
- Set environment from preexec function
- Lock down environment - don't leak environment from user
- Be more forgiving of mising PID files (Service provider)
- Better error handling in remote mode
0.1.3 (2011-05-26)
------------------
- RemoteRunner fixes
- Fix catching errors in remote
- Fix passing --resume and --no-resume to remote
0.1.2 (2011-05-22)
------------------
- Basic upstart, debian and 'simple' service providers
- Catches yay.errors.Error
- Add 'live logging' of shell steps (so you can see buildout progress)
- Add ability to watch files that might be updated by other providerss
- More tests
- Test env deals with races from cow-shell automatically
- Fix comment field of User provider
- Fix group and user bit of File/Directory/etc
- Resources are now referred to as Type[name] as otherwise Group and
User can very easily crash
- Jinja use is now more tolerant of unicode dictionary keys
- Observation state is now preserved on failure