Skip to content

Commit c620a9b

Browse files
Merge pull request #595 from wking/version-0.4.0
CHANGELOG: Document changes since v0.3.0
2 parents 024ef63 + 220a5f7 commit c620a9b

File tree

1 file changed

+158
-4
lines changed

1 file changed

+158
-4
lines changed

CHANGELOG.md

Lines changed: 158 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,151 @@ All notable changes to this project will be documented in this file.
44

55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
66

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+
7152
## 0.3.0 - 2018-10-22
8153

9154
### Added
@@ -22,8 +167,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
22167
23168
- The installer creates worker `MachineSet`s, instead of leaving that to
24169
[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].
27173
28174
### Changed
29175
@@ -63,8 +209,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
63209
and the new service is labeled so [Prometheus][] will scrape it.
64210
- The `service-serving-cert-signer-signing-key` secret is now
65211
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.
68215
- The etcd-serving certificate is now passed through to [the
69216
kube-controller-manager operator][kube-controller-manager-operator].
70217
- We disable some components which [the cluster-version
@@ -136,12 +283,19 @@ installer and follow along as it guides you through the process.
136283
The `tectonic` command and tarball distribution are gone. Please use
137284
the new `openshift-install` command instead.
138285
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
139290
[cluster-api-provider-aws]: https://github.com/openshift/cluster-api-provider-aws
140291
[cluster-version-operator]: https://github.com/openshift/cluster-version-operator
141292
[dot]: https://www.graphviz.org/doc/info/lang.html
293+
[ingress-operator]: https://github.com/openshift/cluster-ingress-operator
142294
[kube-apiserver-operator]: https://github.com/openshift/cluster-kube-apiserver-operator
143295
[kube-controller-manager-operator]: https://github.com/openshift/cluster-kube-controller-manager-operator
144296
[machine-api-operator]: https://github.com/openshift/machine-api-operator
145297
[machine-config-operator]: https://github.com/openshift/machine-config-operator
146298
[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
147301
[service-serving-cert-signer]: https://github.com/openshift/service-serving-cert-signer

0 commit comments

Comments
 (0)