Skip to content

Commit

Permalink
use local yangmodels/openconfig (if present) instead of github
Browse files Browse the repository at this point in the history
  • Loading branch information
olofhagsand committed Sep 29, 2023
1 parent 794a17c commit 06d8e85
Show file tree
Hide file tree
Showing 9 changed files with 58 additions and 39 deletions.
16 changes: 7 additions & 9 deletions docker/test/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -44,17 +44,13 @@ RUN apk add --update net-snmp net-snmp-dev

# Checkout standard YANG models for tests (note >1G for full repo)
RUN mkdir -p /usr/local/share/yang

WORKDIR /usr/local/share/yang
COPY yang .

RUN git config --global init.defaultBranch master
RUN git init;
RUN git remote add -f origin https://github.com/YangModels/yang;
RUN git config core.sparseCheckout true
RUN echo "standard/" >> .git/info/sparse-checkout
RUN echo "experimental/" >> .git/info/sparse-checkout

RUN git pull origin main
# Checkout OPENCONFIG YANG models for tests
RUN mkdir -p /usr/local/share/openconfig
WORKDIR /usr/local/share/openconfig
COPY openconfig .

# Create a directory to hold source-code, dependencies etc
RUN mkdir -p /clixon/build
Expand Down Expand Up @@ -126,7 +122,9 @@ RUN adduser -D -H clicon

COPY --from=0 /clixon/build/ /
COPY --from=0 /usr/local/share/yang/ /usr/local/share/yang/
COPY --from=0 /usr/local/share/openconfig/* /usr/local/share/openconfig/
COPY --from=0 /usr/local/share/mib-yangs/* /usr/local/share/mib-yangs/
COPY --from=0 /clixon/build/mibs/* /usr/share/snmp/mibs/

# Log to stderr.
CMD /usr/local/bin/startsystem.sh
17 changes: 4 additions & 13 deletions docker/test/Dockerfile.fcgi
Original file line number Diff line number Diff line change
Expand Up @@ -43,23 +43,13 @@ RUN apk add --update net-snmp net-snmp-dev

# Checkout standard YANG models for tests (note >1G for full repo)
RUN mkdir -p /usr/local/share/yang

WORKDIR /usr/local/share/yang
COPY yang .

RUN git config --global init.defaultBranch master
RUN git init
RUN git remote add -f origin https://github.com/YangModels/yang
RUN git config core.sparseCheckout true
RUN echo "standard/" >> .git/info/sparse-checkout
RUN echo "experimental/" >> .git/info/sparse-checkout

RUN git pull origin main

# Checkout OPENCONFIG YANG models for tests
RUN mkdir -p /usr/local/share/openconfig
WORKDIR /usr/local/share/openconfig

# Checkut Openconfig models for tests
RUN git clone https://github.com/openconfig/public
COPY openconfig .

# Create a directory to hold source-code, dependencies etc
RUN mkdir -p /clixon/build
Expand Down Expand Up @@ -156,6 +146,7 @@ RUN adduser www-data clicon

COPY --from=0 /clixon/build/ /
COPY --from=0 /usr/local/share/yang/ /usr/local/share/yang/
COPY --from=0 /usr/local/share/openconfig/* /usr/local/share/openconfig/
COPY --from=0 /usr/local/share/mib-yangs/* /usr/local/share/mib-yangs/
COPY --from=0 /clixon/build/mibs/* /usr/share/snmp/mibs/

Expand Down
16 changes: 3 additions & 13 deletions docker/test/Dockerfile.native
Original file line number Diff line number Diff line change
Expand Up @@ -46,23 +46,13 @@ RUN apk add --update net-snmp net-snmp-dev

# Checkout standard YANG models for tests (note >1G for full repo)
RUN mkdir -p /usr/local/share/yang

WORKDIR /usr/local/share/yang
COPY yang .

RUN git config --global init.defaultBranch master
RUN git init
RUN git remote add -f origin https://github.com/YangModels/yang
RUN git config core.sparseCheckout true
RUN echo "standard/" >> .git/info/sparse-checkout
RUN echo "experimental/" >> .git/info/sparse-checkout

RUN git pull origin main

# Checkout OPENCONFIG YANG models for tests
RUN mkdir -p /usr/local/share/openconfig
WORKDIR /usr/local/share/openconfig

# Checkut Openconfig models for tests
RUN git clone https://github.com/openconfig/public
COPY openconfig .

# Create a directory to hold source-code, dependencies etc
RUN mkdir -p /clixon/build
Expand Down
10 changes: 8 additions & 2 deletions docker/test/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -66,12 +66,18 @@ clixon:
git clone file://$(realpath ${top_srcdir})

clean:
rm -rf clixon # clone of top-srcdir
rm -rf clixon yang openconfig

distclean: clean
rm -f Makefile *~ .depend

docker: clixon $(DOCKERFILE)
yang:
./getyang.sh

openconfig:
./getopenconfig.sh

docker: clixon yang openconfig $(DOCKERFILE)
sudo docker build -f $(DOCKERFILE) -t $(IMG) $(DOCKERFLAGS) .

push:
Expand Down
14 changes: 14 additions & 0 deletions docker/test/getopenconfig.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/usr/bin/env bash
# Script to get openconfig, either from local installation, or from remote
# This is an optimization from always getting it from github inside the dockerfile
if [ -d openconfig ]; then
rm -rf openconfig
fi
mkdir -p openconfig

if [ -d /usr/local/share/openconfig ]; then
cp -R /usr/local/share/openconfig openconfig/
else
(cd openconfig && git clone https://github.com/openconfig/public)
fi

19 changes: 19 additions & 0 deletions docker/test/getyang.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/usr/bin/env bash
# Script to get yangmodels, either from local installation, or from remote
# This is an optimization from always getting it from github inside the dockerfile
if [ -d yang ]; then
rm -rf yang
fi
mkdir -p yang/standard
if [ -d /usr/local/share/yang/standard ]; then
cp -R /usr/local/share/yang/standard yang/
else
cd yang
git init
git remote add -f origin https://github.com/YangModels/yang
git config core.sparseCheckout true
echo "standard/" >> .git/info/sparse-checkout
echo "experimental/" >> .git/info/sparse-checkout
git pull origin main
fi

1 change: 1 addition & 0 deletions docker/test/startsystem.sh
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ EOF
# Patch to override YANG_INSTALLDIRS
cat <<EOF >> /usr/local/bin/test/config.sh
YANG_INSTALLDIR=/usr/local/share/clixon
OPENCONFIG=/usr/local/share/openconfig/public
EOF

# Patch yang syntax errors
Expand Down
2 changes: 1 addition & 1 deletion docker/test/startsystem_fcgi.sh
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ EOF
# Patch to override YANG_INSTALLDIRS
cat <<EOF >> /usr/local/bin/test/config.sh
YANG_INSTALLDIR=/usr/local/share/clixon
OPENCONFIG=/usr/local/share/openconfig
OPENCONFIG=/usr/local/share/openconfig/public
EOF

# Patch yang syntax errors
Expand Down
2 changes: 1 addition & 1 deletion docker/test/startsystem_native.sh
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ EOF
# Patch to override YANG_INSTALLDIRS
cat <<EOF >> /usr/local/bin/test/config.sh
YANG_INSTALLDIR=/usr/local/share/clixon
OPENCONFIG=/usr/local/share/openconfig
OPENCONFIG=/usr/local/share/openconfig/public
EOF

# Patch yang syntax errors
Expand Down

0 comments on commit 06d8e85

Please sign in to comment.