12-07-2020 09:37 PM
Hi Team,
We have a test environment in docker based Alpine Linux with YDK 0.5.5 installed in it. When I am trying to upgrade to YDK 0.8.4, observing error with installing dependent system requirement of http://ydk.cisco.com/py/docs/getting_started.html
Could you please clarify the feasibility of updating YDK in Alpine Linux?
Also it will be helpful if you can help with docker based installation guide.
Alpine Linux info:
bash-5.0# cat /etc/os-release
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.12.0
PRETTY_NAME="Alpine Linux v3.12"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://bugs.alpinelinux.org/"
Python version: 3.6.12
Error while installing packages:
bash-5.0# RUN apk update && apk add --no-cache gcc libffi-dev g++ python-dev build-base linux-headers postgresql-dev postgresql-contrib pcre-dev bash alpine-sdk jpeg-dev zlib-dev && pip install wheel
bash: RUN: command not found
bash-5.0# apk update && apk add --no-cache gcc libffi-dev g++ python-dev build-base linux-headers postgresql-dev postgresql-contrib pcre-dev bash alpine-sdk jpeg-dev zlib-dev && pip install wheel
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz
v3.12.1-74-g54165f73d3 [http://dl-cdn.alpinelinux.org/alpine/v3.12/main]
v3.12.1-77-g2535715f9a [http://dl-cdn.alpinelinux.org/alpine/v3.12/community]
OK: 12745 distinct packages available
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz
ERROR: unsatisfiable constraints:
python-dev (missing):
required by: world[python-dev]
bash-5.0# apk add --no-cache python-dev
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz
ERROR: unsatisfiable constraints:
python-dev (missing):
required by: world[python-dev]
bash-5.0# vi /etc/apk/repositories
bash-5.0# apk add --no-cache python-dev
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz
fetch http://dl-8.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
WARNING: Ignoring http://dl-8.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz: operation timed out
ERROR: unsatisfiable constraints:
python-dev (missing):
required by: world[python-dev]
Thanks,
Kousalya
12-08-2020 10:06 AM
The Alpine Linux has never been supported in YDK software. As I know, it is not officially supported by Cisco IT either. Therefore I would suggest to switch your testing platform to RHEL-7 or CentOS-7 platform/docker. Corresponding installation Wiki pages are available on Cisco internal website.
Regarding error that you are facing. The Python2 (python-dev) has been deprecated and most likely is not available anymore in software repositories. Try to install Python3.
12-09-2020 10:14 PM
Hi Yan,
Thanks for the reply.
One of my team in Cisco have created Alpine Linux based docker and installed YDK0.5.5 in the environment. Since Alpine is light weight based docker and it is used for our framework. I am trying to upgrade YDK0.8.4 in the same environment.
As you mentioned above, i will try with pythion3. One more query is whether only for YDK > 0.7.3 or 0.8.4 we have all these system dependency?
Please correct me if i am wrong, if version YDK0.5.5 installation is possible in Alpine Linux, whether we will be able to update latest YDK in same environment?
Thanks,
Kousalya
12-10-2020 10:10 AM
Hi Kousalya
The YDK releases 0.5.5 and 0.8.4 are very much different, built on different paradigms. The 0.5.5 is pure Python software, whereas 0.8.4 - multi language software based on C++. In 0.8.4 the Python user API programmed as a wrapper for C++ core. That makes the 0.8.4 installation more complex as it has more dependencies from 3rd party software. Considering that difference you need to understand your upgrade objections and related challenges.
The YDK-0.8.4 does not use platform kernel commands, it is just API set to help programmer build programmability applications. From that prospectives I believe you can install the YDK on any platform. It is obvious that you will not be able to use prebuilt components, which were targeted only for supported platforms. But I am sure you will be able to install YDK software from source.
Please note that since 0.8.4 there were multiple bug fixes and new release 0.8.5 not officially released. If you go the upgrade route, I would suggest not to waist time and go for the latest release. You can clone the 0.8.5 release from this repository.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide