summaryrefslogtreecommitdiff
path: root/devstack/lib
Commit message (Collapse)AuthorAgeFilesLines
* Deprecate the iscsi deploy interfaceDmitry Tantsur2020-09-221-18/+28
| | | | | | | | | | | | | | | This change marks the iscsi deploy interface as deprecated and stops enabling it by default. An online data migration is provided for iscsi->direct, provided that: 1) the direct deploy is enabled, 2) image_download_source!=swift. The CI coverage for iscsi deploy is left only on standalone jobs. Story: #2008114 Task: #40830 Change-Id: I4a66401b24c49c705861e0745867b7fc706a7509
* Change [agent]image_download_source=httpDmitry Tantsur2020-09-081-3/+15
| | | | | | | | | | | | As part of the plan to deprecate the iSCSI deploy interface, changing this option to a value that will work out-of-box for more deployments. The standalone CI jobs are switched to http as well, the rest of jobs are left with swift. The explicit indirect jobs are removed. Change-Id: Idc56a70478dfe65e9b936006a5355d6b96e536e1 Story: #2008114 Task: #40831
* Merge "Remove token-less agent support"Zuul2020-09-071-5/+0
|\
| * Remove token-less agent supportJulia Kreger2020-09-041-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Removes the deprecated support for token-less agents which better secures the ironic-python-agent<->ironic interactions to help ensure heartbeat operations are coming from the same node which originally checked-in with the Ironic and that commands coming to an agent are originating from the same ironic deployment which the agent checked-in with to begin with. Story: 2007025 Task: 40814 Change-Id: Id7a3f402285c654bc4665dcd45bd0730128bf9b0
* | Merge "ISO ramdisk virtual media test enablement"Zuul2020-09-061-1/+7
|\ \
| * | ISO ramdisk virtual media test enablementJulia Kreger2020-08-171-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sets the settings to enable the ramdisk iso booting tests including a bootable ISO image that should boot the machine. NB: The first depends-on is only for temporary testing of another which changes the substrate ramdisk interface. Since this change pulls in tempest testing for iso ramdisk and uses it, might as well use it to test if the change works or not as the other two patches below are known to be in a good state. Change-Id: I5d4213b0ba4f7884fb542e7d6680f95fc94e112e
* | | Merge "[trivial] remove emacs config from devstack script"Zuul2020-09-031-5/+0
|\ \ \
| * | | [trivial] remove emacs config from devstack scriptRiccardo Pittau2020-08-311-5/+0
| | |/ | |/| | | | | | | | | | | | | | | | | | | It could cause issues during execution, and in general ide or editors specific config should not be kept here but in a specific config file. Change-Id: I4fbf7c6d00f2ba19a860d4c39cd882f541ff0600
* | | Remove absolute path with iptables when L3 enabledYushiro FURUKAWA2020-08-311-2/+2
|/ / | | | | | | | | | | | | | | | | | | In Ubuntu 20.04.1 LTS, a path of iptables is not /sbin/iptables but /usr/sbin/iptables. So, current code gets an error with "/sbin/iptables" failed : No such file or directory This commit fixes to use iptables when neutron L3 service is enabled on Ubuntu 20.04.1 LTS. Change-Id: I76eb89a2ae26431065cd19f0af235e71eb9f4169
* | Enable deploy-time software RAID in standalone jobsDmitry Tantsur2020-07-301-0/+1
| | | | | | | | | | Change-Id: I56ef54cf897988566bf07fd13012590a6b4445fa Depends-On: https://review.opendev.org/741227
* | Merge "Deprecate http_basic_username and http_basic_password in [json_rpc]"Zuul2020-07-281-5/+10
|\ \
| * | Deprecate http_basic_username and http_basic_password in [json_rpc]Dmitry Tantsur2020-07-241-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Force RAX hosts to run tinyipaJulia Kreger2020-07-231-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CPU overhead of nested virtualization on rax hosts simply is too much for Ironic's CI to justify using full size IPA images. The failure rate is simply too high. As a result, lets use TinyIPA images when we are not building a ramdisk to reduce that failure rate. Change-Id: Ifa81397519833201b737cff89f61178c8835e3ca
* | | Extend PXE boot retry timeout for RAX hostsJulia Kreger2020-07-221-0/+7
|/ / | | | | | | | | | | | | | | | | | | | | | | | | When extending the timeouts for jobs to execute with-in, we've observed a case where RAX hosts are cutting off at the time limit of 900 seconds (as being asserted by another change set). This is both good and bad. We know the timeout feature works, but the agent was not quite online yet. As such, we should also auto-extend base retry timeouts so there is hope for the job to complete. Change-Id: I8efa3a52188de558a7964d1daafd2225e102e251
* | Auto extend the timeout for RAX hostsJulia Kreger2020-07-171-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rax hosts uses qemu software emulated VMs without leveraging the magic with-in the processors to help ensure speedy execution. As such, they can be substantially slower in some operations, such decompressing ramdisks. This adds an unpredictable element into our CI and causes job failures when they should ahve succeeded, which causes more rechecks, which consumes more resources... and the cycle continues. So instead, we'll extend the timeout a little, to hopefully give the job time to complete without causing failures. Change-Id: I0cd08e527763f0626fd1e43cc3b87163a4b0d018
* | Merge "add tempest boot_mode config"Zuul2020-07-091-0/+3
|\ \
| * | add tempest boot_mode configIury Gregory Melo Ferreira2020-07-081-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patches update the devstack to automatically set the new tempest configuration `boot_mode`, it will use the value from IRONIC_BOOT_MODE variable. Increase the number of VM's in ironic-tempest-ipa-partition-pxe_ipmitool and ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa to 2 since it runs cleanning and now we run two tempest tests. Depends-On: https://review.opendev.org/735960 Change-Id: Ic6faf73430e56e2b1ff19a72b1b03f8ef34eff5f
* | | Provide a path to set explicit ipxe bootloadersJulia Kreger2020-07-071-4/+2
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I did something stupid when started driving forth the split of ipxe from the pxe interface: I didn't think about the need to actually separate bootloaders. In part, because the use case was a mixed Power8/Power9 and x86 cluster. Mainly because the Power hardware does not honor or care about the bootfile name provided over DHCP. The firmware knows how to read the PXELINUX boot file format and the machines are able to boot from there. Where this all goes sideways is when: * Enabled boot interfaces are set to ipxe,pxe * No default boot interface is set * Node is created without a default for x86 hardware. * Node uses ipxe boot_interface, and creates files under /httpboot * bootfile transmitted via DHCP is pxelinux.0. Fun right? The simple workaround for the power user is to just define the iPXE loader, or maybe use UEFI. But that is neither here nor there, this is still a bug and a possible use case is GRUB2 via PXE and iPXE. Not that would really work via ipxe, but hopefully people get the idea. The solution kind of seems clear, duplicate configuration and fallback if not defined. Story: #2007003 Task: #40282 Change-Id: I4419254c23095929e52a0fda11789f2f5167dc6b
* | Fix uefi jobs with native ubuntu ovmf packageRiccardo Pittau2020-07-021-22/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | The ovmf pacakge in bionic doesn't really work in our CI. As a workaround we use the old package from xenial, but we can't keep using it also in Ubuntu Focal. This patch aims to convert the uefi jobs to use Ubuntu Focal as base operating system and use the native ovmf package. Story: 2007785 Task: 40025 Change-Id: I653e5da2672b14eae88c6cab923b8617432f1dc1
* | Merge "Explicitly use python3 for ironic_lib_prefix"Zuul2020-07-021-1/+1
|\ \
| * | Explicitly use python3 for ironic_lib_prefixRiccardo Pittau2020-07-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recent changes to the CI made the python binary magically disappear in Ubuntu Focal based nodes. Since we currently support only python3 and the python3 binary is (hopefully) always present in all current distributions, let's switch the last python binary call to python3. Change-Id: Ifeca377c3ada3372406ff90bd72d81f90e9bde21
* | | Merge "ironic-standalone, use http basic auth for json-rpc"Zuul2020-07-021-1/+13
|\ \ \ | |/ / |/| |
| * | ironic-standalone, use http basic auth for json-rpcSteve Baker2020-06-191-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change achieves functional test coverage for using http_basic auth for json-rpc requests. Since json-rpc is aimed at standalone environments, using http_basic instead of keystone auth for internal requests is a more realistic test scenario. For now, ironic-standalone-redfish is left with the inherited keystone auth strategy. Change-Id: I993741684eaa8f237ffb20535da7167bc589e72c Story: 2007656 Task: 39827
* | | devstack: get rid of python3_enabledDmitry Tantsur2020-06-301-6/+4
| |/ |/| | | | | | | | | This function is currently broken and we don't support Python 2 anyway. Change-Id: I0ffec5fbbe6b6120fc6526637e22341f97bd2737
* | Merge "Use configure_keystone_authtoken_middleware"Zuul2020-06-301-1/+1
|\ \
| * | Use configure_keystone_authtoken_middlewareRiccardo Pittau2020-06-181-1/+1
| | | | | | | | | | | | | | | | | | | | | configure_auth_token_middleware is deprecated, we should use configure_keystone_authtoken_middleware instead. Change-Id: Ic24f1e04681f9645f5f11558cc772efa42a6e073
* | | Merge "Networking boot fallback for local boot"Zuul2020-06-231-0/+1
|\ \ \ | |/ / |/| |
| * | Networking boot fallback for local bootDmitry Tantsur2020-06-191-0/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | Adds an ability to generate network boot templates even for nodes that use local boot via the new ``[pxe]enable_netboot_fallback`` option. This is required to work around the situation when switching boot devices does not work reliably. Depends-On: https://review.opendev.org/#/c/736191/ Change-Id: Id80f2d88f9c92ff102340309a526a9b3992c6038 Story: #2007610 Task: #39600
* | Merge "devstack: Use uwsgi binary from path; temporary disable grenade"Zuul2020-06-151-1/+1
|\ \ | |/ |/|
| * devstack: Use uwsgi binary from path; temporary disable grenadeDr. Jens Harbott2020-06-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous uwsgi invocation assumed that the uwsgi binary is in the same directory as the project binaries are installed into (probably /usr/bin). That may not be correct -- for example if using a packaged uwsgi on Fedora the binary will live in /usr/sbin/uwsgi (not /usr/bin where the project files from pip are). Switch the invocation to just find it in the path. Additionally, grenade is disabled, otherwise we cannot land this change without fixing stable branches first. Change-Id: I7f627fa0bb4850f4839b75df611fa5ab241f1219
* | devstack: increase concurrency and worker timeout for sushy-toolsDmitry Tantsur2020-06-061-0/+3
| | | | | | | | | | | | | | | | | | Sometimes sushy-tools hits worker timeout in gunicorn when handing a virtual media ISO, causing a request to be aborted and deployment to fail. Increase the timeout from 30 to 90 seconds and add some concurrency to ensure that more than one deployment can run. Change-Id: I9e951aaaa13981602151bff3f2eebfa338113f6c
* | Merge "Add IPv6 ci Job"Zuul2020-05-291-27/+196
|\ \
| * | Add IPv6 ci JobJulia Kreger2020-05-281-27/+196
| |/ | | | | | | | | | | | | | | | | | | | | | | | | Runs the BaremetalSingleTenant tempest test, which provisions two nodes, with slaac addressing, all provisioning traffic e.g. iPXE, ironic api traffic and iscsi happens over IPv6 on the provisioning network. Nodes are then deployed onto a IPv6 tenant network, where tempest verifies connections between them with ssh (again over IPv6). Co-authored-by: Derek Higgins <derekh@redhat.com> Depends-On: https://review.opendev.org/722663 Change-Id: Id928df1cbd1131427ab6a911856f48f18e67f7cf
* | Merge "Change IRONIC_VM_SPECS_RAM default"Zuul2020-05-281-1/+1
|\ \
| * | Change IRONIC_VM_SPECS_RAM defaultIury Gregory Melo Ferreira2020-05-251-1/+1
| |/ | | | | | | | | | | | | | | Since IRONIC_RAMDISK_TYPE is default to dib, we should have a default value for IRONIC_VM_SPECS_RAM that is compatible. Increasing to 3072 since is the default value we are using in our jobs. Change-Id: I7b3dab51fa332bbd27a439fd38ebec74d94eb839
* | change devstack ipa-builder default to BRANCHLESS_TARGET_BRANCHMark McClain2020-05-261-1/+1
|/ | | | Change-Id: I7bc6eb9bdf14fe4b26b4fbdb8c2e36540abe0cf5
* Change [deploy]/default_boot_option to localJulia Kreger2020-04-151-1/+1
| | | | | | | | | | | | | | The default value of "netboot" was introduced to this configuration variable as part of commit 93f947c852409af2c56a499428b09ff69ab345a1 in Ocata release. This patch changes the default value of configuration parameter '[deploy]/default_boot_option' and devstack variable 'IRONIC_DEFAULT_BOOT_OPTION' to 'local'. Change-Id: I9bf56a7088281bbe20b8b6c2e47c6ab6559bfea4 Story: #1619339 Task: #10505
* Add my new address to .mailmapAeva Black2020-04-131-1/+1
| | | | | | | This commit updates the mailmap file and changes my alias in a few places within old comments. Change-Id: Ica0e184109d794b8e129d567b5606d7fe84ff384
* Fix gunicorn name on Py3@CentOS7 in devstackIlya Etingof2020-04-071-4/+3
| | | | | | | On non-Ubuntu systems, when gunicorn is pip-installed on Py3, command name remains `gunicorn` rather than `gunicorn3`. Change-Id: I5b8cb974d900bd3bdf7ec08adb3e6586494a26a2
* Merge "Default IRONIC_RAMDISK_TYPE to dib"Zuul2020-03-311-1/+1
|\
| * Default IRONIC_RAMDISK_TYPE to dibRiccardo Pittau2020-03-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We limit the use of tinyipa to the most intensive jobs: standalone grenade multinode Also leaving ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa running for now as there could be an issue with the ironic-python-agent Story: 2007356 Task: 38908 Change-Id: Ieb1ea1dbeeb68b15e9281d154358336006b62214
* | Merge "Signal agent token is required"Zuul2020-03-281-0/+5
|\ \ | |/ |/|
| * Signal agent token is requiredJulia Kreger2020-03-201-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The agent needs to be able to understand if the agent token is supported and is a mandatory feature of the ironic deployment as that can alter some of the behavior of the agent itself. Also adds documentation on the subject for administrators. Story: 2007025 Task: 37821 Change-Id: Ic635e0ed6d378d6a34a4a82e66ca647eee33bc26
* | Support centos 7 rootwrap data directorymichaeltchapman2020-03-191-0/+5
|/ | | | | | | Centos 7 pip seems to install the rootwrap filters to /usr/local despite its data path resolving to /usr. Change-Id: If2496e9c143400dcce017a79cf179768951eb137
* Merge "Drop rootwrap.d/ironic-lib.filters file"Zuul2020-03-171-0/+11
|\
| * Drop rootwrap.d/ironic-lib.filters fileThomas Bechtold2020-03-161-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The file is included in the ironic-lib module and there is no difference (beside some comments) in the files. For packagers, this solves the problem that ironic-lib and ironic are currently not installable together given that both packages contain the same file. Story: 2006604 Task: 36772 Depends-On: https://review.opendev.org/684771 Change-Id: I2d800d4c2616ccd9d9f12a2fe59e259def15dc6b
* | Finalize removal of ipxe_enabled optionKaifeng Wang2020-02-211-1/+0
| | | | | | | | | | | | | | | | | | | | | | Remove the dynamically registered ipxe_enabled option and say goodbye. Further extracts common bits to the PXEBaseMixin, tuning tests here and there. Story: 2007003 Task: 37779 Change-Id: I7c1b2a984d45bd63b4e95b62ce02960924c2ce17
* | Merge "Fix bash comparisons for grenade multinode switch"Zuul2020-02-121-7/+7
|\ \
| * | Fix bash comparisons for grenade multinode switchJulia Kreger2020-02-041-7/+7
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It seems, however variables are getting set with grenade in native zuulv3 jobs, the environment variables are no longer comparing as they once did in standard bash jobs. What worked previously, was [ "$VAR" == 'value' ], however when comparing the newer grenade node jobs we see things like [[ subnode != \s\u\b\n\o\d\e ]] returning true when single quotes are used. Comparison in the logs to where double quotes were used for functionally the same comparision, revealed proper processing and execution as expected. As such, changing our single quotes to double quotes where applicable. For the record, I also quickly checked codesearch and it looks like we were the only project to use single quotes for this comparison. Change-Id: I2db2e870e2c5f32aa061af025ee7ce12c4f7c049
* | Actually use ironic-python-agent from source in source buildsDmitry Tantsur2020-02-101-0/+2
|/ | | | | | Currently the DIB element unconditionally clones it. Change-Id: I096940d6e0801200276f952ae5afc05402f9e473