This implements part of the plan from:
https://github.com/openshift/os/issues/477
When we originally added the pinned RHCOS metadata `rhcos.json`
to the installer, we also changed the coreos-assembler `meta.json`
format into an arbitrary new format in the name of some cleanups.
In retrospect, this was a big mistake because we now have two
formats.
Then Fedora CoreOS appeared and added streams JSON as a public API.
We decided to unify on streams metadata; there's now a published
Go library for it: https://github.com/coreos/stream-metadata-go
Among other benefits, it is a single file that supports multiple
architectures.
UPI installs should now use stream metadata, particularly
to find public cloud images. This is exposed via a new
`openshift-install coreos print-stream-json` command.
This is an important preparatory step for exposing this via
`oc` as well as having something in the cluster update to
it.
HOWEVER as a (really hopefully temporary) hack, we *duplicate*
the metadata so that IPI installs use the new stream format,
and UPI CI jobs can still use the old format (with different RHCOS versions).
We will port the UPI docs and CI jobs after this merges.
Co-authored-by: Matthew Staebler <staebler@redhat.com>
Since 82d81d9f53 (data/data/bootstrap: use loopback kubeconfig for API
access, 2019-07-24, #2086), we've been pushing the OpenShift-specific
components via a loopback kubeconfig and the bootstrap control plane.
Since 108a45bdb1 (data/bootstrap: Replace openshift.sh with
cluster-bootstrap, 2019-01-24, landed 2019-09-30, #1381), that push
has always happened before the bootstrap control plane shuts down.
I've changed "into" to "via" because the data passes through either
control plane on its way to rest in the shared etcd cluster.
I've dropped "then" from the final step because none of the other
steps said "then". I think ordering is clear enough from our use of
an ordered list ;).
I'd added these in 28592d025 (docs/user/versioning: Document APIs
covered by our Semantic Versioning, 2018-12-17, #935). But v0.16.1
was the last installer release. Since then, OpenShift tooling picks
whatever the most recent commit is in the appropriate release-* branch
when building releases, so we don't have a way to set the SemVer
versions on the command-line API that the removed document depends on.
We will attempt to preserve any command-line API that occurs in
official documentation, but we can no longer make formal SemVer
statements about breaking compat.
This is some initial documentation that covers the types of
customization that the installer supports. It only covers AWS right now,
so libvirt and OpenStack will need to be added eventually.
Also roll the tips-and-tricks docs into the overview's
multi-invocation docs, since they'd been covering the same ground with
slightly different wording before. I've expanded the unified
description to go into a bit more detail and tie in the new versioning
docs.
I've also documented the manifest-templates target from 166a9f1e
(pkg/asset: new target manifest-templates, 2018-10-30, #592).
And I've shifted a few "target directory" references to "asset
directory", since that's the language we use for --dir (as shown by
--help).
Now that we're vendoring Terraform, we no longer need a script to pull
down pre-compiled binaries.
I've also reworded the 'create cluster' description in overview.md to
be more generic. See 0c3d8658 (asset/cluster: clean up logging
messages, 2018-12-07, #840) for similar changes to another location.
And make it clear that libvirt is development-only, because we're
about to remove support for it from released binaries (folks will
still be able to build the installer themselves to get the libvirt
stuff).