Include deleted networks in get_flavor_info
Do not allow actions to deleted networks
Allow custom link, mac_prefix in network-create
Add extra command line arguments, to allow the user specify thelink and mac_prefix of the new network if needed.
Remove depricated settings and update migrations
Return ServiceUnavailable when pools are depleted
Return ServiceUnavailable, instead of OverLimit, when pools of bridges,mac-prefixes or IPs run out of resources.
Make management commands list non-deleted entries
Modify snf-manage {server, network, flavor}-list to list by default onlynon-deleted entries. The `--deleted` flag can be used to also includedeleted ones.
Merge branch 'master' into devel-0.12
Conflicts: snf-cyclades-app/setup.py
Plankton raise HttpResponseForbidden in case of NotAllowedError
Fix compatibility issues with python-bitarray
Implement queue-retry management command
Implement a new command which consumes all the messages from thedead-letter queues and re-sends the messages back to the snf-dispatcherin order to handle them again.
Messages are annotated with "from-dead-letter" field in order to detect...
Fix bug, UI not updating NICs
Dummy-save the Network when processing messages from Ganeti hooksabout a VM NICs. This is needed, because the UI uses the HTTP changes-sinceswhen requesting VMs and Networks, and combines the result in order to showthe new NICs. Not updating the Network object, resulted in VMs IPv4...
Declare dead-letter exchanges and queues
Modify snf-dispatcher in order to declare the dead-letter exchanges andqueues
Use basic_reject in snf-dispatcher callbacks
Modify snf-dispatcher callbacks in order to reject messages that causedan unknown exception. Because a dead-letter-exchange is associatedwith the queues that snf-dispatcher is using, these messages will betransfered to the dead-letter-exchange.
Remove trailing whitespace
Cache images in server-list
Use cache in order to speed-up the output of server-list
Reverse --deleted option in server-list
Pool connections to snf-pithos-backend
Add mac2eui64 to snf-cyclades-app
Copy mac2eui64 from snf-network to snf-cyclades-app, since it isnow used in the reconciliation process to caclculate the IPv6address of the VMs.
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.
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
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 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
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.
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...
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.
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.
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.
Unique mac-prefix only for mac-filtered networks
Add logging to synefo.db.models
Refactor bridge and mac-prefix pool tables
Redesign the implementation of pools and map mac-prefix and bridge poolsto that design.
Each pool type is mapped to a table in the database, and each row ofthat table is a pool of that type. All pool tables must contain the...
Fix bug in server-inspect
Fix bug in snf-manage network-remove
Wrap network-create command in transaction