A holistic Resource Placement Optimization Service
Go to file
Joe D'Andrea 1e146b1499 Add locations to POST /v1/plans API
When determining placements for a related set of resources
via OpenStack Heat, there's no a priori knowledge of specific
location candidates. Thus the /v1/plans API never accounted
for them. However, when it comes to ad hoc placement of a
single resource (e.g., via OpenStack Nova), such knowledge
*does* exist. This is one piece of a three-part change (same
issue tracking ID).

Change-Id: I327b87a1a1104019239547d03600cdd849ea6501
2017-05-04 21:43:50 -05:00
doc Add locations to POST /v1/plans API 2017-05-04 21:43:50 -05:00
etc/valet Lazy resource status update to db 2017-05-04 21:29:24 -05:00
tools Lazy resource status update to db 2017-05-04 21:29:24 -05:00
valet Add locations to POST /v1/plans API 2017-05-04 21:43:50 -05:00
valet_plugins Use upstream Music link 2017-05-01 19:25:09 -05:00
.coveragerc Initial commit 2016-12-12 08:50:24 -06:00
.gitignore Clean-up for tox -epy35 errors 2017-05-01 19:10:47 -05:00
.gitreview Use upstream Music link 2017-05-01 19:25:09 -05:00
.testr.conf Initial commit 2016-12-12 08:50:24 -06:00
CONTRIBUTING.rst Use upstream Music link 2017-05-01 19:25:09 -05:00
HACKING.rst Use upstream Music link 2017-05-01 19:25:09 -05:00
LICENSE Valet Documentation 2017-05-01 19:07:42 -05:00
README.md Fix pep8 and docstring violations 2017-05-01 19:24:57 -05:00
babel.cfg Use upstream Music link 2017-05-01 19:25:09 -05:00
requirements.txt Improve performance by deferring events 2017-05-04 06:52:10 -05:00
run_all_tests.sh Initial commit 2016-12-12 08:50:24 -06:00
run_examples.sh Initial commit 2016-12-12 08:50:24 -06:00
run_test.sh Initial commit 2016-12-12 08:50:24 -06:00
run_until_fail.sh Initial commit 2016-12-12 08:50:24 -06:00
setup.cfg Initial commit 2016-12-12 08:50:24 -06:00
setup.py Fix pep8 and docstring violations 2017-05-01 19:24:57 -05:00
test-requirements.txt Fix pep8 and docstring violations 2017-05-01 19:24:57 -05:00
tox.ini Fix pep8 and docstring violations 2017-05-01 19:24:57 -05:00

README.md

Valet

Valet is a cloud resource placement optimization service. Valet gives OpenStack the ability to optimize cloud resources while simultaneously meeting a cloud application's QoS requirements. Through model driven orchestration, the target state of Valet is to provide “holistic OpenStack data-plane resource placement”. Valet provides an api service, a placement optimizer (Ostro), a high availability data storage and persistence layer (Music), and a set of OpenStack plugins.

Why Valet exists:

For large-scale, multi-tenant cloud operators, there is a large demand for tenant specific service requests. This demand drives the growth of the number of cloud availability zones and compartmentalization of the cloud, which then leads to increased provisioning and sub-optimal use of cloud and staff resources. Also, security requirements lead us to place specialized network appliances of these tenants separately into “exclusive” hosts that do not have internet connectivity.

Valet responds to the challenges outlined above by enhancing OpenStack Nova scheduling to develop resource management optimization. By planning the placement of all the cloud resources for an application in a holistic manner, there is opportunity to reduce cross-rack traffic, reduce resource fragmentation, and save on operating costs.

Learn more about Valet:

Valet consists of the following components:

  • valet-openstack: a set of OpenStack plugins used to interact with Valet
  • valet-api: an API engine used to interact with Valet
  • Ostro: a placement optimization engine
  • ostro-listener: a message bus listener used in conjunction with Ostro and Music

Additional documents:

License:

Valet is distributed under the terms of the Apache License, Version 2.0. The full terms and conditions of this license are detailed in the LICENSE file.