139 Commits

Author SHA1 Message Date
Chris Dent
959e6cdceb Description of how to use etags to avoid lost updates
This new document describes etags and how they can be used to
avoid the lost update problem. To avoid confusion it contains an
introduction that explains that it does not cover all of the many
use and corner cases for etags.

Change-Id: Iacb7cb7cddef32b3cabd371255ae8443ce5beb80
2016-04-12 12:30:11 +01:00
Jenkins
51ee384774 Merge "Added tags restrictions to the tagging guidelines" 2016-03-30 13:55:00 +00:00
Chris Dent
c3a5ba0b08 Clarify the guideline proposal process
The steps in the proposal process were interleaved in a way
that made following them confusing. This change extracts the
definitions of terms from the actual process and simplifies the
process.

For the most part the spirit of the staged review process is
maintained but the steps required to reach out to the community
are clarified: Where there is consensus we involve just the CPLs.
Where there is not we reach out to the rest of community. I'm not
certain is the correct way to go. It's a compromise between keeping
things moving with minimal friction and including the broader
community as much as possible.

My hope is that this will help to clarify the term "frozen" and
when freezing is to be done.

This will probably require some iteration.

Change-Id: I416ff1dd35249674fb27f9dd7625786e52001556
2016-03-29 13:57:21 +01:00
Chris Dent
678fce5b70 Fix typos in counting.rst
Also, probably worth reviewing this guidelines to see if it
reflects the current plans and state of the art.

Change-Id: I54bcd7559b4bc35ded5256403c972592c2f27bc9
2016-03-21 19:19:28 +00:00
Jenkins
48eb61fe21 Merge "Header non-proliferation guideline" 2016-03-18 16:04:28 +00:00
Chris Dent
7b4c8ddaf5 Fix some issues in add-reviewers
* Deal with utf-8 in human names. To avoid requiring six, just
  check the python version.
* Allow the review identifier to be a commit hash instead just a
  review int as there can be conflicts:
  https://code.google.com/p/gerrit/issues/detail?id=1707

Change-Id: Ie89dfd7212f72355ab00c0c8dc9edf07f686488b
2016-03-07 14:42:55 +00:00
Sergey Nikitin
70cb95394d Added tags restrictions to the tagging guidelines
One problem with tag names was found during tag
implementation in Nova Ibc44228aeae94c17353af7fccfcfb2c11b2e9190
This problems was connected with URLs. We can't
use '/' in names because in this case we will get a incorrect
URL for tag 'abc/cba': /servers/<server_id>/tags/abc/cba
Even if '/' will be encoded like %2F. Nova will decide
that it is '/'.

But this is not a problem of Nova. Unfortunately some servers
works incorrectly with encoded character '/'. It's a problem of poor
implementation of some servers. To escape problems with handling URLs
character '/' should be forbidden in tag names.

Change-Id: I9832270b3d8210bff9cd2d9732b4d19f757f865a
2016-03-04 18:53:08 +03:00
Chris Dent
a370db6761 Header non-proliferation guideline
Provide advice suggesting we not proliferate headers which include
specific meaning in the name of the header.

Note: this is a draft to get the basic idea out for discussion from
which can distill the proper guide.

Change-Id: If3fa2f85c5771b589992ac374ad26626abc9b13c
2016-02-29 20:00:01 +00:00
Jenkins
9aa075a2e3 Merge "Must not return server-side tracebacks" 2016-02-11 14:31:07 +00:00
Steve Martinelli
050fe3c707 replace dolphm with dstanek as keystone liaison
Change-Id: If5c654c4319dd2081c54413ce23b91cb7ee662c0
2016-01-19 15:23:59 -05:00
Jay Pipes
047e0eca26 Must not return server-side tracebacks
Adds guidance that server-side tracebacks/stacktraces must not be
returned to the user.

Change-Id: Ib64bd648fb28ff1f5600c8a08c1efab3bcd871ec
2016-01-14 12:04:29 -05:00
ting.wang
89b4fffb5d Replace deprecated library which used in python2.6
os.popen() is deprecated since python 2.6.
Resolved with use of subprocess module.

Change-Id: If95864f062853846fa14ac0ad392d97de8e7d359
2016-01-14 14:30:32 +08:00
Ken'ichi Ohmichi
53eeb66d39 Add the condition for using a project term
Most projects contain both their own project name and service name,
and **project name** vs. **service type** guideline is defined for
most cases. However, on current big-tent trend, some projects don't
contain them. So this patch makes the guideline clear for most cases.

Change-Id: I75cabcf0787073d96b6536c4e70b63ed73b814e3
2016-01-12 23:48:28 +00:00
Ken'ichi Ohmichi
07a7aafbf3 Add generic name of each project for terms
We are discussing API Microversions header names and this patch
tries to build the consensus.

http://lists.openstack.org/pipermail/openstack-dev/2015-June/066957.html

Change-Id: I8ad9313f824ef656c841a9b60ee575f02ddea321
Depends-On: I1d74149b1f9f7739a630e2b52392a786a414776e
2016-01-12 23:48:28 +00:00
Hua Wang
35bf769df5 Add liaison for Magnum project
Add Hua Wang as liaison for the Magnum project.

Change-Id: Ice00ee48526865ceba614ad6030a6414d321375e
2015-12-07 15:04:42 +08:00
Goutham Pacha Ravi
b8edad28a8 Add liaison for Manila project
Add Goutham Pacha Ravi as liaison for the Manila project.

Change-Id: Ica61d6e7e73d6dae0e2d6d27e74d341436775a6c
2015-12-04 11:58:18 +05:30
Eli Qiao
e8f80d95b9 Add liaison for Magnum project
Add Eli Qiao as liaison for the Magnum project.

Change-Id: Ie6657731206215d26d6a1e7bc92eb43d873b8b11
2015-12-03 09:25:00 +08:00
Jenkins
68a34065c1 Merge "Add introduction for API microversion guideline" 2015-11-23 16:48:39 +00:00
Jenkins
6488c0815c Merge "A guideline for errors" 2015-11-23 16:48:21 +00:00
tengqm
cd3e0af1fe Add liaison for senlin project
This patch adds Qiming Teng as liaison for the Senlin project.

Change-Id: I2403064284dae05e6674e5ca4e62447d3e10cec0
2015-11-23 01:20:51 -05:00
Everett Toews
6da669487c Invite people to connect by linking to the wiki
Change-Id: If423d033b5c80d637b97fb32156bae2f5d6be1cc
2015-11-12 16:22:25 -06:00
Everett Toews
b0e3c5cec8 A guideline for errors
Errors are a crucial part of the developer experience when using an API. As
developers learn the API they inevitably run into errors. The quality and
consistency of the error messages returned to them will play a large part
in how quickly they can learn the API, how they can be more effective with
the API, and how much they enjoy using the API.

We need consistency across all services for the error format returned in
the response body.

Change-Id: Iae6dc4d84c11c95a97d2451668ebffa80c9821ec
2015-11-12 16:02:02 -06:00
He Jie Xu
dbd93da386 Add introduction for API microversion guideline
This specification is reference to Nova and Ironic API
microversion implementation:
https://github.com/openstack/nova-specs/blob/master/specs/kilo/implemented/api-microversions.rst
https://github.com/openstack/ironic-specs/blob/master/specs/kilo/api-microversions.rst

Current API microversion is different from common versioning SemVer,
so it is nice to go forward with small steps for bulding a consensus.

Change-Id: Ie10b8cf78fab43f437ae3ec7adb7f243de0505af
2015-11-10 14:49:21 +08:00
Jenkins
f1bbedb975 Merge "Add http400 for reference to nonexistent resource" 2015-11-04 01:39:54 +00:00
Jenkins
b577d7f1b5 Merge "Adds an API documentation guideline document" 2015-10-16 18:54:36 +00:00
Ken'ichi Ohmichi
c973998ad6 Add http400 for reference to nonexistent resource
We tend to use "404 NotFound" for all nonexistent resource cases
due to the name, but the RFC says its usage and we need to use 400
for some cases. This patch adds these cases for avoiding confusions.

Change-Id: Ie6e461a133a62de1c87b4b6d963c02fa91aca63c
2015-10-15 11:44:06 +00:00
Anne Gentle
d0d50877dc Adds an API documentation guideline document
Change-Id: Iba6aac11dd27ed29f324cffd5aa3ef5511129693
2015-09-29 14:50:31 -05:00
Everett Toews
4da096bb77 Remove the voting restriction
Based on feedback in this review [1] we want to remove the
restriction on voting on guidelines. That restriction was
a hold over from a Summit discussion when we didn't really
know how everything would work out. It's simply not necessary
at this point.

[1] https://review.openstack.org/#/c/213876/3/doc/source/process.rst

Change-Id: I842a365f3bc5d23b39039525d315194b3344ff04
2015-09-24 15:49:19 +00:00
Michael McCune
70800a0111 replace eg and ie in the http guideline
This change replaces the instances of "eg", "e.g.", "ie", and "i.e." in
the http guideline. This conforms with the documenation conventions
about abbreviations.

Change-Id: I801dbb718add90bc5a11521c8aa9f34ec48b6746
2015-09-09 11:18:09 -04:00
Jenkins
593993467e Merge "add section describing method use in http" 2015-09-04 18:40:02 +00:00
Jenkins
221ddafbd2 Merge "add section describing 501 common mistake" 2015-09-04 18:39:40 +00:00
Jenkins
933d0010d8 Merge "Added note about caching of responses when using https" 2015-09-04 18:38:42 +00:00
Jenkins
868b83e5bb Merge "Require "OpenStack-" in headers" 2015-09-04 18:36:10 +00:00
Jenkins
d2230489dc Merge "Process updates" 2015-08-26 15:42:07 +00:00
Everett Toews
b77c68c6c4 Process updates
Update the process for core reviewers to add exactly one
CodeReview+2 to a review to consider it frozen. This is
preferable to freezing it with a Workflow-1 or CodeReview-2.

Document the use of the add-reviewers.py script.

Change-Id: I9c48bae7b69c5bbeffd2994148b6d02d2150cce5
2015-08-25 15:23:41 -05:00
Miguel Grinberg
7059724ca2 Added note about caching of responses when using https
Change-Id: Ife6e3ba8491539e1aa67bb6ae7ba7ea168f6315e
2015-08-21 11:49:55 -07:00
Ryan S. Brown
d72b50687f Require "OpenStack-" in headers
Previous now-merged patchset [1] allowed for making headers prefixed
only with the service name (Baremetal-FooBar) instead of
OpenStack-Baremetal-FooBar.

[1]: https://review.openstack.org/#/c/186526

Change-Id: I07628e924320c6493ed9a8ac8ae37a7a50be2008
2015-08-21 11:13:32 -04:00
Jenkins
60a3b391e6 Merge "Add advice on when to use POST or PUT in create" 2015-08-18 20:03:34 +00:00
Jenkins
6c6e341e74 Merge "Clarify the return code when server have hard-code length limit" 2015-08-18 20:02:47 +00:00
Jenkins
771d491d26 Merge "Add new guideline for HTTP Headers" 2015-08-18 19:57:01 +00:00
Sergey Lukjanov
0c28916806 Sergey Lukjanov is not acting as a liaison
Change-Id: Ib1898d63efa2846e393acbdd970ba39edbd318d8
2015-08-18 03:35:27 +03:00
Everett Toews
15fa0916fb Add the Murano CPL
Change-Id: Ib22cf3c356759d638ce7239be266783093c772cc
2015-08-17 17:08:16 -05:00
Jenkins
478483cb79 Merge "Add reviewers to an API WG review" 2015-08-17 16:06:13 +00:00
Jenkins
0a56fdc07b Merge "add subsection around caching behavior and http" 2015-08-11 14:28:01 +00:00
Jenkins
387ca9bf38 Merge "No project uses f_ prefix in filter params" 2015-08-11 14:02:46 +00:00
Jenkins
b8b7241349 Merge "RFC 5789 doesn't specify certain uses of PUT" 2015-08-11 14:02:34 +00:00
Ryan S. Brown
21a39d3fa4 Add new guideline for HTTP Headers
To begin, this guideline only explains the deprecation of X- as a header
naming scheme. In the future we can add more guidance on existing
headers (content-type, etc) as appropriate.

Change-Id: Icf0640ea2259842f15049eddaf1cd684c9c41f7c
2015-08-06 20:15:02 -04:00
Chris Dent
a83a1e553c Add advice on when to use POST or PUT in create
This replays the decision made in the API-WG meeting at:
http://eavesdrop.openstack.org/meetings/api_wg/2015/api_wg.2015-05-07-16.01.log.html#l-200

Change-Id: Iabd21b97466013645cd7520b3aa315b9544f6aa3
2015-08-04 17:02:35 +00:00
Jenkins
4029ca4f65 Merge "Adds guidance on request bodies with different Methods" 2015-07-31 20:38:12 +00:00
Jenkins
99a7266b0a Merge "Adding 5xx guidance" 2015-07-30 15:23:01 +00:00