Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Copyoffload #1

Open
wants to merge 2,563 commits into
base: master
Choose a base branch
from
Open

Copyoffload #1

wants to merge 2,563 commits into from

Conversation

ggobeli
Copy link

@ggobeli ggobeli commented Feb 3, 2014

Navneet, can you give me access to this brqnch as I am trying to help Andrew solve the Copy Offload setup problems.

Thanks,
Glenn

eharney and others added 30 commits December 16, 2013 17:54
self._last_volume_stats appears to be unused, now that we don't
use _volume_stats_changed().  This means reset_stats() also does
nothing.

This triggered a pylint 'attribute-defined-outside-init' warning.

Change-Id: I4c4f7497e72f726f3430f90df61188bf2f1073c1
lvm.delete has recovery logic within it to do a second attempt
if it should fail the first time. It is currently however logging
those second attempts at error and warn levels. However, as this
is normal flow these should be debug level instead.

This is currently causing a few resets in the gate because this
is a non whitelisted error.

Change-Id: Ie684331d9d97c089ec23569d06981e90eb7f6a67
Closes-Bug: #1261731
A dynamic default makes it difficult to generate
a proper cinder.conf.sample template. Make it
default to the hostname when the option is unset
or left at default.

DocImpact: default of sf_account_prefix changed to "None", which
however preserves behavior of a previously unset option: use
the current hostname.

Change-Id: Ic90305bd93ae0156c37e32012cdc32848192de07
If the create_XYZ_flow fails in being created
its useful to log exactly what the error was in
detail (instead of trapping it and only raising
a generic error). The more detailed error shows
what the real problem was during the flows
construction (which usually is some larger
problem).

Change-Id: I9cd6b8e2c6298d8791ba3063be78f9b4c4a7c5d0
Allow volume_dd_blocksize config option to be configurable on a
per-driver basis.
This allows drivers used in multi-backend configurations
to define their own values. We port this to the LVM and block_device
drivers here but it can easily be ported to others as and when
needed.

DocImpact

partially implement bp: per-driver-config-for-utils-functions

Change-Id: Ice9e815f18e5ebf3727aab7d3a221acacb710cd4
In TgtAdm, we alway do twice _verify_backing_lun whether backing lun
exists or not.
If backing lun exists, it doesn't need to call _verify_backing_lun
function again.
It only needs reverify whether backing lun exists or not when recreate
backing lun.

Change-Id: Ic11d778362540df307056a1adcba932e571b7d20
Closes-Bug: #1262958
Do not allow unused imports in modules, and remove those
that are currently unused.

Change-Id: I7600b1cce22eaef87633f98a89db2086a3ec2b55
Currently the entire QoS information (if any) is included in the result of
initialize_connection() even if the consumer of the QoS is 'back-end'. Also
the format for QoS specs also is changed so that front-end (Nova) can
parse correctly. Add unit test to cover initialize_connection().

Closes-bug: 1259957

DocImpact

Change-Id: Ibc5e92cc1ddf6404e5b234ef524698feae282eec
* Launcher run_server method parameter in docstring
  renamed to match actual argument name.

Change-Id: Ic7934dd540a026141f525ea8ea6f976f959c7ea2
We've added a new qos_specs object to Cinder that allows creation
and management of qos settings separate from volume-types.
Now instead of embedding the qos info in the extra-specs of the
volume-type we associate the desired qos-spec to a volume-type.

This change implements the capability of the SolidFire driver to
take advantage of that feature.

Change-Id: I215bd0cff0c0a91c106de27eea9ec2b91689a46e
Implements: blueprint add-qosspecs-support-to-solidfire-driver
Many more output strings in cinder/bin/*.py don't support i18n,
which should be fixed as visible message.

Change-Id: I863c09a0a398b99360e5a080091e320b594d4024
Closes-Bug: #1257613
Due to the fact that several drivers require backend communication to fetch
connection information for a volume, it's possile that these driver throw
exceptions while doing that.  Currently exceptions can bubble up to volume
API not being handled.  This patch logs exception in volume manager and
then raises VolumeBackendAPIException to caller.

Change-Id: Ib3cc152e04ba029dd835a64b0cfb0a77b8a6828e
Closes-bug: 1256804
Track status of openstack volumes on 3PAR through
additional metadata added as key-value pairs. During volume attach
and detach, corresponding instance metadata is updated onto the
cinder volumes.

Change-Id: Iea8d2f26555e6be60001bf73755cae42446afec6
Closes-Bug: #1258033
Change-Id: I8f2b51a5c5c58fa8c64899091e726139f93967d1
Anastasia Karpinska and others added 18 commits January 31, 2014 18:45
ExtractSchedulerSpecTask hasn't been ever used in the
create_volume flow, so it should be deleted.

Change-Id: Ia841e224bc253c68ed21520951016a1a90634faf
GlanceMetadataNotFound Exception was catching during
a call to volume_glance_metadata_delete_by_volume().
This exception is never thrown by the implementation.
This catching has been removed.

Change-Id: Ifa15df5d9c4517f75a1a050ff5aa34225f33931b
Closes-Bug: #1274601
Change-Id: I723d6663ee209a3e56c1dfcd6e0ddcd2e2af9a12
The vg_free_space field is always assigned a float, so additional casts
are not necessary.

Change-Id: Ic2af78ba7dbd7388cc071fc2f0ea876a1558d0e9
The latest version of keystoneclient adds a new conf
entry that we don't have in Cinder.

This patch adds "enforce_token_bind=permissive"

Change-Id: I1aeb6a59ca1787c05075d76dd9d1f96722653d88
The SolidFire driver uses math module and it's own
local GB variable.

This patch just removes that and uses the GiB def
that already exists in cinder.units.

Change-Id: I4fc167bd61dbb609bd325b4a32b120bf55db02fa
The thin pool creation size may not be obvious to the user, so a log
message may help alleviate some confusion.

Change-Id: I3a98b610be612a4fb7496a89f9005012c9210bf8
clear_volume was almost the same in LVM and BlockDevice drivers.
So it has been moved to utils.

Change-Id: Iadb6b8d01cf500109bb48b0d2c817109918519e0
@singn singn deleted the copyoffload branch February 5, 2014 10:06
@singn singn restored the copyoffload branch February 5, 2014 10:06
Copy offload is a special RPC implemented in Ontap that
allows NFS clients to ask the server to copy data between
volumes in the same cluster efficiently. The special
binary will be developed by NetApp and distributed to its customers.
It will address two copy cases after efficient image clone failed.
First when image cache file is present in a different share than
the one holding volume. Second when glance is backed by nfs share
which is one the same cluster as nfs druver backend. Instead
of regular http download copy offload will be used to copy
image to volume and share.

Implements: blueprint copyoffload

Change-Id: Ib95f7b3890b55b6354f2b3b5e4458a99aee30e7d
@singn singn deleted the copyoffload branch February 5, 2014 10:15
@singn singn restored the copyoffload branch February 5, 2014 10:16
@singn singn deleted the copyoffload branch March 12, 2014 10:06
hadib pushed a commit to savi-dev/cinder that referenced this pull request Mar 26, 2014
Issue rnirmal#1
Once GET variable 'offset' is specified, the API /volume will get an empty
output.

Issue #2
Should validate the GET variable 'limit' before query database to get a
consistent message with Cinder REST API v1.
By current implement, error message is as below if the variable 'limit'
is invalid:
--------------------------------------------------------------------------
{"computeFault": {"message": "The server has either erred or is incapable
of performing the requested operation.", "code": 500}}

After this change, the new message is as below:
--------------------------------------------------------------------------
{"badRequest": {"message": "limit param must be an integer", "code": 400}}

Fixes Bug: 1154454

Change-Id: Ifb155477bae0ea3e39877737ee9019e7d8a104a7
hadib pushed a commit to savi-dev/cinder that referenced this pull request Mar 26, 2014
blueprint hds-hus-iscsi-cinder-driver
This is the first rev of Hitachi Data Systems Cinder iSCSI driver.
This driver works with HUS (df850) array.
This driver contains all the base-line features specified for Havana release.
Amended into this submission are changes from code-reviews.

Docimpact: Bug #1180648

Change-Id: Ia27d076443b10da2c653456f9292dd192362b853
hadib pushed a commit to savi-dev/cinder that referenced this pull request Mar 26, 2014
hadib pushed a commit to savi-dev/cinder that referenced this pull request Mar 26, 2014
1. Use HUS target/initiator resources efficiently.
2. Command options aligned with openStack scheme of using dashes.
3. Self tests modified to accomodate rnirmal#1 and #2.

Change-Id: I7d23a980f237c973538ca08215f77a1f69cc2517
Fixes: bug 1200441
hadib pushed a commit to savi-dev/cinder that referenced this pull request Mar 26, 2014
* Add create_cloned_volume() api.
* Add extend_volume() api.
* Reorganized some connection state keeping into _loc_info() function.
  Earlier this logic was spread out in various calls.
* New self tests for rnirmal#1 and #2 above.

Change-Id: I6a88164ee0a427519c7fab6f6a852d46ec46176c
Fixes: bug #1207560
ameade pushed a commit to NetApp/cinder that referenced this pull request Nov 18, 2014
Issue rnirmal#1
Once GET variable 'offset' is specified, the API /volume will get an empty
output.

Issue #2
Should validate the GET variable 'limit' before query database to get a
consistent message with Cinder REST API v1.
By current implement, error message is as below if the variable 'limit'
is invalid:
--------------------------------------------------------------------------
{"computeFault": {"message": "The server has either erred or is incapable
of performing the requested operation.", "code": 500}}

After this change, the new message is as below:
--------------------------------------------------------------------------
{"badRequest": {"message": "limit param must be an integer", "code": 400}}

Fixes Bug: 1154454

Change-Id: Ifb155477bae0ea3e39877737ee9019e7d8a104a7
(cherry picked from commit 7c76058)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.