diff options
-rw-r--r-- | Jenkinsfile | 32 | ||||
-rwxr-xr-x | data/live-build-config/includes.chroot/etc/vmware-tools/scripts/resume-vm-default.d/ether-resume.py | 60 | ||||
-rw-r--r-- | docker/Dockerfile | 49 | ||||
-rw-r--r-- | docker/Dockerfile-arm64 | 2 | ||||
-rw-r--r-- | docker/Dockerfile-armhf | 2 | ||||
m--------- | packages/vyatta-bash | 0 | ||||
-rw-r--r-- | tools/dell/vep4600/10-eth1-001.link | 2 | ||||
-rw-r--r-- | tools/dell/vep4600/10-eth2-001.link | 2 | ||||
-rw-r--r-- | tools/dell/vep4600/10-unused0-001.link | 2 | ||||
-rw-r--r-- | tools/dell/vep4600/10-unused1-001.link | 2 |
10 files changed, 124 insertions, 29 deletions
diff --git a/Jenkinsfile b/Jenkinsfile index 2abfa282..6f4190ee 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -62,19 +62,39 @@ def setDescription() { item.save() } -/* Only keep the 10 most recent builds. */ +// Only keep the 10 most recent builds def projectProperties = [ - [$class: 'BuildDiscarderProperty',strategy: [$class: 'LogRotator', numToKeepStr: '1']], + [$class: 'BuildDiscarderProperty',strategy: [$class: 'LogRotator', numToKeepStr: '10']], ] properties(projectProperties) setDescription() +// Due to long build times on DockerHub we rather build the container by ourself +// and publish it later on. +node('Docker') { + stage('Build Container') { + script { + git branch: getGitBranchName(), + url: getGitRepoURL() + + // create container name on demand + env.DOCKER_IMAGE = "vyos/vyos-build:" + getGitBranchName() + sh "docker build -t ${env.DOCKER_IMAGE} docker" + withDockerRegistry([credentialsId: "DockerHub"]) { + sh "docker push ${env.DOCKER_IMAGE}" + } + } + } +} + pipeline { options { + skipDefaultCheckout() disableConcurrentBuilds() timeout(time: 90, unit: 'MINUTES') parallelsAlwaysFailFast() + timestamps() } triggers { cron('H 2 * * *') @@ -87,21 +107,17 @@ pipeline { } } stages { - stage('Configure') { + stage('Build ISO') { steps { script { def commitId = sh(returnStdout: true, script: 'git rev-parse --short=11 HEAD').trim() currentBuild.description = sprintf('Git SHA1: %s', commitId[-11..-1]) sh './configure --build-by autobuild@vyos.net --debian-mirror http://ftp.us.debian.org/debian/' + sh 'sudo make iso' } } } - stage('Build') { - steps { - sh 'sudo make iso' - } - } } post { cleanup { diff --git a/data/live-build-config/includes.chroot/etc/vmware-tools/scripts/resume-vm-default.d/ether-resume.py b/data/live-build-config/includes.chroot/etc/vmware-tools/scripts/resume-vm-default.d/ether-resume.py new file mode 100755 index 00000000..72da317f --- /dev/null +++ b/data/live-build-config/includes.chroot/etc/vmware-tools/scripts/resume-vm-default.d/ether-resume.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python3 +# +# Copyright (C) 2018-2020 VyOS maintainers and contributors +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 or later as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +import sys +import subprocess +import syslog as sl + +from vyos.config import Config +from vyos.util import vyos + +def get_config(): + c = Config() + interfaces = dict() + for intf in c.list_effective_nodes('interfaces ethernet'): + # skip interfaces that are disabled or is configured for dhcp + check_disable = "interfaces ethernet {} disable".format(intf) + check_dhcp = "interfaces ethernet {} address dhcp".format(intf) + if c.exists_effective(check_disable) or c.exists_effective(check_dhcp): + continue + + # get addresses configured on the interface + intf_addresses = c.return_effective_values( + "interfaces ethernet {} address".format(intf) + ) + interfaces[intf] = [addr.strip("'") for addr in intf_addresses] + return interfaces + +def apply(config): + for intf, addresses in config.items(): + # bring the interface up + cmd = ["ip", "link", "set", "dev", intf, "up"] + sl.syslog(sl.LOG_NOTICE, " ".join(cmd)) + subprocess.call(cmd) + + # add configured addresses to interface + for addr in addresses: + cmd = ["ip", "address", "add", addr, "dev", intf] + sl.syslog(sl.LOG_NOTICE, " ".join(cmd)) + subprocess.call(cmd) + +if __name__ == '__main__': + try: + config = get_config() + apply(config) + except vyos.ConfigError as e: + print(e) + sys.exit(1) diff --git a/docker/Dockerfile b/docker/Dockerfile index 34733195..9ff9281e 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -25,6 +25,8 @@ ENV DEBIAN_FRONTEND noninteractive RUN echo "dash dash/sh boolean false" | debconf-set-selections && \ dpkg-reconfigure dash +RUN echo -e 'APT::Install-Recommends "0";\nAPT::Install-Suggests "0";' > /etc/apt/apt.conf.d/01norecommends + RUN apt-get update && apt-get install -y \ dialog \ apt-utils \ @@ -37,15 +39,14 @@ RUN apt-get update && apt-get install -y \ vim \ git \ curl \ - make \ sudo \ mc \ + build-essential \ pbuilder \ devscripts \ squashfs-tools \ autoconf \ automake \ - dpkg-dev \ syslinux \ genisoimage \ lsb-release \ @@ -65,6 +66,9 @@ RUN apt-get update && apt-get install -y \ python3-pystache \ pkg-config \ debhelper \ + libssl-dev \ + libssl1.0.0 \ + openssh-client \ jq # @@ -94,9 +98,11 @@ RUN rm -f /etc/apt/sources.list.d/jessie-backports.list \ # RUN apt-get update && apt-get install -y \ libffi-dev \ - libpcre3-dev + libpcre3-dev \ + unzip -RUN curl https://raw.githubusercontent.com/ocaml/opam/2.0.2/shell/install.sh --output /tmp/opam_install.sh && \ +RUN curl https://raw.githubusercontent.com/ocaml/opam/2.0.2/shell/install.sh \ + --output /tmp/opam_install.sh --retry 10 --retry-delay 5 && \ sed -i 's/read BINDIR/BINDIR=""/' /tmp/opam_install.sh && sh /tmp/opam_install.sh && \ opam init --root=/opt/opam --comp=4.08.0 --disable-sandboxing @@ -121,9 +127,25 @@ RUN eval $(opam env --root=/opt/opam --set-root) && \ # Packages needed for vyatta-cfg RUN apt-get update && apt-get install -y \ + autotools-dev \ libglib2.0-dev \ + libboost-filesystem-dev \ + libapt-pkg-dev \ + libtool \ + flex \ + bison \ libperl-dev \ - libboost-filesystem-dev + autoconf \ + automake \ + pkg-config \ + cpio + +# Packages needed for vyatta-cfg-firewall +RUN apt-get update && apt-get install -y \ + autotools-dev \ + autoconf \ + automake \ + cpio # Packages needed for vyatta-iproute RUN apt-get update && apt-get install -y \ @@ -142,6 +164,7 @@ RUN apt-get update && apt-get install -y \ # Packages needed for pmacct RUN apt-get update && apt-get install -y \ libpcap-dev \ + libssl-dev \ libpq-dev \ libmysqlclient-dev \ libgeoip-dev \ @@ -150,21 +173,15 @@ RUN apt-get update && apt-get install -y \ librdkafka-dev \ libnetfilter-log-dev -# Pavkages needed for wireguard -RUN apt-get update && apt-get install -y \ - libmnl-dev - # Packages needed for kernel RUN apt-get update && apt-get install -y \ + libmnl-dev \ kernel-package \ libncurses5-dev \ flex \ bison \ libelf-dev \ - dkms - -# Packages needed for Accel-ppp -RUN apt-get update && apt-get install -y \ + dkms \ cdbs \ cmake \ liblua5.2-dev @@ -172,7 +189,7 @@ RUN apt-get update && apt-get install -y \ # Packages needed for vyos-qat RUN apt-get update && apt-get install -y \ libboost-dev \ - libudev-dev + libudev-dev # Prerequisites for building rtrlib # see http://docs.frrouting.org/projects/dev-guide/en/latest/building-frr-for-debian8.html @@ -194,7 +211,7 @@ RUN export RTRLIB_VERSION="0.6.3" && \ # COPY vyos-dev.key /tmp/vyos-dev.key RUN apt-key add /tmp/vyos-dev.key -RUN echo "deb http://dev.packages.vyos.net/repositories/current/debian/ current main" \ +RUN echo "deb http://dev.packages.vyos.net/repositories/crux/debian/ crux main" \ > /etc/apt/sources.list.d/vyos.list # Packages needed to build frr itself @@ -231,6 +248,7 @@ RUN apt-get update && apt-get install -y \ # Packages needed for vyos-1x RUN apt-get update && apt-get install -y \ + fakeroot \ whois # Packages needed for vyos-xe-guest-utilities @@ -275,6 +293,7 @@ RUN apt-get update && apt-get install -y \ dh-apparmor \ gperf \ libsystemd-dev \ + python3-all \ python3-stdeb \ python-setuptools diff --git a/docker/Dockerfile-arm64 b/docker/Dockerfile-arm64 index 9625058b..f04a5806 100644 --- a/docker/Dockerfile-arm64 +++ b/docker/Dockerfile-arm64 @@ -209,7 +209,7 @@ RUN export RTRLIB_VERSION="0.6.3" && \ # COPY vyos-dev.key /tmp/vyos-dev.key RUN apt-key add /tmp/vyos-dev.key -RUN echo "deb http://dev.packages.vyos.net/repositories/current/debian/ current main" \ +RUN echo "deb http://dev.packages.vyos.net/repositories/crux/debian/ crux main" \ > /etc/apt/sources.list.d/vyos.list # Packages needed to build frr itself diff --git a/docker/Dockerfile-armhf b/docker/Dockerfile-armhf index 71b5b8bf..514b3acc 100644 --- a/docker/Dockerfile-armhf +++ b/docker/Dockerfile-armhf @@ -211,7 +211,7 @@ RUN export RTRLIB_VERSION="0.6.3" && \ # COPY vyos-dev.key /tmp/vyos-dev.key RUN apt-key add /tmp/vyos-dev.key -RUN echo "deb http://dev.packages.vyos.net/repositories/current/debian/ current main" \ +RUN echo "deb http://dev.packages.vyos.net/repositories/crux/debian/ crux main" \ > /etc/apt/sources.list.d/vyos.list # Packages needed to build frr itself diff --git a/packages/vyatta-bash b/packages/vyatta-bash -Subproject 001f9b1a9bd2b307bca94510ce05bc067e34f84 +Subproject f69d4c9913897fd257bba34314f83b270249035 diff --git a/tools/dell/vep4600/10-eth1-001.link b/tools/dell/vep4600/10-eth1-001.link index f7af410b..c32e5e86 100644 --- a/tools/dell/vep4600/10-eth1-001.link +++ b/tools/dell/vep4600/10-eth1-001.link @@ -1,5 +1,5 @@ [Match] -Path=pci-0000:b6:00.2 +Path=pci-0000:b6:00.0 Driver=i40e [Link] diff --git a/tools/dell/vep4600/10-eth2-001.link b/tools/dell/vep4600/10-eth2-001.link index c92406b9..4ff72387 100644 --- a/tools/dell/vep4600/10-eth2-001.link +++ b/tools/dell/vep4600/10-eth2-001.link @@ -1,5 +1,5 @@ [Match] -Path=pci-0000:b6:00.3 +Path=pci-0000:b6:00.1 Driver=i40e [Link] diff --git a/tools/dell/vep4600/10-unused0-001.link b/tools/dell/vep4600/10-unused0-001.link index 8cec8534..e9014fb0 100644 --- a/tools/dell/vep4600/10-unused0-001.link +++ b/tools/dell/vep4600/10-unused0-001.link @@ -1,5 +1,5 @@ [Match] -Path=pci-0000:b6:00.0 +Path=pci-0000:b6:00.2 Driver=i40e [Link] diff --git a/tools/dell/vep4600/10-unused1-001.link b/tools/dell/vep4600/10-unused1-001.link index 8d4a4890..de906fcf 100644 --- a/tools/dell/vep4600/10-unused1-001.link +++ b/tools/dell/vep4600/10-unused1-001.link @@ -1,5 +1,5 @@ [Match] -Path=pci-0000:b6:00.1 +Path=pci-0000:b6:00.3 Driver=i40e [Link] |