This commit fixes some errors introduced with the support for the
authorization in Synergy. The files involved are: service.py and
shell.py and related unit tests.
Change-Id: I84587e48927307d85b9a3f96ea49154805da7bcd
Sem-Ver: bugfix
The Synergy's methods startManager() stopManager() getManagerStatus() and
executeCommand() require the parsing of the parameters included into the
user request and make some checks for the mandatory parameters.
This commit enhances this parsing and checking steps by using the Python
decorators. Moreover it simplifies the execution of the methods startManager()
stopManager() and getManagerStatus() by handling requests for only one manager
at a time.
Change-Id: Ic295ad20f03459cf3e512e795529c35bd6969ed3
Sem-Ver: bugfix
This fix provides to Synergy a security mechanism highly configurable.
The security policies are pluggable so that it is possible to define any
kind of authorization checks.
This commit includes a very simple authorization plugin (i.e.
synergy.auth.plugin.LocalHostAuthorization) which denies any command
coming from clients having IP address different from the Synergy's one.
Bug: #1691352
Change-Id: I2535b2a3edeea5e56cd8918d01070a6f8a534c3e
Sem-Ver: bugfix
The basic Exception can be used anywhere in the code but however, no
program nor library should ever raise Exception directly: it's not
specific enough to be helpful. This fix better handles the exceptions by
removing the Exception occurencies and adding a new SynergyError type.
Bug: #1690795
Change-Id: I202e063198ee9aef7397bad9b8398c24d52b5fe1
Sem-Ver: bugfix
Not all messages are logged in synergy.log (e.g. the ones logged by the
modules in synergy_scheduler_manager/common). This fix solves the problem.
Bug: 1690113
Change-Id: I861f7281a1e2cc2a49567ab97482234f834919f4
Sem-Ver: bugfix
We used to put `try / except ImportError` around oslo lib imports
to support both the `oslo_lib` and `oslo.lib` name patterns.
It is now useless since the newer versions of these libs all support
the `import oslo_lib` pattern.
Tested on CentOS 7 with the OpenStack Liberty repository.
Tested on Ubuntu 14.04 with OpenStack Liberty CloudArchive repository.
Change-Id: I7a147586d7a933506df62e34424e5fc57b3ff503
Sem-Ver: bugfix
- test-synergy: test the main service functionality
- service.py: removed unuseful code
- TimerManager: updated execute()
Change-Id: I47e0ffa446c83369cb98cffbdebda3bc2fdbe183
- logging: every time a new manager is loaded, it is now added to the
Synergy logger
- logging is configured in main()
- shell: commands list sorted
- commented code: deleted
Change-Id: I1c5261db78950e03417eb4e90e2049a2ad927cb0
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