summaryrefslogtreecommitdiff
path: root/requirements.txt
Commit message (Collapse)AuthorAgeFilesLines
* Use new get_rpc_client API from oslo.messagingTobias Urdin2023-01-191-1/+1
| | | | | | | | | | | | | | Use the new API that is consistent with the existing API instead of instantiating the client class directly. This was introduced in release 14.1.0 here [1] and added into oslo.messaging here [2] [1] https://review.opendev.org/c/openstack/requirements/+/869340 [2] https://review.opendev.org/c/openstack/oslo.messaging/+/862419 Change-Id: I2aea1d4fb59e7440586d8d9cd27bc61d29f4530c
* Phase 1 - SQLAlchemy 2.0 CompatabilityJulia Kreger2022-10-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One of the major changes in SQLAlchemy 2.0 is the removal of autocommit support. It turns out Ironic was using this quite aggressively without even really being aware of it. * Moved the declaritive_base to ORM, as noted in the SQLAlchemy 2.0 changes[0]. * Console testing caused us to become aware of issues around locking where session synchronization, when autocommit was enabled, was defaulted to False. The result of this is that you could have two sessions have different results, which could results on different threads, and where one could still attempt to lock based upon prior information. Inherently, while this basically worked, it was also sort of broken behavior. This resulted in locking being rewritten to use the style mandated in SQLAlchemy 2.0 migration documentation. This ultimately is due to locking, which is *heavily* relied upon in Ironic, and in unit testing with sqlite, there are no transactions, which means we can get some data inconsistency in unit testing as well if we're reliant upon the database to precisely and exactly return what we committed.[1] * Begins changing the query.one()/query.all() style to use explicit select statements as part of the new style mandated for migration to SQLAlchemy 2.0. * Instead of using field label strings for joined queries, use the object format, which makes much more sense now, and is part of the items required for eventual migration to 2.0. * DB queries involving Traits are now loaded using SelectInLoad as opposed to Joins. The now deprecated ORM queries were quietly and silently de-duplicating rows and providing consistent sets from the resulting joined table responses, however putting much higher CPU load on the processing of results on the client. Prior performance testing has informed us this should be a minimal overhead impact, however these queries should no longer be in transactions with the Database Servers which should offset the shift in load pattern. The reason we cannot continue to deduplicate locally in our code is because we carry Dict data sets which cannot be hashed for deduplication. Most projects have handled this by treating them as Text and then converting, but without a massive rewrite, this seems to be the viable middle ground. * Adds an explict mapping for traits and tags on the Node object to point directly to the NodeTrait and NodeTag classes. This superceeds the prior usage of a backref to make the association. * Splits SQLAlchemy class model Node into Node and NodeBase, which allows for high performance queries to skip querying for ``tags`` and ``traits``. Otherwise with the afrormentioned lookups would always execute as they are now properties as well on the Node class. This more common of a SQLAlchemy model, but Ironic's model has been a bit more rigid to date. * Adds a ``start_consoles`` and ``start_allocations`` option to the conductor ``init_host`` method. This allows unit tests to be executed and launched with the service context, while *not* also creating race conditions which resulted in failed tests. * The db API ``_paginate_query`` wrapper now contains additional logic to handle traditional ORM query responses and the newer style of unified query responses. Due to differences in queries and handling, which also was part of the driver for the creation of ``NodeBase``, as SQLAlchemy will only create an object if a base object is referenced. Also, by default, everything returned is a tuple in 1.4 with the unified interface. * Also modified one unit test which counted time.sleep calls, which is a known pattern which can create failures which are ultimately noise. Ultimately, I have labelled the remaining places which SQLAlchemy warnings are raised at for deprecation/removal of functionality, which needs to be addressed. [0] https://docs.sqlalchemy.org/en/14/changelog/migration_20.html [1] https://docs.sqlalchemy.org/en/14/dialects/sqlite.html#transaction-isolation-level-autocommit Change-Id: Ie0f4b8a814eaef1e852088d12d33ce1eab408e23
* Zed Ironic requires Sushy >4Jay Faulkner2022-09-121-1/+1
| | | | | | | | | Sushy 4 includes enhancements including support for hardware Ironic should work with in Zed. Story: #2009865 Task: #44548 Change-Id: Ib82bd4d1442bf7d9b135d1c1553c39cfef87548a
* Add audit middleware options to ironic.confTakashi Kajinami2022-07-071-1/+1
| | | | | | | | | Ironic supports enabling the audit middleware. This change adds the option for the middleware to the ironic.conf file generated by oslo-config-generator. Depends-on: https://review.opendev.org/804316 Change-Id: Ic7adb755f47ea65fe975dfbc7cca905a376d728e
* Drop lower-constraints.txt and its testingGhanshyam Mann2022-04-301-0/+4
| | | | | | | | | | | | | As discussed in TC PTG[1] and TC resolution[2], we are dropping the lower-constraints.txt file and its testing. We will keep lower bounds in the requirements.txt file but with a note that these are not tested lower bounds and we try our best to keep them updated. [1] https://etherpad.opendev.org/p/tc-zed-ptg#L326 [2] https://governance.openstack.org/tc/resolutions/20220414-drop-lower-constraints.html#proposal Change-Id: Ide6b3e9d6c1171f1ae568c256a3e9affa45de17b
* Grenade: Change to use bios because we have funky networkingJulia Kreger2022-04-041-1/+1
| | | | | | | | | | | | | | | | | | Grenade, for some confusing reason, creates a separate network, and uses that for upgrade testing as opposed to the original network the VMs were bound to. If Julia's memory is correct, this was for multinode upgrade testing. Anyway, When in UEFI mode, it appears that the TFTP packets don't get tracked nor cross the boundrary. We likley need to explicitly address this, but first, lets get the job working as it was and can then update it. Also, update requirements because markupsafe removed soft_unicode method taht was deprecated since a while. Jinja2 started using the new soft_str method since version 3.0.0 Change-Id: Iaebe966569962b0d3d43774d57b570469479f159
* Enable Redfish by defaultDmitry Tantsur2021-11-051-1/+2
| | | | | | | | | | Redfish has become an established technology with growing popularity. By enabling it by default we make it easier for operators to use Ironic, especially its advanced features, out of box. Bump stevedore to match sushy. Change-Id: I94dd4066ac598a7e5c2e0812e1ff286de5d164a2
* Update requirementsRiccardo Pittau2021-07-131-5/+5
| | | | | | | | | | | | | | | | | Update minimum required versions of python packages. The updates is based on crosscheck requirements from required packages: oslo-log 4.3.0 depends on oslo.context>=2.20.0 oslo-config 6.8.0 depends on rfc3986>=1.2.0 oslo-config 6.8.0 depends on requests>=2.18.0 oslo-log 4.3.0 depends on pbr>=3.1.1 oslo-log 4.3.0 depends on oslo.serialization>=2.25.0 oslo-policy 3.7.0 depends on oslo.context>=2.22.0 Also update minimum versions of ddt and stestr to avoid compatibility issues with recent Python versions (3.8 and higher). Change-Id: I34b558f4e7b93618130af1ba2250f6ab8575d4d6
* Merge "Add support for configdrive in anaconda interface"Zuul2021-07-061-0/+1
|\
| * Add support for configdrive in anaconda interfaceArun S A G2021-07-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | Config drive is processed by the deploy interface and written to the disk during post install of the deployment. The config drive is written to /var/lib/cloud/seed/config_drive on the disk. cloud-init should be able to process read config drive contents and take actions on firstboot. Change-Id: Id5a949e777e242d2f20966ec045ac319c61636ba
* | Fix oslo policy DeprecatedRule warningsGhanshyam Mann2021-07-051-1/+1
|/ | | | | | | | | | | | | | | | | Since 3.7.0, oslo policy started the DeprecationWarning[1] if deprecated_reason and deprecated_since param are not passed in DeprecatedRule or they are passed in RuleDefault object. These warnings are logged for every test which increase the log size and sometime can full the log buffer and fail the job. This fixes the 1431 warnings - https://zuul.opendev.org/t/openstack/build/cace355f7c0d4cbcb1df7856a03194d7/log/job-output.txt#1029 [1] https://github.com/openstack/oslo.policy/blob/3.7.0/oslo_policy/policy.py#L1538 Change-Id: I98d20aea80d547e1f301c150564f732619c9e744
* Upgrade oslo.db versionKamlesh Chauvhan2021-06-281-1/+1
| | | | | | | | | | | | oslo.db 9.1.0 extends capabilities to handle changes in duplicate key error information introduced since MySQL 8.0.19 and fixes issue arose during inspection of node created with idrac driver, inspect interface as idrac-redfish. Story: 2008901 Task: 42468 Change-Id: Ic18e485d4eb14566554d25379a719669ac362d70
* Switch to JSON RPC from ironic-libDmitry Tantsur2021-03-101-1/+1
| | | | Change-Id: I8b438861780c85faae7ff18646960723a1fd9876
* Merge "Update oslo.policy requirement to version 3.6.2"Zuul2021-03-011-1/+1
|\
| * Update oslo.policy requirement to version 3.6.2Lance Bragstad2021-02-051-1/+1
| | | | | | | | | | | | | | | | This version of oslo.policy includes fixes that ensure the Enforcer only modifies copies of the rules, making it safer in environments that run tests in parallel where the Enforcer is configured differently. Change-Id: I8d7a06558cbf073487707fc33219e43beb5fc043
* | Replace pysendfile with os.sendfileDmitry Tantsur2021-02-181-1/+0
| | | | | | | | Change-Id: I1ef33d41fd3784f55929fa6a086fca0c335212e5
* | Replace retrying with tenacityBoden R2021-02-151-1/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We are replacing all usages of the 'retrying' package with 'tenacity' as the author of retrying is not actively maintaining the project. Unit tests will be added/removed where applicable. Tenacity [1] is a fork of retrying, but has improved the interface and extensibility. Our end goal here is removing the retrying package from our requirements. Tenacity provides the same functionality as retrying, but has the following major differences to account for: - Tenacity uses seconds rather than ms as retrying did. - Tenacity has different kwargs for the decorator and Retrying class itself. - Tenacity has a different approach for retrying args by using classes for its stop/wait/retry kwargs. - By default tenacity raises a RetryError if a retried callable times out; retrying raises the last exception from the callable. Tenacity provides backwards compatibility here by offering the 'reraise' kwarg. - For retries that check a result, tenacity will raise if the retried function raises, whereas retrying retried on all exceptions. [1] https://github.com/jd/tenacity Co-Authored-By: Dmitry Tantsur <dtantsur@protonmail.com> Co-Authored-By: Riccardo Pittau <elfosardo@gmail.com> Story: #1635390 Task: #10528 Change-Id: Ie5eb3ddc196505e8f58ed14de9952284598586fb
* Bump oslo.log requirement to 4.3.0Lance Bragstad2021-01-191-1/+1
| | | | | | | This ensures we have the WALLABY marker available for deprecation noticies. Change-Id: Ic91f34a90fdd0c22c06c669551eaf6f9a398956b
* Policy json to yaml migrationJulia Kreger2021-01-041-4/+4
| | | | | | | | | | | | | Adds the status upgrade check for the JSON to YAML migration effort and updates the documentation where it seems appropriate to move from "policy.json" to "policy.yaml" Mostly shamelessly copied from https://review.opendev.org/#/c/748059/ however is in-line with ironic's configuration and patching methods. Related Blueprint: policy-json-to-yaml Change-Id: I1d5b3892451579ebfd4d75a0f7185e0ef3c984c8
* Fix lower-constraints for Ubuntu FocalIury Gregory Melo Ferreira2020-09-111-3/+3
| | | | Change-Id: Id3cc2d1b619790813b94b0cfd52ff6590aff060c
* Switch Ironic to openstacksdk for NeutronHarald Jensås2020-08-191-2/+1
| | | | | | | | | | | | | | | | This patch removes the dependency from ironicclient to communicate with neutron in favor of openstacksdk. Also: * Use import keystoneauth1.loading as ks_loading accross the project. * Refactor to have one 'get_client' function, removing the '_get_config_client' method. Setting config_client=True when calling 'get_client' returns a client using auth options values from conf parameters. Depends-On: https://review.opendev.org/735601 Change-Id: Ib6c0fa2acfc33deb9c5b36ae724d5d8304d1dd29
* Merge "Deprecate http_basic_username and http_basic_password in [json_rpc]"Zuul2020-07-281-1/+1
|\
| * Deprecate http_basic_username and http_basic_password in [json_rpc]Dmitry Tantsur2020-07-241-1/+1
| | | | | | | | | | | | | | | | | | | | It's very confusing that we use username/password everywhere, except for [json_rpc]. Just use the standard options. Also the version if keystoneauth is bumpted to one that supports http_basic. Change-Id: Icc834c3f8febd45c2548314ee00b85a7f9cebd2c
* | Merge "Add an option to choose the hash ring algorithm"Zuul2020-07-231-1/+1
|\ \
| * | Add an option to choose the hash ring algorithmDmitry Tantsur2020-07-221-1/+1
| | | | | | | | | | | | | | | | | | MD5 is not available in FIPS mode, we need a way to use something else. Change-Id: Ie6e09ac66028cbe18717a7ea7a4c23730e3cb642
* | | Merge "Use native oslo.concurrency execution timeout in ipmitool"Zuul2020-07-221-1/+1
|\ \ \ | |_|/ |/| |
| * | Use native oslo.concurrency execution timeout in ipmitoolDmitry Tantsur2020-07-061-1/+1
| |/ | | | | | | | | | | | | | | | | This change replaces custom Popen-based code with the new argument (backed by the corresponding stdlib argument). Story: #2004449 Task: #40283 Change-Id: I6840b1caffd272ef12ab2b259a02376ec185bc3f
* | Add wsme core types, remove WSMESteve Baker2020-07-141-1/+0
|/ | | | | | | | | | | The header for the file types.py denotes its dual-licensed status as MIT with copyright to the original WSME authors, plus apache licensed as part of Ironic. Story: 1651346 Task: 10551 Change-Id: I986cc4a936c8679e932463ff3c91d1876a713196
* Enable Basic HTTP authentication middlewareSteve Baker2020-06-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When the config option ``auth_strategy`` is set to ``http_basic`` then non-public API calls require a valid HTTP Basic authentication header to be set. The config option ``http_basic_auth_user_file`` defaults to ``/etc/ironic/htpasswd`` and points to a file which supports the Apache htpasswd syntax[1]. This file is read for every request, so no service restart is required when changes are made. The only password digest supported is bcrypt, and the ``bcrypt`` python library is used for password checks since it supports ``$2y$`` prefixed bcrypt passwords as generated by the Apache htpasswd utility. To try HTTP basic authentication, the following can be done: * Set ``/etc/ironic/ironic.conf`` ``DEFAULT`` ``auth_strategy`` to ``http_basic`` * Populate the htpasswd file with entries, for example: ``htpasswd -nbB myName myPassword >> /etc/ironic/htpasswd`` * Make basic authenticated HTTP requests, for example: ``curl --user myName:myPassword http://localhost:6385/v1/drivers`` [1] https://httpd.apache.org/docs/current/misc/password_encryptions.html Change-Id: I7b89155d8bbd2f48e186c12adea9d6932cd0bfe2 Story: 2007656 Task: 39825 Depends-On: https://review.opendev.org/729070
* Cap jsonschema 3.2.0 as the minimal versionHervé Beraud2020-05-261-1/+1
| | | | | | | | | | | | Previous versions of jsonschema (<3.2.0) doesn't support python 3.8 [1]. Python 3.8 is part of the victoria supported runtimes [2] so we now force to use jsonschema version 3.2.0 to avoid issues, remove ambiguity and ensure that everything works with python 3 in general. [1] https://github.com/Julian/jsonschema/pull/627 [2] https://governance.openstack.org/tc/reference/runtimes/victoria.html#python-runtimes-for-victoria Change-Id: I929a573714e0ce8218e0820babc16f9862c4a36e
* Stop configuring install_command in tox.Iury Gregory Melo Ferreira2020-04-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, we are overriding 'install_command' to use 'pip'. This is considered poor behavior and 'python -m pip' should be used instead: https://snarky.ca/why-you-should-use-python-m-pip/ It turns out that this is the the default value provided by tox: https://tox.readthedocs.io/en/latest/config.html#conf-install_command So we can remove the line and simply use the default value. openstack-discuss thread http://lists.openstack.org/pipermail/openstack-discuss/2020-April/014237.html Bumping in requirements: -alembic to 0.9.6 -keystoneauth1 to 3.18 Bumping libs in in l-c: -alembic to 0.9.6 -keystoneauth1 to 3.18 -pika to 0.10.0 (necessary for installation) Change-Id: I059e841ab891ba0451d0423065e9727c8c77f337
* Make oslo.i18n an optional dependencyDmitry Tantsur2020-04-021-1/+0
| | | | | | | | | | In an ideal world we would have all messages translated to at least major languages. In reality, ironic has never boasted a great set of translation, and according to Zanata only 2.94% of messages are translated for ironic in Train (1.33% for ironic-inspector). Given that ironic-python-agent is not translated at all, using i18n by default seems an overkill. Change-Id: I12287c6b7208af487cc9eee825ae7f38ec707d91
* Make oslo.reports an optional dependencyDmitry Tantsur2020-04-021-1/+0
| | | | | | | | | | It is only required for one specific feature, let people install it if they need it. This change is a part of the major effort to reduce the number of ironic dependencies. Change-Id: Ia45ce1d573c89f583d641be3d37d1c127e6345bc
* Stop using six libraryRiccardo Pittau2019-12-231-1/+0
| | | | | | | | | | Since we've dropped support for Python 2.7, it's time to look at the bright future that Python 3.x will bring and stop forcing compatibility with older versions. This patch removes the six library from requirements, not looking back. Change-Id: Ib546f16965475c32b2f8caabd560e2c7d382ac5a
* Mock out the correct greenthread sleep methodVladyslav Drok2019-11-201-1/+1
| | | | | | | | | | | | | It seems at some point oslo_service loopingcall started using eventletutils from oslo_utils to sleep during the loopingcall retries, and some untittests started taking up to 40 seconds to complete. This change mocks out the correct method offering significant speedup to unittests' run time. The EventletEvent class is introduced to eventletutils in version 3.38.0 so lower constraints are bumped as well. Change-Id: Id7e6ff2a4748b5301e2259acdc760ac7f56b96c3
* Allow vendor_data to be included in a configdrive dictSteve Baker2019-10-311-1/+1
| | | | | | | | | | | | | | | | | configdrive can contain a vendor_data2.json file containing key/value pairs injected by nova's vendordata mechanism[1]. This change lets Ironic accept a vendor_data key when configdrive is provided as json, allowing parity with nova. This change requires an openstacksdk release 0.37.0 [1] https://www.madebymikal.com/nova-vendordata-deployment-an-excessively-detailed-guide/ Change-Id: Id990b970619a113c5d5ead47fb550870d91b5e04 Task: 36756 Story: 2006597 Blueprint: nova-less-deploy
* Raising minimum version of oslo.dbRiccardo Pittau2019-10-071-1/+1
| | | | | | | | | | | oslo.db was not compatible with Python 3.7 until version 4.40.0 because Python 3.7 makes "async" a keyword [1]. To prevent bad surprises, this patch increases the minumum version required for oslo.db to 4.40.0. [1] https://review.opendev.org/574833 Change-Id: I3271fd2d7d81261db6da079e55fb87656c833686
* Merge "Support power state change callbacks to nova using ksa_adapter"Zuul2019-08-241-1/+1
|\
| * Support power state change callbacks to nova using ksa_adapterSurya Seetharaman2019-08-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add power state change callbacks of an instance to nova by performing API requests. Whenever there is a change in the power state of a physical instance (example a "power on" or "power off" IPMI command is issued or the periodic ``_sync_power_states`` task detects a change in power state) ironic will create and send a ``power-update`` external event to nova using which nova will update the power state of the instance in its database. By conveying the power state changes to nova, ironic becomes the source of truth thus preventing nova from forcing wrong power states on the instance during the nova-ironic periodic sync. It also adds the possibility of bringing up/down a physical instance through the ironic API even if it was put down/up through the nova API. Note that ironic only sends requests to nova if the target power state is either "power on" or "power off". Other error states will be ignored. In cases where the power state change is originally coming from nova, the event will still be created and sent to nova and on the nova side it will be a no-op with a debug log saying the node is already powering on/off. NOTE: Although an exclusive lock (task_manager.upgrade_lock() method) is used when calling the nova API to send events, there can still be a race condition if the nova-ironic power sync happens to happen a nano-second before the power state change event is received from ironic in which case the nova state will be forced on the node. Credit for introducing ksa adapter: Eric Fried <openstack@fried.cc> Depends-On: https://review.opendev.org/#/c/645611/ Part of blueprint nova-support-instance-power-update Story: 2004969 Task: 29424 Change-Id: I6d105524e1645d9a40dfeae2850c33cf2d110826
* | Use openstacksdk for accessing ironic-inspectorDmitry Tantsur2019-07-311-1/+1
|/ | | | Change-Id: Ibe4f6bf0b38364b5dd214e6c7e58d45a4d71ffdf
* Bump keystonauth and warlock versionsRiccardo Pittau2019-07-151-1/+1
| | | | | | | openstacksdk 0.25.0 requires keystoneauth1>=3.11.0 python-glanceclient 2.8.0 requires warlock!=1.3.0,<2,>=1.0.1 Change-Id: Iaf80327538d2395fe61bd0e77743d1b6021a66f7
* Switch to use exception from ironic-libRiccardo Pittau2019-06-111-1/+1
| | | | | | | | | | | | | | | | The exception modules in ironic and ironic-lib contain the same almost identical class IronicException. With this patch we directly use the one in ironic-lib. Updating requirements and lower-constraints to use compatible version of ironic-lib. Also deprecating duplicated fatal_exception_format_errors option. Change-Id: I1ce0d12d912020346425fd658d3b1807607455a4 Story: 1626578 Task: 10515
* Merge "Publish baremetal endpoint via mdns"Zuul2019-05-281-1/+1
|\
| * Publish baremetal endpoint via mdnsDmitry Tantsur2019-05-231-1/+1
| | | | | | | | | | | | | | | | | | This change adds an option to publish the endpoint via mDNS on start up and clean it up on tear down. Story: #2005393 Task: #30383 Change-Id: I55d2e7718a23cde111eaac4e431588184cb16bda
* | Blacklist python-cinderclient 4.0.0pengyuesheng2019-05-271-1/+1
|/ | | | | | | | This release of the Cinder client broke support for the v3 volume-transfer APIs unless microversion 3.55 or higher was requested. depend on https://review.opendev.org/#/c/587877/ Change-Id: I12f6d4f540a0a09c6609e14c615dcd11f191660a
* Uncap jsonschema in requirementsDmitry Tantsur2019-04-101-1/+1
| | | | | | | It's no longer capped in global-requirements, so the requirements check no longer passes on ironic. This patch fixes it. Change-Id: Iefbb2e935fda9b9aeb332d04715b98840a581c86
* Allow building configdrive from JSON in the APIDmitry Tantsur2019-03-051-0/+1
| | | | | | | | | | | | | | Extend the API with the ability to build config drives from meta_data, network_data and user_data, where meta_data and network_data are JSON objects, and user_data is either a JSON object, a JSON array or raw contents as a string. This change uses openstacksdk (which is already an indirect dependency) for building config drives. Change-Id: Ie1f399a4cb6d4fe5afec79341d3bccc0f81204b2 Story: #2005083 Task: #29663
* Deploy templates: API & notificationsMark Goddard2019-03-041-1/+1
| | | | | | | | | | | | | | Adds deploy_templates REST API endpoints for retrieving, creating, updating and deleting deployment templates. Also adds notification objects for deploy templates. Bumps the minimum WSME requirement to 0.9.3, since the lower constraints job was failing with a 500 error when sending data in an unexpected format to the POST /deploy_templates API. Change-Id: I0e8c97e600f9b1080c8bdec790e5710e7a92d016 Story: 1722275 Task: 28677
* Fix pysendfile requirement markerMark Goddard2019-02-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Currently, any patch that changes one of the requirements files is failing the requirements-check job, with the following error: Requirement(package='pysendfile', location='', specifiers='>=2.0.0', markers='', comment='# MIT', extras=frozenset()) 'markers': '' does not match "sys_platform!='win32'" Could not find a global requirements entry to match package {}. If the package is already included in the global list, the name or platform markers there may not match the local settings. The problem is that a "sys_platform!='win32'" marker was added [1] to the pysendfile requirement in the requirements repo, which needs to be propagated to the requirements of all repos using the package. This change adds the required marker to requirements.txt. [1] https://review.openstack.org/#/c/639084/ Change-Id: Ibd7656cbcfbf204930f9c8562f79ab92bd4aefb5 Story: 2005096 Task: 29697
* Add ironic-status upgrade check command frameworkwhoami-rajat2018-11-011-0/+1
| | | | | | | | | | | This adds basic framework for ironic-status upgrade check commands. For now it has only "check_placeholder" check implemented. Real checks can be added to this tool in the future. Change-Id: I7d5f018656322b92c663a2adaaf6330a55c00fb8 Story: 2003657 Task: 26133