Synergy is an extensible general purpose management service for OpenStack. Its capabilities are implemented by a collection of managers. It can be used to implement advanced scheduling mechanisms to maximize the overall resource usage.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
OpenDev Sysadmins 454b4165c5 OpenDev Migration Patch 2 years ago
..
debian Release v1.5.3 4 years ago
docker Update synergy service packaging 5 years ago
rpm Release v1.5.3 4 years ago
README.md Update synergy service packaging 5 years ago

README.md

Packaging

Packaging for Ubuntu and CentOS using Docker

We provide Dockerfiles for CentOS 7 and Ubuntu 16.04. A Dockerfile for Ubuntu > 16.04 should work by just changing the "FROM" statement of the Ubuntu 16.04 Dockerfile. Using these, you can easily build rpm and deb packages for synergy-service without having to setup the build system on your own system.

The build process using Docker is made of 3 steps:

  1. Build the docker image

  2. Setup the build variables

  3. Run the build with docker

If the build is successful, the package will be put in the build directory inside the synergy-service directory.

Example for CentOS 7

  • go into the directory that contains the Dockerfile for CentOS 7

    cd synergy-service/packaging/docker/centos7
    
  • build the docker image and tag it

    docker build -t synergy-centos7-builder .
    
  • launch the container

    docker run -i -v /path/to/synergy-service:/tmp/synergy \
               synergy-centos7-builder
    

    You can override the package version that will be set during the packaging process by adding -e "PKG_VERSION=x.y.z" to the above command line. Otherwise, the package version will be set to the latest git tag.

    This actually mount the synergy-service directory to /tmp/synergy on the guest.

  • the resulting rpm should be in the build directory if successful

Example for Ubuntu 16.04

  • go into the directory that contains the Dockerfile for Ubuntu 16.04

    cd synergy-service/packaging/docker/ubuntu-16.04
    
  • build the docker image and tag it

    docker build -t synergy-ubuntu16.04-builder .
    
  • launch the container

    docker run -i -v /path/to/synergy-service:/tmp/synergy \
               synergy-ubuntu16.04-builder
    

    You can override the package version that will be set during the packaging process by adding -e "PKG_VERSION=x.y.z" to the above command line. Otherwise, the package version will be set to the latest git tag.

  • the resulting deb should be in the build directory if successful

Packaging for Ubuntu

Make sure you have the OpenStack/CloudArchive repository setup.

  1. Install the necessary build packages:
  • debhelper
  • dh-systemd
  • build-essential
  • devscripts
  • git-core
  • python-all
  • python-pbr
  • python-setuptools
  1. Make a gzip archive of synergy-service named python-synergy-service_VERSION.orig.tar.gz and place it at the same level as the synergy-service directory.

  2. Copy synergy-service/packaging/debian to synergy-service/debian.

  3. Go in the synergy-service directory and build with debuild -us -uc.

The resulting .deb file should be outputed at the same level as the synergy-service directory and .tar.gz archive.

Packaging for CentOS

  1. Install the necessary build packages:
  • rpm-build
  • python-devel
  • python-setuptools
  • git-core
  • centos-release-openstack-newton
  1. Update your packages with yum update and then install python-pbr.

  2. Setup your rpmbuild environment if not already done.

    mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
    
  3. Move synergy-service/packaging/rpm/python-synergy.spec to ~/rpmbuild/SPECS.

  4. Create a source archive (where $VERSION is the current synergy-service version):

    cd ~/rpmbuild/SOURCES
    cp -r /path/to/synergy-service python-synergy-service-$VERSION
    tar cjf python-synergy-service-$VERSION.tar.bz2 python-synergy-service-$VERSION
    
  5. Go in ~/rpmbuild/SPECS and build with PBR_VERSION=$VERSION rpmbuild -ba python-synergy.spec.

  6. The resulting RPM can be found in ~/rpmbuild/RPMS/noarch.