@@ -4,6 +4,151 @@ All notable changes to this project will be documented in this file.
4
4
5
5
The format is based on [ Keep a Changelog] ( https://keepachangelog.com/en/1.0.0/ ) .
6
6
7
+ ## 0.4.0 - 2018-11-22
8
+
9
+ ### Added
10
+
11
+ - The creation targets have been moved below a new ` create ` subcommand
12
+ (e.g. ` openshift-install create cluster ` instead of the old
13
+ ` openshift-install cluster ` ). This makes them easier to distinguish
14
+ from other ` openshift-install ` subcommands and also mirrors the
15
+ approach taken by ` destroy ` in 0.3.0.
16
+ - A new ` manifest-templates ` target has been added to ` create ` ,
17
+ allowing users to edit templates and have descendant assets
18
+ generated from their altered templates during [ a staged
19
+ install] ( docs/user/overview.md#multiple-invocations ) .
20
+ - [ The ingress operator] [ ingress-operator ] is no longer masked. The
21
+ old Tectonic ingress operator has been removed.
22
+ - The [ the registry operator] [ registry-operator ] has been added, and
23
+ the kube-addon operator which used to provide a registry (among
24
+ other things) has been removed.
25
+ - The [ checkpointer operator] [ checkpointer-operator ] is no longer
26
+ masked. It runs on the production cluster, but not on the bootstrap
27
+ node.
28
+ - Cloud credentials are now pushed into a secret where they can be
29
+ consumed by cluster-API operators and other tools.
30
+ - OpenStack now has ` destroy ` support.
31
+ - We log verbosely to ` ${INSTALL_DIR}/.openshift_install.log ` for most
32
+ operations, giving access to the logs for troubleshooting even if
33
+ you neglected to run with ` --log-level=debug ` .
34
+ - We've grown [ troubleshooting
35
+ documentation] ( docs/user/troubleshooting.md ) .
36
+
37
+ ### Changed
38
+
39
+ - For consistency with 0.3.0's ` destroy ` , the the old
40
+ ` install-config ` , ` manifests ` , ` ignition-configs ` , and ` cluster `
41
+ commands have been pushed down under a new ` create ` subcommand. For
42
+ example, you should now use ` openshift-install create cluster `
43
+ instead of ` openshift-install cluster ` . The old commands are
44
+ deprecated.
45
+ - The ` create cluster ` subcommand now waits for the
46
+ ` bootstrap-complete ` event and automatically removes the bootstrap
47
+ assets after receiving it. This means that after ` create cluster `
48
+ returns successfully, the cluster has its production control plane
49
+ and topology (although there may still be operators working through
50
+ their initialization). The ` bootstrap-complete ` event was new in
51
+ 0.3.0, and it is now pushed at the appropriate time (it was too
52
+ early in 0.3.0). The ` destroy bootstrap ` subcommand is still
53
+ available, to allow users to manually trigger bootstrap deletion if
54
+ the automatic removal fails for whatever reason.
55
+ - On AWS, bootstrap deletion now also removes the S3 bucket used for
56
+ the bootstrap node's Igntition configuration.
57
+ - Asset state is preserved even while moving backwards through [ a
58
+ staged install] ( docs/user/overview.md#multiple-invocations ) . For
59
+ example:
60
+
61
+ ``` sh
62
+ openshift-install --dir=example create ignition-configs
63
+ openshift-install --dir=example create install-config
64
+ ```
65
+
66
+ now preserves the full state including the generated Ignition
67
+ configuration. In 0.3.0, the ` install-config` call would have
68
+ removed the Ignition configuration and other downstream assets
69
+ from the stored state.
70
+ - Some asset state is removed by successful ` destroy cluster` runs.
71
+ This reduces the change of contaminating future cluster creation
72
+ with assets left over from a previous cluster, but users are [still
73
+ encouraged](README.md#cleanup) to remove state between clusters to
74
+ avoid accidentally contaminating the subsequent cluster' s state.
75
+ - etcd discovery now happens via `SRV` records. On libvirt, this
76
+ requires a new Terraform provider, so users with older providers
77
+ should [install a newer
78
+ version](docs/dev/libvirt-howto.md#install-the-terraform-provider).
79
+ This also allows all masters to use a single Ignition file.
80
+ - On AWS, the API and service load balancers have been changed from
81
+ [classic load balancers][aws-elb] to [network load
82
+ balancers][aws-nlb]. This should avoid [some latency issues we were
83
+ seeing with classic load balancers][aws-elb-latency], and network
84
+ load balancers are cheaper.
85
+ - On AWS, master `Machine` entries now include load balancer
86
+ references, ensuring that new masters created by [the AWS
87
+ cluster-API provider][cluster-api-provider-aws] will be attached to
88
+ the load balancers.
89
+ - On AWS and OpenStack, the default network CIDRs have changed to
90
+ 172.30.0.0/16 for services and 10.128.0.0/14 for the cluster, to be
91
+ consistent with previous versions of OpenStack.
92
+ - The bootstrap kubelet is no longer part of the production cluster.
93
+ This reduces complexity and keeps production pods off of the
94
+ temporary bootstrap node.
95
+ - [The cluster-version operator][cluster-version-operator] now runs in
96
+ a static pod on the bootstrap node until the production control
97
+ plane comes up. This breaks a cyclic dependency between the
98
+ production API server and operators.
99
+ - The bootstrap control plane now waits for some core pods to come up
100
+ before exiting.
101
+ - [The machine-API operator][machine-api-operator] now reads the
102
+ install-config from the `cluster-config-v1` config-map, instead of
103
+ from an operator-specific configuration.
104
+ - AWS AMIs and libvirt images are now pulled from the new [RHCOS
105
+ pipeline][rhcos-pipeline].
106
+ - Updated the security contact information for CoreOS -> Red Hat.
107
+ - We push a `ClusterVersion` custom resource. The old `CVOConfig` is
108
+ still being pushed, but it is deprecated.
109
+ - OpenStack credentials are loaded from standard system paths.
110
+ - On AWS and OpenStack, ports 9000-9999 are now open for host network
111
+ services.
112
+ - Lots of doc and internal cleanup and minor fixes.
113
+
114
+ ### Fixed
115
+
116
+ - On AWS, `destroy cluster` is now more robust, removing resources with
117
+ either the `tectonicClusterID` or `kubernetes.io/cluster/<name>:
118
+ owned` tags. It also removes pending instances as well (it used to
119
+ only remove running instances).
120
+ - On libvirt, `destroy cluster` is now more precise, only removing
121
+ resources which are prefixed by the cluster name.
122
+ - Bootstrap Ignition edits (via `create ignition-configs`) no longer
123
+ suffer from a `worker.ign` dependency cycle, which had been
124
+ clobbering manual `bootstrap.ign` changes.
125
+ - The state-purging implementation respects `--dir`, avoiding `remove
126
+ ...: no such file or directory` errors during [staged
127
+ installs](docs/user/overview.md#multiple-invocations).
128
+ - Cross-filesystem Terraform state recovery during `destroy bootstrap`
129
+ no longer raises `invalid cross-device link`.
130
+ - Bootstrap binaries are now located under `/usr/local/bin`, avoiding
131
+ SELinux violations on RHEL 8.
132
+
133
+ ### Removed
134
+
135
+ - All the old Tectonic operators and the `tectonic-system` namespace
136
+ have been removed.
137
+ - On libvirt, the image URI prompt has been removed. You can still
138
+ control this via the `OPENSHIFT_INSTALL_LIBVIRT_IMAGE` environment
139
+ variable, but too many users were breaking their cluster by pointing
140
+ the installer at an outdated RHCOS, so we removed the prompt to make
141
+ that knob less obvious.
142
+ - On libvirt, we' ve removed ` .gz` suffix handling for images. The new
143
+ RHCOS pipeline supports ` Content-Encoding: gzip` , so the
144
+ suffix-based hack is no longer necessary.
145
+ - The ` destroy-cluster` command, which was deprecated in favor of
146
+ ` destroy cluster` in 0.3.0, has been removed.
147
+ - The creation target subcommands of ` openshift-install` have been
148
+ removed. Use the target subcommands of ` create` instead
149
+ (e.g. ` openshift-install create cluster` instead of
150
+ ` openshift-install cluster` ).
151
+
7
152
# # 0.3.0 - 2018-10-22
8
153
9
154
# ## Added
@@ -22,8 +167,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
22
167
23
168
- The installer creates worker `MachineSet`s, instead of leaving that to
24
169
[the machine-API operator][machine-api-operator].
25
- - Creates master ` Machine ` s and tags masters to be picked up by the
26
- [ AWS cluster-API provider] [ cluster-api-provider-aws ] .
170
+ - The installer creates master `Machine`s and tags masters to be
171
+ picked up by the [AWS cluster-API
172
+ provider][cluster-api-provider-aws].
27
173
28
174
### Changed
29
175
@@ -63,8 +209,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
63
209
and the new service is labeled so [Prometheus][] will scrape it.
64
210
- The `service-serving-cert-signer-signing-key` secret is now
65
211
available in the `openshift-service-cert-signer` namespace, which
66
- gives [the service-serving cert signer][] the keys it needs to mint
67
- and manage certificates for Kubernetes services.
212
+ gives [the service-serving cert signer][service-serving-cert-signer]
213
+ the keys it needs to mint and manage certificates for Kubernetes
214
+ services.
68
215
- The etcd-serving certificate is now passed through to [the
69
216
kube-controller-manager operator][kube-controller-manager-operator].
70
217
- We disable some components which [the cluster-version
@@ -136,12 +283,19 @@ installer and follow along as it guides you through the process.
136
283
The `tectonic` command and tarball distribution are gone. Please use
137
284
the new `openshift-install` command instead.
138
285
286
+ [aws-elb]: https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/introduction.html
287
+ [aws-elb-latency]: https://github.com/openshift/installer/pull/594#issue-227786691
288
+ [aws-nlb]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html
289
+ [checkpointer-operator]: https://github.com/openshift/pod-checkpointer-operator
139
290
[cluster-api-provider-aws]: https://github.com/openshift/cluster-api-provider-aws
140
291
[cluster-version-operator]: https://github.com/openshift/cluster-version-operator
141
292
[dot]: https://www.graphviz.org/doc/info/lang.html
293
+ [ingress-operator]: https://github.com/openshift/cluster-ingress-operator
142
294
[kube-apiserver-operator]: https://github.com/openshift/cluster-kube-apiserver-operator
143
295
[kube-controller-manager-operator]: https://github.com/openshift/cluster-kube-controller-manager-operator
144
296
[machine-api-operator]: https://github.com/openshift/machine-api-operator
145
297
[machine-config-operator]: https://github.com/openshift/machine-config-operator
146
298
[Prometheus]: https://github.com/prometheus/prometheus
299
+ [registry-operator]: https://github.com/openshift/cluster-image-registry-operator
300
+ [rhcos-pipeline]: https://releases-rhcos.svc.ci.openshift.org/storage/releases/maipo/builds.json
147
301
[service-serving-cert-signer]: https://github.com/openshift/service-serving-cert-signer
0 commit comments