Forums

Resolved
0 votes
Invested some free time in finding out if Kimchi is running on CentOS 8. :)


OS —> Centos 8 minimal server install


Install WOK (framework for Kimchi)


sudo dnf install -y python3-pip

- DEVELOPMENT DEPENDENCIES

sudo dnf install -y gcc make autoconf automake git python3-pip python3-requests python3-mock gettext-devel rpm-build libxslt gcc-c++ python3-devel python3-pep8 python3-pyflakes rpmlint python3-pyyaml

Not in CentOS 8 repo:

Python3-mock ———————-??????
Python3-pep8 ————————??????
Python3-pyflakes —> epel

- RUNTIME DEPENDENCIES

sudo dnf install -y systemd logrotate python3-psutil python3-ldap python3-lxml python3-websockify python3-jsonschema openssl nginx python3-cherrypy python3-cheetah python3-pam python3-m2crypto gettext-devel

Not in CentOS 8 repo:

Python3-psutil —> epel
Python3-Websockify —————————???????
Python3-cherrypy —————————— ???????
Python3-cheetah —> epel
Python3-pam — epel
Python3-m2crypto —> epel


- BUILD AND INSTALL

./autogen.sh —system

make

make install ???


- First start WOK:

Errors when trying to start WOK (missing Python3-cherrypy).


- Installed Epel repo on CentOS 8 to find missing dependencies. Not succeeded… (see above).


- INSTALL KIMCHI

- Not tried to build and install Kimchi because of the WOK build issues.





So we also have a problem on CentOS 8. Certain Python 3 packages are not available (not in the CentOS or Epel repos). See my findings in the above quote.
Saturday, February 01 2020, 03:12 PM
Share this post:
Responses (11)
  • Accepted Answer

    Saturday, February 01 2020, 03:31 PM - #Permalink
    Resolved
    0 votes
    during installation you install Python3-pip and I now realise pip is a package manager for Python. If I do "pip3 list cherrypy" (because Python3-cherrypy was missing during the WOK install) I'll get a list of the following py modules:


    asn1crypto (0.24.0)
    cffi (1.11.5)
    chardet (3.0.4)
    configobj (5.0.6)
    cryptography (2.3)
    dbus-python (1.2.4)
    decorator (4.2.1)
    gpg (1.10.0)
    html5lib (0.999999999)
    idna (2.5)
    jsonschema (2.6.0)
    lxml (4.2.3)
    netifaces (0.10.6)
    pciutils (2.3.6)
    perf (0.1)
    pip (9.0.3)
    ply (3.9)
    pyasn1 (0.3.7)
    pyasn1-modules (0.1.5)
    pycparser (2.14)
    pygobject (3.28.3)
    pyOpenSSL (18.0.0)
    PySocks (1.6.8)
    python-dateutil (2.6.1)
    python-dmidecode (3.12.2)
    python-ldap (3.1.0)
    python-linux-procfs (0.6)
    pyudev (0.21.0)
    PyYAML (3.12)
    requests (2.20.0)
    rhnlib (2.8.6)
    rpm (4.14.2)
    schedutils (0.6)
    selinux (2.9)
    setuptools (39.2.0)
    six (1.11.0)
    slip (0.6.4)
    slip.dbus (0.6.4)
    syspurpose (1.25.17)
    urllib3 (1.24.2)
    webencodings (0.5.1)


    Contains Python3-cherrypy the modules above????
    The reply is currently minimized Show
  • Accepted Answer

    Saturday, February 01 2020, 03:44 PM - #Permalink
    Resolved
    0 votes
    See my summary of progress with Kimchi/Wok 3.0 on ClearOS7 here. Cherrypi and websockify are available from pip:
    pip3 install websockify cherrypi
    The command in Centos could be pip rather than pip3. Personally I don't like mixing package managers. Also you may have to change the build sources to not require python3-cherrypi or python3-websockify if you have installed them with pip.

    I don't know dnf but I would search for packages with yum tryng to list packages with "yum list python*-cherrypi --enablerepo=*". In ClearOS7 some of the packages are python36 rather than python3.

    Ultimately Fedora may be the way to go rather than Centos8.
    The reply is currently minimized Show
  • Accepted Answer

    Saturday, February 01 2020, 04:08 PM - #Permalink
    Resolved
    0 votes
    Nick Howitt wrote:

    See my summary of progress with Kimchi/Wok 3.0 on ClearOS7 here. Cherrypi and websockify are available from pip:
    pip3 install websockify cherrypi
    The command in Centos could be pip rather than pip3. Personally I don't like mixing package managers. Also you may have to change the build sources to not require python3-cherrypi or python3-websockify if you have installed them with pip.


    Yes, I agree. It is pip3 in CentOS 8. I think pip is for old Python versions.

    I don't know dnf but I would search for packages with yum tryng to list packages with "yum list python*-cherrypi --enablerepo=*". In ClearOS7 some of the packages are python36 rather than python3.


    I already tried but good point.

    Ultimately Fedora may be the way to go rather than Centos8.


    Suggesting that we use Fedora as base distro for ClearOS? Personally I think a good idea. :)
    The reply is currently minimized Show
  • Accepted Answer

    Saturday, February 01 2020, 05:00 PM - #Permalink
    Resolved
    0 votes
    Marcel van van Leeuwen wrote:
    Suggesting that we use Fedora as base distro for ClearOS? Personally I think a good idea. :)

    Not stable enough and updating too often, or, at least, it may be stable but the constant requirement to upgrade would be an issue. They do provide upgrade tools but there would have to be constant re-testing of compatibility with ClearOS.
    The reply is currently minimized Show
  • Accepted Answer

    Sunday, February 02 2020, 03:12 AM - #Permalink
    Resolved
    0 votes
    Nick Howitt wrote:

    Marcel van van Leeuwen wrote:
    Suggesting that we use Fedora as base distro for ClearOS? Personally I think a good idea. :)

    Not stable enough and updating too often, or, at least, it may be stable but the constant requirement to upgrade would be an issue. They do provide upgrade tools but there would have to be constant re-testing of compatibility with ClearOS.


    I agree on CentOS is great server distro. Mainly because of its stability and long life cycle. On the other hand a quick release cycle has also benefits. You always have a newer packages but yes this can cost you your stability. I'm not sure how big the stability problem is. Also from what I've heard Fedora has a very active but small community. They fix things fast. If you look to Ubuntu it has LTS versions and I experience these version as very stable. It's a pity Fedora hasn't such version. The great thing of Ubuntu is their large community and lot of drivers.
    The reply is currently minimized Show
  • Accepted Answer

    Sunday, February 02 2020, 08:48 AM - #Permalink
    Resolved
    0 votes
    Marcel van van Leeuwen wrote:
    It's a pity Fedora hasn't such version.
    It's called RedHat .....
    The reply is currently minimized Show
  • Accepted Answer

    Sunday, February 02 2020, 10:08 AM - #Permalink
    Resolved
    0 votes
    Nick Howitt wrote:

    Marcel van van Leeuwen wrote:
    It's a pity Fedora hasn't such version.
    It's called RedHat .....


    Yes, true. Only I think the packages are older as on a Ubuntu LTS version. So a Fedora LTS (Long term support) still would be nice or a rolling Distro (OpenSUSU Tumbleweed)!
    The reply is currently minimized Show
  • Accepted Answer

    Wednesday, February 19 2020, 12:24 PM - #Permalink
    Resolved
    0 votes
    If you still have this set up, does python3-CherryPy exist? Note the capitalisation.
    The reply is currently minimized Show
  • Accepted Answer

    Wednesday, February 19 2020, 07:01 PM - #Permalink
    Resolved
    0 votes
    No it does not exists.

    python3-CherryPy


    Typed exactly your input.
    The reply is currently minimized Show
  • Accepted Answer

    Sunday, April 19 2020, 10:56 PM - #Permalink
    Resolved
    0 votes
    I spent some time with this over the weekend. Here are all of the development and runtime dependencies for Wok and Kimchi, as listed by the developers:

    DNF:
    autoconf automake gcc gcc-c++ gettext-devel git iscsi-initiator-utils libguestfs-tools libvirt libvirt-daemon-config-network libxslt make nfs-utils nginx novnc qemu-kvm rpm-build rpmlint sos spice-html5 python3-cheetah python3-cherrypy python3-configobj python3-devel python3-ethtool python3-jsonschema python3-ldap python3-libguestfs python3-libvirt python3-lxml python3-m2crypto python3-magic python3-mock python3-pam python3-paramiko python3-pep8 python3-pillow python3-pip python3-psutil python3-pyflakes python3-pyparted python3-pyyaml python3-requests python3-websockify

    PIP3:
    cython libsass pre-commit

    These dependencies are included in the base OS:
    logrotate openssl systemd 

    Starting from a base CentOS 8 minimal server install, here are the dependencies I could install natively:
    sudo dnf install -y autoconf automake gcc gcc-c++ gettext-devel git iscsi-initiator-utils libguestfs-tools libvirt libvirt-daemon-config-network libxslt make nfs-utils nginx qemu-kvm rpm-build rpmlint sos python3-devel python3-ethtool python3-jsonschema python3-ldap python3-libguestfs python3-libvirt python3-lxml python3-magic python3-pillow python3-pip python3-pyparted python3-requests 

    Here are the dependencies I could install from EPEL:
    sudo dnf install -y epel-release
    sudo dnf install -y python3-cheetah python3-configobj python3-m2crypto python3-pam python3-paramiko python3-psutil python3-pyflakes python3-pyyaml

    And here are the dependencies I could install with PIP:
    sudo -H pip3 install cherrypy cython libsass mock pep8 pre-commit websockify

    There are still two more dependencies. I was able to install them using the SPRMs. (Thanks Jakuje! https://unix.stackexchange.com/questions/361148/how-to-add-fedora-repo-to-a-centos-7-installation)

    First I installed wget:
    sudo dnf install -y wget

    Then I moved to the tmp directory:
    cd /tmp

    And downloaded and built the packages.
    wget https://kojipkgs.fedoraproject.org//packages/spice-html5/0.1.7/7.fc31/src/spice-html5-0.1.7-7.fc31.src.rpm
    rpmbuild --rebuild spice-html5-0.1.7-7.fc31.src.rpm
    sudo dnf install -y ~/rpmbuild/RPMS/noarch/spice-html5-0.1.7-7.el8.noarch.rpm
    wget https://kojipkgs.fedoraproject.org//packages/novnc/1.1.0/6.fc31/src/novnc-1.1.0-6.fc31.src.rpm
    rpmbuild --rebuild novnc-1.1.0-6.fc31.src.rpm

    I tried to install novnc with the RPM:
    sudo dnf install -y ~/rpmbuild/RPMS/noarch/novnc-1.1.0-6.el8.noarch.rpm

    But got the error:
    Error: 
    Problem: conflicting requests
    - nothing provides python3-websockify needed by novnc-1.1.0-6.el8.noarch

    No worries. Since websockify was installed with PIP, I ignored the dependency. (Thanks Onnonymous! https://serverfault.com/questions/381018/tell-yum-to-ignore-a-single-dependency)
    sudo rpm -i --nodeps ~/rpmbuild/RPMS/noarch/novnc-1.1.0-6.el8.noarch.rpm

    That's all the dependencies. Now the fun part!

    I got the source code:
    wget https://github.com/kimchi-project/wok/archive/3.0.0.tar.gz -O wok-3.0.0.tar.gz
    tar xzf wok-3.0.0.tar.gz
    wget https://github.com/kimchi-project/kimchi/archive/3.0.0.tar.gz -O kimchi-3.0.0.tar.gz
    tar xzf kimchi-3.0.0.tar.gz

    and built it:
    cd wok-3.0.0
    sudo ./autogen.sh --system
    make
    cd ../kimchi-3.0.0
    sudo ./autogen.sh --system
    make

    That's as far as I was able to get. I'll go through what happens when I run it in another post. For now, though, here are all the commands I used to get it installed:
    cd /tmp
    sudo dnf install -y autoconf automake gcc gcc-c++ gettext-devel git iscsi-initiator-utils libguestfs-tools libvirt libvirt-daemon-config-network libxslt make nfs-utils nginx qemu-kvm rpm-build rpmlint sos python3-devel python3-ethtool python3-jsonschema python3-ldap python3-libguestfs python3-libvirt python3-lxml python3-magic python3-pillow python3-pip python3-pyparted python3-requests
    sudo dnf install -y epel-release
    sudo dnf install -y python3-cheetah python3-configobj python3-m2crypto python3-pam python3-paramiko python3-psutil python3-pyflakes python3-pyyaml
    sudo -H pip3 install cherrypy cython libsass mock pep8 pre-commit websockify
    sudo dnf install -y wget
    wget https://kojipkgs.fedoraproject.org//packages/spice-html5/0.1.7/7.fc31/src/spice-html5-0.1.7-7.fc31.src.rpm
    rpmbuild --rebuild spice-html5-0.1.7-7.fc31.src.rpm
    sudo dnf install -y ~/rpmbuild/RPMS/noarch/spice-html5-0.1.7-7.el8.noarch.rpm
    wget https://kojipkgs.fedoraproject.org//packages/novnc/1.1.0/6.fc31/src/novnc-1.1.0-6.fc31.src.rpm
    rpmbuild --rebuild novnc-1.1.0-6.fc31.src.rpm
    sudo rpm -i --nodeps ~/rpmbuild/RPMS/noarch/novnc-1.1.0-6.el8.noarch.rpm
    wget https://github.com/kimchi-project/wok/archive/3.0.0.tar.gz -O wok-3.0.0.tar.gz
    tar xzf wok-3.0.0.tar.gz
    wget https://github.com/kimchi-project/kimchi/archive/3.0.0.tar.gz -O kimchi-3.0.0.tar.gz
    tar xzf kimchi-3.0.0.tar.gz
    cd wok-3.0.0
    sudo ./autogen.sh --system
    make
    cd ../kimchi-3.0.0
    sudo ./autogen.sh --system
    make
    The reply is currently minimized Show
  • Accepted Answer

    Sunday, April 19 2020, 11:03 PM - #Permalink
    Resolved
    0 votes
    Okay, so I got Wok and Kimchi installed. Now all I need to do is run it, right?
    $ cd /tmp/wok-3.0.0
    $ sudo python3 src/wokd

    Wrong!
    rc: 3 error: Redirecting to /bin/systemctl status nginx.service
    returned from cmd: service nginx status
    Redirecting to /bin/systemctl start nginx.service
    Job for nginx.service failed because the control process exited with error code.
    See "systemctl status nginx.service" and "journalctl -xe" for details.

    Okay...
    $ sudo systemctl status nginx.service
    [blah blah blah]
    nginx: [emerg] open() "/etc/nginx/conf.d/wok.conf" failed (2: No such file or directory) in /etc/nginx/nginx.conf:36

    nginx.conf line 36 is just "include /etc/nginx/conf.d/*.conf;". So it's like it can't find wok.conf. But it's there!
    $ ls -l /etc/nginx/conf.d/wok.conf
    lrwxrwxrwx. 1 root root 33 Apr 19 15:57 /etc/nginx/conf.d/wok.conf -> /tmp/wok-3.0.0/src/nginx/wok.conf

    No, really; it's there!
    $ ls -l /tmp/wok-3.0.0/src/nginx/wok.conf 
    -rw-rw-r--. 1 gomez gomez 3177 Jan 6 13:30 /tmp/wok-3.0.0/src/nginx/wok.conf

    Maybe it's a permissions thing?
    $ chmod 777 /tmp/wok-3.0.0/src/nginx/wok.conf
    $ sudo python3 src/wokd
    rc: 3 error: Redirecting to /bin/systemctl status nginx.service
    returned from cmd: service nginx status
    Redirecting to /bin/systemctl start nginx.service
    Job for nginx.service failed because the control process exited with error code.
    See "systemctl status nginx.service" and "journalctl -xe" for details.
    $ sudo systemctl status nginx.service
    [blah blah blah]
    nginx: [emerg] open() "/etc/nginx/conf.d/wok.conf" failed (2: No such file or directory) in /etc/nginx/nginx.conf:36

    Nope. I don't know what's wrong. That's as far as I could get with Wok.

    So let's change gears and take a look at Kimchi. They suggest using "make check-local" and "sudo make check" to test the installation:
    $ cd /tmp/kimchi-3.0.0
    $ make check-local
    PYTHONPATH=. contrib/check_i18n.py ./i18n.py
    Checking for invalid i18n string...
    Checking for invalid i18n string successfully
    /usr/bin/pep8 --version
    make: /usr/bin/pep8: Command not found
    make: *** [Makefile:1072: check-local] Error 127

    Huh.
    $ ls -l /usr/bin/pep8
    ls: cannot access '/usr/bin/pep8': No such file or directory
    $ ls /usr/bin | grep '^pe'
    peekfd
    perl
    perl5.26.3
    perldoc

    Well, it's installed...
    $ sudo -H pip3 install pep8
    Requirement already satisfied: pep8 in /usr/local/lib/python3.6/site-packages

    It's just not in the /usr/bin. That's where I left it with Kimchi.

    Note: While I am not a stranger to Linux, this is by far my most advanced undertaking to date. If I gave the impression I knew what I was doing, don't be fooled; it was nothing more than competent Google-fu (though I use duckduckgo) and good ol' fasioned RTFM.
    The reply is currently minimized Show
Your Reply