From: Vanessa Rene Valderrama Date: Thu, 12 Jan 2017 20:03:24 +0000 (+0000) Subject: Merge "Prepare necessary CSIT jobs for VPP 1701 branch (CIMANAGE-19)" X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=f6aa774a98755df06ad7decdec644fbe5e01108d;hp=19c854f3b5f22b0880da2d624673929edf7e415d;p=ci-management.git Merge "Prepare necessary CSIT jobs for VPP 1701 branch (CIMANAGE-19)" --- diff --git a/jjb/ci-management/ci-management-jobs.yaml b/jjb/ci-management/ci-management-jobs.yaml index 226d77f91..24fa255af 100644 --- a/jjb/ci-management/ci-management-jobs.yaml +++ b/jjb/ci-management/ci-management-jobs.yaml @@ -48,6 +48,9 @@ - archive-artifacts: artifacts: 'job_output/*' + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' + - job-template: name: 'ci-management-merge-jjb' @@ -85,6 +88,10 @@ jenkins-jobs --version jenkins-jobs update --recursive --delete-old --workers 4 jjb/ + publishers: + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' + - job-template: name: ci-management-verify-zuul diff --git a/jjb/csit/csit-vpp-pylint.yaml b/jjb/csit/csit-vpp-pylint.yaml index 0915643e1..565d1426d 100644 --- a/jjb/csit/csit-vpp-pylint.yaml +++ b/jjb/csit/csit-vpp-pylint.yaml @@ -65,3 +65,5 @@ max: 250 unstable: 250 pattern: 'pylint.log' + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' diff --git a/jjb/csit/csit.yaml b/jjb/csit/csit.yaml index f3f44687c..734749872 100644 --- a/jjb/csit/csit.yaml +++ b/jjb/csit/csit.yaml @@ -3,6 +3,7 @@ description: 'CSIT jenkins jobs.' jobs: + - 'csit-dpdk-perf-{stream}-{type}' - 'csit-vpp-perf-{stream}-{type}' - 'csit-vpp-functional-{stream}-virl' - 'csit-vpp-verify-{stream_timed}-weekly' @@ -86,6 +87,60 @@ - robot-report: output-path: '' + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' + +- job-template: + name: 'csit-dpdk-perf-{stream}-{type}' + + project-type: freestyle + node: ubuntu1604-basebuild-4c-4g + concurrent: false + + logrotate: + daysToKeep: '{build-days-to-keep}' + numToKeep: '{build-num-to-keep}' + artifactDaysToKeep: '{build-artifact-days-to-keep}' + artifactNumToKeep: '{build-artifact-num-to-keep}' + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - type-parameter: + type: '{type}' + + scm: + - gerrit-trigger-scm: + credentials-id: 'jenkins-gerrit-credentials' + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + + wrappers: + - fdio-infra-wrappers-non-activity-timeout: + build-timeout: 30 + + triggers: + - gerrit-trigger-manually-triggered: + name: '{project}' + branch: '{branch}' + comment-trigger-value: 'verify-perf-dpdk-{type}' + + builders: + - shell: + !include-raw-escape: jjb/csit/include-raw-csit-dpdk-perf-hw.sh + + publishers: + - archive-artifacts: + artifacts: 'report.html, log.html, output.xml, output_perf_data.xml' + latest-only: false + + - robot-report: + output-path: '' + + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' - job-template: name: 'csit-vpp-perf-{stream}-{type}' @@ -270,6 +325,8 @@ xpath-type: 'nodeset' xpath: '//*[@framesize="78" and contains(@tags,"PDR") and @workerthreads="4"]' + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' - job-template: name: 'csit-vpp-verify-{stream_timed}-weekly' @@ -329,6 +386,8 @@ remote: origin name: 'refs/heads/{branch-id}-$DATE' + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' - job-template: name: 'csit-vpp-verify-{stream_timed}-semiweekly' @@ -377,6 +436,8 @@ - robot-report: output-path: 'csit/archive' + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' - job-template: name: 'csit-vpp-verify-perf-master-nightly-all' @@ -554,6 +615,8 @@ xpath-type: 'nodeset' xpath: '//*[@framesize="78" and contains(@tags,"PDR") and @workerthreads="4"]' + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' - job-template: name: 'csit-docs-verify-{stream}' @@ -615,6 +678,8 @@ only-if-success: true default-excludes: false + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' - job-template: name: 'csit-docs-merge-{stream}' @@ -640,8 +705,8 @@ scm: - gerrit-trigger-scm: credentials-id: 'jenkins-gerrit-credentials' - refspec: '$GERRIT_REFSPEC' - choosing-strategy: 'gerrit' + refspec: '' + choosing-strategy: 'default' wrappers: - fdio-infra-wrappers: @@ -651,12 +716,19 @@ triggers: - reverse: - jobs: 'csit-vpp-verify-master-weekly' + jobs: 'csit-vpp-verify-{stream}-weekly' result: 'success' - gerrit: + server-name: 'Primary' trigger-on: - comment-added-contains-event: comment-contains-value: 'run-docs' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' skip-vote: successful: true failed: true @@ -685,6 +757,8 @@ only-if-success: true default-excludes: false + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' - parameter: name: test-type-parameter diff --git a/jjb/csit/include-raw-csit-dpdk-perf-hw.sh b/jjb/csit/include-raw-csit-dpdk-perf-hw.sh new file mode 100644 index 000000000..4b513fb97 --- /dev/null +++ b/jjb/csit/include-raw-csit-dpdk-perf-hw.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +export TEST_TAG="PERFTEST_${TYPE^^}" + +# execute csit bootstrap script if it exists +if [ ! -e bootstrap-verify-perf-DPDK.sh ] +then + echo 'ERROR: No bootstrap-verify-perf-DPDK.sh found' + exit 1 +fi + +# make sure that bootstrap-verify-perf.sh is executable +chmod +x bootstrap-verify-perf-DPDK.sh +# run the script +./bootstrap-verify-perf-DPDK.sh *.deb + +# vim: ts=4 ts=4 sts=4 et : diff --git a/jjb/deb_dpdk/deb_dpdk.yaml b/jjb/deb_dpdk/deb_dpdk.yaml index 08040e2c1..62d55a531 100644 --- a/jjb/deb_dpdk/deb_dpdk.yaml +++ b/jjb/deb_dpdk/deb_dpdk.yaml @@ -62,6 +62,10 @@ !include-raw-escape: - include-raw-deb_dpdk-build.sh + publishers: + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' + - job-template: name: 'deb_dpdk-verify-image-{stream}-{os}' @@ -118,6 +122,10 @@ !include-raw-escape: - include-raw-deb_dpdk-build.sh + publishers: + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' + - job-template: name: 'deb_dpdk-merge-{stream}-{os}' @@ -180,3 +188,7 @@ - include-raw-deb_dpdk-build.sh - ../scripts/maven_push_functions.sh - include-raw-deb_dpdk-pkg-push.sh + + publishers: + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' diff --git a/jjb/global-macros.yaml b/jjb/global-macros.yaml index 8601fa8d8..f3171a9a9 100644 --- a/jjb/global-macros.yaml +++ b/jjb/global-macros.yaml @@ -282,6 +282,37 @@ output-path: '{output-path}' other-files: '' +- publisher: + name: fdio-infra-shiplogs + # To archive things, the job will need to create an "archives" directory in + # the workspace and this macro will handle copying the contents of the + # archives directory. + # + # Uses the build parameter ARCHIVE_ARTIFACTS if not empty to find files to + # archive. You can pass globstar patterns for example "**/*.xml **/*.log" as + # the archive pattern. This is a space separated list of files to archive. + # + # Also ensure that the workspace is cleaned up at the end of the build. + publishers: + - postbuildscript: + builders: + - shell: !include-raw: include-raw-deploy-archives.sh + - maven-target: + maven-version: '{maven-version}' + pom: '.archives/deploy-archives.xml' + goals: 'clean deploy -V -B -q -Dmaven.repo.local=/tmp/r' + settings: 'jenkins-log-archives-settings' + settings-type: cfp + global-settings: 'global-settings' + global-settings-type: cfp + - description-setter: + regexp: '^Build logs: .*' + script-only-if-succeeded: false + script-only-if-failed: false + mark-unstable-if-failed: true + - workspace-cleanup: + fail-build: false + ###### BUILDERS - builder: name: ci-management-check-unicode diff --git a/jjb/hc2vpp/hc2vpp.yaml b/jjb/hc2vpp/hc2vpp.yaml index c5581d532..3c8a3dc5e 100644 --- a/jjb/hc2vpp/hc2vpp.yaml +++ b/jjb/hc2vpp/hc2vpp.yaml @@ -20,6 +20,9 @@ - master: branch: 'master' repo-stream-part: 'master' + - '1701': + branch: 'stable/1701' + repo-stream-part: 'stable.1701' - job-template: name: 'hc2vpp-verify-{stream}-{os}' @@ -73,6 +76,8 @@ publishers: - email-notification: email-prefix: '[hc2vpp]' + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' - job-template: name: 'hc2vpp-verify-image-{stream}-{os}' @@ -139,6 +144,8 @@ publishers: - email-notification: email-prefix: '[hc2vpp]' + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' - job-template: name: 'hc2vpp-merge-{stream}-{os}' @@ -202,6 +209,8 @@ branch: '{stream}' - email-notification: email-prefix: '[hc2vpp]' + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' - job-template: name: 'hc2vpp-integration-{stream}-{os}' @@ -285,3 +294,5 @@ id: '' unique-version: true deploy-unstable: false + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' diff --git a/jjb/honeycomb/honeycomb.yaml b/jjb/honeycomb/honeycomb.yaml index 699eeb805..5f53c7a17 100644 --- a/jjb/honeycomb/honeycomb.yaml +++ b/jjb/honeycomb/honeycomb.yaml @@ -16,6 +16,9 @@ - '1609': branch: 'stable/1609' repo-stream-part: 'stable.1609' + - '1701': + branch: 'stable/1701' + repo-stream-part: 'stable.1701' - job-template: name: 'honeycomb-verify-{stream}-{os}' @@ -69,6 +72,8 @@ publishers: - email-notification: email-prefix: '[honeycomb]' + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' - job-template: name: 'honeycomb-merge-{stream}-{os}' @@ -148,6 +153,8 @@ id: '' unique-version: true deploy-unstable: false + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' - job-template: name: 'honeycomb-benchmark-master' @@ -214,7 +221,6 @@ format: 'csv' inclusion-flag: 'include-by-string' exclude: 'persistence=true freq=1,persistence=true freq=10,persistence=false freq=1,persistence=false freq=10' - - plot: - title: 'Infrastructure CFG write benchmark (list-in-container)' yaxis: 'ops/second' csv-file-name: 'list-in-container.csv' @@ -229,7 +235,6 @@ format: 'csv' inclusion-flag: 'include-by-string' exclude: 'persistence=true freq=1,persistence=true freq=10,persistence=false freq=1,persistence=false freq=10' - - plot: - title: 'Infrastructure CFG write benchmark (complex-list-in-container)' yaxis: 'ops/second' csv-file-name: 'complex-list-in-container.csv' @@ -244,7 +249,6 @@ format: 'csv' inclusion-flag: 'include-by-string' exclude: 'persistence=true freq=1,persistence=true freq=10,persistence=false freq=1,persistence=false freq=10' - - plot: - title: 'Infrastructure CFG read benchmark' yaxis: 'ops/second' csv-file-name: 'operational-read.csv' @@ -259,3 +263,5 @@ format: 'csv' inclusion-flag: 'include-by-string' exclude: 'simple-container,list-in-container,complex-list-in-container' + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' diff --git a/jjb/include-raw-deploy-archives.sh b/jjb/include-raw-deploy-archives.sh new file mode 100644 index 000000000..dd8daebcf --- /dev/null +++ b/jjb/include-raw-deploy-archives.sh @@ -0,0 +1,106 @@ +#!/bin/bash + +set +e # Do not affect the build result if some part of archiving fails. + +ARCHIVES_DIR="$JENKINS_HOSTNAME/$JOB_NAME/$BUILD_NUMBER" +[ "$LOGS_SERVER" ] || LOGS_SERVER="https://logs.fd.io" +[ "$LOGS_REPO_URL" ] || LOGS_REPO_URL="https://nexus.fd.io/service/local/repositories/logs" + +echo "Build logs: $LOGS_SERVER/$SILO/$ARCHIVES_DIR" + +mkdir .archives +cd .archives/ + +cat > deploy-archives.xml < + 4.0.0 + logs + logs + 1.0.0 + pom + + + + + org.apache.maven.plugins + maven-deploy-plugin + 2.8.2 + + true + + + + org.sonatype.plugins + maven-upload-plugin + 0.0.1 + + + publish-site + deploy + + upload-file + + + fdioproject-log-archives + $LOGS_REPO_URL/content-compressed + archives.zip + $SILO + + + + + + + +EOF + +mkdir -p $ARCHIVES_DIR +mkdir -p $WORKSPACE/archives +if [ ! -z "${{ARCHIVE_ARTIFACTS}}" ]; then + pushd $WORKSPACE + shopt -s globstar # Enable globstar to copy archives + archive_artifacts=$(echo ${{ARCHIVE_ARTIFACTS}}) + for f in $archive_artifacts; do + echo "Archiving $f" + mkdir -p $WORKSPACE/archives/$(dirname $f) + mv $f $WORKSPACE/archives/$f + done + shopt -u globstar # Disable globstar once archives are copied + popd +fi + + +# Ignore logging if archives doesn't exist +mv $WORKSPACE/archives/ $ARCHIVES_DIR > /dev/null 2>&1 +touch $ARCHIVES_DIR/_build-details.txt +echo "build-url: ${{BUILD_URL}}" >> $ARCHIVES_DIR/_build-details.txt +env > $ARCHIVES_DIR/_build-enviroment-variables.txt + +# capture system info +touch $ARCHIVES_DIR/_sys-info.txt +{{ + echo -e "uname -a:\n `uname -a` \n" + echo -e "df -h:\n `df -h` \n" + echo -e "free -m:\n `free -m` \n" + echo -e "nproc:\n `nproc` \n" + echo -e "lscpu:\n `lscpu` \n" + echo -e "ip addr:\n `/sbin/ip addr` \n" +}} 2>&1 | tee -a $ARCHIVES_DIR/_sys-info.txt + +# Magic string used to trim console logs at the appropriate level during wget +echo "-----END_OF_BUILD-----" +wget -O $ARCHIVES_DIR/console.log ${{BUILD_URL}}consoleText +wget -O $ARCHIVES_DIR/console-timestamp.log ${{BUILD_URL}}/timestamps?time=HH:mm:ss\&appendLog +sed -i '/^-----END_OF_BUILD-----$/,$d' $ARCHIVES_DIR/console.log +sed -i '/^.*-----END_OF_BUILD-----$/,$d' $ARCHIVES_DIR/console-timestamp.log + +gzip $ARCHIVES_DIR/*.txt $ARCHIVES_DIR/*.log +# find and gzip any 'text' files +find $ARCHIVES_DIR -type f -print0 \ + | xargs -0r file \ + | egrep -e ':.*text.*' \ + | cut -d: -f1 \ + | xargs -d'\n' -r gzip + +zip -r archives.zip $JENKINS_HOSTNAME/ +du -sh archives.zip diff --git a/jjb/nsh_sfc/nsh_sfc.yaml b/jjb/nsh_sfc/nsh_sfc.yaml index 7b72b4dcf..5cf4fbbdd 100644 --- a/jjb/nsh_sfc/nsh_sfc.yaml +++ b/jjb/nsh_sfc/nsh_sfc.yaml @@ -89,6 +89,10 @@ - include-raw-nsh_sfc-build.sh - ../scripts/cleanup_vpp_plugin_dev_env.sh + publishers: + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' + - job-template: name: 'nsh_sfc-verify-image-{stream}-{os}' @@ -166,6 +170,9 @@ - ../scripts/setup_vpp_plugin_dev_env.sh - include-raw-nsh_sfc-build.sh - ../scripts/cleanup_vpp_plugin_dev_env.sh + publishers: + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' - job-template: name: 'nsh_sfc-merge-{stream}-{os}' @@ -231,6 +238,10 @@ - include-raw-nsh_sfc-build.sh - ../scripts/cleanup_vpp_plugin_dev_env.sh + publishers: + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' + - job-template: name: 'nsh_sfc-integration-{stream}-{os}' @@ -298,6 +309,10 @@ - ../scripts/maven_push_functions.sh - include-raw-nsh_sfc-pkg-push.sh + publishers: + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' + - job-template: name: 'nsh_sfc-verify-docs-{stream}' @@ -350,8 +365,9 @@ - shell: !include-raw-escape: include-raw-nsh_sfc-docs.sh - - + publishers: + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' - job-template: name: 'nsh_sfc-merge-docs-{stream}' @@ -420,3 +436,7 @@ global-settings-file: 'global-settings' - shell: !include-raw-escape: include-raw-nsh_sfc-docs.sh + + publishers: + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' diff --git a/jjb/puppet-fdio/puppet-fdio.yaml b/jjb/puppet-fdio/puppet-fdio.yaml index 378c8c04a..fe7c2f5f9 100644 --- a/jjb/puppet-fdio/puppet-fdio.yaml +++ b/jjb/puppet-fdio/puppet-fdio.yaml @@ -109,3 +109,7 @@ ./scripts/prepare-node.sh ./scripts/allow-local-ssh-root.sh ./scripts/ci-beaker.sh {os} + + publishers: + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' diff --git a/jjb/rpm_dpdk/rpm_dpdk.yaml b/jjb/rpm_dpdk/rpm_dpdk.yaml index 06b214524..aa11677e4 100644 --- a/jjb/rpm_dpdk/rpm_dpdk.yaml +++ b/jjb/rpm_dpdk/rpm_dpdk.yaml @@ -57,6 +57,10 @@ !include-raw-escape: - include-raw-rpm_dpdk-pkg-build.sh + publishers: + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' + - job-template: name: 'rpm_dpdk-verify-image-{stream}-{os}' @@ -112,6 +116,9 @@ - shell: !include-raw-escape: - include-raw-rpm_dpdk-pkg-build.sh + publishers: + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' - job-template: name: 'rpm_dpdk-merge-{stream}-{os}' @@ -172,3 +179,7 @@ - include-raw-rpm_dpdk-pkg-build.sh - include-raw-rpm_dpdk-pkg-push.sh + publishers: + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' + diff --git a/jjb/tldk/tldk.yaml b/jjb/tldk/tldk.yaml index 270e136fa..1b9610502 100644 --- a/jjb/tldk/tldk.yaml +++ b/jjb/tldk/tldk.yaml @@ -54,6 +54,10 @@ - shell: !include-raw-escape: include-raw-build.sh + publishers: + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' + - job-template: name: '{project}-verify-image-{stream}-{os}' @@ -107,6 +111,10 @@ - shell: !include-raw-escape: include-raw-build.sh + publishers: + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' + - job-template: name: '{project}-merge-{stream}-{os}' @@ -145,3 +153,7 @@ builders: - shell: !include-raw-escape: include-raw-build.sh + + publishers: + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' diff --git a/jjb/trex/trex.yaml b/jjb/trex/trex.yaml index 71af5849d..4b7d7b54a 100644 --- a/jjb/trex/trex.yaml +++ b/jjb/trex/trex.yaml @@ -55,6 +55,10 @@ - shell: !include-raw-escape: include-raw-trex-build.sh + publishers: + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' + - job-template: name: 'trex-merge-{stream}-{os}' @@ -95,4 +99,6 @@ - shell: !include-raw-escape: include-raw-trex-build.sh - + publishers: + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' diff --git a/jjb/vpp/vpp.yaml b/jjb/vpp/vpp.yaml index e0e8b43fd..406ae3aa3 100644 --- a/jjb/vpp/vpp.yaml +++ b/jjb/vpp/vpp.yaml @@ -112,6 +112,8 @@ fingerprint: false only-if-success: true default-excludes: false + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' - job-template: name: 'vpp-verify-image-{stream}-{os}' @@ -168,6 +170,10 @@ - shell: !include-raw-escape: include-raw-vpp-build.sh + publishers: + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' + - job-template: name: 'vpp-merge-{stream}-{os}' @@ -235,6 +241,8 @@ fingerprint: false only-if-success: true default-excludes: false + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' - job-template: name: 'vpp-csit-verify-virl-{stream}' @@ -290,6 +298,9 @@ - robot-report: output-path: 'csit' + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' + - job-template: name: 'vpp-csit-verify-hw-perf-{stream}-{type}' @@ -345,6 +356,9 @@ - robot-report: output-path: 'csit' + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' + - parameter: name: type-parameter @@ -412,6 +426,8 @@ fingerprint: false only-if-success: true default-excludes: false + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' - job-template: name: 'vpp-docs-merge-{stream}' @@ -487,3 +503,5 @@ fingerprint: false only-if-success: true default-excludes: false + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' diff --git a/packer/provision/basebuild/.dummy b/packer/provision/basebuild/.dummy new file mode 100644 index 000000000..e69de29bb diff --git a/packer/provision/baseline.sh b/packer/provision/baseline.sh index 36783554d..e33821cb4 100644 --- a/packer/provision/baseline.sh +++ b/packer/provision/baseline.sh @@ -120,6 +120,18 @@ EOF # make sure that we still default to openjdk 7 update-alternatives --set java /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java update-alternatives --set javac /usr/lib/jvm/java-7-openjdk-amd64/bin/javac + + # disable unattended upgrades & daily updates + echo '---> Disabling automatic daily upgrades' + apt-get remove unattended-upgrades + if [ -f /usr/bin/systemctl ] + then + systemctl stop apt.systemd.daily + systemctl disable apt.systemd.daily + else + /etc/init.d/unattended-upgrades stop + update-rc.d -f unattended-upgrades remove + fi } all_systems() {