Professional Documents
Culture Documents
What is CCA?
Currently enabled for
Checks before you begin
How to run CCA?
Examples of few cca cli's:
Commit approval
How to clean ws:
Running CCA in Background
Refreshing workspace to pick latest commit criteria:
Links mentioned below can be accessed for:
Limitations:
For Branch owners/Admins:
Working with baselines:
Open issues:
What is CCA?
The purpose of the CCA is to provide engineers tooling that will automate some of the manual tasks currently required of them, prior to committing
the code changes.
It helps with:
1.
2.
3.
4.
ft-mr4
ft-mr5
f_6210_ecbu_bugfix_0220
pd_gbr_bugfix_0214
http://wikicentral.cisco.com/display/PROJECT/N5K+CCA+Rollout
Pull out LBT out of desired tag. Please refer http://and-sw-web.cisco.com/twiki/bin/view/Build/LinkedTreeFaq for details
Make required code changes
Unit test code changes
Run 'cca list' to get Commit criteria
cca list [-man] [-help] [-xml] [-branch I<branch>] [-tasks I<task,...>] [-types <action_type,...>]
[-xml] [-long] [-criteria] [-refresh] [-wab_ws]
5. Run 'cca exec' or 'cca exec -tasks <specify task names if only subset of criteria to be run>'
cca execute [-man] [-help]
cca exec has 2 modes:
and-sw-bl64-119:>cca list
CCA V4.7
Info: Collecting the workspace details for 'ft-mr5, sanos'. This may take some time...
Info: This devline is supported by BPMN Workflow Engine...
Info: Using bugid 'CSCun33640' stored in cca
Info: bugid CSCun33640 information:
Headline:
Dummy bug for CCA testing
Status:
A
Engineer:
karagraw
Product:
n7k-infra
Component:
sw-build
Info: By default CCA will be run for the integration branch/devline 'ft-mr5'
Info: Checking for branch state...
Commit criteria task list for ft-mr5,sanos in view context 'REL_6_2_10_FM_0_7':
task: build4_titanium
cmd: cca build -task build4_titanium -images "titanium_d1,titanium_d1_kickstart" -enclosure_name "build-output-titanium"
task: build1_n7k_sup1
cmd: cca build -task build1_n7k_sup1 - images "n7000_s1_dk9,n7000_s1_kickstart" -enclosure_name "build-output-sup1"
task: build2_n7k_sup2
cmd: cca build -task build2_n7k_sup2 - images "n7000_s2_dk9,n7000_s2_kickstart" -enclosure_name "build-output-sup2"
task: build3_n7700
cmd: cca build -task build3_n7700 -images "n7700_s2_dk9,n7700_s2_kickstart" -enclosure_name "build-output-n7700"
task_type: optional
task: n7k_sup2_sanity
cmd: cca sanity -task n7k_sup2_sanity - submitjob -script "/auto/dc3/bin/dcos-xsf3-v2-eth -test sup2 -FCoE no" -test_images
"n7000_s2_dk9,n7000_s2_kickstart" -pass_criteria baseline_comparison -enclosure_name "sup2_sanity"
task: titanium_sanity
cmd: cca sanity -task titanium_sanity - submitjob -script "/auto/dc3/bin/dcos-rek9-titanium -test all" -test_images
"titanium_d1,titanium_d1_kickstart" -pass_criteria baseline_comparison -enclosure_name "titanium_sanity"
We can also do module based builds using CCA to which will take lesser time in comparison to fullimage builds.
Ex:
and-sw-bl64-140:>cca exec -modules vdc_mgr -bug <>
CCA V4.7
Info: Collecting the workspace details for 'ft-mr5, sanos'. This may take some time...
Info: Collecting the changeset info for 'ft-mr5, sanos'. This may take some time...
Info: This devline is supported by BPMN Workflow Engine...
Info: By default CCA will be run for the integration branch/devline 'ft-mr5'
Info: Checking for branch state...
WARNING: You have specified the module build option by using '-modules'.
Pls ensure that your changes are only impacting the module(s) you have specified
and there are no changes that could impact other modules or global constants/functions
that would need a clean build.
Type 'yes' to proceed with module build.
Type 'no' to proceed with full build.
Type 'q|Q' to quit cca [For global code changes], and then do a manual clean of your workspace
and then run cca without the module option.
Enter your choice:yes
Info: Module build requested for this workspace: vdc_mgr
and-sw-bl64-119:>cca status
CCA V4.7
Info: Collecting the workspace details for 'ft-mr5, sanos'. This may take some time...
Info: Collecting the changeset info for 'ft-mr5, sanos'. This may take some time...
Info: This devline is supported by BPMN Workflow Engine...
Info: Using bugid 'CSCun33640' stored in cca
Commit approval
Once all the tasks are successfully executed and if the criterios are satisfied then "cca status" run would prompt for the commit approval to be
done. Please note that CCA does not do any commits by itself. Currently CCA sends out commit approval depending on the branches. That
means for different branches commit approval method is different. Currently commit approval is done through these methods,
*Auto-approve
Auto-approval of commit is done for branches on which the "auto-approve" tool is enabled. If the "auto-approve" is done, then Users can proceed
with the commit.
*Commit approval through mail
For branches on which neither "auto-approve" is enabled nor if they are throttle branches, a mail is sent to the the commit approvers requesting to
approve the commit. With this set-up the commit approvers are expected to approve the commit if the changes are acceptable and the approval
has to be done through the mail itself.
Limitations:
1. Currently CR task is only supported on 64bit machine. So its recommended to use 64 bit servers for running CCA.
2. As of now with cca ibuild only fullimage and module builds are supported. Module builds will internally do imaging_only.
For any issues you can open a case with cca support team - http://wwwin-swx.cisco.com/toolshelp/login.php
http://wikicentral.cisco.com/display/NRE/CCA+open+issues
http://wikicentral.cisco.com/display/PROJECT/CCA+build+speed+improvement+for+pf_dev1+builds#CCAbuildspeedimprovementforpf_dev1builds-Examplesand
http://wikicentral.cisco.com/display/WFLOW/CCA+DE+FAQs
eARMS baselining
http://wikicentral.cisco.com/display/GROUP/eARMS+4.3+-+Baseline+Feature
Open issues:
http://wikicentral.cisco.com/display/NRE/CCA+open+issues