Improve server-list usability
Refs #3375
Improve perf for snf-manage cyclades commands
When the snf-manage {server, network}-list commands are invoked with the--displayname option, batch the UUID-to-displayname requests to astakos,instead of issuing a request for each (unique) UUID.
reconciliation: handle missing network from db
Continue reconciliation even if an orphan network is missing from DB.
Fix typo
Add --uuids option to snf-manage cmds
Remove mac2eui64 dependency
Import mac2eui64 code which is already shipped under util/mac2eui64 insteadof shipping it as a seperate script.
Fix pep8 issues
Fix pep8 warnings
Fix bug in network reconciliation
Fix bug in network reconciliation caused by wrong variable scope.
Network field type has been renamed to flavor
Fix typo bug in reconcile ip pools
Refactor network reconciliation
Misc minor bug fixes
Do not allow creation of more than one pools
Do not allow creation of more than one Bridge or MacPrefix pool, sincewe can not handle them yet.
Add backend-id option to reconcile-servers
Make reconcile-servers perform reconciliation only for the specifiedbackend.
reconciliation:avoid double asking Ganeti
Modify reconcile-servers to not communicate 2 times with Ganetito get the operstate and the NICs of the VMs. Merge this two onecall.
Modify backend-modify --drained and --offline args
Make backend-modify drained argument as --drained=True|False insteadof --drained and --no-drained. The same for offline.
Mark as drained newly added backends
Rename reconcile command to reconcile-servers
Rename `snf-manage reconcile` management command to `snf-managereconcile-servers`, to be consistent with `snf-managereconcile-networks`. Also, treat '--detect-all' option as defaultwhen no other '--detect-*' is specified.
Introduce network flavors to replace network types
Add tags and mode to network db model. Replace existing type withflavor. Introduce 4 different flavors. Each flavor has mode, link,mac_prefix, tags. Supported flavors are CUSTOM, IP_LESS_ROUTED,MAC_FILTERED, PHYSICAL_VLAN and are hardcoded in db models....
Implement quotas-init and quotas-verify
Implement quotas-init and quotas-verify management commands.- quotas-init sets quotas of Quotaholder to the state of quotas in Cyclades DB- quotas-verify detects incosistencies between quotas in Quotaholder and...
Implement reconciliation for pending quotas
Implement resizing of pools
Extend PoolManager to support extending and shrinking of Pools. Alsoadd extra option '--size' to pool-modify command.
Add function for pretty printing tables
Check clustername when modifying backend
Add check for clustername when adding backend
Fix lectical in pool-modify
Refactor code in management commands
Improve management commands
Merge branch 'master' into devel-0.12
Conflicts: snf-cyclades-app/synnefo/api/management/commands/flavor-list.py snf-cyclades-app/synnefo/api/management/commands/server-list.py snf-cyclades-app/synnefo/api/networks.py snf-cyclades-app/synnefo/logic/rapi.py
PUBLIC_ROUTED minor changes
Do not allow api to create public networks and type otherthan PRIVATE_MAC_FILTERED/PRIVATE_PHYSICAL_VLAN.
Rename PUBLIC_ROUTED_USE_POOL setting to PUBLIC_USE_POOL.
Let synnefo do IP pool management only if network is private or...
Display VM build percentage in management commands
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 in reconcile-networks
When only detecting, reconciliation can not continue, if theBackendNetwork object does not exist.
Fix typos
Use - instead of _ in backend-update-status
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.
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
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.
Add pool-create and pool-remove commands
Fix presentation of pools
Fix two bugs in network reconciliation
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.
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....
Handle case of no pools in reconcile-pools
Management commands for pools
Create three new management commands for listing, showing and modifyinga pool.
Unique mac-prefix only for mac-filtered networks
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
New method for creating BackendNetwork entries
Create a new method to the Network model, in order to create theBackendNetwork entries tha correspond to this network. Also removethe custom save method, since when multiple public network will besupported, we want them to be correlated with specific backends.
Implement multiple public networks
Implement multiple public networks in order to support:- different public networks per backend- non-consecutive IP ranges in each backend
To support this, public networks are treated different from privateones. Namely, they are correlated with one backend (and so have...
Management command for removing backend
Add command for checking pool consistency
Add new management command 'reconcile-pools' which checks the consistency of thepools and the uniqueness of the associated resources. Currently thiscommands detects the inconcistencies, without trying to resolve them.
Fix bug when adding a new backend
Fix wrong reporting messages when adding a new backend.
Fix creation of networks in new backend
Setting for using IP Pool to public network
Introduce new setting 'PUBLIC_ROUTED_USE_POOL', to indicate whethersynnefo will be responsible for the IP management of the public network,or this responsibility will be delegated to Ganeti.
Fix case of empty address pool
Reconciliation for network IP pool management
Reconcile the contents of each networks IP pool by comparing itwith combination of IP pools of all ganeti backends.
Add extra option for detecting conflicting IPs.
Display IP pool map in network-inspect command
Add support for IPv6
- Extend the Network model with fields for holding the IPv6 subnet and gateway.- Update network API methods.- Modify ganeti hooks to return IPv6 address for all network interfaces. IPv6 is now derived from the IPv6 subnet of the network in Ganeti,...
Rename management commands
Implement network reconciliation
New management commands to inspect network/server
Common functions for instance/network backend name
Fix management commands
- Fix bug in backend_add- Display backend_name in network_inspect command
Bug fixes concerning networks
Synchronize networks when adding a new backend
Rename backend_create to backend_add
Implement backend allocator and management command
New module implementing instance allocation to one of the availablebackends. Allocation is performed based on memory and disk utilization.Statistics for each backend are stored in DB and updated periodically....
Fix issues concerning reconciliation
Use the Backend client instead of global RAPI
Replace use of global RAPI client, with the cached client from theVirtualMachine or Backend model.
Dispatch network actions to all backends.
New management commands concerning backends
- Create command to create a backend (snf-manage backend_create)- Create command to modify a backend (snf-manage backend_list)- Create command to list backends (snf-manage backend_modify)- Modify listservers command to display the backend that hosts the VM
Rename management command
Add management command to inspect queue messages
Update modules interacting with AMQP
Update all modules which are interacting with the RabbitMQ messaging system touse the AMQPClient in order to use highly available queues in active/activemode.
Extend messages to include a unique identifier in order to handle...
Remove --detect-orphan-{servers,networks}
They have to depend on Astakos, move their functionality externally.
Remove unused imports
Add --detect-orphan-{servers,networks}
Remove obsolete files that were restored due to merge
Renamed snf-app to snf-cyclades-app