{"id":18812715,"url":"https://github.com/openshift-evangelists/openshifter","last_synced_at":"2025-04-13T21:26:09.014Z","repository":{"id":83273658,"uuid":"85850438","full_name":"openshift-evangelists/openshifter","owner":"openshift-evangelists","description":"Tool for deploying OpenShift clusters and workshops","archived":false,"fork":false,"pushed_at":"2018-02-07T17:01:11.000Z","size":918,"stargazers_count":24,"open_issues_count":17,"forks_count":12,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-27T11:43:38.108Z","etag":null,"topics":["ansible","cluster","libcloud","openshift","openshift-cluster","provision","python"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openshift-evangelists.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-22T16:20:49.000Z","updated_at":"2024-01-23T19:28:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"d72f757c-88cb-449d-b18e-f2081089d72b","html_url":"https://github.com/openshift-evangelists/openshifter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshift-evangelists%2Fopenshifter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshift-evangelists%2Fopenshifter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshift-evangelists%2Fopenshifter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshift-evangelists%2Fopenshifter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openshift-evangelists","download_url":"https://codeload.github.com/openshift-evangelists/openshifter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248784181,"owners_count":21161071,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","cluster","libcloud","openshift","openshift-cluster","provision","python"],"created_at":"2024-11-07T23:34:52.725Z","updated_at":"2025-04-13T21:26:09.008Z","avatar_url":"https://github.com/openshift-evangelists.png","language":"JavaScript","readme":"# OpenShifter\n\n[![Build Status](https://travis-ci.org/openshift-evangelists/openshifter.svg?branch=master)](https://travis-ci.org/openshift-evangelists/openshifter)\n[![Dependency Status](https://gemnasium.com/badges/github.com/openshift-evangelists/openshifter.svg)](https://gemnasium.com/github.com/openshift-evangelists/openshifter)\n\nA tool to provision and install OpenShift clusters.\n\nUsage:\n\n```bash\nUsage: main.py [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n  --help  Show this message and exit.\n\nCommands:\n  create     Provision + Install + Setup\n  destroy    Destroy infrastructure\n  install    Install OpenShift on infrastructure\n  provision  Provision infrastructure\n  setup      Run post-installation setup\n```\n\n## Definition file\n\nSee `examples` directory.\n\n## Getting started\n\nCreate an empty directory. Add public and private SSH key that will be used to connect to the provisioned machines. If\nyou do not want to reuse existing key, simply generate new one\n\n```\n$ ssh-keygen -f openshift-key -N \"\"\n```\n\nand you will get two files `mykey` and `mykey.pub`.\n\nIf you want to reuse existing keys, make sure they're unencrypted or have empty password.\n\nCreate yaml definition for your cluster as defined above and name the file as the cluster should be named, e.g.\n`cluster01.yml`.\n\nCheck the provider documentation for provider-specific files and configuration to add to the definition.\n\nStart the deployment process\n\n```\n$ docker run -ti -v (path to your directory):/root/data docker.io/osevg/openshifter create cluster01\n```\n\n__NOTE__: If running `docker` directly from the same folder where descriptors and SSH keys are located, you can pass in ``pwd`` as path to your directory, e.g.\n\n    $ docker run -ti -v `pwd`:/root/data ...\n\n\n## Provider documentation\n\n### GCE\n\nFollowing are instructions required to get OpenShift working on top Google Cloud Platform (GCP).\n\nFirst install the [Google Cloud SDK](register for an account in Google Cloud ()) in your local environment. \nThen, get a GCP account if you don't already own one.\n\nNext, you need to create a project for running OpenShift on it. \nCreating the project can be done either using the GCP user interface or via the [`gce/create-project-gce.sh`](gce/create-project-gce.sh) script.\nThe instructions for using the user interface are not available yet, so the best would be to use the script.\n\nTo run the script, you just need to provide a name and the email registered with your GCP account:\n\n    ./gce/create-project-gce.sh openshift-on-google me@here.com\n\nCalling this script will generate a project on GCP called `openshift-on-google-me-here-com`.\nThe script also generates `openshift-on-google-me-here-com.json` file which is needed for OpenShifter to talk to GCP.  \nThis JSON file name, along with the generate project name, need to be added to the cluster yaml file:\n\n    gce:\n      account: os-v1-me-here-com.json\n      region: us-west1\n      zone: us-west1-a\n      project: os-v1-me-here-com\n\nNext, call create on OpenShifter as shown in the general instructions above.\n\n#### Billing under control\n\nWhen not using OpenShift instance on Google Cloud, make sure you shutdown cluster master and other nodes.\nTo do that go to `Compute Engine / VM instances` and stop all VM instances.\n\n\n### AWS\n\n### Azure\n\n### DigitalOcean\n\n## Debugging\n\nIn this section you will find instruction on things to try if things are not working:\n\nFirst, try to remove all OpenShifter images locally and get a fresh one, e.g.\n\n    docker ps -a | awk '{ print $1,$2 }' | grep openshifter | awk '{print $1 }' | xargs -I {} docker rm {}\n    docker rmi osevg/openshifter\n\nIf that does not solve your problem and you have a partially installed cluster, try destroying it:\n\n    docker run -e -ti -v (path to your directory):/root/data docker.io/osevg/openshifter destroy cluster01\n\nNote that at times, destroying a cluster might timeout. If that happens, simply try again until it completes. \n\nFinally, you can find out more information about what OpenShifter does by passing in `DEBUG=true` as environment variable:\n\n    docker run -e \"DEBUG=true\" -ti -v (path to your directory):/root/data docker.io/osevg/openshifter create cluster01\n\n\n## Errors\n\nThis section explains common errors found and how to resolve them: \n\n### `SSHException: not a valid OPENSSH private key file` \n\nWhen trying to create the OpenShift cluster, you might see an error like this:\n\n    paramiko.ssh_exception.SSHException: not a valid OPENSSH private key file\n\nThis error is complaining about the SSH keys generated above.\nThere's no need to generate `OPENSSH` keys here, the `RSA` keys generated above should work.\nNormally, this error appears when trying to connect to a partially installed OpenShift cluster which maybe used a different key to the one you're passing in now.\nSo, to overcome this problem, simply destroy the OpenShift cluster and recreate it:\n\n    docker run -e -ti -v (path to your directory):/root/data docker.io/osevg/openshifter destroy cluster01\n    docker run -e -ti -v (path to your directory):/root/data docker.io/osevg/openshifter create cluster01     \n\n## `PasswordRequiredException: Private key file is encrypted`\n\nThe generated SSH keys are password protected.\nEither unencrypt them or regenerate them with an empty password. \nYou can pass in `-N \"\"` to `ssh-keygen` to automate this.\n\n## `UnicodeDecodeError: 'ascii' codec can't decode byte...`\n\nIf you get this error, the yaml file contains a non-ASCII character.\nTo find the offending line(s) call:\n\n    perl -lne 'print if /[^[:ascii:]]/' cluster01.yml\n\n## `InvalidRequestError: 'Invalid JWT: Token must be a short-lived token...`\n\nThis error can appear when your computer has gone to sleep and the Docker VM's clock got out of sync.\nRestarting the Docker daemon should fix it.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenshift-evangelists%2Fopenshifter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenshift-evangelists%2Fopenshifter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenshift-evangelists%2Fopenshifter/lists"}