-
Notifications
You must be signed in to change notification settings - Fork 66
FAQ
Click on the Register Now
link in the landing page, and sign-in using your @redhat.com
account.
Try hitting https://openshift.io/openshiftio and then logging in.
Re-login to OpenShift.io to be able to see your updated username. This was fixed as part of https://github.com/fabric8-services/fabric8-wit/pull/1367
My username on OpenShift.io is different than the name of the project created in my OpenShift Online account
The reason is unknown as of now, however the debugging session was successful in resolving this for chmouel
This will cause issues with creating your QuickStart projects and pipelines.
( need to fill in details )
Visit Red Hat Developers and change your password there.
Your own jenkins, che, etc is running in your OpenShift Online account in the https://console.starter-us-east-2.openshift.com cluster. The Deployment Configs have to be updated every few days. To do so,
- Login to OpenShift.io , if you face issues while trying to login, please see ( add link )
- Visit your profile by clicking on the top-right corner.
- Click "Update profile"
- Scroll down to the bottom of the page and click "Update tenant". This doesn't provide any feedback as of now, but you could check for a
/api/user 200 OK
response in the browser console.
To confirm you need to be checking which build version of Jenkins/Che you are running, and compare it with the intended version.
To find out which version of the Jenkins 2 build you are running,
use the oc
CLI , and try running oc export dc jenkins -n oc {ID}-jenkins | grep "version:"
If the above doesn't work, use the UI:
- Login to OpenShift Online https://console.starter-us-east-2.openshift.com
- Select project {ID}-jenkins
- Navigate to ``Applications
->
Deployments` -> `jenkins`. - Open the latest 'active' deployment from the list.
- On the
details
tab, there should aversion=3.x.x
https://github.com/fabric8io/fabric8-init-tenant/issues/74
Currently, the tenant URL is https://console.starter-us-east-2.openshift.com
For your OSO username of ID
the following resources are used
-
namespace ${ID}
: contains your BuildConfigs and Builds of any pipelines along with ajenkins
Service. If running integration tests these will run pods in this namespace. You should not have a jenkins here though. By default on OSO if you create a BuildConfig with a pipeline then OSO will lazily create a Jenkins here. Though we use ajenkins
service here to prevent that. If one gets created you will probably wanna delete yourjenkins
DeploymentConfig, ReplicationControllers
andPods
-
namespace: ${ID}-stage
: the stage environments for your apps you stage via pipelines -
namespace: ${ID}-run
: the main running environment for your apps you promote from staging via pipelines -
namespace: ${ID}-che
: contains your Che workspaces -
namespace: ${ID}-jenkins
: contains your Jenkins master pod along with thecontent-repository
for storing released artifacts. Also contains any S2IBuild
objects used inside a pipeline and any build pipeline pods.
Assuming your old project is pke-test1
and your OpenShift.io username is pkettman
, this might cause your pipelines to not show up since there is no pkettman
namespace.
Clean-up your existing project by running the following:
Visit https://console.starter-us-east-2.openshift.com/oauth/token/request to get your oc
auth token needed for the CLI login.
oc login https://console.starter-us-east-2.openshift.com --token=TOKEN
oc delete project pke-test1
oc new-project pkettman
oc delete all --all -n pkettman-test
oc delete all --all -n pkettman-stage
oc delete all --all -n pkettman-run
The actions that you should take will depend on the nature of the error. The first step to take is to enable the Chrome console log to provide you with detailed information on the any error that you encounter. Some possible project creation errors and their workarounds are:
- Error code 500 (service error) - This general error is usually accompanied by a second, more specific error. If the second error includes an error code of 400 (bad request), you may need to have Red Hat Engineering try detaching and re-attaching your github account to OSIO and then try again to create the a project.
- Error code 503 (service unavailable) - The most likely cause of this error is that the Jenkins service in you rtenant space is not running. As is described earlier in this FAQ, the workaround is to restart the Jenkins pod, and then try again to create the a project.
- Error code 401 (permissions error) - This is an intermittent error related to the creation of the project's code repository in github. If you see this error, just try again to create a new project.
- Error in the Jenkins log that indicates that the project's jar file cannot be found - The problem is that the project is running out of space on the the maven .m2 repository's Persistent Volume (PV). The steps to take are: ** oc project [your username]-jenkins ** oc get pods (look for the name of the "content repository" pod, for example: "content-repository-5-3cw6j") ** oc exec -ti content-repository-5-3cw6j bash ** rm -rf /var/www/html/content/repositories
- Error in the Jenkins log that indicates - java.lang.OutOfMemoryError: Metaspace - As is described earlier in this FAQ, the workaround is to restart the Jenkins pod.
- The new project's Che codespace is not created due to a 504 (timeout) error - This is an intermittent error. If you see this error, just try again to create a new project.
This happens because of a bug in the jenkins-sync plugin which restarts all old builds. Since, we have a restriction of only allowing 1 build at a time, the newly created project's build pipeline falls low into the build queue. To fix this, abort all the queued up builds except the one which was created 'just now'.
- On the Pipelines UI, click on the Jenkins URL ( this part needs better instructions )
- In the Jenkins UI, locate the queue visualisation on the left-hand side of the page.
- Click on the red abort button for each build.
"When I goto https://jenkins-username-jenkins.8a09.starter-us-east-2.openshiftapps.com
I just get Application Not Available"
This happens when your Jenkins service is struggling to load because of resource issues.
Workaround :
- Login to https://console.starter-us-east-2.openshift.com
- Navigate to https://console.starter-us-east-2.openshift.com/console/project/your-username-jenkins/overview by clicking on the *-jenkins project.
- Scale the "jenkins" service to 0 pods and then to 1. This might take upto 5 minutes to take effect.
It's likely that the staging server hasn't actually been updated. OpenShift.io (IO) updates the staging application version number when the new deployment configuration is sent to OpenShift Online (OSO). If your resource quota in OSO has been exceeded however, you won't be able to update the existing staging pod. In this case click on the build number link in the Pipelines tab in IO to open in OSO. Once in the OSO console, look at the <your-username>-stage
project and watch for running staging servers from older spaces.
[Pipeline] End of Pipeline
java.lang.OutOfMemoryError: Metaspace
Finished: FAILURE
The solution is same as the one above, if you are using the OpenShift CLI, you could use these command alternatively to restart the Jenkins pod
oc scale dc/jenkins --replicas=0 -n burrsutter-jenkins
oc scale dc/jenkins --replicas=1 -n burrsutter-jenkins
https://github.com/openshiftio/openshift.io/issues/206
You can edit your Jenkinsfile
to comment out the mavenIntegrationTest
section on a per app basis.
If you are doing demos you may want to disable integration tests to speed up demos ;) To do that you can globally configure pipelines (once the new Tenant is released) to disable integration tests via updating your fabric8-pipelines
ConfigMap
.
Type:
oc edit cm fabric8-pipelines
Then add the following to the data:
section of the ConfigMap
to disable the CD
and/or CI
integration tests
data:
disable-itests-cd: 'true'
disable-itests-ci: 'true'
NOTE that there is an issue with RHOAR boosters so we've temporarily disabled all integration tests anyway!
When you switch between spaces the Pipelines tab should filter by those apps created in the space.
If you created an App a while back (say before June 2017) then the created Pipeline (which is a BuildConfig inside OpenShift) will not have the space label associated so that per space filtering doesn't work.
To work around this from the openshift command line type:
oc edit bc foo
then ensure that the metadata.labels
has a value of space: cheese
like this:
metadata:
name: foo
labels:
space: cheese
...
that will then ensure that the foo
pipeline is filtered to only show on the cheese
space!
In OpenShift Online, go to the Help question mark (?) in the upper right.
- Select "Command Line Tools"
- If you have not done so already download the
oc
binary for your platform via the link on that page and put it on your$PATH
environment variable - Use the copy icon to copy the first command to get your token
- Paste that into a terminal
- Download the gofabric8 binary for your platform and add the
gofabric8
binary to your$PATH
environment variable - Type the following command:
gofabric8 tenant delete
This will remove all pipelines, jenkins jobs and deployed apps. It will also clean out the various Persistent Volumes
in your account for the jenkins jobs, the content repository (where released and versioned artifacts go like pom.xml files, jars, kubernetes manifests etc) and the local maven repository used as a persistent cache to speed up builds and reduce noise in build logs.
You will then need to Update Tenant to update your tenant services.
You can check the status of your tenant via:
gofabric8 tenant check
If you wish to just clean up different parts of your tenant you can try the more fine grained clean
commands:
gofabric8 clean jenkins
gofabric8 clean content-repo
gofabric8 clean maven-local-repo
gofabric8 clean apps
You can use the help to get more information:
gofabric8 help clean
To find out the intended version, visit http://central.maven.org/maven2/io/fabric8/online/packages/fabric8-online-jenkins/1.0.167/fabric8-online-jenkins-1.0.167-openshift.yml and look for the section:
provider: fabric8
project: jenkins-openshift
version: 3.0.37
Re-construct the above URL by replacing 1.0.167 with the value in the file "TEAM_VERSION" in https://github.com/fabric8io/fabric8-init-tenant/commit/COMMIT_HASH where COMMIT_HASH is the hash in https://github.com/openshiftio/saas/blob/master/dsaas-services/f8-tenant.yaml#L2
This could have happened if lots of builds were triggered and never got provisioned due to quotas and there's lots of Build resources left over.
Delete all the build resources by doing a oc delete build --all
Ensure that your tenants are up-to-date (see the account section at the head of this page). If it still doesn't work contact us.
Right-click on the project in the Project Explorer and select "Configuration" from the Project menu item. Ensure that you are configured as a Maven project, not Blank.
From a running workspace click on the gray arrow on the top left corner of the workspace (or go to URL https://che-${ID}-che.8a09.starter-us-east-2.openshiftapps.com/dashboard
). The Che dashboard will open. Select the "Workspaces" page in the left menu, then you can select all the workspaces you don't need and delete them.
To find out the intended version, open a shell and execute the following command:
curl -sSL http://central.maven.org/maven2/io/fabric8/online/apps/che/maven-metadata.xml | grep latest | sed -e 's,.*<latest>\([^<]*\)</latest>.*,\1,g'
There are at least 3 interesting Che logs you can look at if you are looking for details of Che bahviour:
- Che server (wsmaster) logs
- Che workspace (wsagent) logs
- Recommendation (bayesian) language server logs
Here are some commands that should help:
ID=<your osio id>
TOKEN=<your oso token>
oc login https://api.starter-us-east-2.openshift.com --token=${TOKEN}
oc project ${ID}-che
# get che server logs
MASTER_POD_ID=$(oc get pods -o=custom-columns=NAME:.metadata.name --no-headers | grep che-[0-9])
oc logs ${MASTER_POD_ID}
# get workspace logs
WS_POD_ID=$(oc get pods -o=custom-columns=NAME:.metadata.name --no-headers | grep che-ws)
oc rsh ${WS_POD_ID} \
sh -c "cat /home/user/che/ws-agent/logs/catalina-0.log"
# get bayesian LS logs
oc rsh ${WS_POD_ID} \
sh -c "cat /home/user/che/ls-bayesian/bayesian.log"