| |
@@ -0,0 +1,61 @@
|
| |
+ # CentOS CI - On-boarding
|
| |
+
|
| |
+ Note to users:
|
| |
+
|
| |
+ Please note that Infra space is for Fedora and CentOS related projects to
|
| |
+ consume. Decision may take some time (often up to 2 weeks) as these are decided
|
| |
+ by the whole team.
|
| |
+ Once decided as go, we will create you a namespace in a openshift cluster where
|
| |
+ you can configure your CI. We do provide a Jenkins template in case you want to be
|
| |
+ able to consume vms/baremetal nodes to perform your CI.
|
| |
+
|
| |
+ Please answer the following questions so that we understand your requirement.
|
| |
+
|
| |
+ * How does your project relates to Fedora/CentOS?
|
| |
+ * Describe your work flow and if you need any special permissions (other than
|
| |
+ admin access to namespace), please tell us and provide a reason for them.
|
| |
+ * Do you need bare-metal/vms checkout capability? (we prefer your workflow
|
| |
+ containerized)
|
| |
+ * Resources required
|
| |
+ * PVs:
|
| |
+
|
| |
+ ```
|
| |
+ Project_name:
|
| |
+ Project_members:
|
| |
+ - user1@ACO_registered_email_address
|
| |
+ - user2@ACO_registered_email_address
|
| |
+ ```
|
| |
+
|
| |
+ ## Steps
|
| |
+ 1. Create an OpenShift namespace
|
| |
+ 2. Create an entry in duffy db (with ssh key) - follow adding-duffy-api-key.md
|
| |
+ 3. Instantiate a template to provision Jenkins
|
| |
+
|
| |
+
|
| |
+ ### Create an OpenShift namespace
|
| |
+
|
| |
+ Using the data provided by tenant (i.e. Project name and its admins), create an yaml file to be passed to ansible-playbook (example above).
|
| |
+
|
| |
+ Store it in project directory to and push it to git
|
| |
+
|
| |
+ Use playbook (adhoc-openshift-resources.yaml)[https://github.com/CentOS/ansible-infra-playbooks/blob/staging/adhoc-openshift-resources.yaml] with variables `host=openshift-ci-management` and `the file containing project name and admins`
|
| |
+
|
| |
+ Example: "ansible-playbook playbooks/adhoc-openshift-resources.yaml -e "host=ocp-ci-management" -e "@important_project.yaml""
|
| |
+
|
| |
+
|
| |
+ ## Create an entry in duffy db (with ssh key) - [follow adding-duffy-api-key.md](https://docs.infra.centos.org/operations/ci/adding_cico_tenant/adding-duffy-api-key/)
|
| |
+
|
| |
+ ## Instantiate a template to provision Jenkins
|
| |
+ * Login to openshift
|
| |
+ * Go to project cico-templates to select the cico-workspace Jenkins template
|
| |
+ from workloads -> From Catalog -> {search cico-workspace}
|
| |
+ you would see a template called "cico-workspace: provided by The CentOS
|
| |
+ Project"
|
| |
+ * Click the template to start instantiation process.
|
| |
+ * Select the namespace we want to run Jenkins in (In Namespace variable)
|
| |
+ * Enter appropriate Memory limit and volume capacity (for Jenkins, we prefer 3Gi and 10Gi respectively)
|
| |
+ * Enter duffy API key for the project and SSH private key whose public pair is in duffy db.
|
| |
+
|
| |
+ Click create to instantiate the project.
|
| |
+
|
| |
+ Admin's hack: Increase timeout in deployment config to counter our slow storage timeout issue.
|
| |
Signed-off-by: siddharthvipul siddharthvipul1@gmail.com