Partition Director, the INDIGO-DataCloud service, requires the setting
of the Synergy configuration (e.g. the list of projects allowed the
access the shared quota, their values, etc) through the RESTful API.
This implies some changes at configuration level of Synergy: some
parameters must be drop out from the synergy_scheduler.conf file and
the stored into a database. The use of the database for storing
configuration parameters will be useful even for configuring Synergy
in high availability mode.
Bug: #1690123
Change-Id: Id8f9c6b0e0a2804b43984f7353dc3fc0882cd651
Sem-Ver: feature
This update enables KeystoneManager to receive asynchronous
notifications about the users and projects status from Keystone
service
Change-Id: Ia75b89c825bb8536e0462eff7a873699b219d781
Sem-Ver: bugfix
nova_manager.py implements the NovaManager which interacts with Nova
service but even provides the MessagingAPI class which interacts with
the AMQP system. This fix moves the MessagingAPI in common/messaging.py.
Bug: 1690133
Change-Id: Ifed11126a1af227950c03ccffc48d577fb631ded
Sem-Ver: bugfix
Sometimes the SchedulerManager doesn't receive the "compute.instance.delete.end"
notifications of VMs destroyed before to be active.
Bug: #1690126
Change-Id: If874d436b825e2f430e246ccc7663df1bebd461c
Sem-Ver: bugfix
The new "synergy_topic" parameter simplifies the Synergy integration with Nova.
Bug: #1672409
Change-Id: I00f7e6ce7b6c4b22d9267d2b956c599fb71c68a2
Sem-Ver: feature
It may happen that a VM instance goes in error during the building phase.
Although the server is deleted by Synergy, the compute node may not send
the notification about the cancellation by leaving the shared quota not
consistent. This fix addresses this issue.
Bug: #1668199
Change-Id: I9ff9eed7b234117e24ae629fdd3e00ae7ce528cd
Sem-Ver: bugfix
This fix solves the problem of the calculation of the user
share which keeps memory of deleted users.
bug: #1663644
Change-Id: Ie591b60a413ab16c90fa6adc5a1f5be3046e0122
Sem-Ver: bugfix
On Newton, the startup of Synergy fails and the reported message in synergy.log is:
"ERROR - manager 'NovaManager' instantiation error: arguments already parsed: cannot
register CLI option". We fix this bug in this commit.
- removed unuseful conductor interfaces
bug: #1664567
Change-Id: I501196c40efd6fbd0e3e3669005441e7a8c23364
Sem-Ver: bugfix
This commit fixes the bug concerning the use of a wrong logging format
into the SchedulerManager.
Bug: #1664608
Change-Id: Id39fab710571e21be1e4580621a2f698febf2a7a
Sem-Ver: bugfix
Previously, one could encounter the following error:
"NumaTopologyNotFound: Instance does not specify a NUMA topology"
Bug: #1659794
Change-Id: I065e4ed0cfe56c3026b9eefc473fe6baf0889baf
Sem-Ver: bugfix
Heat and Synergy use the Trust mechanism for making service delegations.
Synergy must be able to distinguish the trusts created by Heat from the
ones created by itself.
Change-Id: I5fdc04fdf94397f8f3b5f336bbaf22781e3ed467
Sem-Ver: bugfix
Synergy and Ceilometer compete for consuming the notifications about
the VM state changes because both listen on the "notifications" AMQP topic.
- added a new configuration parameter for SchedulerMaanger: "notification_topic"
Change-Id: I444aeac5539bc4b6994f8722637e7aba7d82dc78
Sem-Ver: bugfix
This solves the error 'Lost connection to MySQL server during query'
due to MySQL, which removes connections after a timeout.
- added a new configuration parameter for QueueManager: 'db_pool_recycle'
Change-Id: I2974f414afa6cb3d44e85dd3e05600cfd49cb905
Sem-Ver: bugfix
- AMQP HA cluster support added
- added the new 'amqp_hosts' configuration attribute
Change-Id: I20973b3a66540814b86970628270dc83adab8018
Sem-Ver: feature
QuotaManager not allows the private quota shrinking if
the current resource usage exceeds the new size.
Change-Id: Ie86314d137991a755ec178b82d3716b3fc35bc0e
Sem-Ver: bugfix
NovaManager and KeystoneManager MUST support the HTTPS connections
for interacting with the OpenStack services.
- added two new manager config options: ssl_ca_file and ssl_cert_file
Change-Id: Ibacbf3504badd65a792c72c9134e2c7c13adea69
Sem-Ver: feature
SchedulerManager receives all VMs status changes through AMQP but it doesn't
handle the ERROR notifications (not used before to Liberty version)
- updated test unit (test_scheduler_manager.TestNotifications.test_info_quota)
Change-Id: Ia1e4db66a743f2d42f01241505310cbed37b625e
Sem-Ver: bugfix
Closes-bug: #1648057
Synergy releases in advance the VMs that are going to be destroyed,
before the confirmation notification is arrived.
Change-Id: Ia0ba1c8c715ff831f5d3579e23fc324488570937
Sem-Ver: bugfix
Closes-bug: #1646529
The method updates the priority of all user requests in the queue, one by one.
The priority of each request is updated in memory and into the DB table.
If the queue is too large (>5000), the updatePriority() takes much time for
its execution.
Change-Id: I982f98be94a8d23a159320887f51e7393fecb4a9
Sem-Ver: bugfix
Closes-bug: #1646466
A clock skew (e.g. clock_skew (time in seconds)) parameter is needed to set the
maximum difference allowed between the Synergy and Keystone clocks.
Change-Id: Ia347524472e86101a47240e7b1b1cb0ee05939c0
Sem-Ver: feature
Closes-bug: #1646783
The optional input attribute 'force' for os-quota-class-sets is no more
supported in Mitaka and so NovaManager throws the following exception
reported in the log file:
ERROR - error on updating the quota info (id=<built-in function id>):
{u'badRequest': {u'message': u"Invalid input for field/attribute
quota_class_set. Value: {u'cores': 2, u'ram': 1024, u'force': True,
u'instances': 10}. Additional properties are not allowed
(u'force' was unexpected)", u'code': 400}}
- fixed method: NovaManager.updateQuota()
- moved some not useful logging info from LOG.info() to LOG.debug()
Change-Id: I72a401beee24b24bd2f8fc6dc8a3784813af0864
Sem-Ver: bugfix
Closes-bug: #1645397
The request body for /v3/auth/tokens (in KeystoneManager.authenticate())
includes a payload that specifies a wrong domain attribute (i.e.
"id"="default"). The proper attribute to use is "name"="default".
This bug affects the OpenStack Mitaka version while in Liberty seems to
be accepted or ignored.
- added two new KeystoneManager configuration attributes:
user_domain_name and project_domain_name
Change-Id: I0b9e56260d2e425399fe5a0c18a10af250a9f022
Sem-Ver: bugfix
Closes-bug: #1645318
Allow Synergy to not check the whole queue when looking for jobs to
start.
Change-Id: Idf8b92d3d91c0beadabea09f31e042c39320e4f0
Sem-Ver: feature
Closes-bug: #1644188
DocImpact
Allow the PriorityQueue to re-insert an item by guaranteeing the proper priority ordering
- fixed methods: put(), items(), smallest(), largest()
- fixed unit test (test_queue.py)
Change-Id: I12b461a3cbc84d51877a455fca29589491ceb7fd
Sem-Ver: bugfix
Closes-bug: #1644257
The Manager.condition (i.e. threading.Condition()) variable is used by Synergy for scheduling the periodic manager's tasks at fixed rate. FairshareManager inherits the same variable from Manager and wrongly uses it for different purposes. The problem is that every time the FairshareManager calls the condition.notifyAll() method, triggers unwittingly the execution of the task() method.
Change-Id: I910a50c566e076439de78d0f4e4df0d9a893aadb
Sem-Ver: bugfix
Closes-bug: #1644496
- quota.py: now the method allocate() handles the case of quota disabled
and blocking=True
- quota_manager.py: fixed the method updateDynamicQuota() which set the
shared quota disabled or enabled
- scheduler_manager.py: in case the shared quota is disabled, the
scheduling process is stopped
Change-Id: I80dd04505f8ce4cb65b04d2ee46819fe078a363f
Sem-Ver: bugfix
Closes-bug: #1643833
- now it is possible to show the usage by project and user
- removed unuseful check in QueueCommand
- removed unused var in UsageCommand
- removed unused import: 'from synergy_scheduler_manager.common.queue import Queue'
Sem-Ver: feature
Please enter the commit message for your changes. Lines starting
Change-Id: I2ed6304328dcb628fe4662eb6977ce4b988b8a15
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: I91a14baea4df0d66db4818bdcaf895b0e2a62245
Sem-Ver: bugfix