summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | Imported Translations from ZanataOpenStack Proposal Bot2022-10-182-171/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For more information about this automatic import see: https://docs.openstack.org/i18n/latest/reviewing-translation-import.html Change-Id: Ifc0411523a44389c97b9a7b285b0a69ad9119fd6
* | | | | Merge "Phase 3 - SQLAlchemy 2.0 Compatability"Zuul2022-10-171-105/+208
|\ \ \ \ \
| * | | | | Phase 3 - SQLAlchemy 2.0 CompatabilityJulia Kreger2022-10-171-105/+208
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch rewrites portions of the database migration testing to the style required to not break when SQLAlchemy 2.0 is released. The *Major* difference is a transition from using Dictionary key styles towards using object names. This is because to retrieve a dictionary form, or access a row object as a dictionary, requires it to be cast as a dictonary, but in SQLAlchemy 2.0 row result attribute .keys is no longer present, which ultimately prevents casting and loading as such. Ultimately this just meant change the tests to use the object model field labels. One other change is we now query just the columns needed to get an ORM object. This is a result of the unification of the select interface and us being unable to instantiate a current full DB object (as in models.Node in current code) against an older database version in order to perform migration validation. One last item, there appears to be a minor trivial difference in the behavior in the return of a dictionary/json response object with Postgres. Ultimately, it seems trivial, we just needed the test to be aware of the difference as it is a very low level test. Change-Id: I4d7213488ce90176893459087fe2f0491a6a61fc
* | | | | | Merge "Phase 2 - SQLAlchemy 2.0 Compatability"Zuul2022-10-173-80/+144
|\ \ \ \ \ \ | |/ / / / / | | / / / / | |/ / / / |/| | | |
| * | | | Phase 2 - SQLAlchemy 2.0 CompatabilityJulia Kreger2022-10-143-80/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Changed common exception imports from SQLAlchemy for ORM query types which are now originated from the main exception definition set. * Changed base join option usage to use objects instead of labels, and defaulted all multi-row result sets to return data using "selectinload" as opposed to operating with a join query to avoid need to de-duplicate all result sets. * Changed DeployTemplates to utilize objects instead of field names for queries, and updated the associated join ORM model's relationship record between DeployTemplate and DeployTemplateSteps. * Changed Ports, Chassis, Conductor, Volume Target/Connector queries to lean towards use of select/update/delete queries as opposed to ORM queries. Most of these changes revolved around references of field names as opposed to model objects. * This change also labels a few lines as "noqa", which is a result of the style check rules getting triggered on statements as needed for SQLAlchemy. Change-Id: I651ec4b50c79be6aa8c798ee27957ed720a578d8
* | | | | Merge " Remove reference to 'all-plugin' tox environment"Zuul2022-10-141-1/+2
|\ \ \ \ \
| * | | | | Remove reference to 'all-plugin' tox environmentLukáš Piwowarski2022-10-071-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 'all-plugin' tox environment was deprecated by this patch [1]. Instead of the 'all-plugin' it is recommended to use the 'all' tox environment. This patch removes any reference to 'all-plugin' tox environment and updates the documentation so that the installation steps work with the 'all' venv. [1] https://review.opendev.org/c/openstack/tempest/+/543974 Change-Id: Id3451147d172002d67b4557680560a59b026ed77
* | | | | | Merge "Phase 1 - SQLAlchemy 2.0 Compatability"Zuul2022-10-1415-148/+313
|\ \ \ \ \ \ | | |/ / / / | |/| | | |
| * | | | | Phase 1 - SQLAlchemy 2.0 CompatabilityJulia Kreger2022-10-1315-148/+313
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | Trival: Remove minor troubleshooting accidently committedJulia Kreger2022-10-141-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some minor troublehsooting output was accidently committed. Removing. Change-Id: I46be9295764a8ab354d54e2d50e3c62a012ceccf
* | | | | | Merge "Bump min version of testtools"Zuul2022-10-141-1/+1
|\ \ \ \ \ \ | |/ / / / / |/| | | | |
| * | | | | Bump min version of testtoolsRiccardo Pittau2022-10-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Any version of testtools lower than 2.5.0 fails if the attribute 'result_supports_subtests' is present on any test object because of old unittest support. See also https://github.com/testing-cabal/testtools/issues/235 and https://github.com/testing-cabal/testtools/pull/277/commits/38fc9a9e302f68d471d7b097c7327b4ff7348790 for more info. Change-Id: I23a1ca789f4ea4ffd981e1071f3c2c6c333ac330
* | | | | | Fix allocations default table typeJulia Kreger2022-10-1311-24/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In trying to figure out why I was unable to run all of the test_migrations tests, I realized we need to fix and clean up our unicode declarations. Specifically, the way I found this was my local mysql install was defaulted to using 4 Byte Unicode characters, however some of our fields are 255 characters, which do not fit inside of InnoDB tables. They do, however fit with the "utf8" storage alias, which is presently short for UTF8MB3, as opposed to UTF8MB4 which is what my local database server was configured for. Because this was in opportunistic tests, I wasn't able to really sort out what was going on and thought we needed to shorten the fields. In reality, it turns out we never defined the allocations table to use UTF8 and Innodb for storage. Storage engine wise, this is not a big deal, but may mean a DBA will one day need to dump and reload the allocation table of a deployment. Character set wise... It is not great, but there is not a good way for us to do this programatically. In my opinion, the chance of an issue being encountered by an operator is unlikely, which out weighs the risk and impact of dumping the entire table, deleting the table, recreating the table with the updated schema and then repopulating the entries. Of course, if operators are not using allocations, then it really doesn't matter for them. Along the way, I discovered we had used the "UTF8" type alias, which may change one day, which would break Ironic. As such, I've also updated the definitions used to create databases and updated our documentation. Recommended reading: https://docs.sqlalchemy.org/en/14/dialects/mysql.html#unicode https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-utf8mb4.html Story: 2010348 Task: 46492 Change-Id: I4103152489bf61e2d614eaa297da858f7b2112a3
* | | | | | Add upgrade check warning for allocations dbJulia Kreger2022-10-134-2/+136
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding an upgrade check to provide awareness to the state of the database in regards if an unexpected engine is in use or if the character set encoding is also not UTF8. These will raise non-fatal warnings on the upgrade status check. Change-Id: Ide0eb4690a056be557e5ea7d5ba5f6be37b50d0a Story: 2010384
* | | | | Imported Translations from ZanataOpenStack Proposal Bot2022-10-121-4/+117
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | For more information about this automatic import see: https://docs.openstack.org/i18n/latest/reviewing-translation-import.html Change-Id: If1f6ae8e5f6fb13971172d05219e5916dbac3cad
* | | | Imported Translations from ZanataOpenStack Proposal Bot2022-10-011-6/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | For more information about this automatic import see: https://docs.openstack.org/i18n/latest/reviewing-translation-import.html Change-Id: I533904fcc187d7272596966261537729c2eda201
* | | | Add missing space to log messagePierre Riteau2022-09-281-1/+1
| | | | | | | | | | | | | | | | Change-Id: Idecef01ce10b29e101a8e66b5505a792e53f8379
* | | | Imported Translations from ZanataOpenStack Proposal Bot2022-09-272-14/+170
| |_|/ |/| | | | | | | | | | | | | | | | | For more information about this automatic import see: https://docs.openstack.org/i18n/latest/reviewing-translation-import.html Change-Id: Ia12441fc4c77fbe9669633e4ccef532510416fc6
* | | Update release versions for zedRiccardo Pittau2022-09-261-3/+3
|/ / | | | | | | Change-Id: I86bba00f3049b27eb7fb2602d244d35599f28aa6
* | Merge "Update release versions for yoga"Zuul2022-09-231-3/+3
|\ \ | |/ |/|
| * Update release versions for yogaRiccardo Pittau2022-09-231-3/+3
| | | | | | | | Change-Id: I73c63bd3617708c8e30d8c770abeb39b023aec6b
* | Update master for stable/zedOpenStack Release Bot2022-09-232-0/+7
|/ | | | | | | | | | | | Add file to the reno documentation build to show release notes for stable/zed. Use pbr instruction to increment the minor version number automatically so that master versions are higher than the versions on stable/zed. Sem-Ver: feature Change-Id: Iaf4d6982a78509af2ba5de44916a6e17d684e786
* Merge "Zed: Add a prelude for the release notes"21.1.0Zuul2022-09-231-0/+12
|\
| * Zed: Add a prelude for the release notesJulia Kreger2022-09-221-0/+12
| | | | | | | | | | | | | | | | | | | | The Zed cycle is coming to a close, and we need a release notes prelude. Contribtors, please edit, I just put this together so we wouldn't forget. Change-Id: I3a5ca31bf3648c9f8a956f4592c305d2b23f419e
* | Merge "Set stage for Zed Release with 21.1"Zuul2022-09-223-5/+25
|\ \
| * | Set stage for Zed Release with 21.1Iury Gregory Melo Ferreira2022-09-213-5/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a pre-release commit for the Yoga release following our docs [1] [1] https://docs.openstack.org/ironic/latest/contributor/releasing.html We will clean-up the releasenotes and include the prelude in other patch Change-Id: I3b8df0dce64c4ee3b20b7a714b6647d6e1ec0330
* | | Merge "Implement a DHCP driver backed by dnsmasq"Zuul2022-09-2211-10/+394
|\ \ \
| * | | Implement a DHCP driver backed by dnsmasqSteve Baker2022-09-0511-10/+394
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ``[dhcp]dhcp_provider`` configuration option can now be set to ``dnsmasq`` as an alternative to ``none`` for standalone deployments. This enables the same node-specific DHCP capabilities as the ``neutron`` provider. See the ``[dnsmasq]`` section for configuration options. Change-Id: I3ab86ed68c6597d4fb4b0f2ae6d4fc34b1d59f11 Story: 2010203 Task: 45922
* | | | Merge "Fix idrac-redfish RAID controller mode conversion"Zuul2022-09-224-4/+281
|\ \ \ \ | |_|/ / |/| | |
| * | | Fix idrac-redfish RAID controller mode conversionAija Jauntēva2022-09-154-4/+281
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PERC 9 and PERC 10 might not be in RAID mode with no or limited RAID support. This fixes to convert any eligible controllers to RAID mode during delete_configuration clean step or deploy step. Story: 2010272 Task: 46199 Change-Id: I5e85df95a66aed9772ae0660b2c85ca3a39b96c7
* | | | Merge "Concurrent Distructive/Intensive ops limits"Zuul2022-09-219-4/+287
|\ \ \ \ | |_|_|/ |/| | |
| * | | Concurrent Distructive/Intensive ops limitsJulia Kreger2022-09-209-4/+287
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide the ability to limit resource intensive or potentially wide scale operations which could be a symptom of a highly distructive and unplanned operation in progress. The idea behind this change is to help guard the overall deployment to prevent an overall resource exhaustion situation, or prevent an attacker with valid credentials from putting an entire deployment into a potentially disasterous cleaning situation since ironic only other wise limits concurrency based upon running tasks by conductor. Story: 2010007 Task: 45140 Change-Id: I642452cd480e7674ff720b65ca32bce59a4a834a
* | | Merge "increase disk_erasure_coconcurrency"Zuul2022-09-202-1/+11
|\ \ \
| * | | increase disk_erasure_coconcurrencyJulia Kreger2022-05-262-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we added concurrent disk erasures, we kept the concurrency to 1 as to not risk any different oeprator behavior, at the cost of not faster erasure times. That being said, we have had the setting in place for some time and we have received no reports of issues, so we are incrementing it to four as that should be still quite relatively safe from a concurrency standpoint for disk controllers in systems. Change-Id: I6326422d60ec024a739ca596f46552bbd91b0419
* | | | Merge "Fix nodes stuck at cleaning on Network Service issues"Zuul2022-09-203-7/+29
|\ \ \ \
| * | | | Fix nodes stuck at cleaning on Network Service issuesKaifeng Wang2022-09-203-7/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ironic validates network interface before the cleaning process, currently invalid parameter is captured but for not others. There is chance that a node could be stucked at the cleaning state on networking issues or temporary service down of neutron service. This patch adds NetworkError to the exception hanlding to cover such cases. Change-Id: If20de2ad4ae4177dea10b7ebfc9a91ca6fbabdb9
* | | | | Merge "Document existence of non-production "fake" driver"Zuul2022-09-202-0/+37
|\ \ \ \ \
| * | | | | Document existence of non-production "fake" driverJay Faulkner2022-09-202-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ironic has fake drivers for development use. Document that they are not suitable for production. Story: 1326269 Task: 9877 Change-Id: Ibe6d43e1740a95b1cb3886394afaf8545de00e54
* | | | | | Merge "tests: Add a WarningsFixture"Zuul2022-09-202-1/+81
|\ \ \ \ \ \
| * | | | | | tests: Add a WarningsFixtureStephen Finucane2022-09-082-1/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We will use this in the future to prepare for SQLAlchemy 2.0. For now, we're simply using it to filter out some of the more annoying warnings and to highlight general SQLAlchemy issues we need to address. Change-Id: I7c26c20e4b36c4f3b98873939677b966ec6186a5 Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
* | | | | | | Merge "CI: Changes to support Anaconda CI jobs"Zuul2022-09-203-1/+84
|\ \ \ \ \ \ \
| * | | | | | | CI: Changes to support Anaconda CI jobsJulia Kreger2022-09-063-1/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduces additional job configuration to enable automated integration testing via tempest of the anaconda deployment interface. Also, configures a private subnet with DNS, which is required by anaconda executing, in order to facilitate processing of URLs. Change-Id: I61b5205cf2c9f83dfcabf4314247c76fb6a56acd
* | | | | | | | Merge "Correct Image properties lookup for paths"Zuul2022-09-203-92/+105
|\ \ \ \ \ \ \ \ | |_|_|_|_|_|/ / |/| | | | | | |
| * | | | | | | Correct Image properties lookup for pathsJulia Kreger2022-08-103-92/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The image lookup process, when handed a path attempts to issue a HEAD request against the path and gets a response which is devoid of details like a content length or any properties. This is expected behavior, however if we have a path, we also know we don't need to explicitly attempt to make an HTTP HEAD request in an attempt to match the glance ``kernel_id`` -> ``kernel`` and similar value population behavior. Also removes an invalid test which was written before the overall method was fully understood. And fixes the default fallback for kickstart template configuration, so that it uses a URL instead of a direct file path. And fix logic in the handling of image property result set, where the code previously assumed a ``stage2`` ramdisk was always required, and based other cleanup upon that. Change-Id: I589e9586d1279604a743746952aeabbc483825df
* | | | | | | | Merge "Update sushy-oem-idrac version"Zuul2022-09-141-1/+1
|\ \ \ \ \ \ \ \
| * | | | | | | | Update sushy-oem-idrac versionAija Jauntēva2022-09-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update sushy-oem-idrac version to indicate Zed compatibility with 5.*.* releases. Change-Id: Ifc69d3b267592bc8c087f10d84eaef8d46c19d96
* | | | | | | | | Merge "Zed Ironic requires Sushy >4"Zuul2022-09-141-1/+1
|\ \ \ \ \ \ \ \ \ | |_|_|_|_|_|/ / / |/| | | | | | | |
| * | | | | | | | 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
* | | | | | | | Merge "Adds create_csr and add_https_certificate clean step"Zuul2022-09-138-2/+318
|\ \ \ \ \ \ \ \
| * | | | | | | | Adds create_csr and add_https_certificate clean stepankit2022-09-098-2/+318
| | |_|_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds new clean steps create_csr and add_https_certificate to allow users to create certificate signing request and adds https certificate to the iLO. Story: 2009118 Task: 43016 Change-Id: I1e2da0e0da5e397b6e519e817e0bf60a02bbf007