
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
Openstack Valence Project
Valence is a service for lifecycle management of pooled bare-metal hardware infrastructure such as Intel(R) Rack Scale architecture which uses Redfish(TM) as one of the management protocols.
- Free software
-
Apache license
- Wiki
- Source
- Bugs
Download and Installation
The following steps capture how to install valence. All installation steps require super user permissions.
Database etcd installation
Single node installation reference: https://github.com/coreos/etcd/releases
Distributed installation reference: https://github.com/coreos/etcd/blob/master/Documentation/op-guide/clustering.md
For development, single node installation is recommended practice.
Valence installation
Install software dependencies
$ sudo apt-get install git python-pip python-dev build-essential
Clone the Valence code from git repo.
$ git clone https://git.openstack.org/openstack/valence
Execute the 'install_valence.sh' file present in the Valence root directory. The install script will automatically install the dependencies listed in the requirements.txt file.
$ sudo bash install_valence.sh
Check the values in valence.conf located at /etc/valence/valence.conf
set the ip/credentials of podm for which this Valence will interact
Check the PYTHON_HOME and other variables in /etc/init/valence.conf
Initialize etcd database
$ valence-db-manager init
Note: The TypeError exception "TypeError: NoneType object is not callable" is caused by known python-etcd bug, which will not impact this db init functionality. https://github.com/jplana/python-etcd/issues/190
Start valence service
$ sudo service valence start
Logs are located at /var/logs/valence/
GUI installation
Please refer to the installation steps in the ui/README file.
Components
Valence follows the typical OpenStack project setup. The components are listed below:
valence-api
A python based daemon based on Flask framework to expose Valence REST APIs. The api service communicates to the PODM through REST interface using Redfish(TM) specification. For adding new api please refer https://github.com/openstack/valence/blob/master/doc/source/developer-guide/add_new_api.rst
valence-ui
valence-ui provides a Web-based GUI interface that can be used to explore Rack Scale Design (RSD) artifacts and compose/disassemble nodes. valence-ui is implemented using Node.js runtime environment and hosted through apache. valence-ui makes us of React.js javascript libaray and invoke Valence REST APIs through ajax REST calls.
Features
Please refer the Valence blueprints for supported and in-the-pipeline
features.
https://blueprints.launchpad.net/openstack-valence