File: karbor-support-in-python-openstackclient.rst

package info (click to toggle)
python-karborclient 2.1.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye
  • size: 776 kB
  • sloc: python: 8,201; makefile: 21; sh: 10
file content (166 lines) | stat: -rw-r--r-- 3,105 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
..
 This work is licensed under a Creative Commons Attribution 3.0 Unported
 License.

 http://creativecommons.org/licenses/by/3.0/legalcode

========================================
Karbor support in python-openstackclient
========================================

Implement a new set of karbor commands as python-openstackclient plugins.

Launchpad Blueprint:
https://blueprints.launchpad.net/python-karborclient/+spec/karbor-support-python-openstackclient


Problem Description
===================

python-openstackclient is becoming the default command line client for many
OpenStack projects. Karbor would benefit from implementing all of its client
commands as a single python-openstackclient plugin implemented in the
python-karborclient repository.

Proposed Change
===============

The intent of this spec is to identify the commands to be implemented and
establish conventions for command and argument names. This spec is not
intended to be a full and correct specification of command and argument names.
The details can be left to the code reviews for the commands themselves.

The following conventions will be adopted for command names:

* As the ``OpenStackClient`` convention, the command name shall always take
  the following form:

.. code-block:: bash

    openstack [<global-options>] <object-1> <action> [<object-2>] \
              [command-arguments]


As a example:
The following ``karbor`` commands about plan will be implemented for ``openstack``
initially suggesting these command names:

.. code-block:: bash

    karbor plan-create <name> <provider_id> <resources>
    openstack data protection plan create <name> <provider_id> <resources>

    karbor plan-delete <plan>
    openstack data protection plan delete <plan>

    karbor plan-list
    openstack data protection plan list

    karbor plan-show <plan>
    openstack data protection plan show <plan>

    karbor plan-update <name> <resources> <status>
    openstack data protection plan update <name> <resources> <status>


Configuration
-------------

None

Database
--------

None

Public API
----------

None

Public API Security
-------------------

None

Python API
----------

None

CLI (python-karborclient)
-------------------------

A new directory named osc will be created under /karborclient/osc
for the ``OpenStackClient`` plugin and the commands mentioned above.

Internal API
------------

None

Guest Agent
-----------

None

Alternatives
------------

None

Dashboard Impact (UX)
=====================

None

Implementation
==============

Assignee(s)
-----------

Primary assignee:
  chenying


Milestones
----------


Work Items
----------

CLI commands as stated above.
Unit tests

Upgrade Implications
====================

None

Dependencies
============

python-openstackclient
osc-lib

Testing
=======

Unit tests will be located in: /karborclient/tests/unit/osc/

Documentation Impact
====================

OpenStack Client adoption list will be updated to include python-karborclient.

References
==========

https://docs.openstack.org/python-openstackclient/latest/

Appendix
========

None