Skip to content

Commit 80b8649

Browse files
committedDec 14, 2016
Release v0.5.0
1 parent 258bcbc commit 80b8649

11 files changed

+51
-13
lines changed
 

‎CHANGELOG.md

+18
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,21 @@
1+
### v0.5.0
2+
3+
This version is a big step forward previous releases and provides many new features and a better cluster management.
4+
5+
* Now the configuration is fully declarative (see [cluster specification](doc/cluster_spec.md) documentation) ([#178](https://github.com/sorintlab/stolon/pull/178)).
6+
* Ability to create a new cluster starting from a previous backup (point in time recovery) ([#183](https://github.com/sorintlab/stolon/pull/183))
7+
* Wal-e backup/restore example ([#183](https://github.com/sorintlab/stolon/pull/183))
8+
* Better synchronous replication, the user can define a min and a max number of required synchronous standbys and the master will always block waiting for acknowledge by the required sync standbys. Only synchronous standbys will be elected as new master. ([#219](https://github.com/sorintlab/stolon/pull/219))
9+
* Production ready kubernetes examples (just change the persistent volume provider) ([#215](https://github.com/sorintlab/stolon/pull/215))
10+
* To keep an unique managed central configuration, the postgresql parameters can now only be managed only using the cluster specification ([#181](https://github.com/sorintlab/stolon/pull/181))
11+
* When (re)initializing a new cluster (with an empty db, from an existing instance or from a backup) the postgresql parameters are automatically merged in the cluster spec ([#181](https://github.com/sorintlab/stolon/pull/181))
12+
* Use only store based communication and discovery (removed all the kubernetes specific options) ([#195](https://github.com/sorintlab/stolon/pull/195))
13+
* Ability to use TLS communication with the store (for both etcd and consul) ([#208](https://github.com/sorintlab/stolon/pull/208))
14+
* Better standby monitoring and replacement ([#218](https://github.com/sorintlab/stolon/pull/218))
15+
* Improved logging ([#187](https://github.com/sorintlab/stolon/pull/187))
16+
17+
Many other [improvements and bug fixes](https://github.com/sorintlab/stolon/milestone/4)
18+
119
### v0.4.0
220

321
Some cleanups and changes in preparation for release v0.5.0 that will receive a big refactor (with different breaking changes) needed to bring a lot of new features.

‎README.md

-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ stolon is a cloud native PostgreSQL manager for PostgreSQL high availability. It
77

88
For an introduction to stolon you can also take a look at [this post](https://sgotti.me/post/stolon-introduction/)
99

10-
**Note: The current master branch that will lead to v0.5.0 is receiving a big refactor needed to implement a lot of new features (see the [v0.5.0 roadmap](https://github.com/sorintlab/stolon/issues?q=is%3Aopen+is%3Aissue+milestone%3Av0.5.0)). So some breakage is expected.**
11-
1210
## Features
1311

1412
* Leverages PostgreSQL streaming replication.

‎doc/upgrade.md

+25-2
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,36 @@
11
# Upgrading from v0.4.0 to v0.5.0
22

3-
Stolon v0.5.0 received a big rework to improve its internal data model and implement new features. To upgrade an existing cluster from v0.4.0 to v0.5.0 you can follow these steps.
3+
## Removed commands options
44

5-
* Annotate the master keeperUID (previously called keeper id). You can retrieve this using `stolonctl status`
5+
These stolon commands options were removed. You should update your scripts invoking the stolon components removing them.
6+
7+
### stolon-keeper
8+
`--listen-address`
9+
`--port`
10+
`--pg-conf-dir`
11+
`--id` has been deprecated (but yet available). `--uid` should be used instead.
12+
13+
### stolon-sentinel
14+
`--listen-address`
15+
`--port`
16+
`--discovery-type`
17+
`--initial-cluster-config` (the equivalent for the new cluster spec format is `--initial-cluster-spec`)
18+
`--keeper-kube-label-selector`
19+
`--keeper-port`
20+
`--kubernetes-namespace`
21+
22+
### Upgrade for new cluster data
23+
24+
Stolon v0.5.0 received a big rework to improve its internal data model and implement new features. To upgrade an existing cluster from v0.4.0 to v0.5.0 you can follow the steps below (we suggest to try them in a test environment).
25+
26+
* Annotate the master keeperUID (previously called keeper id). You can retrieve this using `stolonctl status`.
627
* Stop all the cluster processes (keepers, sentinels and proxies)
728
* Upgrade the binaries to stolon v0.5.0
829
* Relaunch all the cluster processes. They will loop reporting `unsupported clusterdata format version 0`.
930
* Initialize a new cluster data using the master keeperUID:
31+
1032
```
1133
stolonctl init '{ "initMode": "existing", "existingConfig": { "keeperUID": "keeper01" } }'
1234
```
1335

36+
The leader sentinel will choose the other keepers as standbys and they'll resync with the current master (they will do this also if before the upgrade they were already standbys since this is needed to adapt to the new cluster data format).

‎examples/kubernetes/README.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,8 @@ There're two examples. The difference between them is how the keepers pods are d
1111

1212
Prebuilt images are available on the dockerhub, the images' tags are the stolon release version plus the postgresql version (for example v0.5.0-pg9.6). Additional images are available:
1313

14-
* `latest-pg9.6`: latest released image (after v0.4.0).
14+
* `latest-pg9.6`: latest released image (for stolon versions >= v0.5.0).
1515
* `master-pg9.6`: automatically built after every commit to the master branch.
16-
* `latest`: latest released image (until v0.4.0).
1716

1817

1918
In the [image](examples/kubernetes/image/docker) directory you'll find a Makefile to build the image used in this example (starting from the official postgreSQL images). The Makefile generates the Dockefile from a template Dockerfile where you have to define the wanted postgres version and image tag (`PGVERSION` adn `TAG` mandatory variables).

‎examples/kubernetes/rc/stolon-keeper0.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ spec:
1818
terminationGracePeriodSeconds: 10
1919
containers:
2020
- name: stolon-keeper
21-
image: sorintlab/stolon:master-pg9.6
21+
image: sorintlab/stolon:v0.5.0-pg9.6
2222
command:
2323
- "/bin/bash"
2424
- "-ec"

‎examples/kubernetes/rc/stolon-keeper1.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ spec:
1818
terminationGracePeriodSeconds: 10
1919
containers:
2020
- name: stolon-keeper
21-
image: sorintlab/stolon:master-pg9.6
21+
image: sorintlab/stolon:v0.5.0-pg9.6
2222
command:
2323
- "/bin/bash"
2424
- "-ec"

‎examples/kubernetes/rc/stolon-proxy.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ spec:
1515
spec:
1616
containers:
1717
- name: stolon-proxy
18-
image: sorintlab/stolon:master-pg9.6
18+
image: sorintlab/stolon:v0.5.0-pg9.6
1919
command:
2020
- "/bin/bash"
2121
- "-ec"

‎examples/kubernetes/rc/stolon-sentinel.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ spec:
1515
spec:
1616
containers:
1717
- name: stolon-sentinel
18-
image: sorintlab/stolon:master-pg9.6
18+
image: sorintlab/stolon:v0.5.0-pg9.6
1919
command:
2020
- "/bin/bash"
2121
- "-ec"

‎examples/kubernetes/statefulset/stolon-keeper.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ spec:
1818
terminationGracePeriodSeconds: 10
1919
containers:
2020
- name: stolon-keeper
21-
image: sorintlab/stolon:master-pg9.6
21+
image: sorintlab/stolon:v0.5.0-pg9.6
2222
command:
2323
- "/bin/bash"
2424
- "-ec"

‎examples/kubernetes/statefulset/stolon-proxy.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ spec:
1515
spec:
1616
containers:
1717
- name: stolon-proxy
18-
image: sorintlab/stolon:master-pg9.6
18+
image: sorintlab/stolon:v0.5.0-pg9.6
1919
command:
2020
- "/bin/bash"
2121
- "-ec"

‎examples/kubernetes/statefulset/stolon-sentinel.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ spec:
1515
spec:
1616
containers:
1717
- name: stolon-sentinel
18-
image: sorintlab/stolon:master-pg9.6
18+
image: sorintlab/stolon:v0.5.0-pg9.6
1919
command:
2020
- "/bin/bash"
2121
- "-ec"

0 commit comments

Comments
 (0)
Please sign in to comment.