16fd76f44f9d766728b467a37d875025d6eb5a16
[releng.git] / jjb / genesis / genesis-fuel.yml
1 ########################
2 # Job configuration for genesis/fuel
3 ########################
4 - project:
5
6     name: genesis-fuel
7
8     project: 'genesis'
9
10     installer: 'fuel'
11
12     jobs:
13         - 'genesis-fuel-verify-build-{stream}'
14         - 'genesis-fuel-merge-{stream}'
15         - 'genesis-fuel-daily-{stream}'
16         - 'genesis-fuel-build-{stream}'
17         - 'genesis-fuel-deploy-{stream}'
18         - 'genesis-fuel-deploy-runner-{stream}'
19         - 'genesis-fuel-lab-reconfig-{stream}'
20         - 'genesis-fuel-verify-deploy-virtual-{stream}'
21
22     # stream:    branch with - in place of / (eg. stable-arno)
23     # branch:    branch (eg. stable/arno)
24     stream:
25         - master:
26             branch: 'master'
27             gs-pathname: ''
28             disabled: true
29         - stable-arno:
30             branch: 'stable/arno'
31             gs-pathname: '/arno'
32             disabled: false
33
34 ########################
35 # job templates
36 ########################
37
38 - job-template:
39     name: 'genesis-fuel-verify-build-{stream}'
40
41     project-type: freestyle
42
43     node: ericsson-build
44
45     concurrent: true
46
47     properties:
48         - throttle:
49             enabled: true
50             max-total: 3
51
52     logrotate:
53         daysToKeep: 30
54         numToKeep: 10
55         artifactDaysToKeep: -1
56         artifactNumToKeep: -1
57
58     parameters:
59         - project-parameter:
60             project: '{project}'
61         - gerrit-parameter:
62             branch: '{branch}'
63         - fuel-parameter:
64             installer: '{installer}'
65             gs-pathname: '{gs-pathname}'
66
67     scm:
68         - gerrit-trigger-scm:
69             credentials-id: '{ssh-credentials}'
70             refspec: '$GERRIT_REFSPEC'
71             choosing-strategy: 'gerrit'
72
73     wrappers:
74         - ssh-agent-credentials:
75             user: '{ssh-credentials}'
76
77     triggers:
78         - gerrit:
79             trigger-on:
80                 - patchset-created-event:
81                     exclude-drafts: 'false'
82                     exclude-trivial-rebase: 'false'
83                     exclude-no-code-change: 'false'
84                 - draft-published-event
85                 - comment-added-contains-event:
86                     comment-contains-value: 'recheck'
87                 - comment-added-contains-event:
88                     comment-contains-value: 'reverify'
89             projects:
90               - project-compare-type: 'ANT'
91                 project-pattern: 'genesis'
92                 branches:
93                   - branch-compare-type: 'ANT'
94                     branch-pattern: '**/{branch}'
95                 file-paths:
96                   - compare-type: ANT
97                     pattern: 'common/ci/**'
98                   - compare-type: ANT
99                     pattern: 'common/manifests/**'
100                   - compare-type: ANT
101                     pattern: 'common/puppet-opnfv/**'
102                   - compare-type: ANT
103                     pattern: 'common/tools/**'
104                   - compare-type: ANT
105                     pattern: '{installer}/build/**'
106                   - compare-type: ANT
107                     pattern: '{installer}/ci/**'
108                   - compare-type: ANT
109                     pattern: '{installer}/deploy/**'
110                   - compare-type: ANT
111                     pattern: '{installer}/include/**'
112                   - compare-type: ANT
113                     pattern: '{installer}/prototypes/**'
114                 forbidden-file-paths:
115                   - compare-type: ANT
116                     pattern: 'common/docs/**'
117                   - compare-type: ANT
118                     pattern: '{installer}/docs/**'
119
120     builders:
121         - 'fuel-build'
122         - 'fuel-workspace-cleanup'
123
124 - job-template:
125     name: 'genesis-fuel-merge-{stream}'
126
127     project-type: freestyle
128
129     node: ericsson-build
130
131     concurrent: true
132
133     properties:
134         - throttle:
135             enabled: true
136             max-total: 2
137
138     logrotate:
139         daysToKeep: 30
140         numToKeep: 40
141         artifactDaysToKeep: -1
142         artifactNumToKeep: 5
143
144     parameters:
145         - project-parameter:
146             project: '{project}'
147         - gerrit-parameter:
148             branch: '{branch}'
149         - fuel-parameter:
150             installer: '{installer}'
151             gs-pathname: ''
152
153     scm:
154         - gerrit-trigger-scm:
155             credentials-id: '{ssh-credentials}'
156             refspec: ''
157             choosing-strategy: 'default'
158
159     wrappers:
160         - ssh-agent-credentials:
161             user: '{ssh-credentials}'
162
163     triggers:
164         - gerrit:
165             trigger-on:
166                 - change-merged-event
167                 - comment-added-contains-event:
168                     comment-contains-value: 'remerge'
169             projects:
170               - project-compare-type: 'ANT'
171                 project-pattern: 'genesis'
172                 branches:
173                   - branch-compare-type: 'ANT'
174                     branch-pattern: '**/{branch}'
175                 file-paths:
176                   - compare-type: ANT
177                     pattern: 'common/ci/**'
178                   - compare-type: ANT
179                     pattern: 'common/manifests/**'
180                   - compare-type: ANT
181                     pattern: 'common/puppet-opnfv/**'
182                   - compare-type: ANT
183                     pattern: 'common/tools/**'
184                   - compare-type: ANT
185                     pattern: '{installer}/build/**'
186                   - compare-type: ANT
187                     pattern: '{installer}/ci/**'
188                   - compare-type: ANT
189                     pattern: '{installer}/deploy/**'
190                   - compare-type: ANT
191                     pattern: '{installer}/include/**'
192                   - compare-type: ANT
193                     pattern: '{installer}/prototypes/**'
194                 forbidden-file-paths:
195                   - compare-type: ANT
196                     pattern: 'common/docs/**'
197                   - compare-type: ANT
198                     pattern: '{installer}/docs/**'
199
200     builders:
201         - 'fuel-build'
202         - 'fuel-workspace-cleanup'
203
204 - job-template:
205     name: 'genesis-fuel-daily-{stream}'
206
207     project-type: freestyle
208
209     node: ericsson-build
210
211     disabled: '{obj:disabled}'
212
213     triggers:
214         - 'fuel-{stream}'
215
216     parameters:
217         - project-parameter:
218             project: '{project}'
219         - fuel-parameter:
220             installer: '{installer}'
221             gs-pathname: '{gs-pathname}'
222
223     scm:
224         - git-scm:
225             credentials-id: '{ssh-credentials}'
226             refspec: ''
227             branch: '{branch}'
228
229     logrotate:
230         daysToKeep: 30
231         numToKeep: 10
232         artifactDaysToKeep: -1
233         artifactNumToKeep: -1
234
235     builders:
236         - trigger-builds:
237           - project: 'genesis-fuel-build-{stream}'
238             git-revision: true
239             block: true
240         - trigger-builds:
241           - project: 'genesis-fuel-lab-reconfig-{stream}'
242             git-revision: true
243             block: true
244         - trigger-builds:
245           - project: 'genesis-fuel-deploy-{stream}'
246             git-revision: true
247             block: true
248         - trigger-builds:
249           - project: 'functest-fuel-{stream}'
250             block: true
251             block-thresholds:
252                 build-step-failure-threshold: 'never'
253                 failure-threshold: 'never'
254                 unstable-threshold: 'FAILURE'
255         # - trigger-builds:
256           # - project: 'yardstick-fuel-{stream}'
257             # block: true
258             # block-thresholds:
259                 # build-step-failure-threshold: 'never'
260                 # failure-threshold: 'never'
261                 # unstable-threshold: 'FAILURE'
262
263     publishers:
264         - trigger-parameterized-builds:
265             - project: 'genesis-foreman-daily-{stream}'
266
267 - job-template:
268     name: 'genesis-fuel-deploy-runner-{stream}'
269
270     project-type: freestyle
271
272     disabled: false
273
274     node: master
275
276     logrotate:
277         daysToKeep: 30
278         numToKeep: 10
279         artifactDaysToKeep: -1
280         artifactNumToKeep: -1
281
282     parameters:
283         - project-parameter:
284             project: '{project}'
285         - fuel-parameter:
286             installer: '{installer}'
287             gs-pathname: '{gs-pathname}'
288         - string:
289             name: GIT_BASE
290             default: ssh://gerrit.opnfv.org:29418/$PROJECT
291             description: "Used for overriding the GIT URL coming from parameters macro."
292
293     scm:
294         - git-scm:
295             credentials-id: '{ssh-credentials}'
296             refspec: ''
297             branch: '{branch}'
298
299     properties:
300         - build-blocker:
301             use-build-blocker: true
302             blocking-jobs:
303                 - "genesis-foreman-daily.*"
304                 - "genesis-foreman-deploy-runner-{stream}"
305                 - "genesis-fuel-daily.*"
306
307     builders:
308         - 'fuel-lab-reconfig'
309         - trigger-builds:
310           - project: 'genesis-fuel-deploy-{stream}'
311             git-revision: true
312             block: true
313
314 - job-template:
315     name: 'genesis-fuel-build-{stream}'
316
317     project-type: freestyle
318
319     node: ericsson-build
320
321     logrotate:
322         daysToKeep: 30
323         numToKeep: 10
324         artifactDaysToKeep: -1
325         artifactNumToKeep: -1
326
327     parameters:
328         - project-parameter:
329             project: '{project}'
330         - fuel-parameter:
331             installer: '{installer}'
332             gs-pathname: '{gs-pathname}'
333
334     scm:
335         - git-scm:
336             credentials-id: '{ssh-credentials}'
337             refspec: ''
338             branch: '{branch}'
339
340     builders:
341         - 'fuel-build'
342         - 'fuel-upload-artifact'
343         - 'fuel-workspace-cleanup'
344
345     publishers:
346         - email:
347             recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
348
349 - job-template:
350     name: 'genesis-fuel-deploy-{stream}'
351
352     project-type: freestyle
353
354     disabled: false
355
356     node: opnfv-jump-2
357
358     parameters:
359         - project-parameter:
360             project: '{project}'
361         - fuel-parameter:
362             installer: '{installer}'
363             gs-pathname: '{gs-pathname}'
364         - string:
365             name: GIT_BASE
366             default: ssh://gerrit.opnfv.org:29418/$PROJECT
367             description: "POD2 has some issues with cloning using https so that's why GIT_BASE is overriden here again."
368
369     scm:
370         - git-scm:
371             credentials-id: '{ssh-credentials}'
372             refspec: ''
373             branch: '{branch}'
374
375     logrotate:
376         daysToKeep: 30
377         numToKeep: 10
378         artifactDaysToKeep: -1
379         artifactNumToKeep: -1
380
381     builders:
382         - 'fuel-download-artifact'
383         - 'fuel-odl-plugin-build'
384         - 'fuel-deploy'
385
386     publishers:
387         - email:
388             recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
389
390 - job-template:
391     name: 'genesis-fuel-lab-reconfig-{stream}'
392
393     project-type: freestyle
394
395     disabled: false
396
397     node: master
398
399     logrotate:
400         daysToKeep: 30
401         numToKeep: 10
402         artifactDaysToKeep: -1
403         artifactNumToKeep: -1
404
405     parameters:
406         - project-parameter:
407             project: '{project}'
408         - fuel-parameter:
409             installer: '{installer}'
410             gs-pathname: '{gs-pathname}'
411         - string:
412             name: GIT_BASE
413             default: ssh://gerrit.opnfv.org:29418/$PROJECT
414             description: "Used for overriding the GIT URL coming from parameters macro."
415
416     scm:
417         - git-scm:
418             credentials-id: '{ssh-credentials}'
419             refspec: ''
420             branch: '{branch}'
421
422     properties:
423         - build-blocker:
424             use-build-blocker: true
425             blocking-jobs:
426                 - "genesis-foreman-daily.*"
427
428     builders:
429         - 'fuel-lab-reconfig'
430
431 - job-template:
432     name: 'genesis-fuel-verify-deploy-virtual-{stream}'
433
434     project-type: freestyle
435
436     disabled: true
437
438     node: ericsson-build
439
440     parameters:
441         - project-parameter:
442             project: '{project}'
443         - fuel-parameter:
444             installer: '{installer}'
445             gs-pathname: ''
446
447     scm:
448         - git-scm:
449             credentials-id: '{ssh-credentials}'
450             refspec: ''
451             branch: 'master'
452
453     logrotate:
454         daysToKeep: 30
455         numToKeep: 10
456         artifactDaysToKeep: -1
457         artifactNumToKeep: -1
458
459     builders:
460         - 'fuel-deploy-virtual'
461
462 ########################
463 # parameter macros
464 ########################
465 - parameter:
466     name: fuel-parameter
467     parameters:
468         - string:
469             name: INSTALLER
470             default: '{installer}'
471             description: "Installer to use."
472         - string:
473             name: BUILD_DIRECTORY
474             default: $WORKSPACE/build_output
475             description: "Directory where the build artifact will be located upon the completion of the build."
476         - string:
477             name: CACHE_DIRECTORY
478             default: $HOME/opnfv/cache/genesis-$INSTALLER
479             description: "Directory where the cache to be used during the build is located."
480         - string:
481             name: GIT_BASE
482             default: https://gerrit.opnfv.org/gerrit/$PROJECT
483             description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
484         - string:
485             name: GS_URL
486             default: artifacts.opnfv.org/$PROJECT/$INSTALLER{gs-pathname}
487             description: "URL to Google Storage."
488
489 ########################
490 # builder macros
491 ########################
492 - builder:
493     name: 'fuel-build'
494     builders:
495         - shell: |
496             #!/bin/bash
497             set -o errexit
498             set -o nounset
499             set -o pipefail
500
501             # log info to console
502             echo "Starting the build of $INSTALLER. This could take some time..."
503             echo "--------------------------------------------------------"
504             echo
505
506             # create the cache directory if it doesn't exist
507             [[ -d $CACHE_DIRECTORY ]] || mkdir -p $CACHE_DIRECTORY
508
509             # set OPNFV_ARTIFACT_VERSION
510             export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d_%H-%M-%S")
511
512             # start the build
513             cd $WORKSPACE/$INSTALLER/ci
514             ./build.sh -v $OPNFV_ARTIFACT_VERSION -c file://$CACHE_DIRECTORY $BUILD_DIRECTORY
515
516             # list the build artifacts
517             ls -al $BUILD_DIRECTORY
518
519             # save information regarding artifact into file
520             (
521                 echo "OPNFV_ARTIFACT_VERSION=$OPNFV_ARTIFACT_VERSION"
522                 echo "OPNFV_GIT_URL=$(git config --get remote.origin.url)"
523                 echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)"
524                 echo "OPNFV_ARTIFACT_URL=$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso"
525                 echo "OPNFV_ARTIFACT_MD5SUM=$(md5sum $BUILD_DIRECTORY/opnfv-$OPNFV_ARTIFACT_VERSION.iso | cut -d' ' -f1)"
526                 echo "OPNFV_BUILD_URL=$BUILD_URL"
527             ) > $WORKSPACE/opnfv.properties
528
529             echo
530             echo "--------------------------------------------------------"
531             echo "Done!"
532
533 - builder:
534     name: 'fuel-odl-plugin-build'
535     builders:
536         - shell: |
537             #!/bin/bash
538             set -o errexit
539             set -o nounset
540             set -o pipefail
541
542             # install dependencies if they are not available already
543             if [[ ! $(rpm -qa | grep rubygems) ]]; then
544                 echo "Rubygems not found, but required for Fuel Plugin build ... attempting to install"
545                 sudo yum install -y rubygems ruby-devel
546             fi
547
548             if [[ ! $(gem list | grep fpm) ]]; then
549                 echo "fpm gem not found, but required for Fuel Plugin build ... attempting to install"
550                 sudo gem install fpm
551             fi
552
553             if [[ ! $(pip list | grep fuel-plugin-builder) ]]; then
554                 echo "fuel-plugin-builder not found, but required for Fuel Plugin build ... attempting to install"
555                 sudo pip install fuel-plugin-builder
556             fi
557
558             # log info to console
559             echo "Starting the build of Fuel Opendaylight Plugin. This could take some time..."
560             echo "--------------------------------------------------------"
561             echo
562
563             export ODL_PLUGIN_BRANCH="juno/lithium-sr1"
564
565             cd $WORKSPACE
566             git clone https://github.com/stackforge/fuel-plugin-opendaylight
567
568             pushd $WORKSPACE/fuel-plugin-opendaylight
569             git checkout $ODL_PLUGIN_BRANCH
570             popd
571
572             fpb --build fuel-plugin-opendaylight/
573
574             echo
575             echo "--------------------------------------------------------"
576             echo "Done!"
577
578 - builder:
579     name: 'fuel-deploy'
580     builders:
581         - shell: |
582             #!/bin/bash
583             set -o errexit
584             set -o nounset
585             set -o pipefail
586
587             # source the file so we get OPNFV vars
588             source latest.properties
589
590             # echo the info about artifact that is used during the deployment
591             echo "Using $(echo $OPNFV_ARTIFACT_URL | cut -d'/' -f4) for deployment"
592
593             # create TMPDIR if it doesn't exist
594             export TMPDIR=$HOME/tmpdir
595             [[ -d $TMPDIR ]] || mkdir -p $TMPDIR
596
597             # change permissions down to TMPDIR
598             chmod a+x $HOME
599             chmod a+x $TMPDIR
600
601             # set CONFDIR, BRIDGE
602             export CONFDIR=$WORKSPACE/fuel/deploy/templates/hardware_environment/conf/linux_foundation_lab/pod2
603             export BRIDGE=pxebr
604             export PLUGIN=$WORKSPACE/fuel-plugin-opendaylight
605
606             # cleanup first
607             sudo $WORKSPACE/common/ci/clean.sh -base_config $WORKSPACE/foreman/ci/inventory/lf_pod2_ksgen_settings.yml
608
609             # prepare for Fuel Deployment
610             sudo $WORKSPACE/common/ci/setup.sh
611
612             # log info to console
613             echo "Starting the deployment using $INSTALLER. This could take some time..."
614             echo "--------------------------------------------------------"
615             echo
616
617             # start the deployment
618             echo "Issuing command"
619             echo "sudo $WORKSPACE/fuel/ci/deploy.sh -iso $WORKSPACE/opnfv.iso -dea $CONFDIR/dea.yaml -dha $CONFDIR/dha.yaml -s $TMPDIR -b $BRIDGE -p $PLUGIN -nh"
620             sudo $WORKSPACE/fuel/ci/deploy.sh -iso $WORKSPACE/opnfv.iso -dea $CONFDIR/dea.yaml -dha $CONFDIR/dha.yaml -s $TMPDIR -b $BRIDGE -p $PLUGIN -nh
621
622             echo
623             echo "--------------------------------------------------------"
624             echo "Done!"
625
626 - builder:
627     name: 'fuel-deploy-virtual'
628     builders:
629         - shell: |
630             #!/bin/bash
631             set -o errexit
632             set -o nounset
633             set -o pipefail
634
635             # log info to console
636             echo "Starting the deployment on virtual environment using $INSTALLER. This could take some time..."
637             echo "--------------------------------------------------------"
638             echo
639
640             ssh -o BatchMode=yes -o TCPKeepAlive=yes cideploy@10.118.34.205 ./cideploy.sh
641
642             echo
643             echo "--------------------------------------------------------"
644             echo "Done!"
645
646 - builder:
647     name: 'fuel-upload-artifact'
648     builders:
649         - shell: |
650             #!/bin/bash
651             set -o errexit
652             set -o nounset
653             set -o pipefail
654
655             # log info to console
656             echo "Uploading the $INSTALLER artifact. This could take some time..."
657             echo "--------------------------------------------------------"
658             echo
659
660             # source the opnfv.properties to get ARTIFACT_VERSION
661             source $WORKSPACE/opnfv.properties
662
663             # upload artifact and additional files to google storage
664             gsutil cp $BUILD_DIRECTORY/opnfv-$OPNFV_ARTIFACT_VERSION.iso gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso > gsutil.iso.log 2>&1
665             gsutil cp $WORKSPACE/opnfv.properties gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.properties > gsutil.properties.log 2>&1
666             gsutil cp $WORKSPACE/opnfv.properties gs://$GS_URL/latest.properties > gsutil.latest.log 2>&1
667
668             echo
669             echo "--------------------------------------------------------"
670             echo "Done!"
671             echo "Artifact is available as http://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso"
672
673 - builder:
674     name: 'fuel-download-artifact'
675     builders:
676         - shell: |
677             #!/bin/bash
678             set -o errexit
679             set -o nounset
680             set -o pipefail
681
682             # get the latest.properties file in order to get info regarding latest artifact
683             curl -s -o $WORKSPACE/latest.properties http://$GS_URL/latest.properties
684
685             # check if we got the file
686             [[ -f latest.properties ]] || exit 1
687
688             # source the file so we get OPNFV vars
689             source latest.properties
690
691             # log info to console
692             echo "Downloading the $INSTALLER artifact using URL http://$OPNFV_ARTIFACT_URL"
693             echo "This could take some time..."
694             echo "--------------------------------------------------------"
695             echo
696
697             # download the file
698             curl -s -o $WORKSPACE/opnfv.iso http://$OPNFV_ARTIFACT_URL > gsutil.iso.log 2>&1
699
700             # list the file
701             ls -al $WORKSPACE/opnfv.iso
702
703             echo
704             echo "--------------------------------------------------------"
705             echo "Done!"
706
707 - builder:
708     name: 'fuel-workspace-cleanup'
709     builders:
710         - shell: |
711             #!/bin/bash
712             set -o errexit
713             set -o nounset
714             set -o pipefail
715
716             # delete everything that is in $WORKSPACE
717             /bin/rm -rf $WORKSPACE
718
719 - builder:
720     name: 'fuel-lab-reconfig'
721     builders:
722         - shell: |
723             #!/bin/bash
724             set -o errexit
725             set -o nounset
726             set -o pipefail
727
728             # check to see if ucs login info file exists
729             if [ -e ~/.ssh/ucs_creds ];then
730               source ~/.ssh/ucs_creds
731             else
732               echo "Unable to find UCS credentials for LF lab reconfiguration...Exiting"
733               exit 1
734             fi
735
736             # clone releng
737             echo "Cloning releng repo..."
738             if ! GIT_SSL_NO_VERIFY=true git clone https://gerrit.opnfv.org/gerrit/releng; then
739               echo "Unable to clone releng repo...Exiting"
740               exit 1
741             fi
742
743             # log info to console
744             echo "Starting the lab reconfiguration for $INSTALLER..."
745             echo "--------------------------------------------------------"
746             echo
747
748             # create venv
749             $WORKSPACE/releng/utils/lab-reconfiguration/create_venv.sh
750
751             # disable nounset because 'activate' script contains unbound variable(s)
752             set +o nounset
753             # enter venv
754             source $WORKSPACE/releng/utils/lab-reconfiguration/venv/bin/activate
755             # set nounset back again
756             set -o nounset
757
758             # verify we are in venv
759             if [[ ! $(which python | grep venv) ]]; then
760               echo "Unable to activate venv...Exiting"
761               exit 1
762             fi
763
764             python $WORKSPACE/releng/utils/lab-reconfiguration/reconfigUcsNet.py -i $ucs_host -u $ucs_user -p $ucs_password -f $WORKSPACE/releng/utils/lab-reconfiguration/fuel.yaml
765
766             # while undergoing reboot
767             sleep 30
768
769             # check to see if slave is back up
770             ping_counter=0
771             ping_flag=0
772             while [ "$ping_counter" -lt 20 ]; do
773               if [[ $(ping -c 5 172.30.10.72) ]]; then
774                 ping_flag=1
775                 break
776               fi
777               ((ping_counter++))
778               sleep 10
779             done
780
781             if [ "$ping_flag" -eq 1 ]; then
782               echo "Slave is pingable, now wait 180 seconds for services to start"
783               sleep 180
784             else
785               echo "Slave did not come back up after reboot: please check opnfv-jump-2"
786               exit 1
787             fi
788
789             set +o nounset
790             deactivate
791
792             echo
793             echo "--------------------------------------------------------"
794             echo "Done!"
795
796 ########################
797 # trigger macros
798 ########################
799 - trigger:
800     name: 'fuel-master'
801     triggers:
802         - timed: '0 5 * * *'
803
804 - trigger:
805     name: 'fuel-stable-arno'
806     triggers:
807         - timed: '0 7 * * *'