With this patch, cyborg can report accelerators information into
placement. Then scheduer can find an appropriate host according to
user requirements.
This patch leverages Nova's code in order to avoid reinventing the wheel.
It is batter that nova can split the placement client to a separated lib.
So other projects can use it easily.
This new client can support provider trees, that is needed by cyborg's
different dirvers.
We can create a sub provider tree easily by the follow method.
class SchedulerReportClient(object):
def get_provider_tree_and_ensure_root(
self, context, rp_uuid, name=None,
parent_provider_uuid=None)
The patch include:
1. add get_ksa_adapter for placement client
2. add placement client
3. update placement config
Missing testcase for this patch.
Change-Id: I1ad9d525fa070dfa0f7cbf374003a74c50de17b4
Ensure the documentation is kept up to date by automatically
generating it from the source when the docs are built.
This patch:
1.replace oslosphinx with openstackdocstheme since oslosphinx is obsolete
2.add oslo_config.sphinxconfiggen to generate sample conf file
3.add oslo_policy.sphinxpolicygen to generate sample policy file
Change-Id: I39f03023f0a85e4c8943925268ab3e9066975630
Here is an example on how to call this api
curl -s -X PATCH -H "X-Auth-Token: $OS_TOKEN" -H "Content-Type: application/json"\
-d '[{
"path": "/program",
"op": "replace",
"value": [{
"image_uuid": "9a17439a-85d0-4c53-a3d3-0f68a2eac896"
}]
}]'\
http://{api_ip}:6666/v1/accelerators/deployables/{pf_uuid}/program
Change-Id: Iab6150f39be9ccb34f1fc86d6942b1b7c48a4348
According to Openstack summit session [1],
stestr is maintained project to which all Openstack projects should migrate.
Let's switch to stestr as other projects have already moved to it.
[1] https://etherpad.openstack.org/p/YVR-python-pti
Change-Id: I8b0f96f05799b892acfae03522726c17010f0df3
The added "interface_type" field represents deployables' interface
type when attaching to the hypervisor, e.g pci,mdev etc.
When "interface_type" equals "pci", the "address" field represents
the pci_address, and when "interface_type" equals "mdev", the
"address" field represents mdev_path.
Change-Id: I9acbecab2aa8741e9aa7f19f7543a5c05defd90b
The AUTHORS file is generated automatically by pbr as part of building a
package, so it should not be checked in to git.
Change-Id: I1c839b79c6ff97f3515c1f61342c5054058727b9
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Specs were previously under doc/specs and where thus not being rendered
via the docs build process [1]. This patch moves the directory to
doc/source/specs so that'll happen now, and makes minor tweaks to the
documents themselves to clear build errors.
More work should be done at some point soon to split out the appropriate
parts of test-requirements.txt into a doc/requirements.txt.
[1] https://governance.openstack.org/tc/reference/project-testing-interface.html#documentation
Change-Id: I1e2eff09114ef2f2fca883adb454536fb39ab64d
We want to default to running all tox environments under python 3, so
set the basepython value in each environment.
We do not want to specify a minor version number, because we do not
want to have to update the file every time we upgrade python.
We do not want to set the override once in testenv, because that
breaks the more specific versions used in default environments like
py35 and py36.
Change-Id: If27b1960674af44a4de7af412550321d74f05af6
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
As Sean and Clark suggested, etc/cyborg/rootwrap.d = etc/cyborg/rootwrap.d/*
has been moved into one line.
Change-Id: I7d51aa158b4918a89fc41b7e931b9ef0465d87ca
Signed-off-by: zhipengh <huangzhipeng@huawei.com>
The concept of quota gives the possibility to limit the maximum number of
acceleration resources that one project/tenant can prossess.
It will also give the admin users the ability to increase the resource count
on-demand, given that the system constraints are not exceeded.
Change-Id: I554b9d4603d5e65f69c2b924fba66565f7f6c3c4
Partially-Implements: blueprint cyborg-resource-quota
Addresses issues of representing accelerators in Cyborg for
alignment with Nova, and integrating Cyborg into Nova
scheduler flow.
Change-Id: Ied10c0c9515ac498d374ffa36cf41974adf2381f
Proposes: spec cyborg-nova-scheduling
Signed-off-by: Sundar Nadathur <ns1.sundar@gmail.com>
this avoid manual syncup of options from keystoneauth plus gives us the
ability to more options as needed by cyborg
Change-Id: I3ed37cf68be985b7ca06f02244534aebc0137b68
Story: 2002169
Task: 20026
Enhanced the device description model (which is structured
as a Python dictionary) to align it with RCs and traits
that are published by Cyborg in Nova.
Change-Id: I27a4bcab6379652e6893aee7fcc684036db93d61
Proposes: spec cyborg-agent-driver-api
1.Add note(PIP_UPGRADE) for local.conf.
2.Move bash to code-block: console. If not, the quotation marks
will display as Chinese character.
Change-Id: I48f899de345b8dc85b992d18b10922db5fa107e1
compute node, including os-acc library API.
Updated to note that a flavor may refer to a function
by name, for operators' ease of use.
Change-Id: Iefdfbdeadd5894f8d6e45368433ae951105f5a7e
Proposes: spec cyborg compute node API
This patch adds a doc8 check of .rst files to the current pep8 check.
It includes fixes to the .rst files that didn't pass the check.
Change-Id: Ib7a63d1e579f77039172aa4f99d26a3ceeef83d7
Attributes are associated with deployables, each deployable keeps
a attributes_list. Everytime user loads a deployable from DB, all
the associated attibutes will also be retrieved and put into this
list.
To add attributes to a deployable:
Deployable.add_attribute(Attribute)
Deployable.save(context)
To delete an attribute:
Deployable.delete_attribute(context, Attribute)
In addition, Deployable.get_by_filter() also works with attributes
filters as well. For instance:
query = {"attr_key": "attr_val"}
deployable_list = objects.Deployable.get_by_filter(context, query)
Change-Id: Ic2a1874a995ce73124dc33b1c2dbdafa412ecae2
1. amend keyston endpoint register info
Service type should acceleration instead of cyborg.
For cyborg is just the service name.
We do not support uwsgi at present, so we must indicate service
port explicitly.
2. Fix package import error
Add full path to import module, so that the reference can be
resolved.
Story: 2001887
Task: 14368
3. devstack broken
TypeError: launch_service() got an unexpected keyword argument 'restart_method'
When initialize cyborg api service launcher, we already pass restart_method.
So no need to pass restart_method to launcher.launch_service, and it has not
restart_method argument.
Co-Authored-By: jiapei <jiapei2@lenovo.com>
Co-Authored-By: Zhipeng Huang <huangzhipeng@huawei.com>
Change-Id: Ic69e76b7bf86bbd1382aff07694ea9fbafd0862a