diff --git a/api-ref/regenerate-samples.sh b/api-ref/regenerate-samples.sh index b1b0530d46..d1f58ab0db 100755 --- a/api-ref/regenerate-samples.sh +++ b/api-ref/regenerate-samples.sh @@ -273,7 +273,7 @@ GET v1/lookup?node_uuid=$NID > lookup-node-response.json # and the node's driver is "fake", to avoid potential races # with internal processes that lock the Node -# this corrects an intentional ommission in some of the samples +# this corrects an intentional omission in some of the samples PATCH v1/nodes/$NID node-update-driver-info-request.json > node-update-driver-info-response.json GET v1/nodes/$NID/management/boot_device/supported > node-get-supported-boot-devices-response.json diff --git a/api-ref/source/baremetal-api-v1-allocation.inc b/api-ref/source/baremetal-api-v1-allocation.inc index fe699efaeb..84fb4ed617 100644 --- a/api-ref/source/baremetal-api-v1-allocation.inc +++ b/api-ref/source/baremetal-api-v1-allocation.inc @@ -52,7 +52,7 @@ parameters must be missing or match the provided node. .. versionadded:: 1.79 A node with the same name as the allocation ``name`` is moved to the - start of the derived candidiate list. + start of the derived candidate list. Normal response codes: 201 diff --git a/api-ref/source/baremetal-api-v1-driver-passthru.inc b/api-ref/source/baremetal-api-v1-driver-passthru.inc index a43c9527b3..ca2ccced76 100644 --- a/api-ref/source/baremetal-api-v1-driver-passthru.inc +++ b/api-ref/source/baremetal-api-v1-driver-passthru.inc @@ -68,7 +68,7 @@ and method. This endpoint passes the request directly to the hardware driver. The HTTP BODY must be parseable JSON, which will be converted to parameters passed -to that function. Unparseable JSON, missing parameters, or excess parameters +to that function. Unparsable JSON, missing parameters, or excess parameters will cause the request to be rejected with an HTTP 400 error. Normal response code: 200 202 diff --git a/api-ref/source/baremetal-api-v1-node-passthru.inc b/api-ref/source/baremetal-api-v1-node-passthru.inc index a9efeb7f01..90707d5679 100644 --- a/api-ref/source/baremetal-api-v1-node-passthru.inc +++ b/api-ref/source/baremetal-api-v1-node-passthru.inc @@ -61,7 +61,7 @@ and method. This endpoint passes the request directly to the Node's hardware driver. The HTTP BODY must be parseable JSON, which will be converted to parameters passed -to that function. Unparseable JSON, missing parameters, or excess parameters +to that function. Unparsable JSON, missing parameters, or excess parameters will cause the request to be rejected with an HTTP 400 error. Normal response code: 200 202 diff --git a/api-ref/source/parameters.yaml b/api-ref/source/parameters.yaml index aaaeaa6114..1e8432ef30 100644 --- a/api-ref/source/parameters.yaml +++ b/api-ref/source/parameters.yaml @@ -292,7 +292,7 @@ r_description_contains: Filter the list of returned nodes, and only return those containing substring specified by ``description_contains``. in: query - requred: false + required: false type: string r_driver: description: | @@ -581,7 +581,7 @@ bios_setting_name: type: string bios_setting_read_only: description: | - This Bios seting is read only and can't be changed. + This Bios setting is read only and can't be changed. May be None. in: body required: true diff --git a/devstack/files/bindep.txt b/devstack/files/bindep.txt index e2c428fbb5..e4789e0d11 100644 --- a/devstack/files/bindep.txt +++ b/devstack/files/bindep.txt @@ -1,7 +1,7 @@ # NOTE(TheJulia): This is a special bindep file which is independent of the # project bindep file which is for general usage. This binde pfile is # intended for execution from Devstack. -# The *primary* purpose being, devstack manages sql dependency mangement +# The *primary* purpose being, devstack manages sql dependency management # and credential setup, so they can't be included here or it is installed # prematurely. diff --git a/devstack/lib/ironic b/devstack/lib/ironic index 220d9bf74e..267025f007 100644 --- a/devstack/lib/ironic +++ b/devstack/lib/ironic @@ -1293,7 +1293,7 @@ function configure_ironic_dirs { if [[ "$IRONIC_BOOT_MODE" == "uefi" ]]; then if is_ubuntu; then # NOTE(TheJulia): This is done separately here as this allows - # the script to have hirtuse/bionic compatability. + # the script to have hirtuse/bionic compatibility. if [[ -f /usr/lib/ipxe/snponly.efi ]]; then update_loader_copy_paths snponly.efi:/usr/lib/ipxe/snponly.efi elif [[ -f /usr/lib/ipxe/ipxe.efi ]]; then @@ -1378,7 +1378,7 @@ function configure_ironic_provision_network { if [[ "$IRONIC_IP_VERSION" == "6" ]]; then # NOTE(TheJulia): Ideally we should let this happen # with our global address, but iPXE seems to have in - # consistant behavior in this configuration with devstack. + # consistent behavior in this configuration with devstack. # so we will setup a dummy interface and use that. if ! ( ping -c1 -w1 $IRONIC_HOST_IPV6 ); then # But before we create an interface, lets make sure it is @@ -1745,7 +1745,7 @@ function configure_ironic_conductor { # - generate outside of this script # - pass path in as $IRONIC_ANSIBLE_SSH_KEY # - distribute private key to subnodes under the same path - # Similar to what we do for n-g-s, may be even re-use its key. + # Similar to what we do for n-g-s, may be even reuse its key. ssh-keygen -t rsa -N '' -f $IRONIC_ANSIBLE_SSH_KEY chmod 600 $IRONIC_ANSIBLE_SSH_KEY fi @@ -3065,7 +3065,7 @@ function upload_baremetal_ironic_efiboot { # request *or* we just do it as the project scoped admin using the admin # project which in devstack's case is the demo project. # In other words, we can't use devstack-system-admin to upload the image - # unless we set the project_id in the create reqeust. + # unless we set the project_id in the create request. IRONIC_EFIBOOT_ID=$(openstack --os-cloud devstack-admin \ image create \ $efiboot_name \ diff --git a/doc/source/_exts/web_api_docstring.py b/doc/source/_exts/web_api_docstring.py index 4e560a9b70..6152b471f5 100644 --- a/doc/source/_exts/web_api_docstring.py +++ b/doc/source/_exts/web_api_docstring.py @@ -78,7 +78,7 @@ def parse_field_list(content): def create_bullet_list(input_dict, input_build_env): - """Convert input_dict into a sphinx representaion of a bullet list.""" + """Convert input_dict into a sphinx representation of a bullet list.""" grp_field = GroupedField('grp_field', label='title') bullet_list = nodes.paragraph() @@ -138,7 +138,7 @@ def split_list(input_list): """Split input_list into three sub-lists. This function splits the input_list into three, one list containing the - inital non-empty items, one list containing items appearing after the + initial non-empty items, one list containing items appearing after the string 'Success' in input_list; and the other list containing items appearing after the string 'Failure' in input_list. """ diff --git a/doc/source/admin/anaconda-deploy-interface.rst b/doc/source/admin/anaconda-deploy-interface.rst index 2b7195525a..4e7be8c8e4 100644 --- a/doc/source/admin/anaconda-deploy-interface.rst +++ b/doc/source/admin/anaconda-deploy-interface.rst @@ -126,7 +126,7 @@ glance: openstack image create --file ./initrd.img --container-format ari \ --disk-format ari --shared anaconda-ramdisk- openstack image create --file ./squashfs.img --container-format ari \ - --disk-format ari --shared anaconda-stage- + --disk-format ari --shared anaconda-stage- openstack image create --file ./os-image.tar.gz \ --container-format bare --disk-format raw --shared \ --property kernel_id= \ @@ -162,14 +162,14 @@ ironic node: back to Ironic and indicate the state. This token is randomly generated for every deploy, and is required. Specifically this is leveraged in the template's ``pre``, ``onerror``, and ``post`` steps. - For more infomation on Agent Token, please see :doc:`/admin/agent-token`. + For more information on Agent Token, please see :doc:`/admin/agent-token`. Standalone deployments ---------------------- While this deployment interface driver was developed around the use of other OpenStack services, it is not explicitly required. For example HTTP(S) URLs -can be supplied by the API user to explictly set the expected baremetal node +can be supplied by the API user to explicitly set the expected baremetal node ``instance_info`` fields .. code-block:: shell @@ -299,7 +299,7 @@ Limitations * This deploy interface has only been tested with Red Hat based operating systems that use anaconda. Other systems are not supported. -* Runtime TLS certifiate injection into ramdisks is not supported. Assets +* Runtime TLS certificate injection into ramdisks is not supported. Assets such as ``ramdisk`` or a ``stage2`` ramdisk image need to have trusted Certificate Authority certificates present within the images *or* the Ironic API endpoint utilized should utilize a known trusted Certificate diff --git a/doc/source/admin/cleaning.rst b/doc/source/admin/cleaning.rst index 5172f71fae..297eeec43d 100644 --- a/doc/source/admin/cleaning.rst +++ b/doc/source/admin/cleaning.rst @@ -445,7 +445,7 @@ power will be turned off via the management interface. Afterwards, the While the deployment step framework also supports the ``execute_on_child_nodes`` and ``limit_child_node_execution`` parameters, all of the step frameworks have a fundamental limitation in that child node - step execution is indended for syncronous actions which do not rely upon + step execution is intended for synchronous actions which do not rely upon the ``ironic-python-agent`` running on any child nodes. This constraint may be changed in the future. diff --git a/doc/source/admin/drivers/ansible.rst b/doc/source/admin/drivers/ansible.rst index c455b4ef69..f127c4aee8 100644 --- a/doc/source/admin/drivers/ansible.rst +++ b/doc/source/admin/drivers/ansible.rst @@ -115,7 +115,7 @@ Logging Logging is implemented as custom Ansible callback module, that makes use of ``oslo.log`` and ``oslo.config`` libraries -and can re-use logging configuration defined in the main ironic configuration +and can reuse logging configuration defined in the main ironic configuration file to set logging for Ansible events, or use a separate file for this purpose. It works best when ``journald`` support for logging is enabled. diff --git a/doc/source/admin/drivers/idrac.rst b/doc/source/admin/drivers/idrac.rst index c007bbb10a..dd6d87628d 100644 --- a/doc/source/admin/drivers/idrac.rst +++ b/doc/source/admin/drivers/idrac.rst @@ -720,7 +720,7 @@ Set BIOS Config baremetal node passthru call set_bios_config --arg "name=value" -Walkthrough of perfoming a BIOS configuration change: +Walkthrough of performing a BIOS configuration change: The following section demonstrates how to change BIOS configuration settings, detect that a commit and reboot are required, and act on them accordingly. The diff --git a/doc/source/admin/drivers/ilo.rst b/doc/source/admin/drivers/ilo.rst index 0d6b58b5b2..b948e378b9 100644 --- a/doc/source/admin/drivers/ilo.rst +++ b/doc/source/admin/drivers/ilo.rst @@ -361,7 +361,7 @@ Node configuration before the Xena release. * The following parameters are mandatory in ``driver_info`` - if ``ilo-inspect`` inspect inteface is used and SNMPv3 inspection + if ``ilo-inspect`` inspect interface is used and SNMPv3 inspection (`SNMPv3 Authentication` in `HPE iLO4 User Guide`_) is desired: * ``snmp_auth_user`` : The SNMPv3 user. @@ -891,7 +891,7 @@ The hardware type ``ilo`` supports hardware inspection. an error. This feature is available in proliantutils release version >= 2.2.0. * The iLO must be updated with SNMPv3 authentication details. - Pleae refer to the section `SNMPv3 Authentication` in `HPE iLO4 User Guide`_ + Please refer to the section `SNMPv3 Authentication` in `HPE iLO4 User Guide`_ for setting up authentication details on iLO. The following parameters are mandatory to be given in driver_info for SNMPv3 inspection: @@ -1807,7 +1807,7 @@ refer to `HPE Integrated Lights-Out REST API Documentation ``. - string representing filesystem path to certification file: In this case, diff --git a/doc/source/admin/drivers/redfish.rst b/doc/source/admin/drivers/redfish.rst index 6582f587b8..19a438c0a3 100644 --- a/doc/source/admin/drivers/redfish.rst +++ b/doc/source/admin/drivers/redfish.rst @@ -97,7 +97,7 @@ field: .. note:: The ``redfish_address``, ``redfish_username``, ``redfish_password``, and ``redfish_verify_ca`` fields, if changed, will trigger a new session - to be establsihed and cached with the BMC. The ``redfish_auth_type`` field + to be established and cached with the BMC. The ``redfish_auth_type`` field will only be used for the creation of a new cached session, or should one be rejected by the BMC. @@ -446,7 +446,7 @@ of the remaining updates will pause. When the node is taken out of maintenance mode, processing of the remaining updates will continue. When updating the BMC firmware, the BMC may become unavailable for a period of -time as it resets. In this case, it may be desireable to have the cleaning step +time as it resets. In this case, it may be desirable to have the cleaning step wait after the update has been applied before indicating that the update was successful. This allows the BMC time to fully reset before further operations are carried out against it. To cause the cleaning step to wait after @@ -626,7 +626,7 @@ Create Subscription :widths: 25, 15, 15, 90 "Destination", "body", "string", "The URI of the destination Event Service" - "EventTypes (optional)", "body", "array", "List of ypes of events that shall be sent to the destination" + "EventTypes (optional)", "body", "array", "List of types of events that shall be sent to the destination" "Context (optional)", "body", "string", "A client-supplied string that is stored with the event destination subscription" "Protocol (optional)", "body", "string", "The protocol type that the event will use for sending diff --git a/doc/source/admin/hardware-burn-in.rst b/doc/source/admin/hardware-burn-in.rst index 35f231d11a..c7a2126f2e 100644 --- a/doc/source/admin/hardware-burn-in.rst +++ b/doc/source/admin/hardware-burn-in.rst @@ -213,7 +213,7 @@ to consume the output of the burn-in steps more easily, or even in real-time, the nodes can be configured to store the output of the individual steps to files in the ramdisk (from where they can be picked up by a logging pipeline). -The configuration of the outpout file is done via one of +The configuration of the output file is done via one of ``agent_burnin_cpu_outputfile``, ``agent_burnin_vm_outputfile``, ``agent_burnin_fio_disk_outputfile``, and ``agent_burnin_fio_network_outputfile`` parameters which need to be added diff --git a/doc/source/admin/inspection/hooks.rst b/doc/source/admin/inspection/hooks.rst index 04db9f1c0e..847da0f48b 100644 --- a/doc/source/admin/inspection/hooks.rst +++ b/doc/source/admin/inspection/hooks.rst @@ -2,7 +2,7 @@ Inspection hooks ================ *Inspection hooks* are a type of the Bare Metal service plug-ins responsible -for processing data from in-band inspection. By confuguring these hooks, an +for processing data from in-band inspection. By configuring these hooks, an operator can fully customize the inspection processing phase. How the data is collected can be configured with `inspection collectors `_. diff --git a/doc/source/admin/inspection/managed.rst b/doc/source/admin/inspection/managed.rst index 0fcbae00d7..b44b672196 100644 --- a/doc/source/admin/inspection/managed.rst +++ b/doc/source/admin/inspection/managed.rst @@ -34,7 +34,7 @@ option: [inspector] callback_endpoint_override = https://example.com/baremetal-introspection/v1/continue -For the built-in inspection, the bare metal API endpoint can be overriden +For the built-in inspection, the bare metal API endpoint can be overridden instead: .. code-block:: ini diff --git a/doc/source/admin/interfaces/boot.rst b/doc/source/admin/interfaces/boot.rst index d5b51e2ea4..e57943392b 100644 --- a/doc/source/admin/interfaces/boot.rst +++ b/doc/source/admin/interfaces/boot.rst @@ -107,7 +107,7 @@ appended to the kernel command line:: ``nomodeset`` as an option. This option is intended for troubleshooting, and can greatly degrade performance with Matrox/Aspeed BMC Graphics controllers which is very commonly used on physical servers. The - performance degredation can greatly reduce IO capacity upon every + performance degradation can greatly reduce IO capacity upon every console graphics update being written to the screen. Common options diff --git a/doc/source/admin/ovn-networking.rst b/doc/source/admin/ovn-networking.rst index fd0f45be3b..a2af7a38d8 100644 --- a/doc/source/admin/ovn-networking.rst +++ b/doc/source/admin/ovn-networking.rst @@ -55,11 +55,11 @@ is being worked in Neutron specific issues, but the OVN DHCP server is an entirely different server than the interfaces were tested upon. -Maxmium Transmission Units +Maximum Transmission Units -------------------------- OVN's handling of MTUs has been identified by OVN as being incomplete. -The reality is that it assumes the MTU is not further constained beyond +The reality is that it assumes the MTU is not further constrained beyond the gateway, which sort of works in some caess for virtual machines, but might not be applicable with baremetal because your traffic may pass through lower, or higher MTUs. @@ -106,7 +106,7 @@ a higher operational security posture for the deployment. Users of the Rescue ------ -Due to the aformentioned NAT issues, we know Rescue operations may not work. +Due to the aforementioned NAT issues, we know Rescue operations may not work. This is being tracked as `bug 2033083 `_. diff --git a/doc/source/admin/power-sync.rst b/doc/source/admin/power-sync.rst index 47d7c9459b..9d95ffb933 100644 --- a/doc/source/admin/power-sync.rst +++ b/doc/source/admin/power-sync.rst @@ -25,7 +25,7 @@ misbehaving BMCs which may delay or even block the synchronization otherwise. logs). While Ironic automatically retries to get the power status for the affected nodes, the failure rate may be reduced by increasing the power sync cycle, e.g. to 300 seconds, and/or by reducing the number - of power sync workers, e.g. to 2. Pleae keep in mind, however, that + of power sync workers, e.g. to 2. Please keep in mind, however, that depending on the concrete setup increasing the power sync interval may have an impact on other components relying on up-to-date power states. diff --git a/doc/source/admin/ramdisk-boot.rst b/doc/source/admin/ramdisk-boot.rst index bf9acd0bed..f20668d73a 100644 --- a/doc/source/admin/ramdisk-boot.rst +++ b/doc/source/admin/ramdisk-boot.rst @@ -5,7 +5,7 @@ Ironic supports booting a user provided ramdisk or an ISO image (starting with the Victoria release) instead of deploying a node. Most commonly this is performed when an instance is booted via PXE, iPXE or Virtual Media, with the only local storage contents being those in memory. -It is suported by ``pxe``, ``ipxe``, ``redfish-virtual-media`` and +It is supported by ``pxe``, ``ipxe``, ``redfish-virtual-media`` and ``ilo-virtual-media`` boot interfaces. Configuration diff --git a/doc/source/admin/retirement.rst b/doc/source/admin/retirement.rst index aab307bac9..e5288869ca 100644 --- a/doc/source/admin/retirement.rst +++ b/doc/source/admin/retirement.rst @@ -72,7 +72,7 @@ will hence not be eligible for scheduling of new instances. Equally, nodes with ``retired`` set to True cannot move from ``manageable`` to ``available``: the ``provide`` verb is blocked. This is to prevent -accidental re-use of nodes tagged for removal from the fleet. In order +accidental reuse of nodes tagged for removal from the fleet. In order to move these nodes to ``available`` none the less, the ``retired`` field needs to be removed first. This can be done via:: diff --git a/doc/source/admin/secure-rbac.rst b/doc/source/admin/secure-rbac.rst index 1f1bb66d1f..2c0041927e 100644 --- a/doc/source/admin/secure-rbac.rst +++ b/doc/source/admin/secure-rbac.rst @@ -15,7 +15,7 @@ That being said, it would likely help anyone working to implement customization of these policies to consult some reference material in hopes of understanding the context. -* `Keystone Adminstrator Guide - Service API Protection `_ +* `Keystone Administrator Guide - Service API Protection `_ * `Ironic Scoped Role Based Access Control Specification `_ Historical Context - How we reached our access model @@ -64,7 +64,7 @@ indicate an associated ``project_id`` value. The Secure RBAC model, since the introduction of the base capability has been extended as a result of an OpenStack community goal to include a ``manager`` -role in the project scope. By default, this access is equivelent to a Project +role in the project scope. By default, this access is equivalent to a Project scoped ``admin`` user, however it may be delineated further as time moves forward. diff --git a/doc/source/admin/servicing.rst b/doc/source/admin/servicing.rst index 18358c4329..7ba62b9e9f 100644 --- a/doc/source/admin/servicing.rst +++ b/doc/source/admin/servicing.rst @@ -28,7 +28,7 @@ Similarities to Cleaning and Deployment ======================================= Similar to Clean and Deploy steps, when invoked an operator can validate -the curent running steps by viewing the ``driver_internal_info`` field +the current running steps by viewing the ``driver_internal_info`` field looking for a ``service_steps`` field. The *current* step being executed can be viewed using the baremetal node ``service_step`` field, which is a top level field. diff --git a/doc/source/admin/troubleshooting.rst b/doc/source/admin/troubleshooting.rst index 341f5891b9..0d244f132f 100644 --- a/doc/source/admin/troubleshooting.rst +++ b/doc/source/admin/troubleshooting.rst @@ -191,7 +191,7 @@ location of the files will depend on the way you've built the ramdisk. This will allow you to run commands within the filesystem, e.g. use package manager. If the ramdisk is also systemd-based, and you have login - credentials set up, you can even boot a real ramdisk enviroment with + credentials set up, you can even boot a real ramdisk environment with :: @@ -548,7 +548,7 @@ of such wait states includes: * ``clean wait`` for cleaning, * ``inspect wait`` for introspection, -* ``rescue wait`` for rescueing, and +* ``rescue wait`` for rescuing, and * ``wait call-back`` for deploying. Communication issues between the conductor and the node @@ -641,7 +641,7 @@ stable state, and the node should not be provisioned. If the ``baremetal port delete`` command fails, this may indicate that a known VIF is still attached. Generally if they are transitory from cleaning, provisioning, rescuing, or even inspection, getting the node to the -``available`` state wil unblock your delete operation, that is unless there is +``available`` state will unblock your delete operation, that is unless there is a tenant VIF attahment. In that case, the vif will need to be removed from with-in the Bare Metal service using the ``baremetal node vif detach`` command. @@ -652,7 +652,7 @@ the port's ``internal_info`` field. .. warning:: The ``maintenance`` flag can be used to force the node's port to be deleted, however this will disable any check that would normally block - the user from issuing a delete and accidently orphaning the VIF attachment + the user from issuing a delete and accidentally orphaning the VIF attachment record. How do I resolve this? @@ -682,8 +682,8 @@ Using that, you can delete the port. Example: My test VM image does not deploy -- mount point does not exist ============================================================== -What is likely occuring ------------------------ +What is likely occurring +------------------------ The image attempting to be deployed likely is a partition image where the file system that the user wishes to boot from lacks the required @@ -845,7 +845,7 @@ How did I get here? One of the major consumers of memory in a host running an ironic-conductor is transformation of disk images using the ``qemu-img`` tool. This tool, because the disk images it works with are both compressed and out of linear block -order, requires a considerable amount of memory to efficently re-assemble +order, requires a considerable amount of memory to efficiently re-assemble and write-out a disk to a device, or to simply convert the format such as to a ``raw`` image. @@ -986,7 +986,7 @@ baremetal operators. These settings can be modified by using the ``[conductor]max_concurrent_deploy`` and ``[conductor]max_concurrent_clean`` settings from the ironic.conf file supporting the ``ironic-conductor`` -service. Neither setting can be explicity disabled, however there is also no +service. Neither setting can be explicitly disabled, however there is also no upper limit to the setting. .. note:: @@ -1112,7 +1112,7 @@ basic troubleshooting steps: * If the version of ironic supports the feature, consult the node history log, ``baremetal node history list`` and ``baremetal node history get ``. -* Consult the acutal console screen of the physical machine. *If* the ramdisk +* Consult the actual console screen of the physical machine. *If* the ramdisk booted, you will generally want to investigate the controller logs and see if an uploaded agent log is being stored on the conductor responsible for the baremetal node. Consult `Retrieving logs from the deploy ramdisk`_. diff --git a/doc/source/admin/tuning.rst b/doc/source/admin/tuning.rst index 662f168826..b806502f5d 100644 --- a/doc/source/admin/tuning.rst +++ b/doc/source/admin/tuning.rst @@ -167,7 +167,7 @@ user. Often, depending on load, query patterns, periodic tasks, and so on and so forth, additional indexes may be needed to help provide hints to the database -so it can most efficently attempt to reduce the number of rows which need to +so it can most efficiently attempt to reduce the number of rows which need to be examined in order to return a result set. Adding indexes diff --git a/doc/source/contributor/contributing.rst b/doc/source/contributor/contributing.rst index f6d94bb3fd..649b81223f 100644 --- a/doc/source/contributor/contributing.rst +++ b/doc/source/contributor/contributing.rst @@ -81,7 +81,7 @@ Feature Submission Process #. As soon as a member of the team acknowledges the bug, we will move it to the 'Review' state. As time goes on, Discussion about the RFE, and whether to approve it will occur. If the RFE has not - been triaged and you'd like it to recieve immediate attention, add it to + been triaged and you'd like it to receive immediate attention, add it to the Open Discussion section of our `weekly meeting agenda `, and, timezone permitting, attend the meeting to advocate for your RFE. diff --git a/doc/source/contributor/rbac-testing.rst b/doc/source/contributor/rbac-testing.rst index d3f7e4de61..986b1c954b 100644 --- a/doc/source/contributor/rbac-testing.rst +++ b/doc/source/contributor/rbac-testing.rst @@ -13,7 +13,7 @@ standard pattern of entirely python based unit testing. In part this was done for purposes of speed and to keep the declaration of the test context. This also lended itself to be very useful due to the nature of A/B testing -which is requried to properly migrate the Ironic project from a project +which is required to properly migrate the Ironic project from a project scoped universe where an ``admin project`` is utilized as the authenticating factor coupled with two custom roles, ``baremetal_admin``, and ``baremetal_observer``. @@ -41,7 +41,7 @@ back would have been a heavier lift. As such, the tests largely look for one of the following error codes. * 200 - Got the item from the API - This is an database driven interaction. -* 201 - Created - This is databaes driven interaction. These are rare. +* 201 - Created - This is database driven interaction. These are rare. * 204 - Accepted - This is a database driven interaction. These are rare. * 403 - Forbidden - This tells us the policy worked as expected where access was denied. @@ -78,7 +78,7 @@ Some general rules apply Remember: owner and lessee admins are closer to System scoped Admin Members. * Members can do some things, but not everything * Readers can always read, but as we get into sensitive data later on - such as fields containing infrastucture internal addresses, these values + such as fields containing infrastructure internal addresses, these values will become hidden and additional tests will examine this. * Third party, or external/other Admins will find nothing but sadness in empty lists, 403, 404, or even 500 errors. @@ -91,7 +91,7 @@ tests Role Based Access Control related capabilities will come in a series of phases, styles vary a little. The first phase is ``"legacy"``. In essence these are partially -programatically generated and then human reviewed and values populated +programmatically generated and then human reviewed and values populated with expected values. The second phase is remarkably similar to ``legacy``. It is the safety net @@ -108,7 +108,7 @@ to the ``legacy`` tests. The major difference being some header values, and a user with a ``member`` role in the ``system`` scope now has some rights. -The forth phase, is implementaiton of ``owner`` and ``lessee`` aware +The forth phase, is implementation of ``owner`` and ``lessee`` aware project scoping. The testing approach is similar, however it is much more of a "shotgun" approach. We test what we know should work, and what know should not work, but we do not have redundant testing for each role as ``admin`` diff --git a/doc/source/contributor/vision.rst b/doc/source/contributor/vision.rst index b405c0f9f1..9f618ff9d9 100644 --- a/doc/source/contributor/vision.rst +++ b/doc/source/contributor/vision.rst @@ -6,7 +6,7 @@ Contributor Vision Background ========== -During the Rocky Project Teams Gathering (Feburary/March 2018), +During the Rocky Project Teams Gathering (February/March 2018), The contributors in the room at that time took a few minutes to write out each contributor's vision of where they see ironic in five years time. diff --git a/doc/source/install/configure-ipmi.rst b/doc/source/install/configure-ipmi.rst index 5ec5f295f9..f89409faf9 100644 --- a/doc/source/install/configure-ipmi.rst +++ b/doc/source/install/configure-ipmi.rst @@ -26,7 +26,7 @@ IPMI is a relatively old protocol and may require additional set up on the hardware side that the Bare Metal service cannot do automatically: #. Make sure IPMI is enabled and the account you use have the permissions - to change power and boot devices. By default the adminstrator rights are + to change power and boot devices. By default the administrator rights are expected, you can change it: see :ref:`ipmi-priv-level`. #. Make sure the cipher suites are configured for maximum security. Suite 17 is diff --git a/doc/source/install/configure-ipv6-networking.rst b/doc/source/install/configure-ipv6-networking.rst index 926b34c189..ddff898a46 100644 --- a/doc/source/install/configure-ipv6-networking.rst +++ b/doc/source/install/configure-ipv6-networking.rst @@ -13,7 +13,7 @@ Configure ironic PXE driver for provisioning using IPv6 addressing The PXE drivers operate in such a way that they are able to utilize both IPv4 and IPv6 addresses based upon the deployment's operating state and configuration. Internally, the drivers attempt to prepare configuration options for both formats, which allows ports which are IPv6 only to automatically -receieve boot parameters. As a result of this, it is critical that the +receive boot parameters. As a result of this, it is critical that the ``[DEFAULT]my_ipv6`` configuration parameter is set to the conductor's IPv6 address. This option is unique per conductor, and due to the nature of automatic address assignment, it cannot be "guessed" by the software. diff --git a/doc/source/install/configure-networking.rst b/doc/source/install/configure-networking.rst index 5727b8328f..3a4923f65d 100644 --- a/doc/source/install/configure-networking.rst +++ b/doc/source/install/configure-networking.rst @@ -12,12 +12,12 @@ as the underlying resources to provision the node must be available for successful operations. -.. Warning:: This docuemntation is geared for use of OVS with Neutron along +.. Warning:: This documentation is geared for use of OVS with Neutron along with the ``neutron-dhcp-agent``. It *is* possible to use OVN with ``neutron-dhcp-agent``, and depending on version of OVN and Neutron, OVN's own DHCP service for IPv4 clients, but that is considered an advanced topic, and we encourage operators - interested in use of OVN to fully undestand it's capabilities + interested in use of OVN to fully understand it's capabilities and state before attempting to utilize such a configuration. Please see :doc:`/admin/ovn-networking` for more details. diff --git a/doc/source/install/configure-pxe.rst b/doc/source/install/configure-pxe.rst index 735e5656b1..294c316fb4 100644 --- a/doc/source/install/configure-pxe.rst +++ b/doc/source/install/configure-pxe.rst @@ -300,7 +300,7 @@ on the Bare Metal service node(s) where ``ironic-conductor`` is running. Setting the iPXE parameters noted in the code block above to no value, in other words setting a line to something like ``ipxe_bootfile_name=`` will result in ironic falling back to the default values of the non-iPXE - PXE settings. This is for backwards compatability. + PXE settings. This is for backwards compatibility. #. Ensure iPXE is the default PXE, if applicable. @@ -520,7 +520,7 @@ You may also populate other IPA options (e.g. ``ipa-debug=1`` for detailed logging, ``ipa-inspection-collectors`` to customize the inspection process, or ``ipa-api-url`` to enable :doc:`/admin/fast-track`). -Second, you need to configure DHCP for unknows hosts since the OpenStack +Second, you need to configure DHCP for unknown hosts since the OpenStack Networking service won't be able to handle them. For instance, you can install **dnsmasq** and use the following ``/etc/dnsmasq.conf``: diff --git a/doc/source/install/include/configure-ironic-api-mod_wsgi.inc b/doc/source/install/include/configure-ironic-api-mod_wsgi.inc index 48b85d902e..2bd214da05 100644 --- a/doc/source/install/include/configure-ironic-api-mod_wsgi.inc +++ b/doc/source/install/include/configure-ironic-api-mod_wsgi.inc @@ -59,7 +59,7 @@ Bare Metal service comes with an example file for configuring the /var/log/httpd). #. Stop and disable the ironic-api service. If ironic-api service is - started, the port will be occupied. Apach will fail to start: + started, the port will be occupied. Apache will fail to start: Fedora/RHEL8/CentOS8/SUSE:: diff --git a/doc/source/install/standalone/configure.rst b/doc/source/install/standalone/configure.rst index fc540d9864..28819c97f1 100644 --- a/doc/source/install/standalone/configure.rst +++ b/doc/source/install/standalone/configure.rst @@ -66,7 +66,7 @@ You should make the following changes to ``/etc/ironic/ironic.conf``: rpc_transport = json-rpc JSON RPC also has its own authentication strategy. If it is not specified then - the stategy defaults to ``[DEFAULT]`` ``auth_strategy``. The following will + the strategy defaults to ``[DEFAULT]`` ``auth_strategy``. The following will set JSON RPC to ``noauth``: .. code-block:: ini diff --git a/doc/source/user/deploy.rst b/doc/source/user/deploy.rst index 9e3133ea46..723b1024b2 100644 --- a/doc/source/user/deploy.rst +++ b/doc/source/user/deploy.rst @@ -76,7 +76,7 @@ You need to specify image information in the node's ``instance_info`` * In case the image source requires HTTP(s) Basic Authentication ``RFC 7616`` then the relevant authentication strategy has to be configured as ``http_basic`` and supplied with credentials in the ironic global config - file. Further infromation about the authentication strategy selection + file. Further information about the authentication strategy selection can be found in :doc:`/admin/user-image-basic-auth`. * ``root_gb`` - size of the root partition, required for partition images. diff --git a/ironic/api/controllers/v1/allocation.py b/ironic/api/controllers/v1/allocation.py index 85f66afcea..efe26bb96d 100644 --- a/ironic/api/controllers/v1/allocation.py +++ b/ironic/api/controllers/v1/allocation.py @@ -271,22 +271,22 @@ class AllocationsController(pecan.rest.RestController): :fields: fields :owner: r_owner """ - requestor = api_utils.check_list_policy('allocation', owner) + requester = api_utils.check_list_policy('allocation', owner) self._check_allowed_allocation_fields(fields) if owner is not None and not api_utils.allow_allocation_owner(): - # Requestor has asked for an owner field/column match, but + # Requester has asked for an owner field/column match, but # their client version does not support it. raise exception.NotAcceptable() if (owner is not None - and requestor is not None - and owner != requestor): - # The requestor is asking about other owner's records. + and requester is not None + and owner != requester): + # The requester is asking about other owner's records. # Naughty! raise exception.NotAuthorized() - if requestor is not None: - owner = requestor + if requester is not None: + owner = requester return self._get_allocations_collection(node, resource_class, state, owner, marker, limit, @@ -383,7 +383,7 @@ class AllocationsController(pecan.rest.RestController): if req_alloc_owner != project_id: msg = _("Cannot create allocation with an owner " "Project ID value %(req_owner)s not matching " - "the requestor Project ID %(project)s. " + "the requester Project ID %(project)s. " "Policy baremetal:allocation:create_restricted" " is required for this capability." ) % {'req_owner': req_alloc_owner, @@ -427,7 +427,7 @@ class AllocationsController(pecan.rest.RestController): if not api_utils.check_policy_true( 'baremetal:allocation:create_restricted'): owner = cdict.get('project_id') - # Filter the candidate search by the requestor project ID + # Filter the candidate search by the requester project ID # if any. The result is processes authenticating with system # scope will not be impacted, where as project scoped requests # will need additional authorization. diff --git a/ironic/api/controllers/v1/collection.py b/ironic/api/controllers/v1/collection.py index 342efb873b..8450349519 100644 --- a/ironic/api/controllers/v1/collection.py +++ b/ironic/api/controllers/v1/collection.py @@ -79,7 +79,7 @@ def get_next(collection, limit, url, key_field='uuid', **kwargs): fields = kwargs.pop('fields', None) # NOTE(saga): If fields argument is present in kwargs and not None. It - # is a list so convert it into a comma seperated string. + # is a list so convert it into a comma separated string. if fields: kwargs['fields'] = ','.join(fields) q_args = ''.join(['%s=%s&' % (key, kwargs[key]) for key in kwargs]) diff --git a/ironic/api/controllers/v1/deploy_template.py b/ironic/api/controllers/v1/deploy_template.py index dcf7122e08..a3a800b2a8 100644 --- a/ironic/api/controllers/v1/deploy_template.py +++ b/ironic/api/controllers/v1/deploy_template.py @@ -313,7 +313,7 @@ class DeployTemplatesController(rest.RestController): # This is due to the fact that the patch operation is always applied in # the API. Ways to avoid this include passing the patch to the # conductor to apply while holding a lock, or a collision detection - # & retry mechansim using e.g. the updated_at field. + # & retry mechanism using e.g. the updated_at field. notify.emit_start_notification(context, rpc_template, 'update') with notify.handle_error_notification(context, rpc_template, 'update'): rpc_template.save() diff --git a/ironic/api/controllers/v1/node.py b/ironic/api/controllers/v1/node.py index 8e02b83536..e721ce7769 100644 --- a/ironic/api/controllers/v1/node.py +++ b/ironic/api/controllers/v1/node.py @@ -923,7 +923,7 @@ class NodeStatesController(rest.RestController): 'modes': ', '.join(ALLOWED_TARGET_BOOT_MODES)}) raise exception.InvalidParameterValue(msg) - # NOTE(cenne): This currenly includes the ADOPTING state + # NOTE(cenne): This currently includes the ADOPTING state if rpc_node.provision_state in ir_states.UNSTABLE_STATES: msg = _("Node is in %(state)s state. Since node is transitioning, " "the boot mode will not be set as this may interfere " @@ -971,7 +971,7 @@ class NodeStatesController(rest.RestController): {'state': target}) raise exception.InvalidParameterValue(msg) - # NOTE(cenne): This currenly includes the ADOPTING state + # NOTE(cenne): This currently includes the ADOPTING state if rpc_node.provision_state in ir_states.UNSTABLE_STATES: msg = _("Node is in %(state)s state. Since node is transitioning, " "the boot mode will not be set as this may interfere " @@ -1648,7 +1648,7 @@ def node_sanitize(node, fields, cdict=None, :type fields: list of str :param cdict: Context dictionary for policy values evaluation. If not provided, it will be executed by the method, - however for enumerating node lists, it is more efficent + however for enumerating node lists, it is more efficient to provide. :param show_driver_secrets: A boolean value to allow external single evaluation of policy instead of once per @@ -1781,7 +1781,7 @@ def _node_sanitize_extended(node, node_keys, target_dict, cdict): and not policy.check("baremetal:node:get:last_error", target_dict, cdict)): # Guard the last error from being visible as it can contain - # hostnames revealing infrastucture internal details. + # hostnames revealing infrastructure internal details. node['last_error'] = ('** Value Redacted - Requires ' 'baremetal:node:get:last_error ' 'permission. **') @@ -2822,7 +2822,7 @@ class NodesController(rest.RestController): if requested_owner and requested_owner != project_id: # Translation: If project scoped, and an owner has been - # requested, and that owner does not match the requestor's + # requested, and that owner does not match the requester's # project ID value. msg = _("Cannot create a node as a project scoped admin " "with an owner other than your own project.") diff --git a/ironic/api/controllers/v1/utils.py b/ironic/api/controllers/v1/utils.py index cec0a789fd..b806888737 100644 --- a/ironic/api/controllers/v1/utils.py +++ b/ironic/api/controllers/v1/utils.py @@ -366,7 +366,7 @@ def patched_validate_with_schema(patched_dict, schema, validator=None): updates applied :param schema: Any dict key not in the schema will be deleted from the dict. If no validator is specified then the resulting ``patched_dict`` - will be validated agains the schema + will be validated against the schema :param validator: Optional validator to use if there is extra validation required beyond the schema :raises: exception.Invalid if validation fails diff --git a/ironic/api/controllers/v1/versions.py b/ironic/api/controllers/v1/versions.py index 5bc9fc6448..8a29c1785b 100644 --- a/ironic/api/controllers/v1/versions.py +++ b/ironic/api/controllers/v1/versions.py @@ -94,7 +94,7 @@ BASE_VERSION = 1 # v1.54: Add events support. # v1.55: Add deploy templates API. # v1.56: Add support for building configdrives. -# v1.57: Add support for updating an exisiting allocation. +# v1.57: Add support for updating an existing allocation. # v1.58: Add support for backfilling allocations. # v1.59: Add support vendor data in configdrives. # v1.60: Add owner to the allocation object. diff --git a/ironic/api/functions.py b/ironic/api/functions.py index 8554bd7e42..150c79d46a 100644 --- a/ironic/api/functions.py +++ b/ironic/api/functions.py @@ -75,7 +75,7 @@ class FunctionDefinition(object): #: The function arguments (list of :class:`FunctionArgument`) self.arguments = [] - #: If the body carry the datas of a single argument, its type + #: If the body carry the data of a single argument, its type self.body_type = None #: Status code @@ -86,7 +86,7 @@ class FunctionDefinition(object): #: exceptions self.ignore_extra_args = False - #: Dictionnary of protocol-specific options. + #: Dictionary of protocol-specific options. self.extra_options = None @staticmethod @@ -145,7 +145,7 @@ class signature(object): :param body: If the function takes a final argument that is supposed to be the request body by itself, its type. :param status_code: HTTP return status code of the function. - :param ignore_extra_args: Allow extra/unknow arguments (default to False) + :param ignore_extra_args: Allow extra/unknown arguments (default to False) Most of the time this decorator is not supposed to be used directly, unless you are not using WSME on top of another framework. diff --git a/ironic/api/method.py b/ironic/api/method.py index 71ce6204a8..122d31bd98 100644 --- a/ironic/api/method.py +++ b/ironic/api/method.py @@ -112,7 +112,7 @@ def body(body_arg): def format_exception(excinfo, debug=False): - """Extract informations that can be sent to the client.""" + """Extract information that can be sent to the client.""" error = excinfo[1] code = getattr(error, 'code', None) if code and code in http_client.responses and (400 <= code < 500): diff --git a/ironic/cmd/api.py b/ironic/cmd/api.py index 0ec925168e..b017ee9e1e 100644 --- a/ironic/cmd/api.py +++ b/ironic/cmd/api.py @@ -35,7 +35,7 @@ def _error_about_sqlite_usage(): # TODO(TheJulia): Make this a hard error in C* LOG.error('We have detected the API is being launched with a SQLite ' 'database backend. This is unsupported, and will be a hard ' - 'error in the future. This is becaues multi-process use of ' + 'error in the future. This is because multi-process use of ' 'a single SQLite database is problematic in terms of ' 'locking. A single process ironic model exists for use with ' 'SQLite.') diff --git a/ironic/common/args.py b/ironic/common/args.py index 5ad865d33f..47188ea59e 100755 --- a/ironic/common/args.py +++ b/ironic/common/args.py @@ -327,7 +327,7 @@ def validate(*args, **kwargs): """Decorator which validates and transforms function arguments """ - assert not args, 'Validators must be specifed by argument name' + assert not args, 'Validators must be specified by argument name' assert kwargs, 'No validators specified' validators = kwargs diff --git a/ironic/common/cinder.py b/ironic/common/cinder.py index e0cbd17472..1cb0e32df3 100644 --- a/ironic/common/cinder.py +++ b/ironic/common/cinder.py @@ -87,7 +87,7 @@ def get_client(context, auth_from_config=False): auth=user_auth or service_auth) # Re-determine the endpoint so we can work with versions prior to - # Yoga, becuase the endpoint, based upon configuration, may require + # Yoga, because the endpoint, based upon configuration, may require # project_id specific URLs. if user_auth: endpoint = keystone.get_endpoint('cinder', session=sess, diff --git a/ironic/common/images.py b/ironic/common/images.py index 6c2f998d0d..b465e6c583 100644 --- a/ironic/common/images.py +++ b/ironic/common/images.py @@ -552,7 +552,7 @@ def create_boot_iso(context, output_filename, kernel_href, elif CONF.esp_image: esp_image_path = CONF.esp_image - # TODO(TheJulia): we should opportunisticly try to make bios + # TODO(TheJulia): we should opportunistically try to make bios # bootable and UEFI. In other words, collapse a lot of this # path since they are not mutually exclusive. # UEFI boot mode, but Network iPXE -> ISO means bios bootable diff --git a/ironic/common/keystone.py b/ironic/common/keystone.py index e8351f2b5f..23153b423a 100644 --- a/ironic/common/keystone.py +++ b/ironic/common/keystone.py @@ -139,7 +139,7 @@ def get_service_auth(context, endpoint, service_auth, :param context: The RequestContext instance from which the user auth_token is extracted. :param endpoint: The requested endpoint to be utilized. - :param service_auth: The service authenticaiton credentals to be + :param service_auth: The service authentication credentals to be used. :param only_service_auth: Boolean, default False. When set to True, the resulting Service token pair is generated diff --git a/ironic/common/policy.py b/ironic/common/policy.py index b8af77e9f6..9caff7f0e7 100644 --- a/ironic/common/policy.py +++ b/ironic/common/policy.py @@ -748,7 +748,7 @@ node_policies = [ deprecated_rule=deprecated_node_clear_maintenance ), - # NOTE(TheJulia): This should liekly be deprecated and be replaced with + # NOTE(TheJulia): This should likely be deprecated and be replaced with # a cached object. policy.DocumentedRuleDefault( name='baremetal:node:get_boot_device', @@ -977,7 +977,7 @@ node_policies = [ name='baremetal:node:history:get', check_str=SYSTEM_OR_OWNER_READER, scope_types=['system', 'project'], - description='Filter to allow operators to retreive history records ' + description='Filter to allow operators to retrieve history records ' 'for a node.', operations=[ {'path': '/nodes/{node_ident}/history', 'method': 'GET'}, @@ -1929,7 +1929,7 @@ def init_enforcer(policy_file=None, rules=None, rules=rules, default_rule=default_rule, use_conf=use_conf) - # NOTE(melwitt): Explictly disable the warnings for policies + # NOTE(melwitt): Explicitly disable the warnings for policies # changing their default check_str. During policy-defaults-refresh # work, all the policy defaults have been changed and warning for # each policy started filling the logs limit for various tool. diff --git a/ironic/common/pxe_utils.py b/ironic/common/pxe_utils.py index 78c81b94f7..e989542f38 100644 --- a/ironic/common/pxe_utils.py +++ b/ironic/common/pxe_utils.py @@ -780,7 +780,7 @@ def get_instance_image_info(task, ipxe_enabled=False): # told anaconda how to execute. if i_info.get('ks_template'): # If the value is set, we always overwrite it, in the event - # a rebuild is occuring or something along those lines. + # a rebuild is occurring or something along those lines. node.set_driver_internal_info('ks_template', i_info['ks_template']) else: diff --git a/ironic/common/utils.py b/ironic/common/utils.py index 5c2cfeb053..0236f981ba 100644 --- a/ironic/common/utils.py +++ b/ironic/common/utils.py @@ -114,7 +114,7 @@ def is_valid_logical_name(hostname): """Determine if a logical name is valid. The logical name may only consist of RFC3986 unreserved - characters, to wit: + characters: ALPHA / DIGIT / "-" / "." / "_" / "~" """ diff --git a/ironic/conductor/allocations.py b/ironic/conductor/allocations.py index 298174fbbd..27e64cec87 100644 --- a/ironic/conductor/allocations.py +++ b/ironic/conductor/allocations.py @@ -212,7 +212,7 @@ def _allocate_node(context, allocation, nodes): try: # NOTE(dtantsur): retries are done for all nodes above, so disable # per-node retry. Also disable loading the driver, since the - # current conductor may not have the requried hardware type or + # current conductor may not have the required hardware type or # interfaces (it's picked at random). with task_manager.acquire(context, node.uuid, shared=False, retry=False, load_driver=False, diff --git a/ironic/conductor/base_manager.py b/ironic/conductor/base_manager.py index 4cada13501..9637189a36 100644 --- a/ironic/conductor/base_manager.py +++ b/ironic/conductor/base_manager.py @@ -127,7 +127,7 @@ class BaseConductorManager(object): """Initialize the conductor host. :param admin_context: the admin context to pass to periodic tasks. - :param start_consoles: If consoles should be started in intialization. + :param start_consoles: If consoles should be started in initialization. :param start_allocations: If allocations should be started in initialization. :raises: RuntimeError when conductor is already running. diff --git a/ironic/conductor/cleaning.py b/ironic/conductor/cleaning.py index dde81d63c3..dc3c3e9a17 100644 --- a/ironic/conductor/cleaning.py +++ b/ironic/conductor/cleaning.py @@ -275,7 +275,7 @@ def execute_step_on_child_nodes(task, step): :param task: The TaskManager object for the parent node. :param step: The requested step to be executed. :returns: None on Success, the resulting error message if a - failure has occured. + failure has occurred. """ # NOTE(TheJulia): We could just use nodeinfo list calls against # dbapi. diff --git a/ironic/conductor/deployments.py b/ironic/conductor/deployments.py index 9324ebabdb..1bc867f843 100644 --- a/ironic/conductor/deployments.py +++ b/ironic/conductor/deployments.py @@ -520,7 +520,7 @@ def execute_step_on_child_nodes(task, step): :param task: The TaskManager object for the parent node. :param step: The requested step to be executed. :returns: None on Success, the resulting error message if a - failure has occured. + failure has occurred. """ # NOTE(TheJulia): We could just use nodeinfo list calls against # dbapi. diff --git a/ironic/conductor/manager.py b/ironic/conductor/manager.py index 2a7a33dfa0..57c97a30a5 100644 --- a/ironic/conductor/manager.py +++ b/ironic/conductor/manager.py @@ -2682,7 +2682,7 @@ class ConductorManager(base_manager.BaseConductorManager): except AttributeError: # TODO(TheJulia): Remove this at some point, but right now # don't inherently break on version mismatches when people - # disregard requriements. + # disregard requirements. LOG.warning( 'get_sensors_data has been configured to collect ' 'conductor metrics, however the installed ironic-lib ' @@ -2690,7 +2690,7 @@ class ConductorManager(base_manager.BaseConductorManager): 'ironic-lib to a minimum of version 5.4.0.') except Exception as e: LOG.exception( - "An unknown error occured while attempting to collect " + "An unknown error occurred while attempting to collect " "sensor data from within the conductor. Error: %(error)s", {'error': e}) else: @@ -3595,7 +3595,7 @@ class ConductorManager(base_manager.BaseConductorManager): {'node': node_id}) # Allow lookup to work by returning a value, it is just an # unusable value that can't be verified against. - # This is important if the agent lookup has occured with + # This is important if the agent lookup has occurred with # pre-generation of tokens with virtual media usage. node.set_driver_internal_info('agent_secret_token', "******") return node diff --git a/ironic/conductor/servicing.py b/ironic/conductor/servicing.py index 1b39adf1f6..598038a18a 100644 --- a/ironic/conductor/servicing.py +++ b/ironic/conductor/servicing.py @@ -238,7 +238,7 @@ def execute_step_on_child_nodes(task, step): :param task: The TaskManager object for the parent node. :param step: The requested step to be executed. :returns: None on Success, the resulting error message if a - failure has occured. + failure has occurred. """ # NOTE(TheJulia): We could just use nodeinfo list calls against # dbapi. diff --git a/ironic/conductor/utils.py b/ironic/conductor/utils.py index b48c3f0020..6757c90065 100644 --- a/ironic/conductor/utils.py +++ b/ironic/conductor/utils.py @@ -1057,7 +1057,7 @@ def power_state_for_network_configuration(task): def build_configdrive(node, configdrive): """Build a configdrive from provided meta_data, network_data and user_data. - If uuid or name are not provided in the meta_data, they're defauled to the + If uuid or name are not provided in the meta_data, they're defaulted to the node's uuid and name accordingly. :param node: an Ironic node object. @@ -1130,7 +1130,7 @@ def value_within_timeout(value, timeout): :param timeout: timeout in seconds. """ # use native datetime objects for conversion and compare - # slightly odd because py2 compatability :( + # slightly odd because py2 compatibility :( last = datetime.datetime.strptime(value or '1970-01-01T00:00:00.000000', "%Y-%m-%dT%H:%M:%S.%f") # If we found nothing, we assume that the time is essentially epoch. @@ -1142,7 +1142,7 @@ def value_within_timeout(value, timeout): def agent_is_alive(node, timeout=None): """Check that the agent is likely alive. - The method then checks for the last agent heartbeat, and if it occured + The method then checks for the last agent heartbeat, and if it occurred within the timeout set by [deploy]fast_track_timeout, then agent is presumed alive. @@ -1167,7 +1167,7 @@ def is_fast_track(task): have a ramdisk running through another means like discovery. If not valid, False is returned. - The method then checks for the last agent heartbeat, and if it occured + The method then checks for the last agent heartbeat, and if it occurred within the timeout set by [deploy]fast_track_timeout and the power state for the machine is POWER_ON, then fast track is permitted. @@ -1339,7 +1339,7 @@ def is_agent_token_pregenerated(node): This method helps us identify WHEN we did so as we don't need to remove records of the token prior to rebooting the token. This is important as - tokens provided through out of band means presist in the virtual media + tokens provided through out of band means persist in the virtual media image, are loaded as part of the agent ramdisk, and do not require regeneration of the token upon the initial lookup, ultimately making the overall usage of virtual media and pregenerated tokens far more @@ -1653,7 +1653,7 @@ def node_history_record(node, conductor=None, event=None, based upon the activity. The purpose is to help guide an API consumer/operator to have a better contextual understanding of what was going on *when* the "event" - occured. + occurred. :param user: The user_id value which triggered the request, if available. :param error: Boolean value, default false, to signify if the event @@ -1662,11 +1662,11 @@ def node_history_record(node, conductor=None, event=None, :returns: None. No value is returned by this method. """ if not event: - # No error has occured, apparently. + # No error has occurred, apparently. return if error: # When the task exits out or is saved, the event - # or error is saved, but that is outside of ceating an + # or error is saved, but that is outside of creating an # entry in the history table. node.last_error = event if not conductor: @@ -1706,7 +1706,7 @@ def update_image_type(context, node): # idea since it is also user-settable, but laregely is just geared # to take what is in glance. Line below should we wish to uncomment. # node.set_instance_info('image_type', images.IMAGE_TYPE_DIRECTORY) - # An alternative is to explictly allow it to be configured by the + # An alternative is to explicitly allow it to be configured by the # caller/requester. return True @@ -1747,7 +1747,7 @@ def get_token_project_from_request(ctx): This method evaluates the ``auth_token_info`` field, which is used to pass information returned from keystone as a token's verification. This information is based upon the actual, original - requestor context provided ``auth_token``. + requester context provided ``auth_token``. When a service, such as Nova proxies a request, the request provided auth token value is intended to be from the original user. @@ -1761,7 +1761,7 @@ def get_token_project_from_request(ctx): if project: return project.get('id') except AttributeError: - LOG.warning('Attempted to identify requestor project ID value, ' + LOG.warning('Attempted to identify requester project ID value, ' 'however we were unable to do so. Possible older API?') @@ -1776,7 +1776,7 @@ def servicing_error_handler(task, logmsg, errmsg=None, traceback=False, used. :param traceback: Whether to log a traceback. Defaults to False. :param tear_down_service: Whether to clean up the PXE and DHCP files after - servie. Default to True. + service. Default to True. :param set_fail_state: Whether to set node to failed state. Default to True. :param set_maintenance: Whether to set maintenance mode. If None, diff --git a/ironic/conf/anaconda.py b/ironic/conf/anaconda.py index 4f230ecdcd..b77218f9dd 100644 --- a/ironic/conf/anaconda.py +++ b/ironic/conf/anaconda.py @@ -37,7 +37,7 @@ opts = [ 'facilitate easy testing and use of the ``anaconda`` ' 'deployment interface. When this option is set, ' 'heartbeat operations, depending on the contents of ' - 'the utilized kickstart template, may not enfore TLS ' + 'the utilized kickstart template, may not enforce TLS ' 'certificate verification.')), ] diff --git a/ironic/conf/sensor_data.py b/ironic/conf/sensor_data.py index 8527113a67..33b85e9085 100644 --- a/ironic/conf/sensor_data.py +++ b/ironic/conf/sensor_data.py @@ -79,7 +79,7 @@ opts = [ cfg.BoolOpt('enable_for_nodes', default=True, help=_('If to transmit any sensor data for any nodes under ' - 'this conductor\'s management. This option superceeds ' + 'this conductor\'s management. This option supersedes ' 'the ``send_sensor_data_for_undeployed_nodes`` ' 'setting.')), ] diff --git a/ironic/db/api.py b/ironic/db/api.py index f5a097a887..0f21292767 100644 --- a/ironic/db/api.py +++ b/ironic/db/api.py @@ -1419,7 +1419,7 @@ class Connection(object, metaclass=abc.ABCMeta): def bulk_delete_node_history_records(self, node_id, limit): """Utility method to bulk delete node history entries. - :param entires: A list of node history entriy id's to be + :param entries: A list of node history entry id's to be queried for deletion. """ diff --git a/ironic/db/sqlalchemy/api.py b/ironic/db/sqlalchemy/api.py index 35c74638f2..873d35c208 100644 --- a/ironic/db/sqlalchemy/api.py +++ b/ironic/db/sqlalchemy/api.py @@ -401,7 +401,7 @@ def _filter_active_conductors(query, interval=None): if interval is None: interval = CONF.conductor.heartbeat_timeout if not utils.is_ironic_using_sqlite() and interval > 0: - # Check for greater than zero becaues if the value is zero, + # Check for greater than zero because if the value is zero, # then the logic makes no sense. limit = timeutils.utcnow() - datetime.timedelta(seconds=interval) query = (query.filter(models.Conductor.online.is_(True)) @@ -1852,7 +1852,7 @@ class Connection(api.Connection): # a missing table, i.e. database upgrades which will create # the table *and* the field version is 1.0, which means we # are likely about to *create* the table, but first have to - # pass the version/compatability checking logic. + # pass the version/compatibility checking logic. table_missing_ok = True # NOTE(mgagne): Additional safety check to detect old database diff --git a/ironic/drivers/base.py b/ironic/drivers/base.py index 3dae0b3500..7b878b286d 100644 --- a/ironic/drivers/base.py +++ b/ironic/drivers/base.py @@ -1411,7 +1411,7 @@ class BIOSInterface(BaseInterface): table with the BIOS configuration applied on the node. :param task: a TaskManager instance. - :param settings: Dictonary containing the BIOS configuration. + :param settings: Dictionary containing the BIOS configuration. :raises: UnsupportedDriverExtension, if the node's driver doesn't support BIOS configuration. :raises: InvalidParameterValue, if validation of settings fails. @@ -1807,7 +1807,7 @@ class NetworkInterface(BaseInterface): :raises: InvalidParameterValue, if the network interface configuration is invalid. :raises: MissingParameterValue, if some parameters are missing. - :returns: a dict holding network configuration information adhearing + :returns: a dict holding network configuration information adhering Nova network metadata layout (`network_data.json`). """ return task.node.network_data or {} diff --git a/ironic/drivers/modules/agent.py b/ironic/drivers/modules/agent.py index a33913ffbe..52a672f94f 100644 --- a/ironic/drivers/modules/agent.py +++ b/ironic/drivers/modules/agent.py @@ -195,7 +195,7 @@ def validate_http_provisioning_configuration(node): '[deploy]http_root': CONF.deploy.http_root, '[deploy]http_image_subdir': CONF.deploy.http_image_subdir } - error_msg = _('Node %s failed to validate http provisoning. Some ' + error_msg = _('Node %s failed to validate http provisioning. Some ' 'configuration options were missing') % node.uuid deploy_utils.check_for_missing_params(params, error_msg) @@ -863,7 +863,7 @@ class AgentRescue(base.RescueInterface): # NOTE(TheJulia): Revealing that the power is off at any time can # cause external power sync to decide that the node must be off. - # This may result in a post-rescued insance being turned off + # This may result in a post-rescued instance being turned off # unexpectedly after unrescue. # TODO(TheJulia): Once we have power/state callbacks to nova, # the reset of the power_state can be removed. diff --git a/ironic/drivers/modules/agent_base.py b/ironic/drivers/modules/agent_base.py index 5fb8b0c1b6..c99fdeb767 100644 --- a/ironic/drivers/modules/agent_base.py +++ b/ironic/drivers/modules/agent_base.py @@ -864,7 +864,7 @@ class AgentBaseMixin(object): :param task: a TaskManager object containing the node :returns: A list of service step dictionaries, if an error - occurs, then an emtpy list is returned. + occurs, then an empty list is returned. """ new_priorities = { 'erase_devices': CONF.deploy.erase_devices_priority, diff --git a/ironic/drivers/modules/agent_client.py b/ironic/drivers/modules/agent_client.py index 386e4c6063..8e3e4e5ebe 100644 --- a/ironic/drivers/modules/agent_client.py +++ b/ironic/drivers/modules/agent_client.py @@ -260,7 +260,7 @@ class AgentClient(object): # is already busy. # NOTE(TheJulia): The agent sends upper case A as of # late victoria, but lower case the entire message - # for compatability with pre-late victoria agents + # for compatibility with pre-late victoria agents # which returns HTTP 409. raise exception.AgentInProgress(node=node.uuid, command=method, diff --git a/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/zap.yaml b/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/zap.yaml index d406d4daf7..5daa10cdb5 100644 --- a/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/zap.yaml +++ b/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/zap.yaml @@ -1,5 +1,5 @@ # NOTE(pas-ha) this is to ensure that partition metadata that might be stored -# in the start or end of partiton itself also becomes unusable +# in the start or end of partition itself also becomes unusable # and does not interfere with future partition scheme if new partitions # happen to fall on the same boundaries where old partitions were. # NOTE(pas-ha) loop_control works with Ansible >= 2.1 diff --git a/ironic/drivers/modules/deploy_utils.py b/ironic/drivers/modules/deploy_utils.py index d5e4f773bd..8ebe407d65 100644 --- a/ironic/drivers/modules/deploy_utils.py +++ b/ironic/drivers/modules/deploy_utils.py @@ -1154,7 +1154,7 @@ def _validate_image_url(node, url, secret=False): def _cache_and_convert_image(task, instance_info, image_info=None): - """Cache an image locally and covert it to RAW if needed.""" + """Cache an image locally and convert it to RAW if needed.""" # Ironic cache and serve images from httpboot server force_raw = direct_deploy_should_convert_raw_image(task.node) _, image_path = cache_instance_image(task.context, task.node, diff --git a/ironic/drivers/modules/drac/inspect.py b/ironic/drivers/modules/drac/inspect.py index 5a2ad585e9..8dc4c7cd17 100644 --- a/ironic/drivers/modules/drac/inspect.py +++ b/ironic/drivers/modules/drac/inspect.py @@ -184,9 +184,9 @@ class DracWSManInspect(base.InspectInterface): 'boot_mode': bios_settings["BootMode"].current_value.lower(), 'pci_gpu_devices': self._calculate_gpus(video_controllers)} - capabilties = utils.get_updated_capabilities(current_capabilities, - new_capabilities) - properties['capabilities'] = capabilties + capabilities = utils.get_updated_capabilities(current_capabilities, + new_capabilities) + properties['capabilities'] = capabilities virtual_disks = client.list_virtual_disks() root_disk = self._guess_root_disk(virtual_disks) diff --git a/ironic/drivers/modules/ilo/bios.py b/ironic/drivers/modules/ilo/bios.py index cadbe3c85f..3001313e55 100644 --- a/ironic/drivers/modules/ilo/bios.py +++ b/ironic/drivers/modules/ilo/bios.py @@ -111,7 +111,7 @@ class IloBIOS(base.BIOSInterface): def _execute_post_boot_bios_step(self, task, step): """Perform operations required after the reboot. - Caches BIOS settings in the database and clear the flags assocated + Caches BIOS settings in the database and clear the flags associated with the clean step post reboot. :param task: a task from TaskManager. :param step: name of the clean step to be performed diff --git a/ironic/drivers/modules/ilo/common.py b/ironic/drivers/modules/ilo/common.py index 012696c2a1..61974d9113 100644 --- a/ironic/drivers/modules/ilo/common.py +++ b/ironic/drivers/modules/ilo/common.py @@ -59,7 +59,7 @@ OPTIONAL_PROPERTIES = { 'client_port': _("port to be used for iLO operations. Optional."), 'client_timeout': _("timeout (in seconds) for iLO operations. Optional."), 'ca_file': _("CA certificate file to validate iLO. This " - "attibute is deprecated and will be removed in " + "attribute is deprecated and will be removed in " "future release. Optional"), 'ilo_verify_ca': _("Either a Boolean value, a path to a CA_BUNDLE " "file or directory with certificates of trusted " diff --git a/ironic/drivers/modules/ilo/firmware_processor.py b/ironic/drivers/modules/ilo/firmware_processor.py index 53282311e5..5b507b3bf7 100644 --- a/ironic/drivers/modules/ilo/firmware_processor.py +++ b/ironic/drivers/modules/ilo/firmware_processor.py @@ -318,7 +318,7 @@ def _download_swift_based_fw_to(self, target_file): :raises: ImageDownloadFailed, on failure to download the original file. """ # set the parsed_url attribute to the newly created tempurl from swift and - # delegate the dowloading job to the http_based downloader + # delegate the downloading job to the http_based downloader self.parsed_url = urlparse.urlparse(get_swift_url(self.parsed_url)) _download_http_based_fw_to(self, target_file) diff --git a/ironic/drivers/modules/ilo/management.py b/ironic/drivers/modules/ilo/management.py index 5c4f03fb60..5cae69f5d9 100644 --- a/ironic/drivers/modules/ilo/management.py +++ b/ironic/drivers/modules/ilo/management.py @@ -803,7 +803,7 @@ class IloManagement(base.ManagementInterface): """Deploy/Clean step hook after SUM based firmware update operation. This method is invoked as a post deploy/clean step hook by the Ironic - conductor once firmware update operaion is completed. The deploy/clean + conductor once firmware update operation is completed. The deploy/clean logs are collected and stored according to the configured storage backend when the node is configured to collect the logs. @@ -1212,7 +1212,7 @@ class Ilo5Management(IloManagement): """Clears the certificates provided in the list of files to iLO. :param task: a task from TaskManager. - :param certificate_files: a list of cerificate files. + :param certificate_files: a list of certificate files. :raises: NodeCleaningFailure, on failure to execute of clean step. :raises: InstanceDeployFailure, on failure to execute of deploy step. """ diff --git a/ironic/drivers/modules/ilo/power.py b/ironic/drivers/modules/ilo/power.py index d5713620b0..9083b4561f 100644 --- a/ironic/drivers/modules/ilo/power.py +++ b/ironic/drivers/modules/ilo/power.py @@ -284,7 +284,7 @@ def _can_get_server_post_state(node): Returns True if the POST state of the server can be retrieved. It cannot be retrieved for older ProLiant models. :param node: The node. - :returns: True if POST state can be retrieved, else Flase. + :returns: True if POST state can be retrieved, else False. :raises: IloOperationError on an error from IloClient library. """ try: diff --git a/ironic/drivers/modules/inspector/hooks/local_link_connection.py b/ironic/drivers/modules/inspector/hooks/local_link_connection.py index ba7996de1c..7040c1fe65 100644 --- a/ironic/drivers/modules/inspector/hooks/local_link_connection.py +++ b/ironic/drivers/modules/inspector/hooks/local_link_connection.py @@ -42,7 +42,7 @@ class LocalLinkConnectionHook(base.InspectionHook): except binascii.Error: LOG.warning('TLV value for TLV type %d is not in correct ' 'format. Ensure that the TLV value is in ' - 'hexidecimal format when sent to ironic. Node: %s', + 'hexadecimal format when sent to ironic. Node: %s', tlv_type, node_uuid) return diff --git a/ironic/drivers/modules/inspector/lldp_tlvs.py b/ironic/drivers/modules/inspector/lldp_tlvs.py index ba0374cc6f..b07334d359 100644 --- a/ironic/drivers/modules/inspector/lldp_tlvs.py +++ b/ironic/drivers/modules/inspector/lldp_tlvs.py @@ -246,7 +246,7 @@ def get_autoneg_cap(pmd): Dependent (PMD) capability bits. :param pmd: PMD bits - :return: Sorted ist containing capability strings + :return: Sorted list containing capability strings """ caps_set = set() diff --git a/ironic/drivers/modules/ipmitool.py b/ironic/drivers/modules/ipmitool.py index 7611403e60..78f7a1eba6 100644 --- a/ironic/drivers/modules/ipmitool.py +++ b/ironic/drivers/modules/ipmitool.py @@ -524,7 +524,7 @@ def _ipmitool_timing_args(): def choose_cipher_suite(actual_cipher_suite): - """Gives the possible next avaible cipher suite version. + """Gives the possible next available cipher suite version. Based on CONF.ipmi.cipher_suite_versions and the last cipher suite version used that failed. This function is only called if the node doesn't have @@ -1209,8 +1209,8 @@ class IPMIManagement(base.ManagementInterface): boot_mode = boot_mode_utils.get_boot_mode(task.node) if boot_mode == 'uefi': # Long story short: UEFI was added to IPMI after the final spec - # release occured. This means BMCs may actually NEED to be - # explicitly told if the boot is persistant because the + # release occurred. This means BMCs may actually NEED to be + # explicitly told if the boot is persistent because the # BMC may return a value which is explicitly parsed as # no change, BUT the BMC may treat that as operational default. efi_persistence = '0xe0' if persistent else '0xa0' @@ -1340,7 +1340,7 @@ class IPMIManagement(base.ManagementInterface): """ driver_info = _parse_driver_info(task.node) # with '-v' option, we can get the entire sensor data including the - # extended sensor informations + # extended sensor information cmd = "sdr -v" try: out, err = _exec_ipmitool( diff --git a/ironic/drivers/modules/irmc/common.py b/ironic/drivers/modules/irmc/common.py index d554a12d35..8fcb0d8be5 100644 --- a/ironic/drivers/modules/irmc/common.py +++ b/ironic/drivers/modules/irmc/common.py @@ -644,12 +644,12 @@ def within_version_ranges(node, version_ranges): v_range = version_ranges[os_num] - # An OS number with no ranges setted means no need to check + # An OS number with no ranges set means no need to check # specific version, all the version under this OS number is valid. if not v_range: return True - # Specific range is setted, check if the node's + # Specific range is set, check if the node's # firmware version is within it. min_ver = v_range.get('min') upper_ver = v_range.get('upper') diff --git a/ironic/drivers/modules/irmc/power.py b/ironic/drivers/modules/irmc/power.py index 48f7ea321c..3f84dbcacf 100644 --- a/ironic/drivers/modules/irmc/power.py +++ b/ironic/drivers/modules/irmc/power.py @@ -72,7 +72,7 @@ def _is_expected_power_state(target_state, boot_status_value): :param target_state: Target power state. :param boot_status_value: SNMP BOOT_STATUS_VALUE. - :returns: True if expected power state, otherwise Flase. + :returns: True if expected power state, otherwise False. """ if (target_state == states.SOFT_POWER_OFF and boot_status_value in (BOOT_STATUS_VALUE['unknown'], diff --git a/ironic/drivers/modules/irmc/vendor.py b/ironic/drivers/modules/irmc/vendor.py index 35535f69d6..777dae19cb 100644 --- a/ironic/drivers/modules/irmc/vendor.py +++ b/ironic/drivers/modules/irmc/vendor.py @@ -57,7 +57,7 @@ class IRMCVendorPassthru(base.VendorInterface): def cache_irmc_firmware_version(self, task, **kwargs): """Fetch and save iRMC firmware version. - This method connects to iRMC and fetch iRMC firmware verison. + This method connects to iRMC and fetch iRMC firmware version. If fetched firmware version is not cached in or is different from one in driver_internal_info/irmc_fw_version, store fetched version in driver_internal_info/irmc_fw_version. diff --git a/ironic/drivers/modules/network/common.py b/ironic/drivers/modules/network/common.py index be15a2421b..9e790d456e 100644 --- a/ironic/drivers/modules/network/common.py +++ b/ironic/drivers/modules/network/common.py @@ -607,7 +607,7 @@ class NeutronVIFPortIDMixin(VIFPortIDMixin): :raises: InvalidParameterValue, if the network interface configuration is invalid. :raises: MissingParameterValue, if some parameters are missing. - :returns: a dict holding network configuration information adhearing + :returns: a dict holding network configuration information adhering Nova network metadata layout (`network_data.json`). """ # NOTE(etingof): static network data takes precedence diff --git a/ironic/drivers/modules/pxe_base.py b/ironic/drivers/modules/pxe_base.py index b01cd92291..94748c3199 100644 --- a/ironic/drivers/modules/pxe_base.py +++ b/ironic/drivers/modules/pxe_base.py @@ -202,7 +202,7 @@ class PXEBaseMixin(object): pxe_options = pxe_utils.build_pxe_config_options( task, pxe_info, ipxe_enabled=self.ipxe_enabled, ramdisk_params=ramdisk_params) - # TODO(dtantsur): backwards compability hack, remove in the V release + # TODO(dtantsur): backwards compatibility hack, remove in the V release if ramdisk_params.get("ipa-api-url"): pxe_options["ipa-api-url"] = ramdisk_params["ipa-api-url"] diff --git a/ironic/drivers/modules/ramdisk.py b/ironic/drivers/modules/ramdisk.py index 125541bacc..2b302e6c4d 100644 --- a/ironic/drivers/modules/ramdisk.py +++ b/ironic/drivers/modules/ramdisk.py @@ -63,7 +63,7 @@ class RamdiskDeploy(agent_base.AgentBaseMixin, agent_base.HeartbeatMixin, {'node': task.node, 'drv': task.node.get_interface('boot')}) manager_utils.node_power_action(task, states.POWER_OFF) - # Tenant neworks must enable connectivity to the boot + # Tenant networks must enable connectivity to the boot # location, as reboot() can otherwise be very problematic. # IDEA(TheJulia): Maybe a "trusted environment" mode flag # that we otherwise fail validation on for drivers that diff --git a/ironic/drivers/modules/redfish/firmware.py b/ironic/drivers/modules/redfish/firmware.py index a158de97bd..cd3dcc4866 100644 --- a/ironic/drivers/modules/redfish/firmware.py +++ b/ironic/drivers/modules/redfish/firmware.py @@ -78,7 +78,7 @@ class RedfishFirmware(base.FirmwareInterface): node_id = task.node.id settings = [] # NOTE(iurygregory): currently we will only retrieve BIOS and BMC - # firmware information trough the redfish system and manager. + # firmware information through the redfish system and manager. system = redfish_utils.get_system(task.node) diff --git a/ironic/drivers/modules/xclarity/common.py b/ironic/drivers/modules/xclarity/common.py index ba798919c0..cca29bba39 100644 --- a/ironic/drivers/modules/xclarity/common.py +++ b/ironic/drivers/modules/xclarity/common.py @@ -56,7 +56,7 @@ def parse_driver_info(node): Parses the driver_info of the node, reads default values and returns a dict containing the combination of both. - :param node: an ironic node object to get informatin from. + :param node: an ironic node object to get information from. :returns: a dict containing information parsed from driver_info. :raises: InvalidParameterValue if some required information is missing on the node or inputs is invalid. @@ -132,7 +132,7 @@ def get_xclarity_client(node): def get_server_hardware_id(node): """Validates node configuration and returns xclarity hardware id. - Validates whether node configutation is consistent with XClarity and + Validates whether node configuration is consistent with XClarity and returns the XClarity Hardware ID for a specific node. :param node: node object to get information from :returns: the XClarity Hardware ID for a specific node diff --git a/ironic/objects/conductor.py b/ironic/objects/conductor.py index 6c35803173..7271525d3d 100644 --- a/ironic/objects/conductor.py +++ b/ironic/objects/conductor.py @@ -160,7 +160,7 @@ class Conductor(base.IronicObject, object_base.VersionedObjectDictCompat): """Register hardware interfaces with the conductor. :param interfaces: List of interface to register, each entry should - be a dictionary conaining "hardware_type", "interface_type", + be a dictionary containing "hardware_type", "interface_type", "interface_name" and "default", e.g. {'hardware_type': 'hardware-type', 'interface_type': 'deploy', 'interface_name': 'direct', 'default': True} diff --git a/ironic/tests/unit/api/controllers/v1/test_allocation.py b/ironic/tests/unit/api/controllers/v1/test_allocation.py index c54bd0ef1a..a3e447bf8d 100644 --- a/ironic/tests/unit/api/controllers/v1/test_allocation.py +++ b/ironic/tests/unit/api/controllers/v1/test_allocation.py @@ -1044,7 +1044,7 @@ class TestPost(test_api_base.BaseApiTest): self.assertEqual(http_client.FORBIDDEN, response.status_int) expected_faultstring = ('Cannot create allocation with an owner ' 'Project ID value 12345 not matching the ' - 'requestor Project ID 0987. Policy ' + 'requester Project ID 0987. Policy ' 'baremetal:allocation:create_restricted ' 'is required for this capability.') error_body = json.loads(response.json['error_message']) diff --git a/ironic/tests/unit/api/controllers/v1/test_node.py b/ironic/tests/unit/api/controllers/v1/test_node.py index 4456284148..5892bfd9b5 100644 --- a/ironic/tests/unit/api/controllers/v1/test_node.py +++ b/ironic/tests/unit/api/controllers/v1/test_node.py @@ -944,14 +944,14 @@ class TestListNodes(test_api_base.BaseApiTest): mock_authorize.side_effect = mock_authorize_function instance_uuid = '6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d' - requestor_uuid = '46c0bf8a-846d-49a5-9724-5a61a5efa6bf' + requester_uuid = '46c0bf8a-846d-49a5-9724-5a61a5efa6bf' obj_utils.create_test_node( self.context, owner='97879042-c0bf-4216-882a-66a7cbf2bd74', instance_uuid=instance_uuid) data = self.get_json( '/nodes/detail?instance_uuid=%s' % instance_uuid, - headers={'X-Project-ID': requestor_uuid, + headers={'X-Project-ID': requester_uuid, api_base.Version.string: str(api_v1.max_version())}) self.assertEqual(0, len(data['nodes'])) @@ -964,14 +964,14 @@ class TestListNodes(test_api_base.BaseApiTest): mock_authorize.side_effect = mock_authorize_function instance_uuid = '6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d' - requestor_uuid = '46c0bf8a-846d-49a5-9724-5a61a5efa6bf' + requester_uuid = '46c0bf8a-846d-49a5-9724-5a61a5efa6bf' node = obj_utils.create_test_node( self.context, - owner=requestor_uuid, + owner=requester_uuid, instance_uuid=instance_uuid) data = self.get_json( '/nodes/detail?instance_uuid=%s' % instance_uuid, - headers={'X-Project-ID': requestor_uuid, + headers={'X-Project-ID': requester_uuid, api_base.Version.string: str(api_v1.max_version())}) self.assertEqual(1, len(data['nodes'])) # Assert we did get the node and it matched. diff --git a/ironic/tests/unit/api/test_acl.py b/ironic/tests/unit/api/test_acl.py index df13752dc0..121b7144ba 100644 --- a/ironic/tests/unit/api/test_acl.py +++ b/ironic/tests/unit/api/test_acl.py @@ -165,7 +165,7 @@ class TestACLBase(base.BaseApiTest): # Example: PATCH /v1/nodes/ as a reader. # 404 - Trying to access something where we don't have permissions # in a project scope. This is particularly true where implied - # permissions or assocation exists. Ports are attempted to be + # permissions or association exists. Ports are attempted to be # accessed when the underlying node is inaccessible as owner # nor node matches. # Example: GET /v1/portgroups or /v1/nodes//ports @@ -198,7 +198,7 @@ class TestACLBase(base.BaseApiTest): # json ends up being null in json or None. self.assertIsNone(response.json[k]) elif str(v) == "{}": - # Special match for signifying a dictonary. + # Special match for signifying a dictionary. self.assertEqual({}, response.json[k]) elif isinstance(v, dict): # The value from the YAML can be a dictionary, @@ -347,7 +347,7 @@ class TestRBACScoped(TestRBACModelBeforeScopes): # while we also enable the new ones in another test class with # the appropriate scope friendly chagnges. In other words, two # test changes will be needed for each which should also reduce - # risk of accidential policy changes. It may just be Julia being + # risk of accidental policy changes. It may just be Julia being # super risk-adverse, just let her roll with it and we will delete # this class later. # NOTE(TheJulia): This test class runs with test_rbac_legacy.yaml! diff --git a/ironic/tests/unit/api/test_rbac_legacy.yaml b/ironic/tests/unit/api/test_rbac_legacy.yaml index 4185b5bda8..ec9e6f2018 100644 --- a/ironic/tests/unit/api/test_rbac_legacy.yaml +++ b/ironic/tests/unit/api/test_rbac_legacy.yaml @@ -1481,7 +1481,7 @@ volume_targets_get_observer: deprecated: true # NOTE(TheJulia): Because we can't seem to get the uuid -# to load from an existing uuid, since we're not subsituting +# to load from an existing uuid, since we're not substituting # it, this will return with 400 due to the ID not matching. volume_targets_post_admin: path: '/v1/volume/targets' diff --git a/ironic/tests/unit/api/test_rbac_project_scoped.yaml b/ironic/tests/unit/api/test_rbac_project_scoped.yaml index e52fe6a19c..297f255c67 100644 --- a/ironic/tests/unit/api/test_rbac_project_scoped.yaml +++ b/ironic/tests/unit/api/test_rbac_project_scoped.yaml @@ -24,7 +24,7 @@ # they can determine that something is special, something is different, # and from there try to determine *what* it is. The key in their case # is the ID values, but they don't know that from the outside. -# This is also why thid party admins should get 200s and empty lists, +# This is also why third party admins should get 200s and empty lists, # again the database query should be filtered. Third party admin, # in essence serves as the primary negative test. # @@ -581,7 +581,7 @@ owner_manager_cannot_change_owner: # This is not an explicitly restricted item, it falls # to generalized update capability, which oddly makes # a lot of sense in this case. It is a flag to prevent -# accidential erasure/removal of the node. +# accidental erasure/removal of the node. lessee_member_can_set_protected: path: '/v1/nodes/{lessee_node_ident}' @@ -3531,7 +3531,7 @@ third_party_admin_cannot_create_allocation_with_candidates_not_owned: assert_status: 400 owner_admin_can_create_allocation_with_their_uuid: - # NOTE(TheJulia): Owner/Lessee are equivelent in + # NOTE(TheJulia): Owner/Lessee are equivalent in # this context, so testing only one is fine. path: '/v1/allocations' method: post diff --git a/ironic/tests/unit/api/test_rbac_system_scoped.yaml b/ironic/tests/unit/api/test_rbac_system_scoped.yaml index 65ea2cf0a8..55465602dd 100644 --- a/ironic/tests/unit/api/test_rbac_system_scoped.yaml +++ b/ironic/tests/unit/api/test_rbac_system_scoped.yaml @@ -1588,7 +1588,7 @@ volume_targets_get_service: assert_status: 200 # NOTE(TheJulia): Because we can't seem to get the uuid -# to load from an existing uuid, since we're not subsituting +# to load from an existing uuid, since we're not substituting # it, this will return with 400 due to the ID not matching. volume_targets_post_admin: path: '/v1/volume/targets' diff --git a/ironic/tests/unit/common/test_kickstart_utils.py b/ironic/tests/unit/common/test_kickstart_utils.py index db6123b9d7..e05374adbc 100644 --- a/ironic/tests/unit/common/test_kickstart_utils.py +++ b/ironic/tests/unit/common/test_kickstart_utils.py @@ -29,45 +29,47 @@ CONF = cfg.CONF INST_INFO_DICT = db_utils.get_test_pxe_instance_info() DRV_INFO_DICT = db_utils.get_test_pxe_driver_info() DRV_INTERNAL_INFO_DICT = db_utils.get_test_pxe_driver_internal_info() -CONFIG_DRIVE = ('H4sICDw0S2AC/3RtcGhYdnFvdADt3X1vFMcdAOBZkwbTIquiL6oiJ9kkkJBKN' - 'mcTkTiVKl3Oa3uTe9PdOYK/0AmOvNqO4IJatZWav5pK/UztV8kXiPoR2tm98x' - 's+fCQQMPA8i71zs7Mz4/VJvx0vMxcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' - 'AAAAAAAAAAJDUViuVpSTU8+bm1fT+buxs3/rsk4Xl+x3fre8/h3bHtBv/FV9h' - 'dja8P8p6/9f7h39bfHs9zI9ezYfZYjcb/nzqbDI//93M7vnpE7bTH36a7nw12' - 'L4z7N/4Ih0O+lvp82Q9a+bdVt6ormdpTKQrV65ULm2sddO1vJ51r3V7WSOtdb' - 'Jqr9VJL9beTpdWVi6n2eK11mZzfbVaz3Yz311YrlSupB8utrNqp9tqXvpwsVv' - 'byOvxXblelikOF2XeTWurnY/yXtrLqo3H/uMuV5aXKpeXlitLy+8tv1epfHck' - 'o3KPcKTEk3/T8mQJOpwYM+P4H+ohD82wGa6GdOJ2I+yE7XArfBY+CQth+cjxe' - '+L/hUvZA8f/5iir+bv9wy+N4v+42vR+8f8+fX18207oh2H4tEx9FQbxCt2Jr/' - 'vxan0R84Yxpx+2nngvf7ptPWTx15eHbmjF741QLXPScU4aVsKVuFXC9bAR1mJ' - 'eGr/n8b2WxfS1+NWLqUbMrYVOTFXj61ZMpeFizHk77pdiDSvhckxlYTGe0Yrv' - '0GZsYzWWrZctTd8eXSHxH/GfZ8j/duM/AAAA8MxKymfsxfj/THi5TO09zg6nw' - '6sxZybc2NkeDraH4cXwSvn6y/5wcGfo2gEAAMDTM/4Pxf+vT4rxf/RySA6O/6' - 'NXw8z++D96JcwY/wMAAMDTNv5Px38FOBdeG6WOzGSbC2+E4rn/eA7gsDw6PBt' - 'eH+V+Wc6BG5TlAQAAgBM5/g/F2idJMf6PXismABwd/0dvFBMBDo//Q7FEz4zx' - 'PwAAAJx0305dY7/bPp38+7+h0/lZ8k376vlkq1qUq26dGp136t4ae2svJXPjS' - 'g7vatl8cn5U6Pxu6e/Hu1vT+pE8gg6Ev5ZrHIRinsPEVs7sTX4oWvtnszF3YD' - '2Eg22/MKrmhR/QNgCcHLemRMTkaOD/EbHv8UT3P5XrFYVizuLEVk6PJzKOY/v' - 'ZZHdlo4PtzoyqmPkB7d4t10UKxdzIie2+OJ4wOW73F8l4BaWHbBYAHiL+Hx+7' - 'JsT/HxGqpt5lJI/iLuPbcGFU5sJuF/dDZdHKL7cGw/71m/1hf/HzOzvbf1jaj' - 'ci/SkJxaGHvUNGR898UVXxzfvzZCMmDd+Tv4c1RkTfnRvu5w/04+/Wdwe1RP/' - 'b7MJeEveyHaz78K7w1KvPW5Otw7u5g++bO7UlX4jdJuPfgQ3YGgBMa/48fMz9' - 'N8X8YLo7KXJwd7WcPx73TxSeyxZA7jnVnklBkiG8APH+mf8bu1BLJO+XKAaGY' - 'PTCxxLkJH44LADzJ+H987H6Q+F8p1wcKxRzBiSXmDk8cDIvlykFl4xPLnzWlE' - 'AB+4vh/fCxOpt8hJH+c8tx9PmzFWF6M/BfCzTKy9+M9wOcxuhd3Be9MeVp+Ln' - 'wdSw7C7XB97+wPpjzhTsPd8l7jZmzh4Hn7rQLA8x3/jx+7P0j8//2U5+6zoTL' - 'eAICTIOt8n/y894+k08nb15dWVpaqvY0s7bRqH6WdfHU9S/NmL+vUNqrNmG53' - 'Wr1WrVUvEh/nq1k37W62261OL11rddJ2q5tfTdfyepZ2r3V7WSPtZo1qs5fXu' - 'u16Vu1maa3V7FVrvXQ179bS9uYH9by7kXXKk7vtrJav5bVqL281025rs1PLFt' - 'NYQ3agYGwyVreWF8lm7ETeqHaupR+36puNLI3dqcUfotcaVbjbVt6MrxpltYt' - '+3QBQ+svfXAMAeN4U69CkexPPXQ8AMP4HAJ5F24PhgpE/AAAAAAAAAAAAAAAA' - 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' - 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' - 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' - 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' - 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' - 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' - 'AAAAAAAAAAAAAAAAAn3f8BeXAIEgD4BQA=') +CONFIG_DRIVE = ( + 'H4sICDw0S2AC/3RtcGhYdnFvdADt3X1vFMcdAOBZkwbTIquiL6oiJ9kkkJBKN' + 'mcTkTiVKl3Oa3uTe9PdOYK/0AmOvNqO4IJatZWav5pK/UztV8kXiPoR2tm98x' + 's+fCQQMPA8i71zs7Mz4/VJvx0vMxcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAJDUViuVpSTU8+bm1fT+buxs3/rsk4Xl+x3fre8/h3bHtBv/FV9h' + 'dja8P8p6/9f7h39bfHs9zI9ezYfZYjcb/nzqbDI//93M7vnpE7bTH36a7nw12' + 'L4z7N/4Ih0O+lvp82Q9a+bdVt6ormdpTKQrV65ULm2sddO1vJ51r3V7WSOtdb' + 'Jqr9VJL9beTpdWVi6n2eK11mZzfbVaz3Yz311YrlSupB8utrNqp9tqXvpwsVv' + 'byOvxXblelikOF2XeTWurnY/yXtrLqo3H/uMuV5aXKpeXlitLy+8tv1epfHck' + 'o3KPcKTEk3/T8mQJOpwYM+P4H+ohD82wGa6GdOJ2I+yE7XArfBY+CQth+cjxe' + '+L/hUvZA8f/5iir+bv9wy+N4v+42vR+8f8+fX18207oh2H4tEx9FQbxCt2Jr/' + 'vxan0R84Yxpx+2nngvf7ptPWTx15eHbmjF741QLXPScU4aVsKVuFXC9bAR1mJ' + 'eGr/n8b2WxfS1+NWLqUbMrYVOTFXj61ZMpeFizHk77pdiDSvhckxlYTGe0Yrv' + '0GZsYzWWrZctTd8eXSHxH/GfZ8j/duM/AAAA8MxKymfsxfj/THi5TO09zg6nw' + '6sxZybc2NkeDraH4cXwSvn6y/5wcGfo2gEAAMDTM/4Pxf+vT4rxf/RySA6O/6' + 'NXw8z++D96JcwY/wMAAMDTNv5Px38FOBdeG6WOzGSbC2+E4rn/eA7gsDw6PBt' + 'eH+V+Wc6BG5TlAQAAgBM5/g/F2idJMf6PXismABwd/0dvFBMBDo//Q7FEz4zx' + 'PwAAAJx0305dY7/bPp38+7+h0/lZ8k376vlkq1qUq26dGp136t4ae2svJXPjS' + 'g7vatl8cn5U6Pxu6e/Hu1vT+pE8gg6Ev5ZrHIRinsPEVs7sTX4oWvtnszF3YD' + '2Eg22/MKrmhR/QNgCcHLemRMTkaOD/EbHv8UT3P5XrFYVizuLEVk6PJzKOY/v' + 'ZZHdlo4PtzoyqmPkB7d4t10UKxdzIie2+OJ4wOW73F8l4BaWHbBYAHiL+Hx+7' + 'JsT/HxGqpt5lJI/iLuPbcGFU5sJuF/dDZdHKL7cGw/71m/1hf/HzOzvbf1jaj' + 'ci/SkJxaGHvUNGR898UVXxzfvzZCMmDd+Tv4c1RkTfnRvu5w/04+/Wdwe1RP/' + 'b7MJeEveyHaz78K7w1KvPW5Otw7u5g++bO7UlX4jdJuPfgQ3YGgBMa/48fMz9' + 'N8X8YLo7KXJwd7WcPx73TxSeyxZA7jnVnklBkiG8APH+mf8bu1BLJO+XKAaGY' + 'PTCxxLkJH44LADzJ+H987H6Q+F8p1wcKxRzBiSXmDk8cDIvlykFl4xPLnzWlE' + 'AB+4vh/fCxOpt8hJH+c8tx9PmzFWF6M/BfCzTKy9+M9wOcxuhd3Be9MeVp+Ln' + 'wdSw7C7XB97+wPpjzhTsPd8l7jZmzh4Hn7rQLA8x3/jx+7P0j8//2U5+6zoTL' + 'eAICTIOt8n/y894+k08nb15dWVpaqvY0s7bRqH6WdfHU9S/NmL+vUNqrNmG53' + 'Wr1WrVUvEh/nq1k37W62261OL11rddJ2q5tfTdfyepZ2r3V7WSPtZo1qs5fXu' + 'u16Vu1maa3V7FVrvXQ179bS9uYH9by7kXXKk7vtrJav5bVqL281025rs1PLFt' + 'NYQ3agYGwyVreWF8lm7ETeqHaupR+36puNLI3dqcUfotcaVbjbVt6MrxpltYt' + '+3QBQ+svfXAMAeN4U69CkexPPXQ8AMP4HAJ5F24PhgpE/AAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAn3f8BeXAIEgD4BQA=' +) @mock.patch.object(ipxe.iPXEBoot, '__init__', lambda self: None) diff --git a/ironic/tests/unit/common/test_pxe_utils.py b/ironic/tests/unit/common/test_pxe_utils.py index 4fd135ec68..6803d27164 100644 --- a/ironic/tests/unit/common/test_pxe_utils.py +++ b/ironic/tests/unit/common/test_pxe_utils.py @@ -1477,7 +1477,7 @@ class PXEInterfacesTestCase(db_base.DbTestCase): image_info = pxe_utils.get_instance_image_info( task, ipxe_enabled=False) self.assertEqual(expected_info, image_info) - # In the absense of kickstart template in both instance_info and + # In the absence of kickstart template in both instance_info and # image default kickstart template is used self.assertEqual('file://' + CONF.anaconda.default_ks_template, image_info['ks_template'][0]) @@ -1536,7 +1536,7 @@ class PXEInterfacesTestCase(db_base.DbTestCase): image_info = pxe_utils.get_instance_image_info( task, ipxe_enabled=False) self.assertEqual(expected_info, image_info) - # In the absense of kickstart template in both instance_info and + # In the absence of kickstart template in both instance_info and # image default kickstart template is used self.assertEqual('file://' + CONF.anaconda.default_ks_template, image_info['ks_template'][0]) diff --git a/ironic/tests/unit/conductor/mgr_utils.py b/ironic/tests/unit/conductor/mgr_utils.py index 8ee1fd1f9b..f300339466 100644 --- a/ironic/tests/unit/conductor/mgr_utils.py +++ b/ironic/tests/unit/conductor/mgr_utils.py @@ -129,7 +129,7 @@ class ServiceSetUpMixin(object): self.hostname = 'test-host' # Relies upon the default number of "NodeLocked" retries as # in unit testing, sqllite is not operated in a transactional - # way and utilizes asynchonous IO. Locking, in particular, can + # way and utilizes asynchronous IO. Locking, in particular, can # detect this, and it can cause some false or delayed inpressions # of lock status, causing lock failures. self.config(node_locked_retry_attempts=3, group='conductor') diff --git a/ironic/tests/unit/conductor/test_base_manager.py b/ironic/tests/unit/conductor/test_base_manager.py index eae61eaf4a..6766897acd 100644 --- a/ironic/tests/unit/conductor/test_base_manager.py +++ b/ironic/tests/unit/conductor/test_base_manager.py @@ -306,7 +306,7 @@ class StartStopTestCase(mgr_utils.ServiceSetUpMixin, db_base.DbTestCase): def test_start_dbapi_single_call(self, mock_dbapi): self._start_service() # NOTE(TheJulia): This seems like it should only be 1, but - # the hash ring initailization pulls it's own database connection + # the hash ring initialization pulls it's own database connection # instance, which is likely a good thing, thus this is 2 instead of # 3 without reuse of the database connection. self.assertEqual(2, mock_dbapi.call_count) diff --git a/ironic/tests/unit/conductor/test_cleaning.py b/ironic/tests/unit/conductor/test_cleaning.py index ec79de3eaa..3a2d447b00 100644 --- a/ironic/tests/unit/conductor/test_cleaning.py +++ b/ironic/tests/unit/conductor/test_cleaning.py @@ -1356,7 +1356,7 @@ class DoNodeCleanTestChildNodes(db_base.DbTestCase): child_node1.refresh() child_node2.refresh() - # Confirm the objects *did* recieve locks. + # Confirm the objects *did* receive locks. self.assertNotEqual(child1_updated_at, child_node1.updated_at) self.assertNotEqual(child2_updated_at, child_node2.updated_at) @@ -1439,7 +1439,7 @@ class DoNodeCleanTestChildNodes(db_base.DbTestCase): child_node1.refresh() child_node2.refresh() - # Confirm the objects *did* recieve locks. + # Confirm the objects *did* receive locks. self.assertNotEqual(child1_updated_at, child_node1.updated_at) self.assertIsNone(child_node2.updated_at) diff --git a/ironic/tests/unit/conductor/test_manager.py b/ironic/tests/unit/conductor/test_manager.py index 00725d2412..db2dbc9d30 100644 --- a/ironic/tests/unit/conductor/test_manager.py +++ b/ironic/tests/unit/conductor/test_manager.py @@ -637,7 +637,7 @@ class ChangeNodeBootModeTestCase(mgr_utils.ServiceSetUpMixin, def test_change_node_boot_mode_exception_getting_current(self, get_boot_mock, set_boot_mock): - # Test change_node_boot_mode smooth opertion when get_boot_mode mode + # Test change_node_boot_mode smooth operation when get_boot_mode mode # raises an exception initial_state = boot_modes.LEGACY_BIOS node = obj_utils.create_test_node(self.context, driver='fake-hardware', @@ -854,7 +854,7 @@ class ChangeNodeSecureBootTestCase(mgr_utils.ServiceSetUpMixin, def test_change_node_secure_boot_exception_getting_current(self, get_boot_mock, set_boot_mock): - # Test change_node_secure_boot smooth opertion when + # Test change_node_secure_boot smooth operation when # get_secure_boot_state raises an exception initial_state = False node = obj_utils.create_test_node(self.context, driver='fake-hardware', @@ -1010,7 +1010,7 @@ class UpdateNodeTestCase(mgr_utils.ServiceSetUpMixin, db_base.DbTestCase): def test_update_node_retired_invalid_state(self): # NOTE(arne_wiebalck): nodes in available cannot be 'retired'. - # This is to ensure backwards comaptibility. + # This is to ensure backwards compatibility. node = obj_utils.create_test_node(self.context, provision_state='available') diff --git a/ironic/tests/unit/conductor/test_servicing.py b/ironic/tests/unit/conductor/test_servicing.py index 2ec10cfb6d..dda03784c4 100644 --- a/ironic/tests/unit/conductor/test_servicing.py +++ b/ironic/tests/unit/conductor/test_servicing.py @@ -1080,7 +1080,7 @@ class DoNodeCleanTestChildNodes(db_base.DbTestCase): child_node1.refresh() child_node2.refresh() - # Confirm the objects *did* recieve locks. + # Confirm the objects *did* receive locks. self.assertNotEqual(child1_updated_at, child_node1.updated_at) self.assertNotEqual(child2_updated_at, child_node2.updated_at) @@ -1163,7 +1163,7 @@ class DoNodeCleanTestChildNodes(db_base.DbTestCase): child_node1.refresh() child_node2.refresh() - # Confirm the objects *did* recieve locks. + # Confirm the objects *did* receive locks. self.assertNotEqual(child1_updated_at, child_node1.updated_at) self.assertIsNone(child_node2.updated_at) diff --git a/ironic/tests/unit/db/test_nodes.py b/ironic/tests/unit/db/test_nodes.py index b10d367514..5d5489f5f5 100644 --- a/ironic/tests/unit/db/test_nodes.py +++ b/ironic/tests/unit/db/test_nodes.py @@ -496,7 +496,7 @@ class DbNodeTestCase(base.DbTestCase): owner='fred', lessee='marsha', # Fields that should not be - # present in the obejct. + # present in the object. driver_internal_info={ 'cat': 'meow'}, internal_info={'corgi': 'rocks'}, diff --git a/ironic/tests/unit/drivers/modules/inspector/hooks/test_local_link_connection.py b/ironic/tests/unit/drivers/modules/inspector/hooks/test_local_link_connection.py index d5b224b62e..47eec38905 100644 --- a/ironic/tests/unit/drivers/modules/inspector/hooks/test_local_link_connection.py +++ b/ironic/tests/unit/drivers/modules/inspector/hooks/test_local_link_connection.py @@ -127,7 +127,7 @@ class LocalLinkConnectionTestCase(db_base.DbTestCase): self.plugin_data) mock_log.assert_called_once_with( 'TLV value for TLV type %d is not in correct format. Ensure ' - 'that the TLV value is in hexidecimal format when sent to ' + 'that the TLV value is in hexadecimal format when sent to ' 'ironic. Node: %s', 2, task.node.uuid) self.assertFalse(mock_port_save.called) self.assertEqual(self.port.local_link_connection, {}) diff --git a/ironic/tests/unit/drivers/modules/irmc/test_boot.py b/ironic/tests/unit/drivers/modules/irmc/test_boot.py index 9d02696fce..7c993b07d0 100644 --- a/ironic/tests/unit/drivers/modules/irmc/test_boot.py +++ b/ironic/tests/unit/drivers/modules/irmc/test_boot.py @@ -1008,7 +1008,7 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest): def test_check_share_fs_mounted_ok(self, parse_conf_mock, check_share_fs_mounted_mock): # Note(naohirot): mock.patch.stop() and mock.patch.start() don't work. - # therefor monkey patching is used to + # therefore monkey patching is used to # irmc_boot.check_share_fs_mounted. # irmc_boot.check_share_fs_mounted is mocked in # third_party_driver_mocks.py. @@ -1025,7 +1025,7 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest): def test_check_share_fs_mounted_exception(self, parse_conf_mock, check_share_fs_mounted_mock): # Note(naohirot): mock.patch.stop() and mock.patch.start() don't work. - # therefor monkey patching is used to + # therefore monkey patching is used to # irmc_boot.check_share_fs_mounted. # irmc_boot.check_share_fs_mounted is mocked in # third_party_driver_mocks.py. diff --git a/ironic/tests/unit/drivers/modules/test_agent.py b/ironic/tests/unit/drivers/modules/test_agent.py index bfb045131b..5b56512c6f 100644 --- a/ironic/tests/unit/drivers/modules/test_agent.py +++ b/ironic/tests/unit/drivers/modules/test_agent.py @@ -197,7 +197,7 @@ class TestAgentMethods(db_base.DbTestCase): i_info['image_source'] = '0448fa34-4db1-407b-a051-6357d5f86c59' self.node.instance_info = i_info self.assertRaisesRegex(exception.MissingParameterValue, - 'failed to validate http provisoning', + 'failed to validate http provisioning', agent.validate_http_provisioning_configuration, self.node) @@ -207,7 +207,7 @@ class TestAgentMethods(db_base.DbTestCase): i_info['image_source'] = 'file://image-ref' self.node.instance_info = i_info self.assertRaisesRegex(exception.MissingParameterValue, - 'failed to validate http provisoning', + 'failed to validate http provisioning', agent.validate_http_provisioning_configuration, self.node) @@ -218,7 +218,7 @@ class TestAgentMethods(db_base.DbTestCase): i_info['image_source'] = 'http://image-ref' self.node.instance_info = i_info self.assertRaisesRegex(exception.MissingParameterValue, - 'failed to validate http provisoning', + 'failed to validate http provisioning', agent.validate_http_provisioning_configuration, self.node) @@ -229,7 +229,7 @@ class TestAgentMethods(db_base.DbTestCase): i_info['image_download_source'] = 'local' self.node.instance_info = i_info self.assertRaisesRegex(exception.MissingParameterValue, - 'failed to validate http provisoning', + 'failed to validate http provisioning', agent.validate_http_provisioning_configuration, self.node) diff --git a/ironic/tests/unit/drivers/modules/test_agent_base.py b/ironic/tests/unit/drivers/modules/test_agent_base.py index b139b1b575..e0ba42447a 100644 --- a/ironic/tests/unit/drivers/modules/test_agent_base.py +++ b/ironic/tests/unit/drivers/modules/test_agent_base.py @@ -309,7 +309,7 @@ class HeartbeatMixinTest(AgentDeployMixinBaseTest): next_step_mock.side_effect = driver_failure self.deploy.heartbeat(task, 'http://127.0.0.1:8080', '1.0.0') # task.node.provision_state being set to DEPLOYFAIL - # within the driver_failue, hearbeat should not call + # within the driver_failue, heartbeat should not call # deploy_utils.set_failed_state anymore self.assertFalse(failed_mock.called) log_mock.assert_called_once_with( diff --git a/ironic/tests/unit/drivers/modules/test_image_cache.py b/ironic/tests/unit/drivers/modules/test_image_cache.py index a05075bec2..56923d1964 100644 --- a/ironic/tests/unit/drivers/modules/test_image_cache.py +++ b/ironic/tests/unit/drivers/modules/test_image_cache.py @@ -572,7 +572,7 @@ class TestImageCacheCleanUp(base.TestCase): self.assertEqual(image_cache._cache_cleanup_list[0][1], Cache2) - # The order of caches with same prioirty is not deterministic. + # The order of caches with same priority is not deterministic. item_possibilities = [Cache1, Cache3] second_item_actual = image_cache._cache_cleanup_list[1][1] self.assertIn(second_item_actual, item_possibilities) diff --git a/releasenotes/notes/add-automatic-lessee-88f8ecab7c76b65f.yaml b/releasenotes/notes/add-automatic-lessee-88f8ecab7c76b65f.yaml index 12cfa06c88..4675efc5c6 100644 --- a/releasenotes/notes/add-automatic-lessee-88f8ecab7c76b65f.yaml +++ b/releasenotes/notes/add-automatic-lessee-88f8ecab7c76b65f.yaml @@ -2,9 +2,9 @@ features: - | Adds a new feature to permit Ironic to automatically provide an instance - requestor's project, ``lessee`` rights to the Bare Metal machine under + requester's project, ``lessee`` rights to the Bare Metal machine under the Role Based Access Control model implemented in Ironic. It does this - by saving the project ID of the requestor to the Node ``lessee`` field + by saving the project ID of the requester to the Node ``lessee`` field automatically, and removing the rights when undeploying the machine. This feature, is normally disabled, but can be enabled using the ``[conductor]automatic_lessee`` configuration option. This option will not diff --git a/releasenotes/notes/add-execute-on-child-node-20910aecb8f8b714.yaml b/releasenotes/notes/add-execute-on-child-node-20910aecb8f8b714.yaml index fdadd9ced2..0c80b13aab 100644 --- a/releasenotes/notes/add-execute-on-child-node-20910aecb8f8b714.yaml +++ b/releasenotes/notes/add-execute-on-child-node-20910aecb8f8b714.yaml @@ -1,16 +1,16 @@ --- features: - | - Adds a capability for syncrhonous steps to be executed through the + Adds a capability for synchronous steps to be executed through the cleaning and deployment steps framework upon child nodes, as associated through the ``parent_node`` field. The new, optional step arguments are a boolean value of ``execute_on_child_nodes``, and ``limit_child_node_execution`` which consists of a list of node UUIDs. - The ability to invoke this permisison requires the ability to + The ability to invoke this permission requires the ability to set a provision state action upon the child node in the RBAC model. - | Adds a ``power_on``, ``power_on``, and ``reboot`` reserved step name actions which toggles power through the conductor. This allows embedded devices such as child nodes to have power state toggled as part - of the parent node's cleaning or deployment sequnece, if so stated + of the parent node's cleaning or deployment sequence, if so stated through the supplied configuration or deployment template. diff --git a/releasenotes/notes/add-iso-suffix-557a4fc4382fd7f3.yaml b/releasenotes/notes/add-iso-suffix-557a4fc4382fd7f3.yaml index 3eff33abd5..1f44d43900 100644 --- a/releasenotes/notes/add-iso-suffix-557a4fc4382fd7f3.yaml +++ b/releasenotes/notes/add-iso-suffix-557a4fc4382fd7f3.yaml @@ -1,7 +1,7 @@ --- fixes: - | - Fixes compatability with some hardware that requires the file name of + Fixes compatibility with some hardware that requires the file name of any virtual media to end with the suffix ".iso" when Ironic generates a virtual media image. We recommend operators generating their own virtual media files to name the files with proper extensions. diff --git a/releasenotes/notes/add-more-retryable-ipmitool-errors-1c9351a89ff0ec1a.yaml b/releasenotes/notes/add-more-retryable-ipmitool-errors-1c9351a89ff0ec1a.yaml index c64fbd05b7..a9f3a4539f 100644 --- a/releasenotes/notes/add-more-retryable-ipmitool-errors-1c9351a89ff0ec1a.yaml +++ b/releasenotes/notes/add-more-retryable-ipmitool-errors-1c9351a89ff0ec1a.yaml @@ -5,5 +5,5 @@ fixes: Specifically, ``Node busy``, ``Timeout``, ``Out of space`` and ``BMC initialization in progress`` reporting emitted by ``ipmitool`` will cause ironic to retry IPMI command. - This change should improve the reliability of IPMI-based communicaton + This change should improve the reliability of IPMI-based communication with BMC. diff --git a/releasenotes/notes/add-rbac-project-manager-role-7ffc52f78ff93432.yaml b/releasenotes/notes/add-rbac-project-manager-role-7ffc52f78ff93432.yaml index 708aa6c993..3db94473bb 100644 --- a/releasenotes/notes/add-rbac-project-manager-role-7ffc52f78ff93432.yaml +++ b/releasenotes/notes/add-rbac-project-manager-role-7ffc52f78ff93432.yaml @@ -3,6 +3,6 @@ features: - | Adds a default ``project`` scoped ``manager`` role to the RBAC model. In the ironic model, access is generally explicitly delegated, and such - the ``manager`` role is presently equivelent to project scoped ``admin`` + the ``manager`` role is presently equivalent to project scoped ``admin`` role, however future delineation may occur as the new features and capabilities are added. diff --git a/releasenotes/notes/add-sqlite-db-retries-f493d5d7aa6db78b.yaml b/releasenotes/notes/add-sqlite-db-retries-f493d5d7aa6db78b.yaml index 4c5f116cc9..1f16af673a 100644 --- a/releasenotes/notes/add-sqlite-db-retries-f493d5d7aa6db78b.yaml +++ b/releasenotes/notes/add-sqlite-db-retries-f493d5d7aa6db78b.yaml @@ -13,7 +13,7 @@ fixes: The retry logic can be disabled using the ``[database]sqlite_retries`` option, which defaults to - *True*. Users of other, mutli-threaded/concurrent-write database + *True*. Users of other, multi-threaded/concurrent-write database platforms are not impacted by this change, as the retry logic recognizes if another database is in use and bypasses the retry logic in that case. A similar retry logic concept already exists diff --git a/releasenotes/notes/add-verify-steps-support-2b34a74e86f89cb4.yaml b/releasenotes/notes/add-verify-steps-support-2b34a74e86f89cb4.yaml index 8f4711db96..63ba3627b5 100644 --- a/releasenotes/notes/add-verify-steps-support-2b34a74e86f89cb4.yaml +++ b/releasenotes/notes/add-verify-steps-support-2b34a74e86f89cb4.yaml @@ -3,4 +3,4 @@ features: - | Adds support for verify steps - a mechanism for running optional, actions pre-defined in the driver while the node is in transition from - enroll to managable state, prior to inspection. + enroll to manageable state, prior to inspection. diff --git a/releasenotes/notes/allocations-charset-5384d1ea00964bdd.yaml b/releasenotes/notes/allocations-charset-5384d1ea00964bdd.yaml index 3db4da086f..1732540815 100644 --- a/releasenotes/notes/allocations-charset-5384d1ea00964bdd.yaml +++ b/releasenotes/notes/allocations-charset-5384d1ea00964bdd.yaml @@ -15,7 +15,7 @@ upgrade: default. This was done as Ironic's database schema is incompatible with MySQL/MariaDB's ``UTF8MB4``, or "4 byte UTF8" character encoding and storage constraints. - - Upgrading will change the default chracter encoding of all tables. + - Upgrading will change the default character encoding of all tables. For most tables, this should be an effective noop, but may result in transitory table locks. For the ``allocations`` table, it will need to be re-written, during which the database engine will have locked the diff --git a/releasenotes/notes/anaconda-config-drive-fixes-5880884e34584549.yaml b/releasenotes/notes/anaconda-config-drive-fixes-5880884e34584549.yaml index ca1a6a6e7d..a87475b5b0 100644 --- a/releasenotes/notes/anaconda-config-drive-fixes-5880884e34584549.yaml +++ b/releasenotes/notes/anaconda-config-drive-fixes-5880884e34584549.yaml @@ -16,4 +16,4 @@ fixes: - | Extra newlines ('\n') were incorrectly added to the user data content. This broke the content-type decoding and cloud-init was unable to - proces them. The extra newlines have been removed. + process them. The extra newlines have been removed. diff --git a/releasenotes/notes/anaconda-deploy-interface-c04932f6f469227a.yaml b/releasenotes/notes/anaconda-deploy-interface-c04932f6f469227a.yaml index 4ef33b6d7e..c2c33dc4f5 100644 --- a/releasenotes/notes/anaconda-deploy-interface-c04932f6f469227a.yaml +++ b/releasenotes/notes/anaconda-deploy-interface-c04932f6f469227a.yaml @@ -10,7 +10,7 @@ features: The deploy interface uses heartbeat API to communicate. The kickstart template must include %pre %post %onerror and %traceback sections that should send status of the deployment back to Ironic API using heartbeats. - An example of such calls to hearbeat API can be found in the default + An example of such calls to heartbeat API can be found in the default kickstart template. To enable anaconda to send status back to Ironic API via heartbeat ``agent_status`` and ``agent_status_message`` are added to the heartbeat API. Use of these new parameters require API microversion diff --git a/releasenotes/notes/anaconda-permit-cert-validation-disable-6611d3cb9401031d.yaml b/releasenotes/notes/anaconda-permit-cert-validation-disable-6611d3cb9401031d.yaml index 59d306c5dc..a5c5cd6146 100644 --- a/releasenotes/notes/anaconda-permit-cert-validation-disable-6611d3cb9401031d.yaml +++ b/releasenotes/notes/anaconda-permit-cert-validation-disable-6611d3cb9401031d.yaml @@ -3,6 +3,6 @@ fixes: - | Adds a configuration option, ``[anaconda]insecure_heartbeat`` to allow for TLS certificate validation to be disabled in the ``anaconda`` - deployment interface, which is needed for continious integration to + deployment interface, which is needed for continuous integration to be able to be performed without substantial substrate image customization. This option is *not* advised for any production usage. diff --git a/releasenotes/notes/ansible-device-name-filtering-0adfca7d8ba4cbcc.yaml b/releasenotes/notes/ansible-device-name-filtering-0adfca7d8ba4cbcc.yaml index 8cc47230ce..d6dc2691ff 100644 --- a/releasenotes/notes/ansible-device-name-filtering-0adfca7d8ba4cbcc.yaml +++ b/releasenotes/notes/ansible-device-name-filtering-0adfca7d8ba4cbcc.yaml @@ -2,7 +2,7 @@ fixes: - | Fixes an issue with the ``ansible`` deployment interface where automatic - root deviec selection would accidently choose the system CD-ROM device, + root deviec selection would accidentally choose the system CD-ROM device, which was likely to occur when the ansible deployment interface was used with virtual media boot. The ``ansible`` deployment interface now ignores all Ramdisks, Loopbacks, diff --git a/releasenotes/notes/cache-firmware-components-485b3343ba1db5ee.yaml b/releasenotes/notes/cache-firmware-components-485b3343ba1db5ee.yaml index 4ba3a6b9f0..4355200cae 100644 --- a/releasenotes/notes/cache-firmware-components-485b3343ba1db5ee.yaml +++ b/releasenotes/notes/cache-firmware-components-485b3343ba1db5ee.yaml @@ -2,5 +2,5 @@ fixes: - | Firmware components are now also cached on the transition to the - ``manageable`` state in addition to cleaning. This is consisent with how + ``manageable`` state in addition to cleaning. This is consistent with how BIOS settings, vendor and boot mode are cached. diff --git a/releasenotes/notes/change-db-access-pattern-for-node-lists-a333dd9c5afa737d.yaml b/releasenotes/notes/change-db-access-pattern-for-node-lists-a333dd9c5afa737d.yaml index 3d91f62314..f612c68fe2 100644 --- a/releasenotes/notes/change-db-access-pattern-for-node-lists-a333dd9c5afa737d.yaml +++ b/releasenotes/notes/change-db-access-pattern-for-node-lists-a333dd9c5afa737d.yaml @@ -6,7 +6,7 @@ upgrade: is generated, and then additional queries are executed to composite this data together. This is from a model where the database client in the conductor was having to deduplicate the resulting data set which is - overall less efficent. + overall less efficient. other: - | The default database query pattern has been changed which will result diff --git a/releasenotes/notes/classic-drivers-deprecation-de464065187d4c14.yaml b/releasenotes/notes/classic-drivers-deprecation-de464065187d4c14.yaml index 034de7f84d..bbfc90783a 100644 --- a/releasenotes/notes/classic-drivers-deprecation-de464065187d4c14.yaml +++ b/releasenotes/notes/classic-drivers-deprecation-de464065187d4c14.yaml @@ -2,7 +2,7 @@ deprecations: - | The classic drivers, as well as the ``enabled_drivers`` configuration - option, are now deprecated and may be removed in the Rocky relese. + option, are now deprecated and may be removed in the Rocky release. A deprecation warning will be logged for every loaded classic driver. Check `the migration guide `_ diff --git a/releasenotes/notes/conductor-now-waits-when-low-on-memory-d73892a79cde0516.yaml b/releasenotes/notes/conductor-now-waits-when-low-on-memory-d73892a79cde0516.yaml index 4c86761820..b03c099d07 100644 --- a/releasenotes/notes/conductor-now-waits-when-low-on-memory-d73892a79cde0516.yaml +++ b/releasenotes/notes/conductor-now-waits-when-low-on-memory-d73892a79cde0516.yaml @@ -2,5 +2,5 @@ features: - | By default Ironic will now not start new memory intensive work IF - insufficent system memory exists. This can be disabled by setting + insufficient system memory exists. This can be disabled by setting the ``[DEFAULT]minimum_memory_warning_only`` value to ``True``. diff --git a/releasenotes/notes/consider_embedded_ipa_error_codes-c8fdfaa9e6a1ed06.yaml b/releasenotes/notes/consider_embedded_ipa_error_codes-c8fdfaa9e6a1ed06.yaml index 0f4ee2d512..3bd14dbf07 100644 --- a/releasenotes/notes/consider_embedded_ipa_error_codes-c8fdfaa9e6a1ed06.yaml +++ b/releasenotes/notes/consider_embedded_ipa_error_codes-c8fdfaa9e6a1ed06.yaml @@ -5,5 +5,5 @@ fixes: where a command exception may not be captured in the interaction with the agent rest API. The client code would return the resulting error message and a static error code. We now look with-in the error - to detect if the error may be a compatability error to raise the + to detect if the error may be a compatibility error to raise the appropriate exception for fallback logic to engage. diff --git a/releasenotes/notes/correct-source-path-handling-lookups-4ce2023a56372f10.yaml b/releasenotes/notes/correct-source-path-handling-lookups-4ce2023a56372f10.yaml index 10d270a45f..7f041b7a60 100644 --- a/releasenotes/notes/correct-source-path-handling-lookups-4ce2023a56372f10.yaml +++ b/releasenotes/notes/correct-source-path-handling-lookups-4ce2023a56372f10.yaml @@ -11,6 +11,6 @@ fixes: Fixes an issue where the fallback to a default kickstart template value would result in error indicating "Scheme-less image href is not a UUID". - This was becaues the handling code falling back to the default + This was because the handling code falling back to the default did not explicitly indicate it was a file URL before saving the value. diff --git a/releasenotes/notes/db-field-overhead-reduction-40be1821e38b468c.yaml b/releasenotes/notes/db-field-overhead-reduction-40be1821e38b468c.yaml index 5aee33b20c..c685555c8c 100644 --- a/releasenotes/notes/db-field-overhead-reduction-40be1821e38b468c.yaml +++ b/releasenotes/notes/db-field-overhead-reduction-40be1821e38b468c.yaml @@ -4,6 +4,6 @@ fixes: Slow database retrieval of nodes has been addressed at the lower layer by explicitly passing and handling only the requested fields. The result is excess discarded work is not performed, making the overall process more - efficent. - This is particullarly beneficial for OpenStack Nova's syncronization with + efficient. + This is particullarly beneficial for OpenStack Nova's synchronization with Ironic. diff --git a/releasenotes/notes/deprecate-mulitple-driver-interfaces-e42e4fa1c960f596.yaml b/releasenotes/notes/deprecate-mulitple-driver-interfaces-e42e4fa1c960f596.yaml index 9d6f89c272..d0c6cbad8b 100644 --- a/releasenotes/notes/deprecate-mulitple-driver-interfaces-e42e4fa1c960f596.yaml +++ b/releasenotes/notes/deprecate-mulitple-driver-interfaces-e42e4fa1c960f596.yaml @@ -11,7 +11,7 @@ deprecations: This driver is expected to be removed during the ``2024.2`` development cycle. - The ``idrac-wsman`` interfaces on the ``idrac`` hardware type are - deprecated due to a lack of upstream communiation, and the decision of + deprecated due to a lack of upstream communication, and the decision of the driver's maintainer in the past to move in to the direction of using Redfish for driver interactions. These driver interfaces are expected to be removed during the @@ -20,5 +20,5 @@ other: - The classic ``ilo`` hardware types may be deprecated in the future for removal or major changes, however our last communication with the maintainers as of the ``2024.1`` Project Teams Gathering sessions - indiated they were still working to determine their own forward + indicated they were still working to determine their own forward path with a strong emphasis on the use of Redfish. diff --git a/releasenotes/notes/deprecate-syslinux-support-98d327c67607fc8e.yaml b/releasenotes/notes/deprecate-syslinux-support-98d327c67607fc8e.yaml index 9543f9d84b..7780405d7c 100644 --- a/releasenotes/notes/deprecate-syslinux-support-98d327c67607fc8e.yaml +++ b/releasenotes/notes/deprecate-syslinux-support-98d327c67607fc8e.yaml @@ -10,9 +10,9 @@ deprecations: The second reason is a lack of maintenance, which is ultimately the same reason Linux distributions are discussing dropping support and packaging. Syslinux has not been updated since `2019 `_. - Incidently, the file format it utilizes *is* supported by Power hardware, + Incidentally, the file format it utilizes *is* supported by Power hardware, and that may result in the configuration template remaining in Ironic for - the forseeable future. + the foreseeable future. - Support for use of `pxelinux `_ is deprecated due to the deprecation of support for Syslinux. - Support for virtual media booting with x86 Hardware in Legacy BIOS mode is diff --git a/releasenotes/notes/deprecate-xclarity-d687571fb65ad099.yaml b/releasenotes/notes/deprecate-xclarity-d687571fb65ad099.yaml index 99b050ae00..436778fc6c 100644 --- a/releasenotes/notes/deprecate-xclarity-d687571fb65ad099.yaml +++ b/releasenotes/notes/deprecate-xclarity-d687571fb65ad099.yaml @@ -8,6 +8,6 @@ deprecations: The ``xclarity`` hardware type was introduced at the end of the Queens development cycle. During implementation of Third Party CI, the Lenovo - team encountered some unforseen delays. Lenovo is continuing to work + team encountered some unforeseen delays. Lenovo is continuing to work towards Third Party CI, and upon establishment and verification of functional Third Party CI, this deprecation will be rescinded. diff --git a/releasenotes/notes/fix-online-version-migration-db432a7b239647fa.yaml b/releasenotes/notes/fix-online-version-migration-db432a7b239647fa.yaml index 824185aab5..cbad4fb855 100644 --- a/releasenotes/notes/fix-online-version-migration-db432a7b239647fa.yaml +++ b/releasenotes/notes/fix-online-version-migration-db432a7b239647fa.yaml @@ -7,8 +7,8 @@ fixes: created as extensions of the Nodes database table, and the schema of the database was slightly different enough to result in an error if there was data to migrate in these tables upon upgrade, - which would have occured if an early BIOS Setting adopter had + which would have occurred if an early BIOS Setting adopter had data in the database prior to upgrading to the Yoga release of Ironic. - The online upgrade parameter now subsitutes an alternate primary key name + The online upgrade parameter now substitutes an alternate primary key name name when applicable. diff --git a/releasenotes/notes/fix-shellinabox-console-subprocess-timeout-d3eccfe0440013d7.yaml b/releasenotes/notes/fix-shellinabox-console-subprocess-timeout-d3eccfe0440013d7.yaml index 10a3f09d0e..6bbe8cbb3c 100644 --- a/releasenotes/notes/fix-shellinabox-console-subprocess-timeout-d3eccfe0440013d7.yaml +++ b/releasenotes/notes/fix-shellinabox-console-subprocess-timeout-d3eccfe0440013d7.yaml @@ -3,5 +3,5 @@ fixes: - | Fixed the `issue `_ with node being locked for longer than ``[console]subprocess_timeout`` - seconds when shellinabox process fails to start before the specifed timeout + seconds when shellinabox process fails to start before the specified timeout elapses. diff --git a/releasenotes/notes/fix-vmedia-boot-method-label-8008f49ace96f1cc.yaml b/releasenotes/notes/fix-vmedia-boot-method-label-8008f49ace96f1cc.yaml index 1edcba1afc..465aafab7f 100644 --- a/releasenotes/notes/fix-vmedia-boot-method-label-8008f49ace96f1cc.yaml +++ b/releasenotes/notes/fix-vmedia-boot-method-label-8008f49ace96f1cc.yaml @@ -1,12 +1,12 @@ --- security: - | - Fixes an issue where ironic was not properly labeling dynamicly built + Fixes an issue where ironic was not properly labeling dynamically built virtual media ramdisks with the signifier flag so the ramdisk understands it was booted from virtual media. fixes: - | - Fixes the missing ``boot_method`` ramdisk parameter for dynamicly build + Fixes the missing ``boot_method`` ramdisk parameter for dynamically build virtual media payloads. This value must be set to ``vmedia`` for the ramdisk running on virtual media to understand it is executing from virtual media. This was fixed for cases where it is used with the diff --git a/releasenotes/notes/force-out-hung-ipmitool-process-519c7567bcbaa882.yaml b/releasenotes/notes/force-out-hung-ipmitool-process-519c7567bcbaa882.yaml index 4199c76090..4811474d7a 100644 --- a/releasenotes/notes/force-out-hung-ipmitool-process-519c7567bcbaa882.yaml +++ b/releasenotes/notes/force-out-hung-ipmitool-process-519c7567bcbaa882.yaml @@ -4,7 +4,7 @@ fixes: Kill ``ipmitool`` process invoked by ironic to read node's power state if ``ipmitool`` process does not exit after configured timeout expires. It appears pretty common for ``ipmitool`` to run for five minutes (with - current ironic defauls) once it hits a non-responsive bare metal node. + current ironic defaults) once it hits a non-responsive bare metal node. This could slow down the management of other nodes due periodic tasks slots exhaustion. The new behaviour could is enabled by default, but could be disabled via the ``[ipmi]kill_on_timeout`` ironic configuration diff --git a/releasenotes/notes/handle-initial-version-no-such-table-54c3c291050ae787.yaml b/releasenotes/notes/handle-initial-version-no-such-table-54c3c291050ae787.yaml index c05ba2aeed..7d28078fa5 100644 --- a/releasenotes/notes/handle-initial-version-no-such-table-54c3c291050ae787.yaml +++ b/releasenotes/notes/handle-initial-version-no-such-table-54c3c291050ae787.yaml @@ -3,7 +3,7 @@ fixes: - | Fixes an issue in db schema version testing where objects with a initial version, e.g. "1.0", are allowed to not already have their DB tables - pre-exist when performing the pre-upgrade compatability check for the + pre-exist when performing the pre-upgrade compatibility check for the database. This allows the upgrade to proceed and update the database schema without an explicit known list having to be maintained in Ironic. other: diff --git a/releasenotes/notes/handle-uefi-disk-pxe-persistance-0d871825591918b5.yaml b/releasenotes/notes/handle-uefi-disk-pxe-persistance-0d871825591918b5.yaml index 0e97cf2962..11e6b2a6d1 100644 --- a/releasenotes/notes/handle-uefi-disk-pxe-persistance-0d871825591918b5.yaml +++ b/releasenotes/notes/handle-uefi-disk-pxe-persistance-0d871825591918b5.yaml @@ -19,8 +19,8 @@ fixes: please consult `story 2008241 `_. - Fixes handling of the ``ipmi`` hardware type where ``UEFI`` boot mode and "one-time" boot to PXE has been requested. As Ironic now specifically - transmits the raw commands, this setting should be properly appied where - previously PXE boot operations may have previously occured in + transmits the raw commands, this setting should be properly applied where + previously PXE boot operations may have previously occurred in ``Legacy BIOS`` mode. other: - Adds a ``detect_vendor`` management interface method to the ``ipmi`` diff --git a/releasenotes/notes/hash-ring-race-da0d584de1f46788.yaml b/releasenotes/notes/hash-ring-race-da0d584de1f46788.yaml index b47b1959e2..28377f7e64 100644 --- a/releasenotes/notes/hash-ring-race-da0d584de1f46788.yaml +++ b/releasenotes/notes/hash-ring-race-da0d584de1f46788.yaml @@ -8,6 +8,6 @@ upgrade: - | The ``hash_ring_reset_interval`` configuration option was changed from 180 to 15 seconds. Previously, this option was essentially ignored on the API - side, becase the hash ring was reset on each API access. The lower value + side, because the hash ring was reset on each API access. The lower value minimizes the probability of a request routed to a wrong conductor when the ring needs rebalancing. diff --git a/releasenotes/notes/ilo-certificate-verification-enhancement-8eefd541cfc2a9da.yaml b/releasenotes/notes/ilo-certificate-verification-enhancement-8eefd541cfc2a9da.yaml index 6323d8e6a4..692cb40f35 100644 --- a/releasenotes/notes/ilo-certificate-verification-enhancement-8eefd541cfc2a9da.yaml +++ b/releasenotes/notes/ilo-certificate-verification-enhancement-8eefd541cfc2a9da.yaml @@ -4,7 +4,7 @@ features: Adds a new configuration option ``[ilo]verify_ca`` and a new ``driver_info`` parameter ``ilo_verify_ca`` to enhance certificate verification for hardware type ilo and ilo5 which can take - directory and bolean values apart from file. + directory and boolean values apart from file. deprecations: - The ``[ilo]ca_file`` configuration option is deprecated for removal, please use ``[ilo]verify_ca`` instead which can take diff --git a/releasenotes/notes/ilo-driver-firmware-upgrade-supports-sha256-sha512-ae76569042750a07.yaml b/releasenotes/notes/ilo-driver-firmware-upgrade-supports-sha256-sha512-ae76569042750a07.yaml index 1e588e5fe2..c9ceeca5e8 100644 --- a/releasenotes/notes/ilo-driver-firmware-upgrade-supports-sha256-sha512-ae76569042750a07.yaml +++ b/releasenotes/notes/ilo-driver-firmware-upgrade-supports-sha256-sha512-ae76569042750a07.yaml @@ -2,5 +2,5 @@ features: - | The ``ilo`` hardware type firmware upgrade steps, now support checksum - determination by legnth in order to allow SHA256 and SHA512 checksums + determination by length in order to allow SHA256 and SHA512 checksums to be supplied by the step caller. diff --git a/releasenotes/notes/inspection-fast-track-ab5165e11d3e9522.yaml b/releasenotes/notes/inspection-fast-track-ab5165e11d3e9522.yaml index 1af84f5bd0..b750197f99 100644 --- a/releasenotes/notes/inspection-fast-track-ab5165e11d3e9522.yaml +++ b/releasenotes/notes/inspection-fast-track-ab5165e11d3e9522.yaml @@ -1,5 +1,5 @@ --- fixes: - | - Fixes fast track deployment preceeded by managed inspection by providing + Fixes fast track deployment proceeded by managed inspection by providing the ironic API URL to the ramdisk so that it can heartbeat. diff --git a/releasenotes/notes/ipmi-disable-timeout-option-e730362007f9bedd.yaml b/releasenotes/notes/ipmi-disable-timeout-option-e730362007f9bedd.yaml index 4be19d52b6..1b4535291c 100644 --- a/releasenotes/notes/ipmi-disable-timeout-option-e730362007f9bedd.yaml +++ b/releasenotes/notes/ipmi-disable-timeout-option-e730362007f9bedd.yaml @@ -3,7 +3,7 @@ features: - | Adds a configuration option ``[ipmi]disable_boot_timeout`` which is used to set the default behavior whether ironic should send a raw IPMI command - to disable timeout. This configuration option can be overidden by the + to disable timeout. This configuration option can be overridden by the per-node option ``ipmi_disable_boot_timeout`` in node's ``driver_info`` field. See `story 2004266 `_ diff --git a/releasenotes/notes/ipxe-command-line-ip-argument-4e92cf8bb912f62d.yaml b/releasenotes/notes/ipxe-command-line-ip-argument-4e92cf8bb912f62d.yaml index 5cb4869c5e..57b8079e22 100644 --- a/releasenotes/notes/ipxe-command-line-ip-argument-4e92cf8bb912f62d.yaml +++ b/releasenotes/notes/ipxe-command-line-ip-argument-4e92cf8bb912f62d.yaml @@ -1,8 +1,8 @@ --- fixes: - | - Fixes a compatability issue where the iPXE kernel command line was no - longe compatible with dracut. The ``ip`` parameter has been removed + Fixes a compatibility issue where the iPXE kernel command line was no + longer compatible with dracut. The ``ip`` parameter has been removed as it is incompatible with the ``BOOTIF`` and missing ``autoconf`` parameters when dracut is used. Further details can be found in `storyboard `_. diff --git a/releasenotes/notes/ironic-12.0-prelude-9dd8e80a1a3e8f60.yaml b/releasenotes/notes/ironic-12.0-prelude-9dd8e80a1a3e8f60.yaml index 596397cabd..3b8c174e29 100644 --- a/releasenotes/notes/ironic-12.0-prelude-9dd8e80a1a3e8f60.yaml +++ b/releasenotes/notes/ironic-12.0-prelude-9dd8e80a1a3e8f60.yaml @@ -13,7 +13,7 @@ prelude: | * Dedicated ``ipxe`` boot interface enabling better co-existence of different hardware types. * Configurable ``disk_erasure_concurrency`` to speed disk cleaning. - * Configurable "protected" nodes to help prevent accidential actions + * Configurable "protected" nodes to help prevent accidental actions upon critical nodes. And many many bug fixes, Enjoy! diff --git a/releasenotes/notes/ironic-antelope-prelude-0b77964469f56b13.yaml b/releasenotes/notes/ironic-antelope-prelude-0b77964469f56b13.yaml index 98bf9c0149..bf9afa7cca 100644 --- a/releasenotes/notes/ironic-antelope-prelude-0b77964469f56b13.yaml +++ b/releasenotes/notes/ironic-antelope-prelude-0b77964469f56b13.yaml @@ -1,10 +1,10 @@ --- prelude: > The Ironic team hereby announces the release of OpenStack 2023.1 - (Ironic 23.4.0). This repesents the completion of a six month development + (Ironic 23.4.0). This represents the completion of a six month development cycle, which primarily focused on internal and scaling improvements. Those improvements included revamping the database layer to improve - performance and ensure compatability with new versions of SQLAlchemy, + performance and ensure compatibility with new versions of SQLAlchemy, enhancing the ironic-conductor service to export application metrics to prometheus via the ironic-prometheus-exporter, and the addition of a new API concept of node sharding to help with scaling of services that diff --git a/releasenotes/notes/limit-memory-consumption-c7949a49853ba83d.yaml b/releasenotes/notes/limit-memory-consumption-c7949a49853ba83d.yaml index 5de6036ec0..7b426e40f4 100644 --- a/releasenotes/notes/limit-memory-consumption-c7949a49853ba83d.yaml +++ b/releasenotes/notes/limit-memory-consumption-c7949a49853ba83d.yaml @@ -17,7 +17,7 @@ features: becomes available. This will effectively rate limit concurrency. If raw image conversions with-in the conductor is required, and a - situation exists where insufficent memory exists and it cannot be waited, + situation exists where insufficient memory exists and it cannot be waited, the deployment operation will fail. For the ``iscsi`` deployment interface, which is the other location in ironic that may consume large amounts of memory, the conductor will wait until the next agent heartbeat. diff --git a/releasenotes/notes/node-creation-no-longer-scope-restricted-b455f66a751f10ec.yaml b/releasenotes/notes/node-creation-no-longer-scope-restricted-b455f66a751f10ec.yaml index b405dddb36..6bd2e518a0 100644 --- a/releasenotes/notes/node-creation-no-longer-scope-restricted-b455f66a751f10ec.yaml +++ b/releasenotes/notes/node-creation-no-longer-scope-restricted-b455f66a751f10ec.yaml @@ -12,7 +12,7 @@ features: - | Adds the capability for a project scoped ``admin`` user to be able to delete nodes from Ironic which their `project` owns. This can be - contolled through the ``[api]project_admin_can_manage_own_nodes`` + controlled through the ``[api]project_admin_can_manage_own_nodes`` setting, which defaults to ``True``, as well as the ``baremetal:node:delete:self_owned_node`` policy. security: @@ -23,5 +23,5 @@ security: upgrades: - | The API version has been increased to ``1.80`` in order to signify - the addition of additoinal Role Based Access Controls capabilities + the addition of additional Role Based Access Controls capabilities around node creation and deletion. \ No newline at end of file diff --git a/releasenotes/notes/project-scoped-rbac-063c44ba593bb82a.yaml b/releasenotes/notes/project-scoped-rbac-063c44ba593bb82a.yaml index c9d81b1dcc..bf73ca5599 100644 --- a/releasenotes/notes/project-scoped-rbac-063c44ba593bb82a.yaml +++ b/releasenotes/notes/project-scoped-rbac-063c44ba593bb82a.yaml @@ -10,7 +10,7 @@ features: targets, and allocations. - | Project ``scoped`` requests for baremetal allocations, will automatically - record the ``project_id`` of the requestor as the ``owner`` of the node. + record the ``project_id`` of the requester as the ``owner`` of the node. deprecations: - > Pre-RBAC support rules have been deprecated. These consist of: @@ -35,7 +35,7 @@ issues: impact ``system`` scoped requests. Operators who adopt project scoped access may find it necessary to verify or add additional database indexes in relation to the node ``uuid`` column as well as ``node_id`` field in - any table which may recieve heavy project query scope activity. + any table which may receive heavy project query scope activity. The ``ironic`` project anticipates that this will be a future work item of the project to help improve database performance. upgrade: diff --git a/releasenotes/notes/raid-remove-root-hint-ec87efd18e894256.yaml b/releasenotes/notes/raid-remove-root-hint-ec87efd18e894256.yaml index 5eddd4833e..7b6812c310 100644 --- a/releasenotes/notes/raid-remove-root-hint-ec87efd18e894256.yaml +++ b/releasenotes/notes/raid-remove-root-hint-ec87efd18e894256.yaml @@ -7,4 +7,4 @@ fixes: - | Fixes the issue that root device hint is not removed after the ``agent`` RAID interface has successfully deleted RAID configuration. The previous - hint is not guranteed to be valid and may cause a deployment failure. + hint is not guaranteed to be valid and may cause a deployment failure. diff --git a/releasenotes/notes/ramdisk-grub-use-user-kernel-ramdisk-7d572fe130932605.yaml b/releasenotes/notes/ramdisk-grub-use-user-kernel-ramdisk-7d572fe130932605.yaml index 06a4bba3f7..273e258543 100644 --- a/releasenotes/notes/ramdisk-grub-use-user-kernel-ramdisk-7d572fe130932605.yaml +++ b/releasenotes/notes/ramdisk-grub-use-user-kernel-ramdisk-7d572fe130932605.yaml @@ -1,5 +1,5 @@ --- fixes: - Fixes a bug with the grub ramdisk boot template handling, such that the template now properly - references the user provided kernal and ramdisk. Previously the deployment ramdisk and kernel + references the user provided kernel and ramdisk. Previously the deployment ramdisk and kernel was referenced in the template. diff --git a/releasenotes/notes/redfish-boot-mode-override-not-present-handling-92e7263617e467c4.yaml b/releasenotes/notes/redfish-boot-mode-override-not-present-handling-92e7263617e467c4.yaml index 79f20e4390..33b69b0233 100644 --- a/releasenotes/notes/redfish-boot-mode-override-not-present-handling-92e7263617e467c4.yaml +++ b/releasenotes/notes/redfish-boot-mode-override-not-present-handling-92e7263617e467c4.yaml @@ -6,4 +6,4 @@ fixes: does not support this field. This most common on BMCs which feature only a partial implementation of the ``ComputerSystem`` resource ``boot``, but may also be observable on some older generations of BMCs which - recieved updates to have partial Redfish support. + received updates to have partial Redfish support. diff --git a/releasenotes/notes/reset-interface-e62036ac76b87486.yaml b/releasenotes/notes/reset-interface-e62036ac76b87486.yaml index cde885934b..2623d846c3 100644 --- a/releasenotes/notes/reset-interface-e62036ac76b87486.yaml +++ b/releasenotes/notes/reset-interface-e62036ac76b87486.yaml @@ -4,5 +4,5 @@ features: Starting with API version 1.45, PATCH requests to ``/v1/nodes/`` accept the new query parameter ``reset_interfaces``. It can be provided whenever the ``driver`` field is updated. If set to 'true', all hardware - interfaces wil be reset to their defaults, except for ones updated in the + interfaces will be reset to their defaults, except for ones updated in the same request. diff --git a/releasenotes/notes/silence-rbac-deprecation-for-now-779898e720a7bf4e.yaml b/releasenotes/notes/silence-rbac-deprecation-for-now-779898e720a7bf4e.yaml index bebeddb10b..924cd36863 100644 --- a/releasenotes/notes/silence-rbac-deprecation-for-now-779898e720a7bf4e.yaml +++ b/releasenotes/notes/silence-rbac-deprecation-for-now-779898e720a7bf4e.yaml @@ -3,7 +3,7 @@ other: - | Deprecation warnings for the legacy RBAC policies are now suppressed, as the OpenStack community is coalescing around what appears will be a - longer deprecation cycle and process than would typcially be undertaken + longer deprecation cycle and process than would typically be undertaken due to the nature and impact of policy changes. The community as a whole is expecting to make RBAC policy work changes a community goal during the Y* release development cycle, which means the earliest legacy policy diff --git a/releasenotes/notes/socat-console-port-alloc-ipv6-26760f53f86209d0.yaml b/releasenotes/notes/socat-console-port-alloc-ipv6-26760f53f86209d0.yaml index f8087363bd..cd556a051b 100644 --- a/releasenotes/notes/socat-console-port-alloc-ipv6-26760f53f86209d0.yaml +++ b/releasenotes/notes/socat-console-port-alloc-ipv6-26760f53f86209d0.yaml @@ -2,4 +2,4 @@ fixes: - | Fixes the issue that port auto allocation for the socat console failed to - correctly identify the availablility of ports under IPv6 networks. + correctly identify the availability of ports under IPv6 networks. diff --git a/releasenotes/notes/system-scoped-authentication-28e3651de250bea8.yaml b/releasenotes/notes/system-scoped-authentication-28e3651de250bea8.yaml index d34714ff73..604f5de274 100644 --- a/releasenotes/notes/system-scoped-authentication-28e3651de250bea8.yaml +++ b/releasenotes/notes/system-scoped-authentication-28e3651de250bea8.yaml @@ -22,7 +22,7 @@ upgrade: ``[oslo_policy]enforce_new_defaults``. This requires a migration from using an ``admin project`` with the ``baremetal_admin`` and ``baremetal_observer``. System wide administrators using ``system`` - scoped ``admin`` and ``reader`` accounts superceed the deprecated + scoped ``admin`` and ``reader`` accounts supersede the deprecated model. deprecations: - | diff --git a/tools/test-setup.sh b/tools/test-setup.sh index 924f0c8246..9862ae4e0c 100755 --- a/tools/test-setup.sh +++ b/tools/test-setup.sh @@ -63,7 +63,7 @@ sudo sed -i 's/^.*password_encryption =.*/password_encryption = scram-sha-256/' sudo cat $PG_HBA sudo cat $PG_CONF -# restart postgres fo new HBA file is loaded +# restart postgres with new HBA file is loaded sudo systemctl stop postgresql || true sudo systemctl start postgresql || true