Giter Club home page Giter Club logo

ocp-on-arm's Introduction

OpenShift on ARM

OpenShift is Red Hat's distribution of Kubernetes optimized for continuous application development and multi-tenant deployment. OpenShift adds developer and operations-centric tools on top of Kubernetes to enable rapid application development, easy deployment and scaling, and long-term lifecycle maintenance for small and large teams.

OpenShift on ARM is now Generally Available. As such, this repository is no longer in use, and the information stored herein is mostly historical.

Getting Started

To obtain the openshift installer and client, visit console.redhat.com. Direct downloads are also available at mirror.openshift.com.

Extract the downloaded tarballs and copy the binaries into your PATH. Then run the following from an empty directory:

$ openshift-install create install-config

You'll be prompted to choose a platform to install to - AWS is the only available public cloud option for ARM at this time.

You will need to have cloud credentials set in your shell properly before installation. The account setup steps for AWS are identical to an x86_64 install, and are described in the installer documentation.

When selecting a region, note that ARM instances are available in most, but not all, AWS regions.

You will also be prompted for a pull-secret that will be made available to all of of your machines - get this from console.redhat.com.

This will create an install-config.yaml file which defines the installation. Please verify that both architecture values are set to arm64. Also, it is recommended to change network.networkType to OVNKubernetes, but the default value of OpenShiftSDN will still work.

Now, to create the cluster, run

$ openshift-install create cluster

Once the install completes successfully (usually 45m on AWS) the console URL and an admin username and password will be printed. If your DNS records were correct, you should be able to log in to your new OpenShift on ARM cluster!

To undo the installation and delete any cloud resources created by the installer, run

$ openshift-install destroy cluster

Learn more about the installer

The OpenShift client tools for your cluster can be downloaded from the web console.

Please note that pre-releases may be pruned over time. If the pre-release that you installed was pruned, the cluster may be unable to pull necessary images and may show errors for various functionality (including updates). In that case, you will need to redeploy with a new pre-release.

Contributing

OpenShift is built from many different open source projects - Red Hat CoreOS, the UBI RPM ecosystems, cri-o, Kubernetes, and many different extensions to Kubernetes. The openshift organization on GitHub holds active development of components on top of Kubernetes and references projects built elsewhere. Generally, you'll want to find the component that interests you and review their README.md for the processes for contributing.

Our unified continuous integration system tests pull requests to the ecosystem and core images, then builds and promotes them after merge. To see the latest development releases of OpenShift on ARM, visit our continuous release page. These releases are built continuously and expire after a few days.

All contributions are welcome - OpenShift uses the Apache 2 license and does not require any contributor agreement to submit patches. Please open issues for any bugs or problems you encounter, or get involved in the Kubernetes project at the container runtime layer.

Security Response

If you've found a security issue that you'd like to disclose confidentially please contact Red Hat's Product Security team. Details at https://access.redhat.com/security/team/contact

License

OpenShift is licensed under the Apache License, Version 2.0. Some components may be licensed differently - consult individual repositories for more.

ocp-on-arm's People

Contributors

yselkowitz avatar ausil avatar andymcc avatar thrasher-redhat avatar

Stargazers

Marco Manco avatar tyler.choi avatar  avatar Tiger Kaovilai avatar Birger J. Nordølum avatar Remi Diniz avatar Dan Clark avatar  avatar  avatar Scott Malkie avatar sunnyboy avatar Ricardo Arguello avatar Alessandro Di Stefano avatar

Watchers

Brenton Leanhardt avatar Matt Hicks avatar Michal Fojtik avatar Mrunal Patel avatar Rafael F. avatar Karanbir Singh avatar James Cloos avatar Hiro Miyamoto avatar Todd Sanders avatar Sudeesh John avatar Manoj Kumar avatar Saravanakumar Arumugam avatar Sudha Ponnaganti avatar Christian Glombek avatar  avatar Alessandro Di Stefano avatar Hendrik Brueckner avatar Sajauddin Mohammad avatar Justin Pierce avatar Deep Mistry avatar  avatar sunnyboy avatar  avatar

Forkers

multi-arch

ocp-on-arm's Issues

Some odo functionality does not work with an ARM cluster

An odo binary for ARM is available, however odo not been tested in conjunction with an ARM cluster. The odo-init container is not available on ARM, therefore odo functionality dependent thereon will not work with an ARM cluster.

[sig-devex][Feature:ImageEcosystem][perl][Slow] hot deploy for openshift perl image hot deploy should work

This image-ecosystem test fails on ARM because it depends on behaviour specific to mod_perl, which is only included in the RHSCL (RHEL 7) perl images which are not available on ARM. The UBI8 perl images which are available for ARM use mod_fcgid and behave differently. Therefore, the test needs to be adapted to different behaviour before switching it to the UBI8 image.

sclorg/s2i-perl-container#206

Various conformance tests may fail due to missing images on ARM

Images used by OpenShift compliance tests, regardless of their original source, are mirrored into a single container image repository, whose location is hard-coded into the openshift-tests binary. This is done to improve image pull reliability, and facilitate the testing of disconnected installs by providing the means to override the repository to be used. (Please note that disconnected installs have not been tested on ARM.)

Some of these original test images are, to varying degrees, not built for all non-x86 architectures. As a result, when run using the default repository, some tests will fail. On ARM, these include:

[sig-auth][Feature:LDAP] LDAP IDP should authenticate against an ldap server [Suite:openshift/conformance/parallel]
[sig-auth][Feature:LDAP] LDAP should start an OpenLDAP test server [Suite:openshift/conformance/parallel]
[sig-builds][Feature:Builds] build have source revision metadata  started build should contain source revision information [Skipped:Disconnected] [Suite:openshift/conformance/parallel]
[sig-builds][Feature:Builds] build with empty source  started build should build even with an empty source in build config [Skipped:Disconnected] [Suite:openshift/conformance/parallel]
[sig-builds][Feature:Builds] build without output image  building from templates should create an image from a S2i template without an output image reference defined [Skipped:Disconnected] [Suite:openshift/conformance/parallel]
[sig-builds][Feature:Builds] result image should have proper labels set  S2I build from a template should create a image from "test-s2i-build.json" template with proper Docker labels [Skipped:Disconnected] [Suite:openshift/conformance/parallel]
[sig-builds][Feature:Builds] s2i build with a quota  Building from a template should create an s2i build with a quota and run it [Skipped:Disconnected] [Suite:openshift/conformance/parallel]
[sig-builds][Feature:Builds] s2i build with a root user image should create a root build and pass with a privileged SCC [Skipped:Disconnected] [Suite:openshift/conformance/parallel]
[sig-builds][Feature:Builds][timing] capture build stages and durations  should record build stages and durations for s2i [Skipped:Disconnected] [Suite:openshift/conformance/parallel]
[sig-builds][Feature:Builds][valueFrom] process valueFrom in build strategy environment variables  should successfully resolve valueFrom in s2i build environment variables [Skipped:Disconnected] [Suite:openshift/conformance/parallel]
[sig-devex][Feature:Templates] templateinstance readiness test  should report ready soon after all annotated objects are ready [Suite:openshift/conformance/parallel]
[sig-storage] In-tree Volumes [Driver: nfs] [Testpattern: Dynamic PV (default fs)] provisioning should provision storage with mount options [Suite:openshift/conformance/parallel] [Suite:k8s]
[sig-storage] In-tree Volumes [Driver: nfs] [Testpattern: Dynamic PV (default fs)] subPath should support existing directories when readOnly specified in the volumeSource [Suite:openshift/conformance/parallel] [Suite:k8s]
[sig-storage] In-tree Volumes [Driver: nfs] [Testpattern: Dynamic PV (default fs)] subPath should support existing directory [Suite:openshift/conformance/parallel] [Suite:k8s]
[sig-storage] In-tree Volumes [Driver: nfs] [Testpattern: Dynamic PV (default fs)] subPath should support existing single file [LinuxOnly] [Suite:openshift/conformance/parallel] [Suite:k8s]
[sig-storage] In-tree Volumes [Driver: nfs] [Testpattern: Dynamic PV (default fs)] subPath should support file as subpath [LinuxOnly] [Suite:openshift/conformance/parallel] [Suite:k8s]
[sig-storage] In-tree Volumes [Driver: nfs] [Testpattern: Dynamic PV (default fs)] subPath should support non-existent path [Suite:openshift/conformance/parallel] [Suite:k8s]
[sig-storage] In-tree Volumes [Driver: nfs] [Testpattern: Dynamic PV (default fs)] subPath should support readOnly directory specified in the volumeMount [Suite:openshift/conformance/parallel] [Suite:k8s]
[sig-storage] In-tree Volumes [Driver: nfs] [Testpattern: Dynamic PV (default fs)] subPath should support readOnly file specified in the volumeMount [LinuxOnly] [Suite:openshift/conformance/parallel] [Suite:k8s]
[sig-storage] In-tree Volumes [Driver: nfs] [Testpattern: Dynamic PV (default fs)] volumes should allow exec of files on the volume [Suite:openshift/conformance/parallel] [Suite:k8s]
[sig-storage] In-tree Volumes [Driver: nfs] [Testpattern: Dynamic PV (default fs)] volumes should store data [Suite:openshift/conformance/parallel] [Suite:k8s]
[sig-storage] In-tree Volumes [Driver: nfs] [Testpattern: Dynamic PV (filesystem volmode)] volumeMode should not mount / map unused volumes in a pod [LinuxOnly] [Suite:openshift/conformance/parallel] [Suite:k8s]

This can be worked around by means of an alternative image repository which is used for OpenShift CI on other architectures, for example:

openshift-tests run openshift/conformance/parallel --from-repository quay.io/multi-arch/community-e2e-images

ImageStream, ImageStreamTag, and Template selection is limited on ARM

During the install, the Cluster Samples Operator populates a selection of ImageStreams and Templates which can be used to build other images. Only those for which the dependent container images are available are installed on each architecture. Therefore, the available selection on ARM is less than other architectures.

Similarly, even for those ImageStreams which are installed on ARM, only the -ubi8 or -el8 ImageStreamTags, corresponding to RHEL 8 or UBI 8 content, are available on ARM. RHEL 7 and UBI 7 container content is not available on ARM.

Please note that the base-agnostic ImageStreamTags (e.g. nodejs:12 without a -ubiN or -elN suffix) are deprecated and hidden in the Developer Console. Any external templates which use those should be updated to use currently available -ubi8 or -el8 ImageStreamTags.

CannotRetrieveUpdates alert

Nightly builds (for all architectures) are not upgradable. Therefore, after a while, you will see a CannotRetrieveUpdates alert. This is normal under the circumstances, and can be silenced or avoided by setting Channel in the Administration->Cluster Settings page to the empty string, or with the following command:

oc patch clusterversion.config.openshift.io/version -p='{"spec":{"channel":""}}' --type=merge

Cluster Utilization item Network transfer shows 'No datapoints found'

In the Cluster Utilization card in the Home->Overview page of the Administrator web console, the Network transfer item reports 'Not available' and 'No datapoints found'. This currently affects 4.9 snapshots across architectures and platforms and is being tracked as part of 4.9 development:

https://bugzilla.redhat.com/show_bug.cgi?id=1978091

Detailed bandwidth usage data is still available from the Networking dashboards on the Monitoring->Dashboards page.

Bootstrap machine failed to download the release image on ARM

Hello guys,

Kindly ask you to review this error as this is blocking us to deploy Arm-based OpenShift on AWS.

ERROR The bootstrap machine failed to download the release image
INFO Pulling quay.io/openshift-release-dev/ocp-release-nightly@sha256:7a464d200ac371e3a6b66474fe99aec72a10db26f46929b315431b34c69fd95b...
INFO 5fc58e15ab811ba67bb68357f787585aca6af09c720f256d631be37a2480951c
INFO ERROR: release image arch amd64 does not match host arch arm64
FATAL Bootstrap failed to complete

No OperatorHub items found

As part of cluster bringup, the operator-marketplace usually installs four CatalogSource operator indexes which contain the data to populate the OperatorHub in the admin console. At this point in 4.9 development, these still point to the 4.8 indexes which do not include ARM, and the 4.9 operators have yet to be made publicly available. Therefore, the defaults are disabled to avoid unnecessary alerts, and the OperatorHub is empty.

The [sig-operator] an end user can use OLM can subscribe to the operator [Suite:openshift/conformance/parallel] test may also fail for this reason, but is not indicative of a functional issue in OperatorHub.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.