Communishift SOP

Communishift is an OpenShift deployment hosted and maintained by Fedora Infrastructure that is available to the community to host applications. Fedora Infrastructure does not maintain the applications in Communishift and is only responsible for the OpenShift deployment itself.

Contents

Contact information

Owner

Fedora Infrastructure Team

Contact

#fedora-admin

Persons

nirik

Location

Phoenix

Servers
  • os-node01.fedorainfracloud.org

  • os-node02.fedorainfracloud.org

  • os-node03.fedorainfracloud.org

  • os-node04.fedorainfracloud.org

  • os-node05.fedorainfracloud.org

  • os-node06.fedorainfracloud.org

  • os-node07.fedorainfracloud.org

  • os-node08.fedorainfracloud.org

  • os-node09.fedorainfracloud.org

  • os-node10.fedorainfracloud.org

  • os-node11.fedorainfracloud.org

  • virthost-os01.fedorainfracloud.org

  • virthost-os02.fedorainfracloud.org

  • virthost-os03.fedorainfracloud.org

  • virthost-aarch64-os01.fedorainfracloud.org

  • virthost-aarch64-os02.fedorainfracloud.org

Purpose

Allow community members to host services for the Fedora Project.

Onboarding new users

To allow new users to create projects in Communishift, begin by adding them to the communishift FAS group.

At the time of this writing, there is no automation to sync users from the communishift FAS group to OpenShift, so you will need to log in to the Communishift instance and grant that user permissions to create projects. For example, to grant bowlofeggs permissions, you would do this:

$ oc adm policy add-cluster-role-to-user self-provisioner bowlofeggs
$ oc create clusterquota for-bowlofeggs --project-annotation-selector openshift.io/requester=bowlofeggs --hard pods=10 --hard persistentvolumeclaims=5

This will grant bowlofeggs the ability to provision up to 10 pods and 5 volumes.

KVM access

We allow applications access to the kvm device so they can run emulation faster. Anytime the cluster is re-installed, run:

!/bin/bash set -eux if ! oc get --namespace=default ds/device-plugin-kvm &>/dev/null; then oc create --namespace=default -f https://raw.githubusercontent.com/kubevirt/kubernetes-device-plugins/master/manifests/kvm-ds.yml fi

See the upstream docs as well as the original request for this.