]> git.infradead.org Git - users/hch/nvmetcli.git/log
users/hch/nvmetcli.git
7 years agobump version to v0.4 v0.4
Christoph Hellwig [Fri, 21 Apr 2017 06:31:31 +0000 (08:31 +0200)]
bump version to v0.4

7 years agoAdd fc transport support to nvmetcli
James Smart [Wed, 12 Apr 2017 23:09:14 +0000 (16:09 -0700)]
Add fc transport support to nvmetcli

Add fc.json file for example FC configuration.
Small text update for FC in examples/documentation

Signed-off-by: James Smart <james.smart@broadcom.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
7 years agonvmetcli: create json file's dir first if it doesn't exist
Yi Zhang [Wed, 12 Apr 2017 11:34:28 +0000 (19:34 +0800)]
nvmetcli: create json file's dir first if it doesn't exist

The saveconfig operation will be failed as the /etc/nvmet dir
doesn't exist by default, so create it first before save operation.

$ ./nvmetcli
/> saveconfig
[Errno 2] No such file or directory: '/etc/nvmet/config.json.temp'

Signed-off-by: Yi Zhang <yizhan@redhat.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
7 years agonvmetcli: Install nvmetcli in /usr/sbin with setup.py
Mauro S. M. Rodrigues [Wed, 5 Apr 2017 23:49:06 +0000 (20:49 -0300)]
nvmetcli: Install nvmetcli in /usr/sbin with setup.py

According to the README, one can install nvmetcli through setup.py.
When one tries this though, the nvmetcli isn't configured in system's
$PATH.

Adding nvmetcli to scripts argument in setup call does half of the job.
Then, in order to install it in the correct location in a maintanable
way it's introduced setup.cfg file which contains 'install_scripts'
parameter for 'install' command set to /usr/sbin.

Nothing changes on the .deb package creation, the .rpm package process
in the other hand was made simpler by lines that are now done by
setup.py + setup.cfg settings.

Signed-off-by: Mauro S. M. Rodrigues <maurosr@linux.vnet.ibm.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
7 years agonvmetcli: fix Referral operation in shell
Mauro S. M. Rodrigues [Mon, 27 Mar 2017 17:46:44 +0000 (14:46 -0300)]
nvmetcli: fix Referral operation in shell

It's not possible to create or list a Referral under Port entity,
because Referral class is not imported and thus it fails:

/ports/1/referrals> ls

returning "'module' object has no attribute 'Referral'".

This is caused by changes introduced in:
a21ebd54f0 ("nvmetcli: Fix nvmet import").

This patch also fixes the attribute type helper expected for Referral's
portid attribute. It was 'int', causing the system to show error
messages like:

"'UIReferralNode' object has no attribute 'ui_type_int'".
The correct type is 'number'.

Reviewed-by: Guilherme G. Piccoli<gpiccoli@linux.vnet.ibm.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Mauro S. M. Rodrigues <maurosr@linux.vnet.ibm.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
7 years agonvmetcli: fix Port and Host operations in shell
Mauro S. M. Rodrigues [Mon, 27 Mar 2017 17:46:43 +0000 (14:46 -0300)]
nvmetcli: fix Port and Host operations in shell

Operations against Port and Host entities are broken. When performing
operations like the follow:

/ports> create 1
/hosts> create 1

nvmetcli fails, saying the object doesn't have the attribute we're
trying to access, for instance:
'module' object has no attribute 'Port'

This patch fixes this issue by importing the classes Port and Host in
nvmet/__init__.py which was forgotten during the follow change:

a21ebd54f0 ("nvmetcli: Fix nvmet import").

Tested-by: Guilherme G. Piccoli <gpiccoli@linux.vnet.ibm.com>
Tested-by: Sagi Grimberg <sagi@grimberg.m>
Signed-off-by: Mauro S. M. Rodrigues <maurosr@linux.vnet.ibm.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
7 years agobump version to v0.3 v0.3
Christoph Hellwig [Fri, 17 Feb 2017 14:58:54 +0000 (15:58 +0100)]
bump version to v0.3

7 years agoadd a bump-ver.sh script to automate cutting releases
Christoph Hellwig [Fri, 17 Feb 2017 14:46:43 +0000 (15:46 +0100)]
add a bump-ver.sh script to automate cutting releases

Signed-off-by: Christoph Hellwig <hch@lst.de>
7 years agoupdate .gitignore for the auto-generated manpage formats
Christoph Hellwig [Fri, 17 Feb 2017 14:48:05 +0000 (15:48 +0100)]
update .gitignore for the auto-generated manpage formats

Signed-off-by: Christoph Hellwig <hch@lst.de>
7 years agoadd example configuration files
Christoph Hellwig [Fri, 17 Feb 2017 14:47:06 +0000 (15:47 +0100)]
add example configuration files

Signed-off-by: Christoph Hellwig <hch@lst.de>
7 years agonvmetcli: update README
Christoph Hellwig [Thu, 1 Dec 2016 09:42:45 +0000 (10:42 +0100)]
nvmetcli: update README

Most usage information has moved to the manpage.  Also add a blurb
that bugs reports should go to the linux-nvme list.

Signed-off-by: Christoph Hellwig <hch@lst.de>
7 years agonvmetcli: Adding manpage/html generation
Jay Freyensee [Tue, 29 Nov 2016 23:10:59 +0000 (15:10 -0800)]
nvmetcli: Adding manpage/html generation

Signed-off-by: Jay Freyensee <james_p_freyensee@linux.intel.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
7 years agonvmetcli: add python-six to rpm package building
Jay Freyensee [Wed, 23 Nov 2016 18:01:12 +0000 (10:01 -0800)]
nvmetcli: add python-six to rpm package building

From experience, if python-six isn't installed on a Fedora
system, hard-to-decipher errors can occur trying to use
nvmetcli.

Signed-off-by: Jay Freyensee <james.p.freyensee@intel.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
7 years agonvmetcli: Fix nvmet import
Andy Grover [Thu, 13 Oct 2016 00:00:42 +0000 (17:00 -0700)]
nvmetcli: Fix nvmet import

We should just need to import nvmet, which will run __init__.py and import
just the public things from nvmet/nvme.py.

Signed-off-by: Andy Grover <agrover@redhat.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
7 years agoUse relative import in nvmet/__init__.py
Andy Grover [Thu, 13 Oct 2016 00:00:41 +0000 (17:00 -0700)]
Use relative import in nvmet/__init__.py

This is supported by Python 2.7 and later.

Signed-off-by: Andy Grover <agrover@redhat.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agonvmetcli: README description of discovery v0.2
Jay Freyensee [Thu, 8 Sep 2016 19:14:24 +0000 (12:14 -0700)]
nvmetcli: README description of discovery

Some blurbs on discovery and the connection
between using nvmetcli to set up an NVMe target and
what gets seen by an NVMe Host when accessing
the discovery controller.

Signed-off-by: Jay Freyensee <james_p_freyensee@linux.intel.com>
8 years agonvmetcli: More refined cleanup of README
Jay Freyensee [Thu, 28 Jul 2016 17:37:06 +0000 (10:37 -0700)]
nvmetcli: More refined cleanup of README

Adds a few more tidbits to the README file, minus
discovery/referral info (still WIP).

Signed-off-by: Jay Freyensee <james_p_freyensee@linux.intel.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agonvmetcli: Updated README to current functionality
Jay Freyensee [Thu, 23 Jun 2016 21:41:16 +0000 (14:41 -0700)]
nvmetcli: Updated README to current functionality

Also added a referrals/discovery placeholder TBD section.

Signed-off-by: Jay Freyensee <james_p_freyensee@linux.intel.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agoadd RPM packaging
Christoph Hellwig [Thu, 2 Jun 2016 15:16:05 +0000 (17:16 +0200)]
add RPM packaging

Build and install tested on Fedora 23.

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agoadd a systemd unit file
Christoph Hellwig [Wed, 1 Jun 2016 18:28:47 +0000 (20:28 +0200)]
add a systemd unit file

This restores the configuration when started and clears it when shut down.

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agoadd Debian packaging
Christoph Hellwig [Wed, 1 Jun 2016 17:09:38 +0000 (19:09 +0200)]
add Debian packaging

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agomove the default config into a /etc/nvmet/
Christoph Hellwig [Wed, 1 Jun 2016 18:26:27 +0000 (20:26 +0200)]
move the default config into a /etc/nvmet/

no need to clutter /etc directly.

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agorename README.md to README
Christoph Hellwig [Wed, 1 Jun 2016 17:56:01 +0000 (19:56 +0200)]
rename README.md to README

Seems like our code examples aren't valid markdown..

Reported-by: Steve Wise <swise@chelsio.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agoupdate README and examples
Christoph Hellwig [Sun, 29 May 2016 19:15:30 +0000 (21:15 +0200)]
update README and examples

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agonvmetcli: add descriptions for all configfs attributes
Christoph Hellwig [Sun, 29 May 2016 18:44:26 +0000 (20:44 +0200)]
nvmetcli: add descriptions for all configfs attributes

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agonvmet: remove broken automatic portid assignment
Christoph Hellwig [Thu, 26 May 2016 12:58:29 +0000 (14:58 +0200)]
nvmet: remove broken automatic portid assignment

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agonvmet,nvmetcli: support referrals
Christoph Hellwig [Wed, 25 May 2016 12:31:00 +0000 (14:31 +0200)]
nvmet,nvmetcli: support referrals

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agonvmet: small fixes and cleanups
Christoph Hellwig [Wed, 25 May 2016 12:30:50 +0000 (14:30 +0200)]
nvmet: small fixes and cleanups

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agonvmet,nvmetcli: support per-port subsystem enablement
Christoph Hellwig [Thu, 19 May 2016 14:14:36 +0000 (16:14 +0200)]
nvmet,nvmetcli: support per-port subsystem enablement

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agonvmet,nvmetcli: add support for host NQN based access control
Christoph Hellwig [Sun, 3 Apr 2016 15:44:35 +0000 (17:44 +0200)]
nvmet,nvmetcli: add support for host NQN based access control

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agonvmetcli: fix a couple see also references
Christoph Hellwig [Sun, 3 Apr 2016 15:47:38 +0000 (17:47 +0200)]
nvmetcli: fix a couple see also references

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agonvme: a couple typo fixes
Christoph Hellwig [Sun, 3 Apr 2016 15:46:12 +0000 (17:46 +0200)]
nvme: a couple typo fixes

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agonvmet: fix attribute listing
Christoph Hellwig [Sun, 3 Apr 2016 15:45:02 +0000 (17:45 +0200)]
nvmet: fix attribute listing

We only want to split at the first underscore, not at any.

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agonvmet, nvmetcli: add support for NVMe ports
Christoph Hellwig [Fri, 25 Mar 2016 13:06:29 +0000 (14:06 +0100)]
nvmet, nvmetcli: add support for NVMe ports

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agotests: check for invalid subsystem names
Christoph Hellwig [Sat, 26 Mar 2016 17:28:06 +0000 (18:28 +0100)]
tests: check for invalid subsystem names

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agotests: check that the nguid is properly saved and restored
Christoph Hellwig [Sat, 26 Mar 2016 17:14:02 +0000 (18:14 +0100)]
tests: check that the nguid is properly saved and restored

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agoupdate default config file
Christoph Hellwig [Sat, 26 Mar 2016 10:38:07 +0000 (11:38 +0100)]
update default config file

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agonvmet: improve enable semantics
Christoph Hellwig [Sat, 26 Mar 2016 10:35:20 +0000 (11:35 +0100)]
nvmet: improve enable semantics

Allow for a None state of the _enable variable, and use that fact to
automatically set up the enabled state in the primary Node class.

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agopep8
Christoph Hellwig [Fri, 25 Mar 2016 17:45:14 +0000 (18:45 +0100)]
pep8

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agotests: initial version of the testsuite
Christoph Hellwig [Fri, 25 Mar 2016 17:44:57 +0000 (18:44 +0100)]
tests: initial version of the testsuite

This requires nose2 and can be run using make test

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agonvmet: reject Namespace and Subsystems lookups without identifier
Christoph Hellwig [Fri, 25 Mar 2016 17:19:14 +0000 (18:19 +0100)]
nvmet: reject Namespace and Subsystems lookups without identifier

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agonvmet: fix invalid access to self.subsystems in the Namespace constructor
Christoph Hellwig [Fri, 25 Mar 2016 16:29:28 +0000 (17:29 +0100)]
nvmet: fix invalid access to self.subsystems in the Namespace constructor

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agonvmet, nvmetcli: implement enable/disable semantics
Christoph Hellwig [Fri, 25 Mar 2016 15:00:53 +0000 (16:00 +0100)]
nvmet, nvmetcli: implement enable/disable semantics

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agonvmetcli: improve error reporting
Christoph Hellwig [Fri, 25 Mar 2016 13:59:01 +0000 (14:59 +0100)]
nvmetcli: improve error reporting

Report a nice error message in red instead of a python backtrace.

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agonvmetcli: add description strings for the Namespace class
Christoph Hellwig [Thu, 24 Mar 2016 16:19:36 +0000 (17:19 +0100)]
nvmetcli: add description strings for the Namespace class

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agonvmetcli: introduce UINode class
Christoph Hellwig [Fri, 25 Mar 2016 13:53:54 +0000 (14:53 +0100)]
nvmetcli: introduce UINode class

This allows calling saveconfig from each context, and factors some common
group handling code.

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agonvmet: make attr_groups public for nvmetcli
Christoph Hellwig [Fri, 25 Mar 2016 13:49:48 +0000 (14:49 +0100)]
nvmet: make attr_groups public for nvmetcli

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agonvmetcli: remove the unused Controllers and Controller classes
Christoph Hellwig [Fri, 25 Mar 2016 13:53:37 +0000 (14:53 +0100)]
nvmetcli: remove the unused Controllers and Controller classes

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agonvmetcli: remove unused DEFAULT_SAVE_FILE defintion
Christoph Hellwig [Fri, 25 Mar 2016 12:14:58 +0000 (13:14 +0100)]
nvmetcli: remove unused DEFAULT_SAVE_FILE defintion

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agoEnsure internal buffers are flushed json after dumping json to disk
Christoph Hellwig [Thu, 24 Mar 2016 15:42:26 +0000 (16:42 +0100)]
Ensure internal buffers are flushed json after dumping json to disk

A power-outage, unexpected reboot, etc can lead to zero byte file
after a saveconfig.

Based on a rtslib-fb patch from Jon Magrini <jmagrini@redhat.com>.

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agonvmet: fix up various docstrings
Christoph Hellwig [Thu, 24 Mar 2016 15:23:47 +0000 (16:23 +0100)]
nvmet: fix up various docstrings

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agonvmetcli: fix up the default config file to agree with the documentation
Christoph Hellwig [Thu, 24 Mar 2016 15:20:57 +0000 (16:20 +0100)]
nvmetcli: fix up the default config file to agree with the documentation

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agonvmet: 0 is not a valid namespace ID
Christoph Hellwig [Thu, 24 Mar 2016 15:19:58 +0000 (16:19 +0100)]
nvmet: 0 is not a valid namespace ID

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agonvmet: load the nvmet module if not already loaded
Christoph Hellwig [Wed, 23 Mar 2016 20:16:16 +0000 (21:16 +0100)]
nvmet: load the nvmet module if not already loaded

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agonvmetcli: print a useful warning when not called as root user
Christoph Hellwig [Wed, 23 Mar 2016 19:21:07 +0000 (20:21 +0100)]
nvmetcli: print a useful warning when not called as root user

Signed-off-by: Christoph Hellwig <hch@lst.de>
8 years agoinitial public release v0.1
Christoph Hellwig [Wed, 16 Mar 2016 16:44:56 +0000 (17:44 +0100)]
initial public release