Resolves warnings like the following:
UserWarning: Usage of dash-separated 'description-file' will not be
supported in future versions. Please use the underscore name
'description_file' instead
Change-Id: I48b452c2413a854b8171814112fc31285728a0d6
This patch implemented NVMe SSD driver in Cyborg.
The Inspur NVMe SSD driver provides the discover and report proposal of
Inspur NVMe SSD disks, then we can use these disks binding and unbinding
with VM like PGPU to accelerator the io rate for the VM. The Inspur NVMe
SSD doesnot support virtualization, one disk can be only bind to one VM.
The spec is already commit. Please see:
https://specs.openstack.org/openstack/cyborg-specs/specs/wallaby/approved/nvme-ssd-driver-proposal.html
Please check the test report in the following link:
https://wiki.openstack.org/wiki/Cyborg/TestReport/InspurNVMeSSD
Co-Authored-By: Wenping Song <songwenping@inspur.com>
Change-Id: Ic474814b780e9beca6f19df50c9ce4c5553850a1
This patch implements a new driver for Intel Nic Card. It
can discover the device and report it to Placement service with
CUSTOM_NIC resource class and specific traits.
Operator should specify the device and correspond profile in a
config file so that nic's driver can read the info from this
file.
Please check the test report in the following link:
https://wiki.openstack.org/wiki/Cyborg/TestReport/IntelNic
Change-Id: Ida0ba8f24b9e226da7f3d7a85fc372247e5281a5
Implements: blueprint sriov-smartnic-support
This reverts commit 4f04cfa4cf5869eafb73ebc887a8677894f18f14.
Reason of revert :Python 3.7 *is* supported because it falls
in the range of supported Python versions (3.6-3.8) [1].
[1] http://lists.openstack.org/pipermail/openstack-discuss/2021-January/019648.html
Change-Id: I08350e42b304db74f9d2cc6a6665e732018be88f
As Cyborg is switching to new policy, this is required
to avoid breaking the existing deployment using policy
file in json format and relying on default value of
'CONF.oslo_policy.policy_file'.
Default value of 'CONF.oslo_policy.policy_file' config option
has been changed from 'policy.json' to 'policy.yaml'. If new default
file 'policy.yaml' does not exist but old default 'policy.json' exist
then fallback to use old default file.
An upgrade checks is added to check the policy_file format and
fail upgrade checks if it is JSON formatted.
Added a warning in policy doc about JSON formatted file is deprecated,
also removed all the reference to policy.json file in doc as well as
in tests.
Related Blueprint: https://blueprints.launchpad.net/oslo.policy/+spec/policy-json-to-yaml
Change-Id: I865227e516dc7505c463ac279309169d95ea6a22
Cyborg Policy Default Refresh is one of the planned blueprints for victoria
release, the specification[0] has been merged in ussuri. To be brief, we need
to do the followings to incorporate authorization scopes into cyborg:
1. Add protection test for all APIs.
A protection test is similar to an API test, but purely focused on the
authoritative outcome.In other words, protection testing is sufficient when
we can assert that a user is or isn’t allowed to do or see something. For
example, users with a reader role on the system or a project shouldn’t be
able to make writable changes.
2. Add the following applicable seven personas to cyborg and mark old
ones as deprecated roles:
* project reader
* project member
* project admin
* system reader
* system admin
* system admin or owner
* system or project reader
3. Rewrite check string(authorization rules) using new personas for all APIs
4. Update policy documentation on cyborg-doc page
This patch refreshed cyborg default RBAC policy to scoped RBAC policy, and
reorganized the policy framework into a more logical way:
1) added seven personas to basic policies and marked legacy roles
as deprecated ones.
2) extract API_policies from policy.py to indenpendent policy files
3) extract authorize_wsgi.py out from policy.py
[0]https://specs.openstack.org/openstack/cyborg-specs/specs/ussuri/approved/policy-defaults-refresh.html
Story: 2007024
Task: 40835
Change-Id: I948d0202ddcd82a532c4de2c1850893cbfaf003d
These translation sections are not needed anymore, Babel can
generate translation files without them.
Change-Id: I6777384b40a0e54381823e4738e8c7ae6433275c
Now that we are running the Victoria tests that include a
voting py38, we can now add the Python 3.8 metadata to the
package information to reflect that support.
Change-Id: Ie55ebf3d5492068ea804461c15e19a204995b3ff
This commit cleanup below:
- Remove python 2.7 stanza from setup.py
- Add requires on python >= 3.6 to setup.cfg so that pypi and pip
know about the requirement
This commit also change the home-page refer to
https://docs.openstack.org/cyborg/latest/
Change-Id: I8eaa4d7bbdc8eea67f3c367d482ed80753284825
Python 2.7 support has been dropped. Last release of Cyborg to support
py2.7 is OpenStack Train. The minimum version of Python now
supported by Cyborg is Python 3.6.
Depends-On: https://review.opendev.org/#/c/691766/
Change-Id: Ie87ef7727b50d8d5ca43f0283c5688199c35412e
On one hand, as discussed in this patch[0], rootwap was intented
to be replaced by privsep, especially for new project.
On the other hand, we need remove rootwrap to fix the following
cyborg-tempest job failure in patch [0]:
cannot stat '/opt/stack/cyborg/etc/cyborg/rootwrap.d/*.filters':
No such file or directory
[0]:https://review.opendev.org/#/c/673957/
Change-Id: I1aaf38da3a68c656616c7d701b8f815e17ed0152
Fix points are extracted in following methods.
1st: check with sixer:
change unicode function to use sixer lib.
2nd: check & fix manually.
2-1: as_dict() function
fix as_dict() to work in py3 env.
2-2: delete unnecessary as_dict() call in response to the change in as_dict()
2-3: fix all_pfs_have_vf() to be able to treat both list and iterator,
because filter() function returns list in py2, iterator in py3.
2-4: To treats map() in same way in py2/3 env , wrap map() with list() in P6,P7
2-5: add python3.7 to setup.cfg
2-6: add py3 tests, as voting
Change-Id: Ibfdec7258c731ee45ce1b9bdba4b2024cea78a12
Story: #2003219
Task: #23418
This patch add the fake driver, this driver can be configured
in cyborg.cfg to enable it:
[agent]
enabled_drivers = fake_driver
It would be used in cyborg test.
Change-Id: I08c63d533fd5dbd4330c68a22d2ecafb38134766
1. Imply gpu driver of passthrough mode.
2. Pre-configure for GPU passthrough(We should move this guide to admin
guide doc later):
a) Edit /etc/default/grub
Modify GRUB_CMDLINE_LINUX=’… quiet’ to GRUB_CMDLINE_LINUX=’… quiet
intel_iommu=on’
b) grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
c) Reboot compute node.
d) Check it is successful or not.
dmesg | grep -e DMAR -e IOMMU
You would see something echoed.
References:
https://pve.proxmox.com/wiki/Pci_passthrough
3.Remove unused import.
4.Fix spelling mistakes.
5.Fix _match_nova_addr, becase addr in os-acc is like 0000:00:06.0
Story: 2002954
Change-Id: I555b656f80b32eafdc24f9ba81ddc9af416d95e9
1. Load drivers with stevedore
2. Now update_usage just do the discover, add report data when
conductor api ready.
Change-Id: Ia813c5a8dd8f29ce689204e52b6e1f691633f5fc
This adds basic framework for cyborg-status upgrade
check commands. For now it has only "check_placeholder"
check implemented.
Real checks can be added to this tool in the future.
Change-Id: I4a180f9a1b25c75489ad3cfee30a7b55506e0bbd
Story: 2003657
Task: 26126
Control Plane API endpoints deployment via WSGI [1] was a community goal
in Pike release. This method provides a series of advantages over that
of running api via a Python command that runs a web server.
This patch add scripts for running API services via WSGI.
The follow-up patch will add the devstack install support.
[1]https://governance.openstack.org/tc/goals/pike/deploy-api-in-wsgi.html
Change-Id: Ifb0ae2fa2143236fb9b38d230f2604e4e560e66e
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>
In order to make it simpler to use the default
configuration files when deploying services
from source, the files are added to pbr's
data_files section so that the files are
included in the built wheels and therefore
deployed with the code. Packaging and deployment
tools can then more easily use the default files
if they wish to.
This pattern is already established with similar
files for neutron and the glance metadefs as has
been mentioned in the related bug report.
Change-Id: I466f235fec7be024f654739a31365724eaf24097
Closes-Bug: #1718356
Fix a couple of warnings that show up when tox -e docs is run.
Also, improve RST formatting and remove extra lines.
Treat warnings as errors to not have those come in again.
Change-Id: I2bdd321a0702168d19ee650c37aabe7f028780c0
1) Update doc links according to OpenStack document migration
2) Use https instead of http for docs links
Change-Id: I5644f38cf56f1e3b6a31252523a3bf28248e9f08
This deploys cyborg services across various hosts and sets them up
as boot time services configured to access the local rabbit and mysql
instances and then runs some validations to ensure
that everything started correctly.
This does not have any saftey for multi-controller setups yet, right now
if you hand the playbook 3 hosts under 'controller' it will deploy three
api endpoints and three agents. Which probably won't work right.
Change-Id: I79b6b1ce9bb6766d5e608c89504c4bbaeaba5599