Remove trailing whitespace
Pool connections to snf-pithos-backend
Reconnect to different Broker if idle for too long
Modify snf-dispatcher and add a timeout option to basic_wait method. Iftimeout is reached, the connection to the current RabbitMQ broker isclosed and dispatcher tries to connect to a different one.
This commit is supplementary of 6d27ead, which detects connection...
Detect and handle connection problems in amqp_puka
Use the TCP keepalive feature in amqp_puka in order to detect connectionerrors to the RabbitMQ broker, and retry to a different one. Also setupthe keepalive parameters to relative small values, to detect failures...
Handle every exception in manually transactions
Do not create bridge for public network
Fix bug in reconcile-networks
When only detecting, reconciliation can not continue, if theBackendNetwork object does not exist.
Bridge indexes must start from 1
Restore IP Pool creation for corner cases
Create IPPool when creating Network
Create the IPPool associated with each Network, when creating it. Untilnow, IPPools were created on first demand. However, because the Networkobject is not accessed in exclusive mode, concurrent access to theNetwork model resulted in a race condition. More than one workers may...
Fix default private networks in UI
Fix typo
Do not give IPs to networks without dhcp
Fix typos
Use - instead of _ in backend-update-status
Merge branch 'devel-0.11'
Fix bug when connecting a network to a nodegroup in networkreconciliation. Use connect_network instead of obsoleteconnect_network_group method. Also fix job dependency handling in thismethod.
Refactor process op and network status callbacks
Block create instance api call with deleted flavor
Do not allow creation of instances with deleted flavorsRefs #2481
Fix GET networks API response for public networks
Fix default UI settings import synnefo settings
Fix default UI settings import synnefo settings,remove import and have the administrator set FEEDBACK_EMAIL_FROMspecifically.
Bail out if any settings file is unreadable
Log an error to stderr and die immediately if any settings fileunder SYNNEFO_SETTINGS_DIR (/etc/synnefo by default) is unreadable.
Also remove use of braindead Python glob(), which ignores access failureerrors, and fails silenty....
Increase snf-manage logging level to warning
Log 5xx API faults
Improve exception message when no backends
Catch OverLimit error in network create
Various fixes about logging
Fix logging from snf-manage commands. Modify snf-manage implementationin order to setup the loggers for all snf-manage commands. Configurationis based on SNF_MANAGE_LOGGING_SETUP setting from snf-common or onbasicConfig if that setting is missing....
Fix bug when synchronously creating networks
Release mac_prefix only if network is MAC_FILTERED
Release address only if a NIC has an IP
Change and fix migration files
Change network migration, so that it does not allocate a new bridge toexisting network. Instead it keeps the bridges from the old NetworkLinkpool.
Remove network_mac_prefix migration because there are no networks withmac prefixes....
Give more weight to cpu_ratio
Change how scores are computed in default_allocator so that vcpuratio has more importance the free memory and disk ratio
Merge branch 'snf-tools'
Fix duplicate return of HTTP connection into pool
Fix duplicate return of HTTP connection into pool on duplicateinvocation of conn.close().
Revert commit b9c834003, and make sure a connection object's _poolattribute is re-initialized whenever it is retrieved from the pool....
snf-burnin stores information about VMs/networks in the detailed log
Change eventd and dispatcher AMQP retries
Set unlimited connection retries to AMQP hosts for snf-ganeti-eventd,since death of snf-ganeti-eventd results in loss of events.Also increase retries of snf-dispatcher.
Fix bug in amqp_puka
Make AMQPConnectionError an exception
Restore Ganeti RAPI client to snf-common
Temporary commit in order to restore Ganeti RAPI client to snf-commonuntil snf-cyclades-app 0.11 is released.
Fix bug about RAPI client pooling
Modify the pooled_rapi_client context manager to handle exceptionsand release the client in any case. Also modify uses of reconciliationto handle exceptions inside the scope of the context manager
Add missing ipv6 arguments to create_network
Fix wrong call in VirtualMachine get_client
Add missing arguments in Backend's get_client
Fix bug when hidding image password
Use deepcopy instead of copy, since the dictionaryis nested
Put synnefo logger of snf-dispatcher to INFO level
Fix bug in snf-dispatcher about ignored messages
Update backendtime only for jobs that have been successfully completed,since only those jobs update the state of the VM. Else a "racecondition" may occur when a successful job (e.g. OP_INSTANCE_REMOVE)completes before an error job for the same VM and messages arrive in...
Remove user provided names from models unicode
Remove user provided names from models representation, as the usermay provide a value that can affect the admin terminal. Fix suggestedby vkoukis.
Hide image password from log file
Fix bug when not using pool for public networks
Change logging levels
Garbage collect GanetiRapiClient pools
Modify the rapi_pool to delete unused GanetiRapiClient pools. Thisclients become unused when the credentials of a backend change.
Add extra logging
Refresh backends in locked mode
Pool Ganeti RAPI clients
- Move Ganeti RAPI client from snf-common to snf-cyclades-app/logic.- Create GanetiRapiClientPool for pooling GanetiRapiClient objects- Create context manager in db.models for pool handling- Update code using the RAPI client
--delete-stale checks for stale resources until action_timeout
Do not print public networks when adding backend
Fix white space
Add support for Archipelagos/extstorage COW images
Move check for free IP to backend_allocator
Filter out the backends that do no have a free IP in BackendAllocatorinstead of the default_allocator, in order to remove imports fromsynnefo in the allocation strategy.
Fix bugs in reconcile-networks
Perform logical and instead of or, when merging backend ip maps, sincenow the maps are inverted. Also do not report as stale backend networksthat are already deleted.
Take care for messages without timestamp
Catch exception produced in snf-dispatcher when receiving messages withoutproper timestamp.
Fix None timestamp in eventd messages
Send the job timestamp when an opcode does not have a timestamp.
Perform allocations in separate transactions
Add ForUpdateManager to the Backend model, in order to guaranteeexclusive order when allocating a VM.
Use manual transactions when allocating Backend and public IP for a newVM, since these allocations need exclusive access (SELECT..FOR UPDATE)...
Merge branch 'public_networks' into devel-0.11
Conflicts: snf-cyclades-app/synnefo/logic/dispatcher.py
Close DB conn in dispatcher before every message
Have the dispatcher close the Django DB connection before processingan incoming message. This allows the actual, underlying DBAPI connectionto return to the DB connection pool, if used, and enables the dispatcher...
Fix cleanup of DB pooled connections
Fix bug in cleanup of DB pooled connections before putting them back tothe pool. The way the connection was cleaned, resulted in mishandling ofthe transactions.
Accoring to psycopg2 docs, in case of a READ COMMITED isolation level:...
Make snf-dispatcher work with gevent
Remove workers from snf-dispatcher in order to make it compatible with geventand specifically the green, monkey patched version of psycopg2(synnefo.lib.db.psyco_gevent). Also after daemonizing, gevent must bereinitialized because the deamon context forks.
Add pool-create and pool-remove commands
Change process title to simplify 'ps' display
Use python-setproctitle to change the process title of the runningdaemon. Make it appear as a native executable to simplifyadministration. Only set executable name, because cannot set individualvalues for arguments.
Add setproctitle to dependencies
Fix presentation of pools
Remove unnecessary locking
Selecting FOR_UPDATE on network object is not any more required, sincethe IP Pool have been moved to the IPPoolTable. Selecting FOR_UPDATE isneeded there.
Fix two bugs in network reconciliation
Fix race conditions when updating network objects
Use for_update() object manager in order to exclude race conditionswhen updating network objects.
Fix double logging of dispatcher
Dispatcher had as default handlers the console and the file handler.However, when daemonizing, we redirect the stdout and stderr to the filehandler, which resulted in the log messages to be printed twice. So weremove the console handler from the dict configuration, and we only add...
Catch corner case in reconciliation
Catch error produced when the DB entry for an orphan VM in Ganeti doesnot exist. This may happen because either an entry from DB was removedor because a VM in Ganeti with the synnefo prefix was created.
Fix broken logging
Rename LOGGING setup to LOGGING_SETUP, as this name is required bythe LoggingConfigMiddleware. Django's default LOGGING setting canbe used with Django>=1.3
Also change default handler to 'console' and add a more verbose format.
don't take mutex for cleanup
Enhance pooling API, implementation, and tests
- Verify objects (new and old) with a hook _pool_verify. Discard objects from the pool that fail verification. A newly created object failing verification is fatal.
- Remove all hooks from the pool set access critical section....
complete some functionality
port pooled psycopg2 to new pool api
remove obsolete kwarg verify
Fix bug in http connection pool
Do not reset connetion _pool attribute, since it is not (yet?)initialized when getting the object from the pool.
Enhange logging in db and http pools
Fix no-time in eventd messages
Ganeti opcodes may not have an end-timestamp when they go toan error state. In that case send the job end-timestamp.
Rename Cyclades management commands for uniformity
Rename Cyclades management commands for uniformity.
Add some logging to backend allocator
Refactor IP pools
Treat IP pool the same way as bridge and mac-prefix pools. The pool isremoved from the Network table and moved to an IPPoolTable containing theIP pools for all networks. Also added support for external reservations.
Migration files for transfering the pool to the new tables are included....
Add tests for PoolManager(s)
Fix bugs in IPPool
- Do not always reserve gateway- Initial reservations must be in reserved map
Handle case of no pools in reconcile-pools
Catch error in removing nic
Management commands for pools
Create three new management commands for listing, showing and modifyinga pool.
Add logging to synefo.db.models