Avoid:
$ bin/openshift-install cluster
FATAL Error executing openshift-install: open tests/smoke/vendor/github.com/prometheus/procfs/fixtures/26231/fd/0: no such file or directory
as the old implementation attempts to walk the whole directory and
hits:
$ ls -l tests/smoke/vendor/github.com/prometheus/procfs/fixtures/26231/fd/
total 0
lrwxrwxrwx. 1 trking trking 24 Oct 5 01:26 0 -> ../../symlinktargets/abc
lrwxrwxrwx. 1 trking trking 24 Oct 5 01:26 1 -> ../../symlinktargets/def
lrwxrwxrwx. 1 trking trking 24 Oct 5 01:26 10 -> ../../symlinktargets/xyz
lrwxrwxrwx. 1 trking trking 24 Oct 5 01:26 2 -> ../../symlinktargets/ghi
lrwxrwxrwx. 1 trking trking 24 Oct 5 01:26 3 -> ../../symlinktargets/uvw
With this commit, we only load files from the disk when someone asks
for them.
I've adjusted the unit tests a bit because:
* ioutil.ReadFile returns errors like:
read /: is a directory
for directories. There does not appear to be an analog to
os.IsNotExist() for this condition, so instead of checking for it in
the tests, I've just dropped the empty-string input cases. If we
break something and call FetchByName on an empty string, we want to
error out, and that error message is appropriately descriptive
already.
* Globs are not as precise as regular expressions, so our glob would
match master-1x.ign and similar which the previous regexp excluded.
But loading a few extra files doesn't seem like that big a deal, and
folks adding files with names like that seems unlikely.
Openshift Installer
Supported Platforms
- AWS
- Libvirt with KVM
- OpenStack (Experimental)
Quick Start
First, install all build dependencies.
After cloning this repository, the installer binary will need to be built by running the following:
hack/build.sh
This will create bin/openshift-install. This binary can then be invoked to create an OpenShift cluster, like so:
bin/openshift-install cluster
The installer requires the terraform binary either alongside openshift-install or in $PATH.
If you don't have terraform, run the following to create bin/terraform:
hack/get-terraform.sh
The installer will show a series of prompts for user-specific information (e.g. admin password) and use reasonable defaults for everything else. In non-interactive contexts, prompts can be bypassed by providing appropriately-named environment variables. Refer to the user documentation for more information.
Connect to the cluster
Console
Shortly after the cluster command completes, the OpenShift console will come up at https://${OPENSHIFT_INSTALL_CLUSTER_NAME}-api.${OPENSHIFT_INSTALL_BASE_DOMAIN}:6443/console/.
You may need to ignore a certificate warning if you did not configure a certificate authority known to your browser.
Log in using the admin credentials you configured when creating the cluster.
Kubeconfig
You can also use the admin kubeconfig which openshift-install cluster placed under --dir (which defaults to .) in auth/kubeconfig.
If you launched the cluster with openshift-install --dir "${DIR}" cluster, you can use:
export KUBECONFIG="${DIR}/auth/kubeconfig"
Cleanup
Destroy the cluster and release associated resources with:
openshift-install destroy-cluster