Commit Graph

12 Commits

Author SHA1 Message Date
Vincent Llorens b75d85315c Distribute tabulate as part of Synergy
Synergy depends on the python tabulate package. However, it is not
available as a system package for both CentOS 7 and Ubuntu 14.04.

In this commit we opt for the following solution: don't mark
tabulate as a dependency when building synergy system packages,
instead we provide the tabulate package as part of Synergy.

DocImpact
Change-Id: I76018e1ba27de8ad47b59c85baad2c2d06f03398
Sem-Ver: bugfix
2016-10-27 12:17:46 +02:00
Vincent Llorens e1ed6abec2 Remove versions for required packages
Requirement versions were set in the first place to limit the
buginess. However, after some time it appears that it made more
harm than good, as discussed in:
https://review.openstack.org/#/c/388003/

In this commit we remove the versions for all the requirements.

In the future, if a specific dependency version if causing some issue
we should reintroduce the version for this dependency to block the
unstable version.

Sem-Ver: bugfix
Change-Id: Ia42509bf2bf9012cc03c8bb25b84f465425e2aad
2016-10-27 11:20:04 +02:00
Vincent Llorens fd03bffe99 fix missing "requests" from the requirements
Also add it the spec file for RPM packaging.

Sem-Ver: bugfix
Change-Id: Ie32a7a9ce4b5d653410993dc14b4953dd3535a38
2016-10-25 15:37:06 +02:00
Vincent Llorens 906ab1f7fc fix wrong version of eventlet
The required version for CentOS was 0.18, but only 0.17 is available
in the repositories.

Change-Id: I94ced14b0f0c520e431c7ef2fd94c11d6721af9c
Sem-Ver: bugfix
2016-10-21 11:21:26 +00:00
Vincent Llorens 6d82831a8b fix eventlet and dateutil required versions
As of now, in CentOS, eventlet v0.18 is available ; in Ubuntu,
dateutil is only at version 2.2.

Change-Id: I1123261146c713dcf843788dc9101c6b7fd1ba00
2016-09-27 14:20:09 +02:00
Vincent Llorens d8ff725460 Fix requirement version pinning
Previously, we used the "~=" operator in the requirements. It turns
out that this operator is not understood by pybuild, thus making the
packaging fail for Ubuntu 14.04.

We now resort to dependency pinning using a combination of >= and <

Change-Id: Icfe2cd2e8aa5dc2d48582ad2b43c05085309949a
2016-09-22 16:30:40 +02:00
Vincent Llorens 450e106f03 Use dependency pinning
For CentOS7, we use dependency pinning in the spec file. Note that we
don't do it for Ubuntu as it will use the dependency versions from the
requirements.txt.

We now use the compatible release operator [1] to define versions in
the requirements.txt.

This commit also removes non relevant warnings when uninstalling
Synergy.

[1]: https://www.python.org/dev/peps/pep-0440/#compatible-release

Change-Id: Icb1dd16d7d8d7246914058a11534bcd099b1f18c
2016-09-13 15:14:44 +02:00
Lisa Zangrando 3c33d51dd4 Synergy enhancements
- serializer.py: improved serialization
- manager.py: Managers are now serializable
- command.py, shell.py: improved command shell by using the 'tabulate' module
- service.py: listManagers, startManager, stopManager and getManagerStatus methods now use the Managers serialization
- requirements.txt, test-requirements.txt: 'tabulate' module dependence added
- test_synergy.py, test_manager_abstract.py: updated unit tests
- setup.cfg: changed entry points

Change-Id: I657af749aa3fcb32c27b516c2b9f836c5ba0c690
2016-08-31 11:55:45 +00:00
Lisa Zangrando 19fbb53e9b first functional test added
- test-synergy: test the main service functionality
- service.py: removed unuseful code
- TimerManager: updated execute()

Change-Id: I47e0ffa446c83369cb98cffbdebda3bc2fdbe183
2016-06-15 18:54:02 +02:00
Vincent Llorens af3d6953f7 update oslo libs required versions
Change-Id: Ie7df5981787fe1a1c359b9103951336e637d8d1d
2016-06-08 13:48:43 +02:00
Vincent Llorens 3433f08a68 fix code that prevented the package from running
Change-Id: I7ff560c533098bc412a110c313a19445d4e02100
2016-04-28 17:44:31 +02:00
Vincent Llorens c2588f9972 import project from launchpad git repo
In addition to importing the project, this commit also includes fixes
to pass PEP8 and unit tests on OpenStack CI.

Commit history that was imported from the launchpad project:

. The first commit's message is:
first Synergy implementation

. This is the 2nd commit message:

added README file

. This is the 3rd commit message:

added new logging configuration support

. This is the 4th commit message:

added new logging configuration support

. This is the 5th commit message:

Synergy repository restructured

. This is the 6th commit message:

Synergy repository restructured

. This is the 7th commit message:

TimeManager

. This is the 8th commit message:

first service implementation

. This is the 9th commit message:

package synergy.managers.scheduler removed

. This is the 10th commit message:

Keystone and MYSQL configuration removed

. This is the 11th commit message:

Clean up setup.py

- remove all directory creation, chmoding, etc. This will be handled by
  the system package.

- rename `scripts` as `bin` to follow best practices.

. This is the 12th commit message:

Fix systemd unit file

- remove all the directory creation since it will be done by the system
  package.

. This is the 13th commit message:

Move synergy source to parent directory

Follow the standard of having the source package directory at the root.

This also make it easier to work with setuptools.

. This is the 14th commit message:

Add dependencies in setup.py

. This is the 15th commit message:

Add RPM spec file for packaging

. This is the 16th commit message:

debian/ubuntu package

. This is the 17th commit message:

add oslo.log as a requirement

. This is the 18th commit message:

deb pkg: explicit naming for oslo.*

. This is the 19th commit message:

rename deb package to python-synergy-service

. This is the 20th commit message:

fix debian package configure step

. This is the 21st commit message:

remove unecessary init & upstart scripts

We will target Ubuntu >= 15.04 and EL >= 7. Both use systemd by default,
so we do not need initv and upstart scripts.

. This is the 22nd commit message:

changed license field: GPL->Apache 2

. This is the 23rd commit message:

change license to Apache 2 for rpm & deb

. This is the 24th commit message:

rename python package to "synergy-service"

This is the name that will be used on PyPI.

. This is the 25th commit message:

oslo_log dependence removed

. This is the 26th commit message:

remove oslo.log dependency from packaging

. This is the 27th commit message:

remove oslo package renaming

Both python-oslo-* and python-oslo.* are supported on Ubuntu >= 15.04,
but only python-oslo.* are supported on Ubuntu 14.04.

. This is the 28th commit message:

fix oslo imports for Ubuntu14.04

This concerns 2 python packages:
- oslo config
- oslo messaging

Both packages cannot be imported using their "oslo_PKG" name in Ubuntu
14.04.

These packages can be imported on both Ubuntu 14.04 and 15.04 using
"oslo.PKG".

. This is the 29th commit message:

fix manager config setup

We check for manager in the conf file using the oslo config package.

Previously, we relied on a private variable to list the managers.
However, this private variable is not present on the oslo.config
packaged shipped with ubuntu 14.04.

In this commit we change the way we list managers to be compatible with
both Ubuntu 14.04 and 15.04.

. This is the 30th commit message:

Revert "fix oslo imports for Ubuntu14.04"

This reverts commit 6ee3b4d54765993d165169a56d54efdfb2653c89.
We are going to use try/except imports to deal with oslo{.,_}PKG

. This is the 31st commit message:

use try/except imports for oslo{.,_} packages

The oslo packages are imported using "oslo.PKG" for versions < 2.0.0,
but are imported using "oslo_PKG" for versions >= 2.0.0.

We use try/except statements to try to import "oslo_PKG" first, and fail
over to "oslo.PKG".

. This is the 32nd commit message:

add packaging README

. This is the 33rd commit message:

add cleaning functions in packaging scripts

This way when a container as finished building, when can easily do a
rebuild with: docker start -a -i container_id

. This is the 34th commit message:

various fixes on packaging

- deb: postinst depends on "adduser" package
- deb: add upstart & systemv init scripts in deb package
- deb: postrm purge now removes init script
- deb: override lintian error about systemd/init script
- rpm: fix the cleaning stage
- rpm: fix /var/lib/synergy not being created and preventing systemd
  from starting the synergy service

. This is the 35th commit message:

use entry points to discover managers

Also add the TimerManager to the manager entry point.

fix centos docker builder

The .git repo would not get cleaned up after a failed build, resulting
in incapacity of starting the container again.

add base files for OpenStack CI

Most of the files were created with cookiecutter.
http://docs.openstack.org/infra/manual/creators.html#preparing-a-new-git-repository-using-cookiecutter

fix centos docker builder

The .git repo would not get cleaned up after a failed build, resulting
in incapacity of starting the container again.

fix setup.py failing to build due to pbr

rename service to "synergy"

Previously it was either "python-synergy-service" or "synergy"
depending on the platform.

Change-Id: Iebded1d0712a710d9f71913144bf82be31e6765b
2016-04-27 16:29:13 +02:00