Action

If you are currently using apps.ci.centos.org (OCP 3.6) or have a job running in ci.centos.org, please contact us so that we can create a namespace for you in the new OCP 4.4 cluster for you to start migrating your jobs.

If your own a namespace on apps.ci.centos.org

There shouldn’t be a lot of changes for you as you already have a workflow known to openshift and you have configured your jobs once. While opening a ticket, or reaching out to us please do mention if you need ability to checkout duffy nodes (if yes, do you already have a duffy API key?).

here is how to open a ticket (link to open a migration ticket)

If your project is on ci.centos.org

As you are using central jenkins deployment that’s not private to you, your project might see some changes. You will have your own jenkins deployment to run all your jobs instead of having a shared jenkins instance where you don’t have admin access. With the extra privilage in jenkins, you can add plugins, credentials as you need and a bunch of other abilities. This also means there is no direct maintenance required from CentOS CI Infra admins as openshift takes care of things dying or crashing and anything in the jobs config, you can take care of them yourself (We will help you get started and are always in reach if you notice any hiccups that is not auto healed). You can have the same workflow or use this opportunity to change your freestyle jobs to pipelines but that’s totally on you. here is how to open a ticket (link to open a migration ticket)

open a project ticket

  • login to bugs.centos.org
  • Select CentOS CI project
  • Create an issue with following info (You can also comment in a different field if you prefer your email addresses to be private)
namespace name:
namespace admins
 - user1@email.com // email address used in accounts.centos.org
 - user2@email.com // email address used in accounts.centos.org

Do you use baremetal nodes for your jobs?: Yes/No
  • Assign it to siddharthvipul1 or dkirwan

We will have your accounts created in 48 hours (if no doubts/followup needed). Note: This is only applicable for already existing projects in other places. New projects will have to go through a different process/evaluation and we may need more time.

Setting up your jobs in cico-workspace jenkins

Configuring your jobs should be similar to your older configuration. You can either have your jobs written in jenkinsfile dialogue box, or source it from your repo (we recommend the later for easy management of jenkinsfile). One thing to point, in groovy, the node parameter type defines where the target job should be executed, the value must match either a label or a node name - otherwise the job will just stay in the queue. We have a custom label called cico-workspace that has python-cicoclient installed in it so that you can request duffy nodes. This workspace will also have your duffy-api-key exported so that you can directly request nodes from duffy. Here is an example of jenkins file

node('cico-workspace') {
    stage('get cico node') {
		node = sh(script: "cico node get --release=8", returnStdout: true).trim().tokenize(' ')
		env.node_hostname = "${node[0]}.ci.centos.org"
		env.node_ssid = "${node[1]}"
	}

    stage('tests-example') {
        pass
    }

    stage('builds-example') {
        pass
    }

    finally {
        stage('return bare-metal machine') {
			sh 'cico node done ${CICO_SSID}'
        }
    }
}