[
https://issues.jboss.org/browse/SWSQE-145?page=com.atlassian.jira.plugin....
]
Guilherme Baufaker Rêgo edited comment on SWSQE-145 at 4/17/18 6:53 PM:
------------------------------------------------------------------------
[~hhovsepy]
Following up on that Epic.
I've created a proposal picture (attached in the epic) for a make the pipeline more
modular.
In my opinion, it will require some minor changes :
{panel:title=
Step 1 (SWSQE-164)}
- Use [Istio Ansible Jenkins
Job|http://jenkins2.bc.jonqe.lab.eng.bos.redhat.com:8080/job/Istio%20Ansible%20Pipeline/]
as Istio Phase (Step 1)
- Refactor Jenkins Job to use Istio Master - now supporting both upstream and
downstream images
- Remove Test Mesh and Traffic Generator from that pipeline
{panel}
{panel:title=
Step 2 (SWSQE-165)}
- Refactor [Istio and Kiali on Openshift
|http://jenkins2.bc.jonqe.lab.eng.bos.redhat.com:8080/job/Istio-and-Kiali-on-Openshift/]Jenkins
Job
- Refactor prepare.env in just two steps
* Create a Jenkins Job to build kiali (Make optional because I think
sometimes we don't want to build Kiali - but Mandatory for PRs and Nightly Jobs) using
the building part of prepare env script
* Create a Jenkins Job to deploy Kiali based Mazz [Comment
|https://github.com/kiali/kiali/pull/119#issuecomment-376519224]
{code:shell}
curl
https://raw.githubusercontent.com/kiali/kiali/master/deploy/openshift/kia...
\
| oc create -n istio-system -f -
curl
https://raw.githubusercontent.com/kiali/kiali/master/deploy/openshift/kia... \
| IMAGE_NAME=kiali/kiali IMAGE_VERSION=latest NAMESPACE=istio-system VERBOSE_MODE=4
envsubst \
| oc create -n istio-system -f -
{code}
where IMAGE_NAME and IMAGE_VERSION could be changed to QE images (built on step 2.1.2) it
can be deployed developers images by default
I don't know if the best configuration is two scripts (one for build or another to
deploy) or just two functions on the same script but with optional parameters, so I'm
leaving this one as you may you prefer to move this forward
{panel}
{panel:title=
Step 3 (SWSQE-166)}
- Refactor
[Kiali-Test-Mesh|http://jenkins2.bc.jonqe.lab.eng.bos.redhat.com:8080/job/Kiali-Test-Mesh/]
Jenkins Job
- Refactor to deploy a subset of Test Meshes (It helps if you are using a small
cluster and doesn't need all type of meshes)
- Make it optional on the pipeline
{panel}
{panel:title=
Step 4 (SWSQE-167)}
- Refactor [Bookinfo Traffic
Generator|http://jenkins2.bc.jonqe.lab.eng.bos.redhat.com:8080/job/Bookinfo-traffic-generator/]
Jenkins Job
- Refactor to use bookinfo as a standard domain
- Make it optional on the pipeline
{panel}
{panel:title=
Step 5 (SWSQE-168)}
- Make Tests Optional (Mandatory for PRs and Nightly Jobs)
{panel}
Any thoughts about it?
Did I forget something?
was (Author: gbaufake):
[~hhovsepy]
Following up on that Epic.
I've created a proposal picture (attached in the epic) for a make the pipeline more
modular.
In my opinion, it will require some minor changes :
{panel:title=
Step 1 (SWSQE-164)}
- Use [Istio Ansible Jenkins
Job|http://jenkins2.bc.jonqe.lab.eng.bos.redhat.com:8080/job/Istio%20Ansible%20Pipeline/]
as Istio Phase (Step 1)
- Refactor Jenkins Job to use Istio Master - now supporting both upstream and
downstream images
- Remove Test Mesh and Traffic Generator from that pipeline
{panel}
{panel:title=
Step 2 (SWSQE-165)}
- Refactor [Istio and Kiali on Openshift
|http://jenkins2.bc.jonqe.lab.eng.bos.redhat.com:8080/job/Istio-and-Kiali-on-Openshift/]Jenkins
Job
- Refactor prepare.env in just two steps
* Create a Jenkins Job to build kiali (Make optional because I think
sometimes we don't want to build Kiali - but Mandatory for PRs and Nightly Jobs) using
the building part of prepare env script
* Create a Jenkins Job to deploy Kiali based Mazz [Comment
|https://github.com/kiali/kiali/pull/119#issuecomment-376519224]
{code:shell}
curl
https://raw.githubusercontent.com/kiali/kiali/master/deploy/openshift/kia...
\
| oc create -n istio-system -f -
curl
https://raw.githubusercontent.com/kiali/kiali/master/deploy/openshift/kia... \
| IMAGE_NAME=kiali/kiali IMAGE_VERSION=latest NAMESPACE=istio-system VERBOSE_MODE=4
envsubst \
| oc create -n istio-system -f -
{code}
where IMAGE_NAME and IMAGE_VERSION could be changed to QE images (built on step 2.1.2) it
can be deployed developers images by default
I don't know if the best configuration is two scripts (one for build or another to
deploy) or just two functions on the same script but with optional parameters, so I'm
leaving this one as you may you prefer to move this forward
{panel}
{panel:title=
Step 3 (SWSQE-166)}
- Refactor
[Kiali-Test-Mesh|http://jenkins2.bc.jonqe.lab.eng.bos.redhat.com:8080/job/Kiali-Test-Mesh/]
Jenkins Job
- Refactor to deploy a subset of Test Meshes (It helps if you are using a small
cluster and doesn't need all type of meshes)
- Make it optional on the pipeline
{panel}
{panel:title=
Step 4 (SWSQE-167)}
- Refactor [Bookinfo Traffic
Generator|http://jenkins2.bc.jonqe.lab.eng.bos.redhat.com:8080/job/Bookinfo-traffic-generator/]
Jenkins Job
- Refactor to use bookinfo as a standard domain
- Make it optional on the pipeline
{panel}
{panel:title=
Step 5 (SWSQE-168)}
- Make Tests Optional (Mandatory for PRs and Nightly Jobs)
{panel}
Any thoughts about it?
Did I forget something?
Modularize CI/CD Pipline
------------------------
Key: SWSQE-145
URL:
https://issues.jboss.org/browse/SWSQE-145
Project: Kiali QE
Issue Type: Epic
Reporter: Matt Mahoney
Assignee: Guilherme Baufaker Rêgo
Attachments: pipeline proposal.png
The CI/CD pipeline has become more complex and challenging with which to build CI/CD
usage-cases and to add new functionality:
Use Case Examples:
1) Deploy Istio -> Deploy&build-kiali -> Deploy All Service Meshes ->
Deploy Traffic Generator on all Service Meshes -> Run all test suites
2) Deploy built Kiali -> Run REST suite
3) Build and Deploy Kiali -> Run all test suites
4) Run UI suite on any Openshift Cluster
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)