Browse Source

Specification for enable OpenStack Bare Metal Service

Change-Id: I792e4127c31718d2fda9b738f1ea0503fbf1cfcf
Implements: blueprint bare-metal-enablement
wenchma 4 years ago
parent
commit
49206cfd7b
2 changed files with 202 additions and 0 deletions
  1. 1
    0
      doc/source/index.rst
  2. 201
    0
      specs/kilo/bare-metal/bare-metal-enablement.rst

+ 1
- 0
doc/source/index.rst View File

@@ -11,6 +11,7 @@ Juno specs:
11 11
    :maxdepth: 4
12 12
 
13 13
    specs/juno/**
14
+   specs/kilo/**
14 15
 
15 16
 ==================
16 17
 Indices and tables

+ 201
- 0
specs/kilo/bare-metal/bare-metal-enablement.rst View File

@@ -0,0 +1,201 @@
1
+==========================================
2
+Enable Bare Metal Service by Chef
3
+==========================================
4
+
5
+Include the URL of your launchpad blueprint:
6
+
7
+https://blueprints.launchpad.net/openstack-chef/+spec/bare-metal-enablement
8
+
9
+OpenStack Bare Metal Service known as Ironic OpenStack project name provisions
10
+Bare Metal machines by leveraging common technologies such as [PXE]_ boot and
11
+[IPMI]_ to cover a wide range of hardware.
12
+
13
+
14
+Problem description
15
+===================
16
+
17
+* OpenStack Bare Metal Service was available as an incubated project in the
18
+  "Icehouse" release, with many stability and feature improvements in the
19
+  "Juno", it is officially integrated with OpenStack beginning with the "Kilo"
20
+  release.
21
+
22
+* Currently, there is no Chef cookbook support to install and configure
23
+  OpenStack Bare Metal Service.
24
+
25
+
26
+Proposed change
27
+===============
28
+
29
+Add a cookbook included recipes and related attributes/unit tests to install
30
+and configure OpenStack Bare Metal Service.
31
+
32
+The packages which need to be installed include:
33
+
34
+* Fedora/RHEL: openstack-ironic-api, openstack-ironic-conductor,
35
+               openstack-ironic-common and python-ironicclient.
36
+               For PXE: tftp-server and syslinux-tftpboot.
37
+               For IMPI: ipmitool.
38
+
39
+* Ubuntu: ironic-api, ironic-conductor and python-ironicclient.
40
+          For PXE: tftpd-hpa, syslinux and syslinux-common.
41
+          For IMPI: ipmitool.
42
+
43
+Alternatives
44
+------------
45
+
46
+None
47
+
48
+Data model impact
49
+-----------------
50
+
51
+None
52
+
53
+REST API impact
54
+---------------
55
+
56
+Refer to [REST_API_V1]_ for details.
57
+
58
+Security impact
59
+---------------
60
+
61
+* Authentication method to use when connecting to OpenStack other components is
62
+  keystone with PKI as well as others.
63
+
64
+* Allow ironicclient to preform "secure" SSL (https) requests, the SSL/TLS
65
+  versions TLSv1.2. TLSv1.0 and TLSv1.1 are only recommended, but the
66
+  certificates and key exchange are not in the scope of enabling Bare Metal
67
+  Service.
68
+
69
+* Hash algorithms to use for hashing PKI tokens include md5, etc.
70
+
71
+* The commands which require the use of sudo are:
72
+    qemu-img
73
+    iscsiadm
74
+    blkid
75
+    blockdev
76
+    mkswap
77
+    mkfs
78
+    mount
79
+    umount
80
+    dd
81
+    fuser
82
+    parted
83
+
84
+* About resource exhaustion attack, there is no security impact of this Spec.
85
+
86
+Notifications impact
87
+--------------------
88
+
89
+None
90
+
91
+Other end user impact
92
+---------------------
93
+
94
+None
95
+
96
+Performance Impact
97
+------------------
98
+
99
+None
100
+
101
+Other deployer impact
102
+---------------------
103
+
104
+None
105
+
106
+Developer impact
107
+----------------
108
+
109
+None
110
+
111
+
112
+Implementation
113
+==============
114
+
115
+Assignee(s)
116
+-----------
117
+
118
+Primary assignee:
119
+  - wenchma@cn.ibm.com
120
+
121
+Other contributors:
122
+  - None
123
+
124
+Work Items
125
+----------
126
+
127
+* Add a basic cookbook with the default files for getting through first gate
128
+  .gitignore
129
+  .gitreview
130
+  .rubocop.yml
131
+  Berksfile
132
+  CONTRIBUTING.md
133
+  Gemfile
134
+  metadata.md
135
+  Rakefile
136
+  README.md
137
+  TESTING.md
138
+  /spec/spec_helper.rb
139
+
140
+* Add the default attribute file to determine Bare Metal Service configuration
141
+  items.
142
+
143
+* Add the recipe files to install the packages of Bare Metal Service,
144
+  configure the [BARE_METAL_TEMPLATE]_ and start Bare Metal services.
145
+
146
+* Add the template files to enable Bare Metal Service to be configurable.
147
+
148
+* Add the unit tests.
149
+
150
+
151
+Dependencies
152
+============
153
+
154
+* Ironic requires the supported Bare Metal hardwares, such as x68 servers,
155
+  HP iLO, and Intel AMT platforms so far.
156
+
157
+* This requires the supported platform operating systems, such as Fedora,
158
+  RHEL and Ubuntu.
159
+
160
+* This depends on the blueprint [BARE_METAL_ENABLEMENT]_
161
+
162
+* This requires configuring the Bare Metal Service's driver for Compute Service.
163
+
164
+* This requires the setup of supported boot mode, such as [PXE]_ and [IPMI]_.
165
+
166
+
167
+Testing
168
+=======
169
+
170
+* Add unit tests for the recipes.
171
+
172
+* For function and CI integration test, at least one node with OpenStack
173
+  all-in-one deployment is recommended.
174
+
175
+
176
+Documentation Impact
177
+====================
178
+
179
+* Add README.md.
180
+
181
+
182
+References
183
+==========
184
+
185
+.. [BARE_METAL_TEMPLATE] `Bare Metal Template values
186
+   <http://docs.openstack.org/trunk/config-reference/content/ch_configuring-openstack-bare-metal.html>`_
187
+
188
+.. [BARE_METAL_ENABLEMENT] `Bare Metal enablement blueprint
189
+   <https://blueprints.launchpad.net/openstack-chef/+spec/bare-metal-enablement>`_
190
+
191
+.. [IPMI] `IPMI tool source code
192
+   <http://ipmitool.sourceforge.net/>`_
193
+
194
+.. [IRONIC_INSTALLATION_GUIDE] `Bare Metal Service Installation Guide
195
+   <http://docs.openstack.org/developer/ironic/deploy/install-guide.html>`_
196
+
197
+.. [PXE] `PXE user guide
198
+   <http://docs.openstack.org/developer/ironic/deploy/user-guide.html#pxe>`_
199
+
200
+.. [REST_API_V1] `Bare Metal RESTful Web API v1
201
+   <http://docs.openstack.org/developer/ironic/webapi/v1.html>`_

Loading…
Cancel
Save