Feature #1112
Support for Multiple DataStores (aka ImageRepositories)
Status: | Closed | Start date: | 02/07/2012 | |
---|---|---|---|---|
Priority: | High | Due date: | ||
Assignee: | - | % Done: | 0% | |
Category: | - | |||
Target version: | Release 3.4 - Beta | |||
Resolution: | fixed | Pull request: |
Description
This feature is to develop multiple repositories support for OpenNebula. This feature will further improve the flexibility of OpenNebula by:
- Easily define DataStores (Image Respositories)
- Each DataStore may be backed by different technologies
- Better plan the storage strategy (e.g. split images in different NAS, assign a slow/fast DataStore to different user groups...)
- Better coupling between the Image and VM Life-Cycles
- Split configuration/Image locations
*...
Related issues
Associated revisions
Feature #1112: Create Datastore and DatastorePool classes, and RM methods
Feature #1112: Ruby OCA and CLI for datastores
feature #1112: Change xml-rpc method name
feature #1112: Fix compilation of tests
feature #1112: Fix compilation warining in tests
Feature #1112: Continue integration of DatastorePool in Nebula class
Feature #1112: Fix one.datastore.delete
Feature #1112: Add datastore to ObjectType strings
Feature #1112: Fix onedatastore show output
Feature #1112: WIP associate Images to Datastores
feature #1112: Initial changes in the Image driver to support multiple Datastores
Feature #1112: Move datastore definition from image template to xml-rcp parameter
Feature #1112: Create default system datastore at bootstrap
Feature #1112: Add datastore id to image creation in ruby OCA and CLI
Feature #1112: System datastores can't be deleted
Feature #1112: Integrate datastores into acl rules
feature #1112: Configuration parameters for the System Datastore
feature #1112: Delete templates in case of failure. Some cosmetic changes
Feature #1112: Datastores are now defined with templates. New att. type and base path
Feature #1112: Use SYSTEM_DS values from oned.conf to create default DS
Feature #1112: Missing file DatastoreTemplate.h
feature #1112: Remove check for missing attribute (default always added)
Feature #1112: WIP, Use XML data in image manager driver messages
Feature #1112: New default ACL rule, to allow any user to use any datastore
Feature #1112: Fix default configuration for vector attributes
feature #1112: Work on the datastore drivers:
- Moved references to image_mad to datastore_mad. Adjusted installation dirs and source files
- FS driver cp command uses DS_DRIVER_ACTION_DATA message
- New libfs.sh to deal with datastore protocol
- New xpath.rb to get XML elements in shell programs
- Change oned.cong and OpenNebula core files to use DATASTORE instead of IMAGE
- Change mkfs driver function to use the drv action data
feature #1112: Added missing file
Feature #1112: Update rm and mkfs scripts to use datastore info
Feature #1112: Fix error message for missing TYPE in datastore creation
Feature #1112: New datastore drivers for vmware
Feature #1112: Add base path and type to onedatastore output
Feature #1112: Restrict image creation on system DS. Create new default DS
Feature #1112: Do not use host's TM_MAD
Feature #1112: Add TM_MAD to Datastores
Feature #1112: Remove datastore initialization from oned.conf
feature #1112: Change error message
Feature #1112: Clusters are coming back into fashion this season
Feature #1112: Remove duplicated cluster header
Feature #1112: onecluster show id param is not optional
Feature #1112: Add cluster attribute to Host
Feature #1112: New method & command onecluster addhost
feature #1112: Add system_dir for VMs
feature-#1112: Add remote_system_dir for Virtual Machines
feature #1112: Get TM_MAD from Datastores
feature #1112: Prepare TM to use a single Transfer Manager driver that handle multiple Datastore transfer plugins
feature #1112: Names and paths for default datastores are now the same
feature #1112: Adds DATASTORE_LOCATION variable
feature #1112: Drivers use new location paths
feature #1112: Fix VM paths for the new system datastore
feature #1112: Makes system datastore access safer
feature #1112: Fix compilation of unit tests
feature #1112: Prolog uses the new locations
feature #1112: Transger manager scripts now uses the new system datastore
Feature #1112: Cluster does not inherit from ObjectCollection, instead it now contains 3 collections for hosts, DS and vnets
Feature #1112: Refactor Cluster attributes to be used in other classes by inheritance
feature #1112: Updated TM transger scripts
feature #1112: Remove TMScript.rb
feature #1112: minor fixes for the datastore driver
feature #1112: Adapt TM driver to the new protocol
Feature #1112: Associate Datastores to Clusters
Feature #1112: Integrate clusters into acl rules
feature #1112: Move default and system datastore to var_location/datastores. Create directories a
Feature #1112: Remove host from its cluster when it is deleted
Feature #1112: Make cluster parameter mandatory for new hosts
Feature #1112: refactor Request::get_info
feature #1112: Move tm action scripts to the new locations
feature #1112: Change tm drivers for default datastores to the new names
feature #1112: oned.conf uses the new TM drivers
feature #1112: Fix variable name
Feature #1112: Move host to cluster addition from Host::allocate to RMAllocate
Feature #1112: Fix optional cluster argument in onehost create
Feature #1112: Refactor RequestManagerAllocate to be able to add objects to clusters on creation
feature #1112: Fix unsafe eval in xpath.rb by joining values with \0
feature #1112: Working mkfs for vmware datastore drivers
feature #1112: Disable 'http://' sources in vmware cp datastore method
Feature #1112: Move datastore to cluster addition from DatastorePool::allocate to RMAllocate
Feature #1112: Refactor RMDelete, hosts and datastores use the same method to be removed from their clusters
Feature #1112: Associate VNets to Clusters. New VNets are created in the "default" cluster
Feature #1112: DS base_path is set by the core in /var/lib/one/datastores/$ID
Feature #1112: Hosts, DS & VNets can belong to the 'none' cluster.
The cluster id -1 is used to indicate objects that can be clustered,
but are not assigned to any cluster. The new methods to remove objects
from their current datastore actually set this 'none' or -1 cluster
ID.
VNets are always created in this 'none' cluster. Hosts and DS require
a cluster ID to be placed when allocated, and the ruby OCA by default
sets it to 'none'
Feature #1112: Add templates to Datastores
Feature #1112: Store oneadmin's ID and name in UserPool
Feature #1112: Add owner and group to DS. To do: chown, chmod methods
feature #1112: Change verbs in transfer scripts
feature #1112: Initial work to adapt tm shared to the new functionality
feature #1112: Adjust core modules to generate right paths for system datastore. Fix bugs in TM shared
feature #1112: clone, ln, mkimage, delete are now functional for tm_shared. Added none fs type for images
feature #1112: none fs type renamed to raw
feature #1112: mkswap for shared TM
Feature #1112: Add permissions to DS. New chown & chmod methods
Feature #1112: New onedatastore update method
Feature #1112: Work on CLI commands, cluster and DS related methods
Feature #1112: Create system and default datastores in cluster 'none'
feature #1112: Do not make system_datastore directory for a VM.
feature #1112: Fix bug when one of the actions of a TM script fails
feature #1112: Do not set DATASTORE_LOCATION value, use the default
feature #1112: TM shared and ssh. It should allow any combination of system datastore and images
datastore types (shared-shared, ssh-shared, shared-ssh, ssh-ssh)
feature #1112: Move to Datastore action for the shared and ssh transfer drivers
feature #1112: Remove unnecessary files from install.sh and the 'mv' datastore scripts
- Remove unnecessary chowns.
- Improve xpath access from datastore shell scripts.
- Read UNAME, RESTRICTED_DIRS and SAFE_DIRS from datastore template.
- New size function using qemu-img
Feature #1112: Add automatic cluster placement requirements to new VMs
Feature #1112: Show TM_MAD in onedatastore show output
Feature #1112: Allow datastore template update to change the internal TYPE and TM_MAD attributes
Feature #1112: Fix tests compilation
feature #1112: Save_as functionality
feature #1112: Update Image state when releasing it (persistent and save_as images)
Feature #1112: Do not create cluster "default" at bootstrap
Feature #1112: Renamge DATASTORE/TYPE to DS_MAD
Feature #1112: add src/tm_mad/*/vmds to install.sh
Feature #1112: RMVMachine save as method: solve image left with its mutex locked, remove PUBLIC att. from new template
Feature #1112: Fix exec_and_log functions
Feature #1112: Fix save_as in mkfs datastore_mad drivers
Feature #1112: Fix save_as image state update when VMs in failed state are deleted
feature #1112: Fix file name in install.sh
feature #1112: Move SED initialization to scripts_common.sh. Always fix path for SRC/DST
feature #1112: Fix errors in mvds scripts
- The DS directory is created specifically by each action only when needed
- ssh_exec_and_log and ssh_make_path move to scripts_common.sh
- Round the size up
- drop unused remote2local_path function
feature #1112: DS iSCSI drivers
feature #1112: improve debugging for one_datastore.rb
feature #1112: Add space in error message
Feature #1112: Refactor VirtualMachine::automatic_requirements to improve performance when there are no errors
Feature #1112: Remove unneeded variable
Feature #1112: Fix segmentation fault when drivers are not defined in oned.conf
feature #1112: Implement clone, delete, ln, mv, mvds for tm_iscsi
Feature #1112: First version of migrator 3.3.0 to 3.3.80
Feature #1112: Add Clusters to Sunstone
Feature #1112: Migrator to 3.3.80 returns error if it finds active VMs
Feature #1112: Set DS_MAD as '-' for the system datastore
Feature #1112: Add new cluster_id parameter to one.vn.allocate
feature #1112: new onehost command. Better arguments
feature #1112: Removed formatter
Feature #1112: onedb restores the original DB if the upgrade process fails
feature #1112: Datastore Command
feature #1112: Work on onecluster command
feature #1112: Update onevnet command
feature #1112: Image command includes datastore information
Feature #1112: Add datastores to Sunstone
Feature #1112: Update Sunstone dashboards, allow DS select on image creation, list images in DS in extended info and various small bugfixes.
Feature #1112: Support improved submenus and menu expansion
feature #1112: Use tar for tm_ssh/mv copies. Use iscsi helper functions
feature #1112: Cast to integer in to_id method in one_helper.rb
feature #1112: Fix wrong paths in tm_ssh/mv remote copy
Feature #1112: Update Sunstone dashboards, allow DS select on image creation, list images in DS in extended info and various small bugfixes.
(cherry picked from commit b20a063d7f13f136f06e97137638dc134262c552)
feature #1112: Improve debugging for one_tm.rb
feature #1112: tm_iscsi/clone not implemented
feature #1112: Include tm_iscsi files in install.sh
feature #1112: Fix CLI option procs
Revert "feature #1112: Improve debugging for one_tm.rb"
This reverts commit d8350b255176c601609aa49f397aec2e9c714694.
feature #1112: Include iscsi in oned.conf
Feature #1112: Fix onevnet create options
Feature #1112: Bug, new vnets were added to their clusters in the datastore set
Feature #1112: Fix onecluster delvnet
feature #1112: Dummy datastore driver
Feature #1112: Implement cluster menus and submenus. Insert new dashboards. Implement top menu.
Feature #1112: Add missing mvds file in dummy tm_mad to install.sh
Feature #1112: Remove <a> links from menu items.
No need to use them as the effect is achieved with cursor: pointer; CSS property on <li> items directly.
Update necessary sunstone files.
Feature #1112: Fix ozones and SelfService UIs to work with Sunstone latest menus.
Since sunstone menus were reworked, some CSS needed to be updated. layout.js file, which is particular to SelfService, was updated to work with latest version of sunstone too.
Feature #1112: Fix bug in cluster requirements generation
feature #1112: VDCs are now defined by a set of Hosts, Datastores and Networks from a Cluster of a given Zone. Users are not granted to create new networks. Hosts does not need to be unique
feature #1112: Fix issues in VDC. Restores unique functionality. CloudServer has a static/class logger
Feature #1112: Set group_u to 1 for new DS. DS 'default' other_u is also set to 1
feature #1112: Add cluster and datastore support to OCCI
feature #1112: Add cluster and datastore support to econe
Feature #1112: Cluster 1 elements now have empty Cluster name element. The CLI shows '' for these resources
feature #1112: Zone VDC API methods to add/del datastores and networks. Fix update method in the server. Updated CLI tool
feature #1112: Add default datastore
feature #1112: Fix update VDC functions. Added options for onevdc. Improved onevdc list
feature #1112: removed unneeded logs
feature #1112: Aggregated pool views in Ozones server
Feature #1112: Reorganize sunstone menus. Add infrastructure top menu.
(cherry picked from commit fd178c51f2713094a01b4ea99e590d663aeb3497)
feature #1112: Fix check when building error strings in Zona API
feature #1112: Improved OCA API functions to check cluster resources. VDC now check cluster consistency when creating or updating the VDC
feature #1112: Better ACL rules for VDCAdmin
feature #1112: Fix econe templates path
Feature #1112: Return an error message when DS 0 (system) is added to any cluster
feature #1112: remove debugging comments
feature #1112: Default host for iSCSI datastore drivers
History
#1 Updated by Ruben S. Montero over 9 years ago
- Target version changed from Release 3.4 to Release 3.4 - Beta
#2 Updated by Ruben S. Montero over 9 years ago
- Status changed from New to Closed
- Resolution set to fixed