rpms

137 views
Skip to first unread message

Ronald Jeninga

unread,
Apr 12, 2016, 12:19:21 PM4/12/16
to schedulix
Hi all,

finally I'm able to report progress on the building of rpm packages.
As for now we only have packages for the CentOS 7 platform. Due to the similarities between RHEL, CentOS and Fedora, the packages might install on those distributions as well.

Since this is actually the first release of rpm packages, the packages should be regarded as release candidates.

I'd be grateful if some of you give them a try. In case of problems, please report!
Of course, if you report some bug, please specify the version, the platform and architecture and, not to forget, a description of what goes wrong.
Most of the time I won't get depressed if some logging information is provided too..

The packages are signed. The public key for verification can be found at http://www.schedulix.org/en/Downloads/pubkey.txt
In order to check the rpms, you'll have to do the following:

  1. download the public key
    wget http://www.schedulix.org/en/Downloads/pubkey.txt
  2. tell rpm to trust the key
    sudo rpm --import pubkey.txt
  3. check the packages
    rpm --checksig schedulix-base-2.6.1-7.el7.centos.ppc64le.rpm

The "rpm --checksig" gives an output like
[ronald@ppc ppc64le]$ rpm --checksig schedulix-base-2.6.1-7.el7.centos.ppc64le.rpm
schedulix-base-2.6.1-7.el7.centos.ppc64le.rpm: rsa sha1 (md5) pgp md5 OK


There are seven packages involved:
  • schedulix-base
    The base package, required for everything except for the documentation
  • schedulix-server-pg
    This package installs a server using PostgreSQL; it can't be installed together with the schedulix-server-mariadb package
  • schedulix-server-mariadb
    This package installs a server using mariadb; it can't be installed together with the schedulix-server-pg package
  • schedulix-client
    This is required to install jobservers. Have a look at the setup_jobserver script in $BICSUITEHOME/bin
  • schedulix-zope
    Installing Zope made easy. If your Internet connection isn't very stable, this might fail. So please check the output.
  • schedulix-examples
    If you're new to schedulix, studying the examples will help to understand the system
  • schedulix-doc
    The schedulix documentation. Because of the size it is put into a separate package
Basic information:

A user schedulix is created. The home directory is /opt/schedulix.
The initial password is schedulix. Needless to say that it is strongly recommended to change this incredibly secure password into something that is easy to guess ;-)
In /opt/schedulix/etc you'll find a file called SETTINGS which sets the required environment variables.

If one of the server packages is installed, a database called schedulixdb and a user called schedulix, identified by schedulix. (change it!)
In case of a PostgreSQL installation, the pg_hba.conf file is modified:

# modify /var/lib/pgsql/data/pg_hba.conf in order to allow jdbc connects
sed --in-place=.save '
    s!^host *all * all *127.0.0.1/32 *.*!host    all    all    127.0.0.1/32     md5!
    s!^host *all * all *::1/128 *.*!host    all    all    ::1/128          md5!
' /var/lib/pgsql/data/pg_hba.conf

The schedulix-zope package tries to set up a zope instance automatically. An Internet connection is required.
It happens that the installation of the Zope server fails. In this case trying again to install it works. There were situations that I had to retry five or six times, but in the end it was successful.
It'll probably be a good idea to install the schedulix-zope package separately after the rest has been installed. It is easier to detect errors during the installation.
The initial user sdmsadm uses the password sdmsadm. Though the password is almost infinitely secure, it is recommended to change it nevertheless.
Alternatively, after adding a Zope admin user yourself, you can delete the sdmsadm user.
If this package is upgraded, a user sdmsadm_zau (sdmsadm Zope Admin User) is created and removed after the upgrade. The temporary password is somewhat random; not very strong but strong enough to survive the minute required to upgrade.
The upgrade probably won't work if the user already exists.

Note: the rpms can't be used to upgrade a manual installation.
To replace a manual installation by an rpm installation, do something like the following:

  1. Shut down all schedulix server processes
  2. Make a database backup / export. If your database is called schedulixdb, drop or rename it.
  3. Install the required rpms
  4. Remove any settings of BICSUITEHOME and replace it by sourcing /opt/schedulix/etc/SETTINGS
  5. Shut down the freshly installed scheduling server
  6. Restore the database (now schedulixdb)
  7. Start the schedulix server
The Zope part is a little more work as you'll have to re-create the users again.
Exporting the /Users folder, and importing it into the new instance will save the bookmarks and preferences set in the past.

The example package requires the eclipse-swt package installed (to run the examples).
This package isn't available in the standard CentOS repositories. I've found a package here: http://rpm.pbone.net/index.php3/stat/4/idpl/31985761/dir/centos_7/com/devtoolset-3-eclipse-swt-4.4.2-4.bootstrap2.el7.x86_64.rpm.html
I didn't test this yet, but it sounds like a good starting point.
Alternatively it can be tried to install a Fedora or the CentOS 6.5 sclipse-swt package.

A final note: CentOS 7 seems to be a bit restrictive in its firewall configuration. (which is good!)
Most of the time you'd want to access the 8080 and 2506 ports(TCP) in a schedulix environment.
The good old iptables time seems to be over, but firewalld does the job too:

firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=2506/tcp --permanent


People interested in creating rpm packages themselves can use the centos7.spec file located in the git sandbox $SDMSHOME/lib.
There's probably plenty of room for improvement and I'll happily accept any suggestions. Especially modifications to install it on a SLES server as well as older CentOS and RHEL versions.
If you have installed the software to build rpms, a "make rpm" should work.

People interested in building debian packages are heartily invited to do so. The rpm spec file might provide a good starting point.
I'd love to support Ubuntu users with some nice packages.

Links to the packages:

1. x86_64, version 2.6.1
http://www.independit.de/Downloads/rpms/centos7/x86_64/schedulix-base-2.6.1-8.el7.centos.x86_64.rpm
http://www.independit.de/Downloads/rpms/centos7/x86_64/schedulix-client-2.6.1-8.el7.centos.x86_64.rpm
http://www.independit.de/Downloads/rpms/centos7/x86_64/schedulix-doc-2.6.1-8.el7.centos.x86_64.rpm
http://www.independit.de/Downloads/rpms/centos7/x86_64/schedulix-examples-2.6.1-8.el7.centos.x86_64.rpm
http://www.independit.de/Downloads/rpms/centos7/x86_64/schedulix-server-mariadb-2.6.1-8.el7.centos.x86_64.rpm
http://www.independit.de/Downloads/rpms/centos7/x86_64/schedulix-server-pg-2.6.1-8.el7.centos.x86_64.rpm
http://www.independit.de/Downloads/rpms/centos7/x86_64/schedulix-zope-2.6.1-8.el7.centos.x86_64.rpm

2. x86_64 version 2.7
http://www.independit.de/Downloads/rpms/centos7/x86_64/schedulix-base-2.7-4.el7.centos.x86_64.rpm
http://www.independit.de/Downloads/rpms/centos7/x86_64/schedulix-client-2.7-4.el7.centos.x86_64.rpm
http://www.independit.de/Downloads/rpms/centos7/x86_64/schedulix-doc-2.7-4.el7.centos.x86_64.rpm
http://www.independit.de/Downloads/rpms/centos7/x86_64/schedulix-examples-2.7-4.el7.centos.x86_64.rpm
http://www.independit.de/Downloads/rpms/centos7/x86_64/schedulix-server-mariadb-2.7-4.el7.centos.x86_64.rpm
http://www.independit.de/Downloads/rpms/centos7/x86_64/schedulix-server-pg-2.7-4.el7.centos.x86_64.rpm
http://www.independit.de/Downloads/rpms/centos7/x86_64/schedulix-zope-2.7-4.el7.centos.x86_64.rpm


As soon as the rpm packages seem to be stable enough, I'll bother to set up an rpm-repository which can be added to the list of active repositories (/etc/yum.repos.d).

Any feedback is welcome.

Regards,

Ronald


Reply all
Reply to author
Forward
0 new messages