Commit Graph

189 Commits

Author SHA1 Message Date
akhiljain23 d876f8ae8a Unblock gate
Commented test_get_members() temporarily to unblock gate.

Change-Id: I42ebdfa8204444dbbb0bce64ddf476a5139587e8
2019-01-31 09:00:27 +00:00
akhiljain23 cf99ff0165 Updating docs
>> Changed project name from plasma to valence in docs.
>> Fixed docstring indentation.
>> Added features docs.
>> Added driver docs.
>> Hidden licence headers from html files.

Depends-On: Ia02bc00ad168b3c3d01ef6ca9696d43996091070
Change-Id: I1fa382d566165f5e76c84ad864024c0f546ef74c
2018-04-24 19:18:35 +05:30
Zuul 47777b216a Merge "Add async executor" 2018-04-04 16:28:32 +00:00
Zuul 57815490b6 Merge "Add ExpEther Driver in Valence" 2018-04-04 16:18:03 +00:00
Zuul d21701e175 Merge "Modify Ironic driver to support multi-podm arch" 2018-04-04 16:13:50 +00:00
Zuul 32541e43a7 Merge "Replace LOG.warn with LOG.warning" 2018-04-03 23:48:19 +00:00
akhiljain23 a5cc27bf41 Add ExpEther Driver in Valence
This commit adds ExpEther driver support inside valence to be able
to manage NEC's ExpEther hardware.
This would fit into valence support of multi-podm architecture.

Change-Id: Ie8eb4d50e88d52aefc3732fd07cd8ed1ad5aee6f
Implements: blueprint add-expether-driver
2018-03-28 03:54:34 +00:00
Anusha Ramineni ecd965149b Modify Ironic driver to support multi-podm arch
This commit adds support for Ironic driver to work in
multi-podm architecture

Change-Id: I09e2be5eb3a2651d6f960ac5610fca89335e5b5b
2018-03-27 10:11:53 +05:30
Anusha Ramineni afcf213cb5 Add async executor
This commit adds the framework to support async execution
of functions. Will be used in syncing pooled resources
while podmanager creation.

Also, this adds periodic task support which is used to
periodically sync pooled resources after particular interval.

Partially-Implements blueprint add-device-orchestration
Change-Id: I48f2358e4a7662898796c82d6a47aa6d947495e5
2018-03-26 12:27:13 +05:30
akhiljain23 0104b783ba Add device orchestration framework in valence
This commit adds following functionalities:
- While creating podmanager all associated pooled resources
  will be synced.
- It provides user with following APIs:
  - List devices: v1/devices
  - Show device: v1/devices/<resourse_id>
  - Sync devices: v1/devices/sync

Change-Id: I5db45f5a7b4ffeec4b81758d8f719eaa4b5c9767
Partially-Implements: blueprint add-device-orchestration
2018-03-13 10:14:02 +05:30
rajat29 9842a80a31 Replace LOG.warn with LOG.warning
logging.warn is deprecated in Python 3 [1].

[1] https://docs.python.org/3/library/logging.html#logging.warning

Change-Id: If6bde5ef67327ba52a4590697d34b4cecb6898db
2017-11-10 12:19:47 +05:30
Jenkins 7b1b261a18 Merge "Update podmanager controller to use generic interface" 2017-09-22 00:50:53 +00:00
Jenkins 64b62755fc Merge "Add new 'device' DB table to valence" 2017-09-21 18:07:42 +00:00
Jenkins c4d180bca0 Merge "Support filter while listing composed nodes" 2017-09-21 18:07:34 +00:00
Jenkins 7974b59ea6 Merge "Fix a typo" 2017-09-21 08:37:11 +00:00
Jenkins 9f166eb616 Merge "Update and replace http with https for doc links" 2017-09-21 07:02:06 +00:00
Anusha Ramineni eba2f62d6d Add new 'device' DB table to valence
This commit adds new model 'Device' to store the pooled resources
info in the DB.

Partially-Implements: blueprint add-device-orchestration

Change-Id: Ic93caaede23b3924d5897b2cb4583e27a1072938
2017-09-20 10:14:33 +05:30
Anusha Ramineni 64e5b7186e Update podmanager controller to use generic interface
This commit the podmanager controller to use generic manager
interface for podmanager creation.

Partially-Implements blueprint add-vendor-extensible-framework
Change-Id: Idee81da68f377eb487b67b0a512450f7bd6f6b62
2017-09-20 03:54:38 +00:00
shangxiaobj 29af091cc2 Fix a typo
Fix a typo in valence.

Change-Id: I8103aedae15a62716f3f2edf3e4d33d02d694672
2017-09-15 00:12:00 -07:00
shangxiaobj a959a0d951 Update and replace http with https for doc links
1) Update doc links according to OpenStack document migration
2) Use https instead of http for docs links

Change-Id: I61252f53d3bb59d7357ef9a5898046e06fff553a
2017-09-15 00:07:23 -07:00
Anusha Ramineni 2867117b27 Support filter while listing composed nodes
This commit adds support to filter the list based on filter params
specified

Change-Id: I22f47e0c095ffd4e0eb1973dc5230afe38c56fdd
Closes-Bug:#1714903
2017-09-15 11:07:52 +05:30
Anusha Ramineni d0a5d9ad7e Update Rack and Systems controller to be generic
This commit updates the rack and systems to use controller interface
Partially-Implements blueprint add-vendor-extensible-framework

Change-Id: I8a33b0b924e1a688ab75cccc8bc7ca6185515d43
2017-09-12 09:46:14 +00:00
Anusha Ramineni 1afb9f0cbf Update Node controller to make it generic
This commit updates node controller code to use generic manager
interface instead of redfish directly

Partially-Implements blueprint add-vendor-extensible-framework
Change-Id: Ic551167798306a1ed6b5c609117e6d19e6de6574
2017-09-08 16:39:04 +05:30
Anusha Ramineni 570086d34a Add manager.py to redirect to respective podmanager
This commit is add new module manager.py to redirect the controller
requests to respective podmanager based on 'driver' field.

This commit takes reference of multi-podm patch proposed here:
https://review.openstack.org/#/c/445360/10 and extends the same.

Partially-Implements blueprint add-vendor-extensible-framework

Change-Id: I92efd4c18c75613a6365c750b09390cbe1fedc2e
2017-09-06 11:47:20 +05:30
Anusha Ramineni 78de3b7ba7 cleanup db model 'links' fields
This patch replaces the 'redfish_link' field to resource_uri to store
the relative uri of the node or podmanger.

Change-Id: Ib586e69a04ab2f8c1ea4ae17df958479a7921896
2017-09-04 11:28:40 +05:30
akhiljain23 eeadbaeb33 Using make_response in systems api
Required to print response from systems api in organized manner

Change-Id: Ie31c363f6e657fad828248307cf0bde32ce97f47
2017-08-10 11:43:32 +05:30
Jenkins dcc06f6cdc Merge "Add 'driver' to podmanager DB" 2017-08-09 00:37:52 +00:00
Jenkins 9f063dab02 Merge "Add log options to [DEFAULT] group in conf" 2017-08-09 00:37:27 +00:00
Jenkins 24fa542a04 Merge "Refactor exception module" 2017-08-09 00:25:11 +00:00
Jenkins 1d9b43513a Merge "Add podm_id field to node database" 2017-08-08 16:40:02 +00:00
Jenkins 0aaea7a22c Merge "Update schema to accept attach/detach as valid actions" 2017-08-08 16:22:14 +00:00
Anusha Ramineni 5135b2b4f8 Add log options to [DEFAULT] group in conf
This commit adds valence level log opts to [DEFAULT] group instead
of api group as the log file corresponds not only to api logging, but
valence wide logging. And also, enables the gunicorn api server logging
seperately

Change-Id: I9224bded68dc958ff9058635e05f7f4dea504919
2017-08-08 16:04:53 +05:30
Anusha Ramineni 14b392fa76 Refactor exception module
This commit refactors exception module a bit and raises valence
specific exceptions in code. And also, updates the str(e) to return
exception string, currently it returns empty string

Change-Id: I37cf793e6210db53d046acfebd6f0b126b7b8ae1
Closes-Bug:#1708993
2017-08-07 11:09:56 +05:30
Anusha Ramineni a22bd31b96 Update schema to accept attach/detach as valid actions
This commit updates the validation schema to accept attach/detach
as valid node actions

Partially-Implements blueprint add-device-orchestration

Change-Id: Ia16bd2f19601e3dcbfb2c19ef7537e230812ffe3
2017-08-03 15:06:36 +05:30
Anusha Ramineni 08ae9742d3 Add 'driver' to podmanager DB
With multi-podmanager support, new attribute 'driver' is added to specify
driver while creating pod manager. It is not a required attribute,
if not specified default podmanager driver redfishv1 will be used. Currently,
it loads PodManagerBase using redfish v1.

Partially-Implements blueprint add-vendor-extensible-framework

Change-Id: I26d60562efa776ef96597b095d45b1506714e96e
2017-08-01 10:11:17 +05:30
Jenkins b84053f84f Merge "Update the documentation link for doc migration" 2017-07-28 06:49:33 +00:00
Jenkins 9b33351101 Merge "Replacing six.iterkeys and six.iteritems" 2017-07-26 18:34:56 +00:00
Hangdong Zhang 53e26b6acd Update the documentation link for doc migration
Change-Id: Icac2bac9ef8539f44e0a9a2a6d8a0cc8e0a77c26
2017-07-26 07:53:30 +00:00
Anusha Ramineni 4c28f0864c Add podm_id field to node database
Currently, node validation schema doesnt allow podm_id as valid
attribute, this commit updates the same. And also, adds the podm_id
to node_db, as it is required for the same, to know which podmanager
is managing the node.

Change-Id: I66ce650afed530cc423db34febb9d8bac564ea55
2017-07-25 10:21:34 +05:30
Jenkins a31acd11b0 Merge "Allow compose node without properties" 2017-07-24 10:40:32 +00:00
Jenkins d3053c9ab4 Merge "Fix podmanager create and update functions" 2017-07-19 00:05:53 +00:00
Jenkins 019d3e3f5f Merge "Import sushy lib and extend it as well as show its usage for mutli-podm" 2017-07-17 06:47:54 +00:00
Lin Yang 4d5a93a2a1 Allow compose node without properties
Valence should allow user to compose node without properties, and
let podm to assign one by default, but validation schema block it. So
fix it in schema for node composition.

Change-Id: I00e08aae3d33bbd37c0bac633345c09eb19342af
Closes-Bug: #1701122
2017-07-12 13:04:13 -07:00
hubian c1d0baa164 Import sushy lib and extend it as well as show its usage for mutli-podm
As we finialized that using sushy lib as our redfish driver for podm.
This patch imports sushy lib and show how to extend it as well as create
base_podm to build up the example of releations between podm and
sushy(redfish).

Change-Id: Icbd317f2a2dfe2d0daf22b79fdf4db7eadc368b1
2017-07-12 09:39:04 +08:00
Anusha Ramineni c407fc64e3 Fix podmanager create and update functions
update podmanager functionality is not working, as request value
is not passed properly to the controller, this patch
fixes the same. And also, podmanager DB model , auth property is not
get stored because of incorrect name and validate type , which is also
fixed in this patch.

Change-Id: I0f735b79f444563d522c3443eeeec46152fcc875
Closes-Bug: #1695820
2017-07-11 03:26:37 +00:00
Lin Yang c822bd5a3a Add missing header of Apache License 2.0
Change-Id: I7a1a9f5c85f47b77e28bd14527c576f85f41ccc3
2017-07-07 03:19:53 +00:00
Madhuri Kumari e2cfdbac2e Add node register API: /v1/nodes/{ID}/register
This API does following:

* Creates a node in Ironic of driver type `redfish`
  and details like the redfish URL, username, password,
  system URL of node.
* Creates a port for the above node in Ironic.
* Updates the field `managed_by` to `ironic` in Valence db.

Change-Id: Ia81a2eb6ecb2b48efc3a8c99183d12bbc1635702
2017-06-02 12:30:49 +05:30
Jenkins a75dc523c8 Merge "Add Validation for Node Manage/Action API's" 2017-05-19 16:51:24 +00:00
akhiljain23 42e6bef2b0 Replacing six.iterkeys and six.iteritems
Six.iteritems() and six.iterkeys() must be avoided for iteration.
Other functions like .items() and .keys() should be used in place
to achieve iteration and make it more readable.

Change-Id: I973bc22d2fd0d86537518e9821156703d7f05dd9
2017-05-19 12:36:41 +05:30
Anusha Ramineni 542f3ced2f Add Validation for Node Manage/Action API's
Partially-Implements blueprint validation
Change-Id: If10e37e0036c88a4bd0b183793e4344d8c257b67
2017-05-18 11:23:14 +05:30