2528 lines
137 KiB
Diff
2528 lines
137 KiB
Diff
|
From 2bd9d01ae4c02cfaad2b3d910f7afd484faf3458 Mon Sep 17 00:00:00 2001
|
||
|
From: Martin Pitt <mpitt@redhat.com>
|
||
|
Date: Thu, 25 May 2023 06:53:36 +0200
|
||
|
Subject: [PATCH 1/2] Update default $TEST_OS to fedora-38
|
||
|
|
||
|
See https://github.com/cockpit-project/bots/pull/4775
|
||
|
---
|
||
|
HACKING.md | 2 +-
|
||
|
Makefile | 2 +-
|
||
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
||
|
|
||
|
Index: cockpit-machines-292/HACKING.md
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/HACKING.md
|
||
|
+++ cockpit-machines-292/HACKING.md
|
||
|
@@ -79,7 +79,7 @@ css or other issues:
|
||
|
# Running tests locally
|
||
|
|
||
|
Run `make vm` to build an RPM and install it into a standard Cockpit test VM.
|
||
|
-This will be `fedora-37` by default. You can set `$TEST_OS` to use a different
|
||
|
+This will be `fedora-38` by default. You can set `$TEST_OS` to use a different
|
||
|
image, for example
|
||
|
|
||
|
TEST_OS=centos-8-stream make vm
|
||
|
Index: cockpit-machines-292/Makefile
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/Makefile
|
||
|
+++ cockpit-machines-292/Makefile
|
||
|
@@ -3,7 +3,7 @@ PACKAGE_NAME := $(shell awk '/"name":/ {
|
||
|
RPM_NAME := cockpit-$(PACKAGE_NAME)
|
||
|
VERSION := $(shell T=$$(git describe 2>/dev/null) || T=1; echo $$T | tr '-' '.')
|
||
|
ifeq ($(TEST_OS),)
|
||
|
-TEST_OS = fedora-37
|
||
|
+TEST_OS = fedora-38
|
||
|
endif
|
||
|
export TEST_OS
|
||
|
TARFILE=$(RPM_NAME)-$(VERSION).tar.xz
|
||
|
@@ -41,7 +41,7 @@ COCKPIT_REPO_FILES = \
|
||
|
$(NULL)
|
||
|
|
||
|
COCKPIT_REPO_URL = https://github.com/cockpit-project/cockpit.git
|
||
|
-COCKPIT_REPO_COMMIT = 355c0aa59e3991243e10a61183e62ea129d3261a # 292 + 8 commits
|
||
|
+COCKPIT_REPO_COMMIT = 3ca979d542a4d6cf865f2132e0bdf1b06c49d07f # 292 + 56 commits
|
||
|
|
||
|
$(COCKPIT_REPO_FILES): $(COCKPIT_REPO_STAMP)
|
||
|
COCKPIT_REPO_TREE = '$(strip $(COCKPIT_REPO_COMMIT))^{tree}'
|
||
|
Index: cockpit-machines-292/package.json
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/package.json
|
||
|
+++ cockpit-machines-292/package.json
|
||
|
@@ -45,12 +45,13 @@
|
||
|
"stylelint-formatter-pretty": "^3.1.1"
|
||
|
},
|
||
|
"dependencies": {
|
||
|
- "@patternfly/patternfly": "5.0.0-alpha.43",
|
||
|
- "@patternfly/react-console": "^5.0.0-alpha.1",
|
||
|
- "@patternfly/react-core": "5.0.0-alpha.83",
|
||
|
- "@patternfly/react-icons": "5.0.0-alpha.12",
|
||
|
- "@patternfly/react-styles": "5.0.0-alpha.8",
|
||
|
- "@patternfly/react-table": "5.0.0-alpha.85",
|
||
|
+ "@patternfly/patternfly": "5.0.0-alpha.53",
|
||
|
+ "@patternfly/react-console": "5.0.0-alpha.1",
|
||
|
+ "@patternfly/react-core": "5.0.0-alpha.98",
|
||
|
+ "@patternfly/react-icons": "5.0.0-alpha.14",
|
||
|
+ "@patternfly/react-styles": "5.0.0-alpha.10",
|
||
|
+ "@patternfly/react-table": "5.0.0-alpha.100",
|
||
|
+ "@patternfly/react-tokens": "5.0.0-alpha.9",
|
||
|
"date-fns": "2.28.0",
|
||
|
"deep-equal": "2.0.5",
|
||
|
"prop-types": "15.8.1",
|
||
|
Index: cockpit-machines-292/src/components/common/machinesConnectionSelector.jsx
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/src/components/common/machinesConnectionSelector.jsx
|
||
|
+++ cockpit-machines-292/src/components/common/machinesConnectionSelector.jsx
|
||
|
@@ -79,7 +79,7 @@ export const MachinesConnectionSelector
|
||
|
</TextContent>
|
||
|
</>}
|
||
|
>
|
||
|
- <Button variant="plain" aria-label={_("more info")} className="pf-c-form__group-label-help">
|
||
|
+ <Button variant="plain" aria-label={_("more info")} className="pf-v5-c-form__group-label-help">
|
||
|
<HelpIcon noVerticalAlign />
|
||
|
</Button>
|
||
|
</Popover>
|
||
|
Index: cockpit-machines-292/src/components/common/needsShutdown.scss
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/src/components/common/needsShutdown.scss
|
||
|
+++ cockpit-machines-292/src/components/common/needsShutdown.scss
|
||
|
@@ -1,3 +1,3 @@
|
||
|
.configuration-changes-list {
|
||
|
- margin-top: var(--pf-c-list--li--MarginTop);
|
||
|
+ margin-top: var(--pf-v5-c-list--li--MarginTop);
|
||
|
}
|
||
|
Index: cockpit-machines-292/src/components/common/overviewCard.css
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/src/components/common/overviewCard.css
|
||
|
+++ cockpit-machines-292/src/components/common/overviewCard.css
|
||
|
@@ -3,6 +3,6 @@
|
||
|
}
|
||
|
|
||
|
.overview-icon svg {
|
||
|
- color: var(--pf-c-description-list__term-icon--Color);
|
||
|
- font-size: var(--pf-c-description-list__term--FontSize);
|
||
|
+ color: var(--pf-v5-c-description-list__term-icon--Color);
|
||
|
+ font-size: var(--pf-v5-c-description-list__term--FontSize);
|
||
|
}
|
||
|
Index: cockpit-machines-292/src/components/common/stateIcon.scss
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/src/components/common/stateIcon.scss
|
||
|
+++ cockpit-machines-292/src/components/common/stateIcon.scss
|
||
|
@@ -1,20 +1,20 @@
|
||
|
.resource-state-text {
|
||
|
- margin-right: var(--pf-c-label--PaddingRight);
|
||
|
+ margin-right: var(--pf-v5-c-label--PaddingRight);
|
||
|
|
||
|
// In definition lists (for Overview),
|
||
|
// match text size and alignment
|
||
|
- .pf-c-table &,
|
||
|
- .pf-c-description-list & {
|
||
|
+ .pf-v5-c-table &,
|
||
|
+ .pf-v5-c-description-list & {
|
||
|
// Match text size
|
||
|
font-size: inherit;
|
||
|
// Compensate for padding
|
||
|
position: relative;
|
||
|
// Using margin to remove the extra padded space,
|
||
|
// instead of keeping the space and moving contents w/ just left/top
|
||
|
- margin-left: calc(-1 * var(--pf-c-label--PaddingLeft));
|
||
|
+ margin-left: calc(-1 * var(--pf-v5-c-label--PaddingLeft));
|
||
|
}
|
||
|
}
|
||
|
|
||
|
-.pf-c-label.resource-state--shut-off, .pf-c-label.resource-state--inactive {
|
||
|
+.pf-v5-c-label.resource-state--shut-off, .pf-v5-c-label.resource-state--inactive {
|
||
|
background: transparent;
|
||
|
}
|
||
|
Index: cockpit-machines-292/src/components/create-vm-dialog/createVmDialog.jsx
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/src/components/create-vm-dialog/createVmDialog.jsx
|
||
|
+++ cockpit-machines-292/src/components/create-vm-dialog/createVmDialog.jsx
|
||
|
@@ -507,7 +507,7 @@ const HelperMessageToken = ({ message })
|
||
|
);
|
||
|
|
||
|
return (
|
||
|
- <Flex id="token-helper-message" className="pf-c-form__helper-text">
|
||
|
+ <Flex id="token-helper-message" className="pf-v5-c-form__helper-text">
|
||
|
{message && <FlexItem className="invalid-token-helper" grow={{ default: 'grow' }}>{message + " "}</FlexItem>}
|
||
|
<FlexItem>
|
||
|
{ link }
|
||
|
@@ -524,7 +524,7 @@ const validationStates = {
|
||
|
},
|
||
|
INPROGRESS: {
|
||
|
option: "default",
|
||
|
- message: <span id="token-helper-message" className="pf-c-form__helper-text"><Spinner size="md" /> {_("Checking token validity...")}</span>,
|
||
|
+ message: <span id="token-helper-message" className="pf-v5-c-form__helper-text"><Spinner size="md" /> {_("Checking token validity...")}</span>,
|
||
|
},
|
||
|
FAILED: {
|
||
|
option: "error",
|
||
|
@@ -1326,13 +1326,13 @@ class CreateVmModal extends React.Compon
|
||
|
validationFailed={validationFailed} />
|
||
|
{ this.props.mode === "create"
|
||
|
? <Tabs activeKey={this.state.activeTabKey} onSelect={this.handleTabClick}>
|
||
|
- <Tab eventKey={0} title={<TabTitleText>{_("Details")}</TabTitleText>} id="details-tab" className="pf-c-form">
|
||
|
+ <Tab eventKey={0} title={<TabTitleText>{_("Details")}</TabTitleText>} id="details-tab" className="pf-v5-c-form">
|
||
|
{detailsTab}
|
||
|
</Tab>
|
||
|
<Tab eventKey={1}
|
||
|
title={<TabTitleText>{_("Automation")}</TabTitleText>}
|
||
|
id="automation"
|
||
|
- className="pf-c-form"
|
||
|
+ className="pf-v5-c-form"
|
||
|
tooltip={automationTabTooltip}
|
||
|
isAriaDisabled={!!automationTabTooltip}>
|
||
|
{automationTab}
|
||
|
Index: cockpit-machines-292/src/components/create-vm-dialog/createVmDialog.scss
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/src/components/create-vm-dialog/createVmDialog.scss
|
||
|
+++ cockpit-machines-292/src/components/create-vm-dialog/createVmDialog.scss
|
||
|
@@ -2,12 +2,12 @@
|
||
|
max-width: 5rem;
|
||
|
}
|
||
|
|
||
|
-.pf-c-tooltip__arrow {
|
||
|
+.pf-v5-c-tooltip__arrow {
|
||
|
margin-right: var(--pf-global--spacer--xl);
|
||
|
}
|
||
|
|
||
|
.invalid-token-helper {
|
||
|
- color: var(--pf-c-form__helper-text--m-error--Color);
|
||
|
+ color: var(--pf-v5-c-form__helper-text--m-error--Color);
|
||
|
}
|
||
|
|
||
|
// Move position of icon so it doens't get covered by scrollbar.
|
||
|
Index: cockpit-machines-292/src/components/storagePools/storagePoolDelete.scss
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/src/components/storagePools/storagePoolDelete.scss
|
||
|
+++ cockpit-machines-292/src/components/storagePools/storagePoolDelete.scss
|
||
|
@@ -1,4 +1,4 @@
|
||
|
.pool-volumes-delete-list {
|
||
|
margin-top: var(--pf-global--spacer--sm);
|
||
|
- --pf-c-list--li--MarginTop: 0 !important;
|
||
|
+ --pf-v5-c-list--li--MarginTop: 0 !important;
|
||
|
}
|
||
|
Index: cockpit-machines-292/src/components/storagePools/storagePoolList.scss
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/src/components/storagePools/storagePoolList.scss
|
||
|
+++ cockpit-machines-292/src/components/storagePools/storagePoolList.scss
|
||
|
@@ -1,11 +1,11 @@
|
||
|
#storage-pools-listing {
|
||
|
- .pf-c-table tbody > tr > * {
|
||
|
+ .pf-v5-c-table tbody > tr > * {
|
||
|
// These tables are 1 row tall; progress bar does odd stuff for alignment;
|
||
|
// vertical alignment makes text line up
|
||
|
vertical-align: middle;
|
||
|
}
|
||
|
|
||
|
- .pf-c-table__toggle > .pf-c-button {
|
||
|
+ .pf-v5-c-table__toggle > .pf-v5-c-button {
|
||
|
// Undo the PF alignment offset, as we're aligning to the middle (see above)
|
||
|
margin-top: 0;
|
||
|
}
|
||
|
@@ -17,11 +17,11 @@
|
||
|
--progress-bar-max: 12vw;
|
||
|
|
||
|
td[data-label="Size"] {
|
||
|
- > .pf-c-progress {
|
||
|
+ > .pf-v5-c-progress {
|
||
|
// Fix progress bar size
|
||
|
grid-template-columns: minmax(var(--progress-bar-min), var(--progress-bar-max)) minmax(max-content, var(--progress-text));
|
||
|
|
||
|
- > .pf-c-progress__status {
|
||
|
+ > .pf-v5-c-progress__status {
|
||
|
// Align status text to the end (for GiB to align properly)
|
||
|
justify-self: end;
|
||
|
}
|
||
|
Index: cockpit-machines-292/src/components/storagePools/storagePoolVolumesTab.css
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/src/components/storagePools/storagePoolVolumesTab.css
|
||
|
+++ cockpit-machines-292/src/components/storagePools/storagePoolVolumesTab.css
|
||
|
@@ -1,3 +1,3 @@
|
||
|
-.pf-c-empty-state__content button:not(:first-child) {
|
||
|
+.pf-v5-c-empty-state__content button:not(:first-child) {
|
||
|
margin-left: 0.3em;
|
||
|
}
|
||
|
Index: cockpit-machines-292/src/components/vm/consoles/consoles.css
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/src/components/vm/consoles/consoles.css
|
||
|
+++ cockpit-machines-292/src/components/vm/consoles/consoles.css
|
||
|
@@ -1,30 +1,30 @@
|
||
|
@import "@patternfly/react-styles/css/components/Consoles/SerialConsole.css";
|
||
|
|
||
|
-.pf-c-console,
|
||
|
-.pf-c-console__vnc,
|
||
|
-.pf-c-console__vnc > div,
|
||
|
-.pf-c-console__vnc > div > div {
|
||
|
+.pf-v5-c-console,
|
||
|
+.pf-v5-c-console__vnc,
|
||
|
+.pf-v5-c-console__vnc > div,
|
||
|
+.pf-v5-c-console__vnc > div > div {
|
||
|
width: 100%;
|
||
|
height: 100%;
|
||
|
}
|
||
|
|
||
|
-.pf-c-console__actions {
|
||
|
+.pf-v5-c-console__actions {
|
||
|
max-width: 25ch;
|
||
|
}
|
||
|
|
||
|
-.pf-c-console {
|
||
|
+.pf-v5-c-console {
|
||
|
/* auto minimum width, causing problem */
|
||
|
grid-template-columns: 1fr;
|
||
|
grid-template-rows: min-content 1fr;
|
||
|
}
|
||
|
|
||
|
-.consoles-page-expanded .actions-pagesection .pf-c-page__main-body {
|
||
|
+.consoles-page-expanded .actions-pagesection .pf-v5-c-page__main-body {
|
||
|
padding-bottom: 0;
|
||
|
}
|
||
|
|
||
|
/* Hide send key button - there is not way to do that from the JS
|
||
|
* https://github.com/patternfly/patternfly-react/issues/3689
|
||
|
*/
|
||
|
-#pf-c-console__send-shortcut {
|
||
|
+#pf-v5-c-console__send-shortcut {
|
||
|
display: none;
|
||
|
}
|
||
|
Index: cockpit-machines-292/src/components/vm/consoles/serialConsole.jsx
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/src/components/vm/consoles/serialConsole.jsx
|
||
|
+++ cockpit-machines-292/src/components/vm/consoles/serialConsole.jsx
|
||
|
@@ -89,13 +89,13 @@ class SerialConsoleCockpit extends React
|
||
|
|
||
|
return (
|
||
|
<>
|
||
|
- <div className="pf-c-console__actions-serial">
|
||
|
+ <div className="pf-v5-c-console__actions-serial">
|
||
|
{this.state.channel
|
||
|
? <Button id={this.props.vmName + "-serialconsole-disconnect"} variant="secondary" onClick={this.onDisconnect}>{_("Disconnect")}</Button>
|
||
|
: <Button id={this.props.vmName + "-serialconsole-connect"} variant="secondary" onClick={() => this.createChannel(this.props.spawnArgs)}>{_("Connect")}</Button>
|
||
|
}
|
||
|
</div>
|
||
|
- <div id={pid} className="vm-terminal pf-c-console__serial">
|
||
|
+ <div id={pid} className="vm-terminal pf-v5-c-console__serial">
|
||
|
{t}
|
||
|
</div>
|
||
|
</>
|
||
|
Index: cockpit-machines-292/src/components/vm/disks/diskEdit.jsx
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/src/components/vm/disks/diskEdit.jsx
|
||
|
+++ cockpit-machines-292/src/components/vm/disks/diskEdit.jsx
|
||
|
@@ -60,7 +60,7 @@ const CacheRow = ({ onValueChanged, dial
|
||
|
label={_("Cache")}
|
||
|
labelIcon={!shutoff &&
|
||
|
<Popover bodyContent={_("Machine must be shut off before changing cache mode")}>
|
||
|
- <button onClick={e => e.preventDefault()} className="pf-c-form__group-label-help">
|
||
|
+ <button onClick={e => e.preventDefault()} className="pf-v5-c-form__group-label-help">
|
||
|
<InfoAltIcon noVerticalAlign />
|
||
|
</button>
|
||
|
</Popover>}>
|
||
|
@@ -90,7 +90,7 @@ const BusRow = ({ onValueChanged, dialog
|
||
|
<FormGroup fieldId={`${idPrefix}-bus-type`} label={_("Bus")}
|
||
|
labelIcon={!shutoff &&
|
||
|
<Popover bodyContent={_("Machine must be shut off before changing bus type")}>
|
||
|
- <button onClick={e => e.preventDefault()} className="pf-c-form__group-label-help">
|
||
|
+ <button onClick={e => e.preventDefault()} className="pf-v5-c-form__group-label-help">
|
||
|
<InfoAltIcon noVerticalAlign />
|
||
|
</button>
|
||
|
</Popover>}>
|
||
|
Index: cockpit-machines-292/src/components/vm/filesystems/vmFilesystemsCard.jsx
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/src/components/vm/filesystems/vmFilesystemsCard.jsx
|
||
|
+++ cockpit-machines-292/src/components/vm/filesystems/vmFilesystemsCard.jsx
|
||
|
@@ -205,7 +205,7 @@ const VmFilesystemAddModal = ({ connecti
|
||
|
labelIcon={
|
||
|
<Popover headerContent={_("The host path that is to be exported.")}>
|
||
|
<button aria-label={_("More info for source path field")}
|
||
|
- className="pf-c-form__group-label-help"
|
||
|
+ className="pf-v5-c-form__group-label-help"
|
||
|
onClick={e => e.preventDefault()}
|
||
|
type="button">
|
||
|
<HelpIcon noVerticalAlign />
|
||
|
@@ -224,7 +224,7 @@ const VmFilesystemAddModal = ({ connecti
|
||
|
labelIcon={
|
||
|
<Popover headerContent={_("The tag name to be used by the guest to mount this export point.")}>
|
||
|
<button aria-label={_("More info for mount tag field")}
|
||
|
- className="pf-c-form__group-label-help"
|
||
|
+ className="pf-v5-c-form__group-label-help"
|
||
|
onClick={e => e.preventDefault()}
|
||
|
type="button">
|
||
|
<HelpIcon noVerticalAlign />
|
||
|
Index: cockpit-machines-292/src/components/vm/filesystems/vmFilesystemsCard.scss
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/src/components/vm/filesystems/vmFilesystemsCard.scss
|
||
|
+++ cockpit-machines-292/src/components/vm/filesystems/vmFilesystemsCard.scss
|
||
|
@@ -1,4 +1,4 @@
|
||
|
// PF4 sets some border to <pre> - remove this rule once we drop PF3 dependency
|
||
|
-pre.pf-c-code-block__pre {
|
||
|
+pre.pf-v5-c-code-block__pre {
|
||
|
border: unset;
|
||
|
}
|
||
|
Index: cockpit-machines-292/src/components/vm/hostdevs/hostDevAdd.scss
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/src/components/vm/hostdevs/hostDevAdd.scss
|
||
|
+++ cockpit-machines-292/src/components/vm/hostdevs/hostDevAdd.scss
|
||
|
@@ -1,10 +1,10 @@
|
||
|
-.pf-c-table.vm-device-table {
|
||
|
+.pf-v5-c-table.vm-device-table {
|
||
|
/* Set overflow with a limiter on the list, so it scrolls instead of the dialog */
|
||
|
max-height: min(50vh, 50rem);
|
||
|
overflow: auto;
|
||
|
|
||
|
/* The list is used within a table; remove excess padding */
|
||
|
th {
|
||
|
- --pf-c-table--m-compact-th--PaddingTop: 0;
|
||
|
+ --pf-v5-c-table--m-compact-th--PaddingTop: 0;
|
||
|
}
|
||
|
}
|
||
|
Index: cockpit-machines-292/src/components/vm/nics/nicBody.jsx
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/src/components/vm/nics/nicBody.jsx
|
||
|
+++ cockpit-machines-292/src/components/vm/nics/nicBody.jsx
|
||
|
@@ -174,7 +174,7 @@ export const NetworkTypeAndSourceRow = (
|
||
|
</p>
|
||
|
</TextContent>))}
|
||
|
</Flex>}>
|
||
|
- <button onClick={e => e.preventDefault()} className="pf-c-form__group-label-help">
|
||
|
+ <button onClick={e => e.preventDefault()} className="pf-v5-c-form__group-label-help">
|
||
|
<OutlinedQuestionCircleIcon />
|
||
|
</button>
|
||
|
</Popover>
|
||
|
Index: cockpit-machines-292/src/components/vm/overview/bootOrder.css
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/src/components/vm/overview/bootOrder.css
|
||
|
+++ cockpit-machines-292/src/components/vm/overview/bootOrder.css
|
||
|
@@ -14,7 +14,7 @@
|
||
|
|
||
|
/* Patternfly horizontal lists should convert to vertical in small screens https://github.com/patternfly/patternfly/issues/3630 */
|
||
|
@media (max-width: 640px) {
|
||
|
- .boot-order-additional-info .pf-c-description-list {
|
||
|
- --pf-c-description-list__group--GridTemplateColumns: var(--pf-c-description-list--m-vertical__group--GridTemplateColumns);
|
||
|
+ .boot-order-additional-info .pf-v5-c-description-list {
|
||
|
+ --pf-v5-c-description-list__group--GridTemplateColumns: var(--pf-v5-c-description-list--m-vertical__group--GridTemplateColumns);
|
||
|
}
|
||
|
}
|
||
|
Index: cockpit-machines-292/src/components/vm/overview/cpuModal.jsx
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/src/components/vm/overview/cpuModal.jsx
|
||
|
+++ cockpit-machines-292/src/components/vm/overview/cpuModal.jsx
|
||
|
@@ -229,7 +229,7 @@ export const CPUModal = ({ vm, maxVcpu,
|
||
|
<Popover bodyContent={maxVcpu
|
||
|
? cockpit.format(_("Maximum number of virtual CPUs allocated for the guest OS, which must be between 1 and $0"), parseInt(maxVcpu))
|
||
|
: _("Maximum number of virtual CPUs allocated for the guest OS")}>
|
||
|
- <button onClick={e => e.preventDefault()} className="pf-c-form__group-label-help">
|
||
|
+ <button onClick={e => e.preventDefault()} className="pf-v5-c-form__group-label-help">
|
||
|
<HelpIcon noVerticalAlign />
|
||
|
</button>
|
||
|
</Popover>}>
|
||
|
@@ -250,7 +250,7 @@ export const CPUModal = ({ vm, maxVcpu,
|
||
|
<FormGroup fieldId="machines-vcpu-count-field" label={_("vCPU count")}
|
||
|
labelIcon={
|
||
|
<Popover bodyContent={_("Fewer than the maximum number of virtual CPUs should be enabled.")}>
|
||
|
- <button onClick={e => e.preventDefault()} className="pf-c-form__group-label-help">
|
||
|
+ <button onClick={e => e.preventDefault()} className="pf-v5-c-form__group-label-help">
|
||
|
<HelpIcon noVerticalAlign />
|
||
|
</button>
|
||
|
</Popover>}>
|
||
|
@@ -271,7 +271,7 @@ export const CPUModal = ({ vm, maxVcpu,
|
||
|
<FormGroup fieldId="sockets" label={_("Sockets")}
|
||
|
labelIcon={
|
||
|
<Popover bodyContent={_("Preferred number of sockets to expose to the guest.")}>
|
||
|
- <button onClick={e => e.preventDefault()} className="pf-c-form__group-label-help">
|
||
|
+ <button onClick={e => e.preventDefault()} className="pf-v5-c-form__group-label-help">
|
||
|
<HelpIcon noVerticalAlign />
|
||
|
</button>
|
||
|
</Popover>}>
|
||
|
Index: cockpit-machines-292/src/components/vm/overview/memorySelectRow.css
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/src/components/vm/overview/memorySelectRow.css
|
||
|
+++ cockpit-machines-292/src/components/vm/overview/memorySelectRow.css
|
||
|
@@ -1,3 +1,3 @@
|
||
|
-.memory-slider .pf-c-slider__step-label {
|
||
|
+.memory-slider .pf-v5-c-slider__step-label {
|
||
|
min-width: 5ch;
|
||
|
}
|
||
|
Index: cockpit-machines-292/src/components/vm/overview/vmOverviewCard.jsx
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/src/components/vm/overview/vmOverviewCard.jsx
|
||
|
+++ cockpit-machines-292/src/components/vm/overview/vmOverviewCard.jsx
|
||
|
@@ -212,7 +212,7 @@ class VmOverviewCard extends React.Compo
|
||
|
<Popover alertSeverityVariant="info"
|
||
|
position="right"
|
||
|
bodyContent={WATCHDOG_INFO_MESSAGE}>
|
||
|
- <button onClick={e => e.preventDefault()} className="pf-c-form__group-label-help">
|
||
|
+ <button onClick={e => e.preventDefault()} className="pf-v5-c-form__group-label-help">
|
||
|
<Icon className="overview-icon" status="info">
|
||
|
<HelpIcon noVerticalAlign />
|
||
|
</Icon>
|
||
|
@@ -244,7 +244,7 @@ class VmOverviewCard extends React.Compo
|
||
|
</Flex>
|
||
|
}
|
||
|
hasAutoWidth>
|
||
|
- <button onClick={e => e.preventDefault()} className="pf-c-form__group-label-help">
|
||
|
+ <button onClick={e => e.preventDefault()} className="pf-v5-c-form__group-label-help">
|
||
|
<Icon className="overview-icon" status="info">
|
||
|
<HelpIcon noVerticalAlign />
|
||
|
</Icon>
|
||
|
Index: cockpit-machines-292/src/components/vm/overview/vsock.scss
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/src/components/vm/overview/vsock.scss
|
||
|
+++ cockpit-machines-292/src/components/vm/overview/vsock.scss
|
||
|
@@ -1,6 +1,6 @@
|
||
|
.ct-input-group-spacer-sm.pf-l-flex {
|
||
|
// Limit width for select entries and inputs in the input groups otherwise they take up the whole space
|
||
|
- > .pf-c-select, .pf-c-form-control:not(.pf-c-select__toggle-typeahead) {
|
||
|
+ > .pf-v5-c-select, .pf-v5-c-form-control:not(.pf-v5-c-select__toggle-typeahead) {
|
||
|
max-width: 8ch;
|
||
|
}
|
||
|
}
|
||
|
Index: cockpit-machines-292/src/components/vm/vmDetailsPage.scss
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/src/components/vm/vmDetailsPage.scss
|
||
|
+++ cockpit-machines-292/src/components/vm/vmDetailsPage.scss
|
||
|
@@ -1,6 +1,6 @@
|
||
|
@import "ct-card.scss";
|
||
|
|
||
|
-.vm-details .pf-c-card {
|
||
|
+.vm-details .pf-v5-c-card {
|
||
|
@extend .ct-card;
|
||
|
}
|
||
|
|
||
|
@@ -8,8 +8,8 @@
|
||
|
font-size: var(--pf-global--FontSize--2xl);
|
||
|
padding: 0;
|
||
|
|
||
|
- > .pf-c-button__icon {
|
||
|
- font-size: var(--pf-c-button--FontSize);
|
||
|
+ > .pf-v5-c-button__icon {
|
||
|
+ font-size: var(--pf-v5-c-button--FontSize);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@@ -48,7 +48,7 @@
|
||
|
grid-column: 1 / -1;
|
||
|
}
|
||
|
|
||
|
- .pf-c-card {
|
||
|
+ .pf-v5-c-card {
|
||
|
&__header {
|
||
|
font-size: var(--pf-global--FontSize--xl);
|
||
|
}
|
||
|
@@ -60,7 +60,7 @@
|
||
|
}
|
||
|
}
|
||
|
|
||
|
- .pf-c-progress {
|
||
|
- --pf-c-progress--GridGap: var(--pf-global--spacer--xs);
|
||
|
+ .pf-v5-c-progress {
|
||
|
+ --pf-v5-c-progress--GridGap: var(--pf-global--spacer--xs);
|
||
|
}
|
||
|
}
|
||
|
Index: cockpit-machines-292/src/components/vm/vmMigrateDialog.jsx
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/src/components/vm/vmMigrateDialog.jsx
|
||
|
+++ cockpit-machines-292/src/components/vm/vmMigrateDialog.jsx
|
||
|
@@ -71,7 +71,7 @@ const DurationRow = ({ temporary, setTem
|
||
|
<p>{_("A copy of the VM will run on the destination and will disappear when it is shut off. Meanwhile, the origin host keeps its copy of the VM configuration.")}</p>
|
||
|
</FlexItem>
|
||
|
</Flex>}>
|
||
|
- <button onClick={e => e.preventDefault()} className="pf-c-form__group-label-help">
|
||
|
+ <button onClick={e => e.preventDefault()} className="pf-v5-c-form__group-label-help">
|
||
|
<OutlinedQuestionCircleIcon />
|
||
|
</button>
|
||
|
</Popover>
|
||
|
@@ -102,7 +102,7 @@ const StorageRow = ({ storage, setStorag
|
||
|
<p>{_("Full disk images and the domain's memory will be migrated. Only non-shared, writable disk images will be transferred. Unused storage will remain on the origin after migration.")}</p>
|
||
|
</FlexItem>
|
||
|
</Flex>}>
|
||
|
- <button onClick={e => e.preventDefault()} className="pf-c-form__group-label-help">
|
||
|
+ <button onClick={e => e.preventDefault()} className="pf-v5-c-form__group-label-help">
|
||
|
<OutlinedQuestionCircleIcon />
|
||
|
</button>
|
||
|
</Popover>
|
||
|
Index: cockpit-machines-292/src/components/vms/hostvmslist.scss
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/src/components/vms/hostvmslist.scss
|
||
|
+++ cockpit-machines-292/src/components/vms/hostvmslist.scss
|
||
|
@@ -2,14 +2,14 @@
|
||
|
@import "@patternfly/patternfly/base/patternfly-variables.scss";
|
||
|
|
||
|
/* Style the list cards as ct-cards */
|
||
|
-.pf-c-page__main-section .pf-c-card {
|
||
|
+.pf-v5-c-page__main-section .pf-v5-c-card {
|
||
|
@extend .ct-card;
|
||
|
}
|
||
|
|
||
|
// PF4 issue https://github.com/patternfly/patternfly-react/issues/4612
|
||
|
-// Mimic .pf-c-table__action
|
||
|
+// Mimic .pf-v5-c-table__action
|
||
|
#virtual-machines-listing td:last-child {
|
||
|
- --pf-c-table--cell--Width: 1%;
|
||
|
+ --pf-v5-c-table--cell--Width: 1%;
|
||
|
}
|
||
|
|
||
|
// Expand the link to the container, for easier clickability
|
||
|
@@ -21,6 +21,6 @@
|
||
|
/* Add the missing space when the list's toolbar wraps
|
||
|
* patternfly/patternfly#3348
|
||
|
*/
|
||
|
-.pf-c-toolbar__content-section {
|
||
|
+.pf-v5-c-toolbar__content-section {
|
||
|
gap: var(--pf-global--spacer--sm) 0;
|
||
|
}
|
||
|
Index: cockpit-machines-292/src/machines.scss
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/src/machines.scss
|
||
|
+++ cockpit-machines-292/src/machines.scss
|
||
|
@@ -7,31 +7,33 @@
|
||
|
@import "@patternfly/patternfly/sass-utilities/colors.scss";
|
||
|
@import "@patternfly/patternfly/sass-utilities/scss-variables.scss";
|
||
|
@import "@patternfly/patternfly/sass-utilities/mixins.scss";
|
||
|
+ // for $alert
|
||
|
+@import "@patternfly/patternfly/sass-utilities/component-namespaces.scss";
|
||
|
@import "@patternfly/patternfly/components/Alert/alert.scss";
|
||
|
|
||
|
/* Utilities */
|
||
|
@import "@patternfly/patternfly/utilities/Text/text.css";
|
||
|
|
||
|
/* Style the list cards as ct-cards */
|
||
|
-.pf-c-page__main-section > .pf-c-card {
|
||
|
+.pf-v5-c-page__main-section > .pf-v5-c-card {
|
||
|
@extend .ct-card;
|
||
|
}
|
||
|
|
||
|
-.pf-c-form__group .pf-c-helper-text {
|
||
|
- margin-top: var(--pf-c-form__helper-text--MarginTop);
|
||
|
+.pf-v5-c-form__group .pf-v5-c-helper-text {
|
||
|
+ margin-top: var(--pf-v5-c-form__helper-text--MarginTop);
|
||
|
}
|
||
|
|
||
|
/* Create a hybrid popover with an alert style */
|
||
|
-.ct-popover-alert .pf-c-popover__content {
|
||
|
- @extend .pf-c-alert;
|
||
|
+.ct-popover-alert .pf-v5-c-popover__content {
|
||
|
+ @extend .pf-v5-c-alert;
|
||
|
@extend .pf-m-danger;
|
||
|
display: block;
|
||
|
box-shadow: none;
|
||
|
}
|
||
|
|
||
|
/* Also style the hybrid popover alert title like an alert */
|
||
|
-.ct-popover-alert .pf-c-title {
|
||
|
- @extend .pf-c-alert__title;
|
||
|
+.ct-popover-alert .pf-v5-c-title {
|
||
|
+ @extend .pf-v5-c-alert__title;
|
||
|
font-size: inherit;
|
||
|
}
|
||
|
|
||
|
@@ -56,27 +58,27 @@
|
||
|
margin: 0.25rem 0 0.25rem 0.5rem;
|
||
|
}
|
||
|
|
||
|
-.machines-listing-actions > .pf-c-dropdown {
|
||
|
+.machines-listing-actions > .pf-v5-c-dropdown {
|
||
|
margin-top: 0.25rem;
|
||
|
}
|
||
|
|
||
|
-.pf-c-dropdown__menu-item.pf-m-danger {
|
||
|
+.pf-v5-c-dropdown__menu-item.pf-m-danger {
|
||
|
color: var(--pf-global--danger-color--200);
|
||
|
}
|
||
|
|
||
|
-.pf-c-table {
|
||
|
+.pf-v5-c-table {
|
||
|
.btn-group {
|
||
|
align-items: center;
|
||
|
}
|
||
|
|
||
|
- > tbody > tr:not(.pf-c-table__expandable-row) > [data-label="Actions"] .pf-c-button {
|
||
|
+ > tbody > tr:not(.pf-v5-c-table__expandable-row) > [data-label="Actions"] .pf-v5-c-button {
|
||
|
// vertical: compensate for padding; fixing alignment
|
||
|
// horizontal: add some needed padding
|
||
|
margin: -0.25rem 0.25rem;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
-.machines-connection-selector > .pf-c-radio:first-child {
|
||
|
+.machines-connection-selector > .pf-v5-c-radio:first-child {
|
||
|
padding-right: var(--pf-global--spacer--md);
|
||
|
}
|
||
|
|
||
|
@@ -85,7 +87,7 @@
|
||
|
max-width: 5rem;
|
||
|
}
|
||
|
|
||
|
-.ct-external-docs-link.pf-c-button.pf-m-link.pf-m-inline {
|
||
|
+.ct-external-docs-link.pf-v5-c-button.pf-m-link.pf-m-inline {
|
||
|
padding-left: var(--pf-global--spacer--sm);
|
||
|
}
|
||
|
|
||
|
@@ -94,19 +96,19 @@
|
||
|
}
|
||
|
|
||
|
// Do not add a box-shadow to a "subsection", while it's technically correct it looks weird.
|
||
|
-.pf-c-page__main-section.pf-m-light.actions-pagesection {
|
||
|
+.pf-v5-c-page__main-section.pf-m-light.actions-pagesection {
|
||
|
box-shadow: none;
|
||
|
}
|
||
|
|
||
|
.virtualization-disabled-empty-state {
|
||
|
// Use a max width of 60 0-characters across and let it size for mobile too
|
||
|
- --pf-c-empty-state__content--MaxWidth: min(60ch, 100%);
|
||
|
+ --pf-v5-c-empty-state__content--MaxWidth: min(60ch, 100%);
|
||
|
}
|
||
|
|
||
|
// Can be removed once https://github.com/cockpit-project/cockpit/pull/18694 is included in the used pkg/lib
|
||
|
.pf-theme-dark {
|
||
|
- .pf-c-page__main-group section {
|
||
|
- --pf-c-page__main-breadcrumb--BackgroundColor: var(--pf-global--BackgroundColor--dark-100);
|
||
|
+ .pf-v5-c-page__main-group section {
|
||
|
+ --pf-v5-c-page__main-breadcrumb--BackgroundColor: var(--pf-global--BackgroundColor--dark-100);
|
||
|
background-color: var(--pf-global--BackgroundColor--dark-100);
|
||
|
}
|
||
|
}
|
||
|
Index: cockpit-machines-292/test/check-machines-consoles
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/test/check-machines-consoles
|
||
|
+++ cockpit-machines-292/test/check-machines-consoles
|
||
|
@@ -47,10 +47,10 @@ class TestMachinesConsoles(VirtualMachin
|
||
|
self.goToVmPage("subVmTest1")
|
||
|
|
||
|
# since VNC is not defined for this VM, the view for "Desktop Viewer" is rendered by default
|
||
|
- b.wait_in_text(".pf-c-console__manual-connection dl > div:first-child dd", "127.0.0.1")
|
||
|
- b.wait_in_text(".pf-c-console__manual-connection dl > div:nth-child(2) dd", "5900")
|
||
|
+ b.wait_in_text(".pf-v5-c-console__manual-connection dl > div:first-child dd", "127.0.0.1")
|
||
|
+ b.wait_in_text(".pf-v5-c-console__manual-connection dl > div:nth-child(2) dd", "5900")
|
||
|
|
||
|
- b.click(".pf-c-console__remote-viewer-launch-vv") # "Launch Remote Viewer" button
|
||
|
+ b.click(".pf-v5-c-console__remote-viewer-launch-vv") # "Launch Remote Viewer" button
|
||
|
b.wait_visible("#dynamically-generated-file") # is .vv file generated for download?
|
||
|
self.assertEqual(b.attr("#dynamically-generated-file", "href"),
|
||
|
u"data:application/x-virt-viewer,%5Bvirt-viewer%5D%0Atype%3Dspice%0Ahost%3D127.0.0.1%0Aport%3D5900%0Adelete-this-file%3D1%0Afullscreen%3D0%0A")
|
||
|
@@ -63,8 +63,8 @@ class TestMachinesConsoles(VirtualMachin
|
||
|
b.click("button:contains(Expand)")
|
||
|
|
||
|
# Check "More information"
|
||
|
- b.click('.pf-c-console__remote-viewer .pf-c-expandable-section__toggle')
|
||
|
- b.wait_in_text('.pf-c-expandable-section__content',
|
||
|
+ b.click('.pf-v5-c-console__remote-viewer .pf-v5-c-expandable-section__toggle')
|
||
|
+ b.wait_in_text('.pf-v5-c-expandable-section__content',
|
||
|
'Clicking "Launch remote viewer" will download')
|
||
|
|
||
|
b.assert_pixels("#vm-subVmTest1-consoles-page", "vm-details-console-external", skip_layouts=["rtl"])
|
||
|
@@ -85,7 +85,7 @@ class TestMachinesConsoles(VirtualMachin
|
||
|
self.goToVmPage("subVmTest1")
|
||
|
|
||
|
# since VNC is defined for this VM, the view for "In-Browser Viewer" is rendered by default
|
||
|
- b.wait_visible(".pf-c-console__vnc canvas")
|
||
|
+ b.wait_visible(".pf-v5-c-console__vnc canvas")
|
||
|
|
||
|
# make sure the log file is full - then empty it and reboot the VM - the log file should fill up again
|
||
|
self.waitCirrOSBooted(args['logfile'])
|
||
|
@@ -112,10 +112,10 @@ class TestMachinesConsoles(VirtualMachin
|
||
|
self.goToVmPage(name)
|
||
|
b.wait_in_text(f"#vm-{name}-system-state", "Running")
|
||
|
|
||
|
- b.click("#pf-c-console__type-selector")
|
||
|
- b.wait_visible("#pf-c-console__type-selector + .pf-c-select__menu")
|
||
|
+ b.click("#pf-v5-c-console__type-selector")
|
||
|
+ b.wait_visible("#pf-v5-c-console__type-selector + .pf-v5-c-select__menu")
|
||
|
b.click("#SerialConsole button")
|
||
|
- b.wait_not_present("#pf-c-console__type-selector + .pf-c-select__menu")
|
||
|
+ b.wait_not_present("#pf-v5-c-console__type-selector + .pf-v5-c-select__menu")
|
||
|
|
||
|
b.wait_in_text(f"#{name}-terminal .xterm-accessibility-tree", f"Connected to domain '{name}'")
|
||
|
|
||
|
@@ -138,15 +138,15 @@ class TestMachinesConsoles(VirtualMachin
|
||
|
|
||
|
b.click("button:contains(Expand)")
|
||
|
b.assert_pixels("#vm-vmWithSerialConsole-consoles-page", "vm-details-console-serial",
|
||
|
- ignore=[".pf-c-console__vnc"], skip_layouts=["rtl"])
|
||
|
+ ignore=[".pf-v5-c-console__vnc"], skip_layouts=["rtl"])
|
||
|
|
||
|
# Add a second serial console
|
||
|
m.execute("virsh destroy vmWithSerialConsole; virt-xml --add-device vmWithSerialConsole --console pty,target_type=virtio; virsh start vmWithSerialConsole")
|
||
|
- b.click("#pf-c-console__type-selector")
|
||
|
- b.wait_visible("#pf-c-console__type-selector + .pf-c-select__menu")
|
||
|
+ b.click("#pf-v5-c-console__type-selector")
|
||
|
+ b.wait_visible("#pf-v5-c-console__type-selector + .pf-v5-c-select__menu")
|
||
|
b.click("li:contains('Serial console (console0)') button")
|
||
|
b.wait(lambda: m.execute("ps aux | grep 'virsh -c qemu:///system console vmWithSerialConsole console0'"))
|
||
|
- b.click("#pf-c-console__type-selector")
|
||
|
+ b.click("#pf-v5-c-console__type-selector")
|
||
|
b.click("li:contains('Serial console (console1)') button")
|
||
|
b.wait(lambda: m.execute("ps aux | grep 'virsh -c qemu:///system console vmWithSerialConsole console1'"))
|
||
|
|
||
|
@@ -160,8 +160,8 @@ class TestMachinesConsoles(VirtualMachin
|
||
|
m.execute("virsh start vmWithSerialConsole")
|
||
|
|
||
|
for i in range(0, 6):
|
||
|
- b.click("#pf-c-console__type-selector")
|
||
|
- b.wait_visible("#pf-c-console__type-selector + .pf-c-select__menu")
|
||
|
+ b.click("#pf-v5-c-console__type-selector")
|
||
|
+ b.wait_visible("#pf-v5-c-console__type-selector + .pf-v5-c-select__menu")
|
||
|
b.click(f'li:contains(\'Serial console ({"serial" if i == 0 else "console"}{i})\') button')
|
||
|
b.wait(lambda: m.execute(f'ps aux | grep \'virsh -c qemu:///system console vmWithSerialConsole {"serial" if i == 0 else "console"}{i}\''))
|
||
|
|
||
|
@@ -187,22 +187,22 @@ class TestMachinesConsoles(VirtualMachin
|
||
|
|
||
|
# test switching console from serial to graphical
|
||
|
b.wait_visible(f"#vm-{name}-consoles")
|
||
|
- b.wait_visible(".pf-c-console__vnc canvas")
|
||
|
+ b.wait_visible(".pf-v5-c-console__vnc canvas")
|
||
|
|
||
|
- b.click("#pf-c-console__type-selector")
|
||
|
- b.wait_visible("#pf-c-console__type-selector + .pf-c-select__menu")
|
||
|
+ b.click("#pf-v5-c-console__type-selector")
|
||
|
+ b.wait_visible("#pf-v5-c-console__type-selector + .pf-v5-c-select__menu")
|
||
|
b.click("#SerialConsole button")
|
||
|
- b.wait_not_present("#pf-c-console__type-selector + .pf-c-select__menu")
|
||
|
+ b.wait_not_present("#pf-v5-c-console__type-selector + .pf-v5-c-select__menu")
|
||
|
|
||
|
- b.wait_not_present(".pf-c-console__vnc canvas")
|
||
|
+ b.wait_not_present(".pf-v5-c-console__vnc canvas")
|
||
|
b.wait_visible(f"#{name}-terminal")
|
||
|
|
||
|
# Go back to Vnc console
|
||
|
- b.click("#pf-c-console__type-selector")
|
||
|
- b.wait_visible("#pf-c-console__type-selector + .pf-c-select__menu")
|
||
|
+ b.click("#pf-v5-c-console__type-selector")
|
||
|
+ b.wait_visible("#pf-v5-c-console__type-selector + .pf-v5-c-select__menu")
|
||
|
b.click("#VncConsole button")
|
||
|
- b.wait_not_present("#pf-c-console__type-selector + .pf-c-select__menu")
|
||
|
- b.wait_visible(".pf-c-console__vnc canvas")
|
||
|
+ b.wait_not_present("#pf-v5-c-console__type-selector + .pf-v5-c-select__menu")
|
||
|
+ b.wait_visible(".pf-v5-c-console__vnc canvas")
|
||
|
|
||
|
# Go to the expanded console view
|
||
|
b.click("button:contains(Expand)")
|
||
|
Index: cockpit-machines-292/test/check-machines-create
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/test/check-machines-create
|
||
|
+++ cockpit-machines-292/test/check-machines-create
|
||
|
@@ -870,9 +870,9 @@ vnc_password= "{vnc_passwd}"
|
||
|
|
||
|
b.wait_visible("#create-vm-dialog")
|
||
|
if self.sourceType == 'disk_image':
|
||
|
- b.wait_in_text(".pf-c-modal-box .pf-c-modal-box__header .pf-c-modal-box__title", "Import a virtual machine")
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box .pf-v5-c-modal-box__header .pf-v5-c-modal-box__title", "Import a virtual machine")
|
||
|
else:
|
||
|
- b.wait_in_text(".pf-c-modal-box .pf-c-modal-box__header .pf-c-modal-box__title", "Create new virtual machine")
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box .pf-v5-c-modal-box__header .pf-v5-c-modal-box__title", "Create new virtual machine")
|
||
|
|
||
|
if self.os_name is not None:
|
||
|
# remove os codename from os name, e.g.: 'bullseye' in 'Debian 11 (bullseye)'
|
||
|
@@ -1028,7 +1028,7 @@ vnc_password= "{vnc_passwd}"
|
||
|
def checkOsSorted(self, sorted_list):
|
||
|
b = self.browser
|
||
|
|
||
|
- b.click("#os-select-group .pf-c-select .pf-c-button")
|
||
|
+ b.click("#os-select-group .pf-v5-c-select .pf-v5-c-button")
|
||
|
|
||
|
# Find the first OS from the sorted list, and get a text of it's next neighbour
|
||
|
next_os = b.text(f"#os-select-group li:contains({sorted_list[0]}) + li")
|
||
|
@@ -1044,9 +1044,9 @@ vnc_password= "{vnc_passwd}"
|
||
|
|
||
|
def createAndVerifyVirtInstallArgsCloudInit(self):
|
||
|
if self.create_and_run:
|
||
|
- self.browser.click(".pf-c-modal-box__footer button:contains(Create and run)")
|
||
|
+ self.browser.click(".pf-v5-c-modal-box__footer button:contains(Create and run)")
|
||
|
else:
|
||
|
- self.browser.click(".pf-c-modal-box__footer button:contains(Create and edit)")
|
||
|
+ self.browser.click(".pf-v5-c-modal-box__footer button:contains(Create and edit)")
|
||
|
self.browser.wait_not_present("#create-vm-dialog")
|
||
|
|
||
|
if self.create_and_run:
|
||
|
@@ -1096,9 +1096,9 @@ vnc_password= "{vnc_passwd}"
|
||
|
m = self.machine
|
||
|
|
||
|
if self.create_and_run:
|
||
|
- self.browser.click(".pf-c-modal-box__footer button:contains(Create and run)")
|
||
|
+ self.browser.click(".pf-v5-c-modal-box__footer button:contains(Create and run)")
|
||
|
else:
|
||
|
- self.browser.click(".pf-c-modal-box__footer button:contains(Create and edit)")
|
||
|
+ self.browser.click(".pf-v5-c-modal-box__footer button:contains(Create and edit)")
|
||
|
self.browser.wait_not_present("#create-vm-dialog")
|
||
|
self.browser.wait_text(f"#vm-{self.name}-{self.connection}-state", "Shut off")
|
||
|
|
||
|
@@ -1119,9 +1119,9 @@ vnc_password= "{vnc_passwd}"
|
||
|
|
||
|
def createAndVerifyVirtInstallArgsUnattended(self):
|
||
|
if self.create_and_run:
|
||
|
- self.browser.click(".pf-c-modal-box__footer button:contains(Create and run)")
|
||
|
+ self.browser.click(".pf-v5-c-modal-box__footer button:contains(Create and run)")
|
||
|
else:
|
||
|
- self.browser.click(".pf-c-modal-box__footer button:contains(Create and edit)")
|
||
|
+ self.browser.click(".pf-v5-c-modal-box__footer button:contains(Create and edit)")
|
||
|
self.browser.wait_not_present("#create-vm-dialog")
|
||
|
if self.storage_pool != NO_STORAGE:
|
||
|
self.goToVmPage(self.name)
|
||
|
@@ -1245,7 +1245,7 @@ vnc_password= "{vnc_passwd}"
|
||
|
def cancel(self, force=False):
|
||
|
b = self.browser
|
||
|
if b.is_present("#create-vm-dialog"):
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Cancel)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Cancel)")
|
||
|
b.wait_not_present("#create-vm-dialog")
|
||
|
elif force:
|
||
|
raise Exception("There is no dialog to cancel")
|
||
|
@@ -1257,31 +1257,31 @@ vnc_password= "{vnc_passwd}"
|
||
|
if create:
|
||
|
if self.sourceType == 'disk_image':
|
||
|
if self.create_and_run:
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Import and run)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Import and run)")
|
||
|
else:
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Import and edit)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Import and edit)")
|
||
|
else:
|
||
|
if self.create_and_run:
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Create and run)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Create and run)")
|
||
|
else:
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Create and edit)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Create and edit)")
|
||
|
|
||
|
for error, error_msg in errors.items():
|
||
|
if is_warning:
|
||
|
- error_location = f".pf-c-modal-box__body #{error}-group .pf-c-form__helper-text .pf-m-warning"
|
||
|
+ error_location = f".pf-v5-c-modal-box__body #{error}-group .pf-v5-c-form__helper-text .pf-m-warning"
|
||
|
else:
|
||
|
- error_location = f".pf-c-modal-box__body #{error}-group .pf-c-form__helper-text .pf-m-error"
|
||
|
+ error_location = f".pf-v5-c-modal-box__body #{error}-group .pf-v5-c-form__helper-text .pf-m-error"
|
||
|
b.wait_visible(error_location)
|
||
|
if (error_msg):
|
||
|
b.wait_in_text(error_location, error_msg)
|
||
|
|
||
|
if create:
|
||
|
if self.sourceType == 'disk_image':
|
||
|
- b.wait_visible(".pf-c-modal-box__footer button:contains(Import and run)[aria-disabled=true]")
|
||
|
- b.wait_visible(".pf-c-modal-box__footer button:contains(Import and edit)[aria-disabled=true]")
|
||
|
+ b.wait_visible(".pf-v5-c-modal-box__footer button:contains(Import and run)[aria-disabled=true]")
|
||
|
+ b.wait_visible(".pf-v5-c-modal-box__footer button:contains(Import and edit)[aria-disabled=true]")
|
||
|
else:
|
||
|
- b.wait_visible(".pf-c-modal-box__footer button:contains(Create and run)[aria-disabled=true]")
|
||
|
- b.wait_visible(".pf-c-modal-box__footer button:contains(Create and edit)[aria-disabled=true]")
|
||
|
+ b.wait_visible(".pf-v5-c-modal-box__footer button:contains(Create and run)[aria-disabled=true]")
|
||
|
+ b.wait_visible(".pf-v5-c-modal-box__footer button:contains(Create and edit)[aria-disabled=true]")
|
||
|
|
||
|
return self
|
||
|
|
||
|
@@ -1299,11 +1299,11 @@ vnc_password= "{vnc_passwd}"
|
||
|
', '.join(errors), b.text(error_location)))
|
||
|
|
||
|
if self.create_and_run:
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Create and run)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Create and run)")
|
||
|
else:
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Create and edit)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Create and edit)")
|
||
|
|
||
|
- error_location = ".pf-c-modal-box__footer div.pf-c-alert"
|
||
|
+ error_location = ".pf-v5-c-modal-box__footer div.pf-v5-c-alert"
|
||
|
|
||
|
try:
|
||
|
with b.wait_timeout(10):
|
||
|
@@ -1318,7 +1318,7 @@ vnc_password= "{vnc_passwd}"
|
||
|
raise
|
||
|
else:
|
||
|
# then error should be shown in the notification area
|
||
|
- error_location = ".pf-c-alert-group li .pf-c-alert"
|
||
|
+ error_location = ".pf-v5-c-alert-group li .pf-v5-c-alert"
|
||
|
with b.wait_timeout(20):
|
||
|
b.wait_visible(error_location)
|
||
|
b.wait_in_text("button.alert-link.more-button", "show more")
|
||
|
@@ -1326,8 +1326,8 @@ vnc_password= "{vnc_passwd}"
|
||
|
waitForError(errors, error_location)
|
||
|
|
||
|
# Close the notification
|
||
|
- b.click(".pf-c-alert-group li .pf-c-alert button.pf-m-plain")
|
||
|
- b.wait_not_present(".pf-c-alert-group li .pf-c-alert")
|
||
|
+ b.click(".pf-v5-c-alert-group li .pf-v5-c-alert button.pf-m-plain")
|
||
|
+ b.wait_not_present(".pf-v5-c-alert-group li .pf-v5-c-alert")
|
||
|
|
||
|
return self
|
||
|
|
||
|
@@ -1486,14 +1486,14 @@ vnc_password= "{vnc_passwd}"
|
||
|
b = self.browser
|
||
|
if dialog.sourceType == 'disk_image':
|
||
|
if dialog.create_and_run:
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Import and run)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Import and run)")
|
||
|
else:
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Import and edit)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Import and edit)")
|
||
|
else:
|
||
|
if dialog.create_and_run:
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Create and run)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Create and run)")
|
||
|
else:
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Create and edit)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Create and edit)")
|
||
|
|
||
|
final_state = "Running" if dialog.create_and_run else "Shut off"
|
||
|
# Test dowloading RHEL image shows the progress of the download
|
||
|
@@ -1504,9 +1504,9 @@ vnc_password= "{vnc_passwd}"
|
||
|
# Progress is shown in VM state in VMs list
|
||
|
self.assertRegex(b.text(f"#vm-{dialog.name}-{dialog.connection}-state"), r"^.*[0-9][0-9]?%$|^100%$")
|
||
|
else:
|
||
|
- b.wait_in_text(".pf-c-empty-state__content", "Downloading image")
|
||
|
+ b.wait_in_text(".pf-v5-c-empty-state__content", "Downloading image")
|
||
|
# Progress is shown at VM page empty state
|
||
|
- self.assertRegex(b.text(".pf-c-empty-state__body .pf-c-progress__status"), r"^[0-9][0-9]?%$|^100%$")
|
||
|
+ self.assertRegex(b.text(".pf-v5-c-empty-state__body .pf-v5-c-progress__status"), r"^[0-9][0-9]?%$|^100%$")
|
||
|
|
||
|
b.wait_in_text(f"#vm-{dialog.name}-{dialog.connection}-state", final_state)
|
||
|
b.wait_not_present("#create-vm-dialog")
|
||
|
@@ -1559,7 +1559,7 @@ vnc_password= "{vnc_passwd}"
|
||
|
m.execute("virsh net-destroy default")
|
||
|
b.wait_in_text(f"#vm-{name}-{connection}-state", "Shut off")
|
||
|
b.wait_visible(f"#vm-{name}-{connection}-install")
|
||
|
- b.wait_in_text(".pf-c-alert", "failed to get installed")
|
||
|
+ b.wait_in_text(".pf-v5-c-alert", "failed to get installed")
|
||
|
# can reattempt installation
|
||
|
b.wait_visible(f"#vm-{name}-{connection}-install")
|
||
|
# can't run, as it is still in install phase
|
||
|
@@ -1620,7 +1620,7 @@ vnc_password= "{vnc_passwd}"
|
||
|
memory_text = "/ " + f"{dialog.memory_size / 1024:.1f}".rstrip('.0') + " GiB"
|
||
|
else:
|
||
|
memory_text = "/ " + f"{dialog.memory_size:.1f}".rstrip('.0') + f" {dialog.memory_size_unit}"
|
||
|
- b.wait_in_text(".memory-usage-chart .pf-c-progress__status > .pf-c-progress__measure", memory_text)
|
||
|
+ b.wait_in_text(".memory-usage-chart .pf-v5-c-progress__status > .pf-v5-c-progress__measure", memory_text)
|
||
|
|
||
|
# check disks
|
||
|
# Test disk got imported/created
|
||
|
@@ -1657,7 +1657,7 @@ vnc_password= "{vnc_passwd}"
|
||
|
else:
|
||
|
raise AssertionError("Unknown disk device")
|
||
|
else:
|
||
|
- b.wait_in_text(f"#vm-{name}-disks .pf-c-empty-state", "No disks defined")
|
||
|
+ b.wait_in_text(f"#vm-{name}-disks .pf-v5-c-empty-state", "No disks defined")
|
||
|
b.click(f"#vm-{name}-disks-adddisk")
|
||
|
b.click(f"#vm-{name}-disks-adddisk-dialog-cancel")
|
||
|
return self
|
||
|
@@ -1690,15 +1690,15 @@ vnc_password= "{vnc_passwd}"
|
||
|
|
||
|
# wait until virt-install process is finished
|
||
|
wait(lambda: "virt-install" not in self.machine.execute("ps aux | grep '[v]irt-install --connect' || true"))
|
||
|
- b.wait_in_text("#virtual-machines-listing .pf-c-empty-state", "No VM is running")
|
||
|
+ b.wait_in_text("#virtual-machines-listing .pf-v5-c-empty-state", "No VM is running")
|
||
|
# wait for the vm and disks to be deleted
|
||
|
self.machine.execute("until test -z $(virsh list --all --name); do sleep 1; done")
|
||
|
self.machine.execute("until test -z $(ls /home/admin/.local/share/libvirt/images/ 2>/dev/null); do sleep 1; done")
|
||
|
|
||
|
# When we delete a VM while virt-install is running there will be an error
|
||
|
- while (b.is_present(".pf-c-alert-group li")):
|
||
|
- b.click(".pf-c-alert-group li:first-of-type .pf-c-alert button.pf-m-plain")
|
||
|
- b.wait_not_present(".pf-c-alert-group")
|
||
|
+ while (b.is_present(".pf-v5-c-alert-group li")):
|
||
|
+ b.click(".pf-v5-c-alert-group li:first-of-type .pf-v5-c-alert button.pf-m-plain")
|
||
|
+ b.wait_not_present(".pf-v5-c-alert-group")
|
||
|
|
||
|
return self
|
||
|
|
||
|
@@ -1765,8 +1765,8 @@ vnc_password= "{vnc_passwd}"
|
||
|
b.wait_in_text("#token-helper-message", error_msg)
|
||
|
b.wait_in_text("#token-helper-message", "Get a new RHSM token")
|
||
|
if create_disabled:
|
||
|
- b.wait_visible(".pf-c-modal-box__footer button:contains(Create and run)[aria-disabled=true]")
|
||
|
- b.wait_visible(".pf-c-modal-box__footer button:contains(Create and edit)[aria-disabled=true]")
|
||
|
+ b.wait_visible(".pf-v5-c-modal-box__footer button:contains(Create and run)[aria-disabled=true]")
|
||
|
+ b.wait_visible(".pf-v5-c-modal-box__footer button:contains(Create and edit)[aria-disabled=true]")
|
||
|
|
||
|
dialog.cancel()
|
||
|
|
||
|
@@ -1869,7 +1869,7 @@ vnc_password= "{vnc_passwd}"
|
||
|
dialog.open() \
|
||
|
.fill() \
|
||
|
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Create and edit)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Create and edit)")
|
||
|
b.wait_not_present("#create-vm-dialog")
|
||
|
|
||
|
wait(lambda: "<cockpit_machines:os_variant>fedora28</cockpit_machines:os_variant>" in m.execute("virsh dumpxml VmNotInstalled"), delay=3)
|
||
|
@@ -1888,11 +1888,11 @@ vnc_password= "{vnc_passwd}"
|
||
|
b.set_input_text("#vm-VmNotInstalled-memory-modal-memory", "130")
|
||
|
b.blur("#vm-VmNotInstalled-memory-modal-memory")
|
||
|
b.click("#vm-VmNotInstalled-memory-modal-save")
|
||
|
- b.wait_not_present(".pf-c-modal-box__body")
|
||
|
+ b.wait_not_present(".pf-v5-c-modal-box__body")
|
||
|
|
||
|
# Change vCPUs setting
|
||
|
b.click("#vm-VmNotInstalled-cpu button")
|
||
|
- b.wait_visible(".pf-c-modal-box__body")
|
||
|
+ b.wait_visible(".pf-v5-c-modal-box__body")
|
||
|
b.set_input_text("#machines-vcpu-max-field input", "8")
|
||
|
b.blur("#machines-vcpu-max-field")
|
||
|
b.set_input_text("#machines-vcpu-count-field input", "2")
|
||
|
@@ -1901,16 +1901,16 @@ vnc_password= "{vnc_passwd}"
|
||
|
b.select_from_dropdown("#coresSelect", "2")
|
||
|
b.select_from_dropdown("#threadsSelect", "2")
|
||
|
b.click("#machines-cpu-modal-dialog-apply")
|
||
|
- b.wait_not_present(".pf-c-modal-box__body")
|
||
|
+ b.wait_not_present(".pf-v5-c-modal-box__body")
|
||
|
|
||
|
# Change Boot Order setting
|
||
|
bootOrder = b.text("#vm-VmNotInstalled-boot-order")
|
||
|
b.click("#vm-VmNotInstalled-boot-order button")
|
||
|
- b.wait_visible(".pf-c-modal-box__body")
|
||
|
+ b.wait_visible(".pf-v5-c-modal-box__body")
|
||
|
b.set_checked("#vm-VmNotInstalled-order-modal-device-1-checkbox", True)
|
||
|
b.click("#vm-VmNotInstalled-order-modal-device-row-0 #vm-VmNotInstalled-order-modal-down")
|
||
|
b.click("#vm-VmNotInstalled-order-modal-save")
|
||
|
- b.wait_not_present(".pf-c-modal-box__body")
|
||
|
+ b.wait_not_present(".pf-v5-c-modal-box__body")
|
||
|
|
||
|
# Attach some interface
|
||
|
m.execute("virsh attach-interface --persistent VmNotInstalled bridge virbr0")
|
||
|
@@ -1920,10 +1920,10 @@ vnc_password= "{vnc_passwd}"
|
||
|
# Change the os boot firmware configuration
|
||
|
b.wait_in_text("#vm-VmNotInstalled-firmware", "BIOS")
|
||
|
b.click("#vm-VmNotInstalled-firmware")
|
||
|
- b.wait_visible(".pf-c-modal-box__body")
|
||
|
- b.select_from_dropdown(".pf-c-modal-box__body select", "efi")
|
||
|
+ b.wait_visible(".pf-v5-c-modal-box__body")
|
||
|
+ b.select_from_dropdown(".pf-v5-c-modal-box__body select", "efi")
|
||
|
b.click("#firmware-dialog-apply")
|
||
|
- b.wait_not_present(".pf-c-modal-box__body")
|
||
|
+ b.wait_not_present(".pf-v5-c-modal-box__body")
|
||
|
b.wait_in_text("#vm-VmNotInstalled-firmware", "UEFI")
|
||
|
|
||
|
# Temporarily delete the OVMF binary and check the firmware options again
|
||
|
@@ -1944,7 +1944,7 @@ vnc_password= "{vnc_passwd}"
|
||
|
b.enter_page('/machines')
|
||
|
|
||
|
b.mouse("#vm-VmNotInstalled-firmware-tooltip", "mouseenter")
|
||
|
- b.wait_in_text(".pf-c-tooltip", "Libvirt did not detect any UEFI/OVMF firmware image installed on the host")
|
||
|
+ b.wait_in_text(".pf-v5-c-tooltip", "Libvirt did not detect any UEFI/OVMF firmware image installed on the host")
|
||
|
b.mouse("#vm-VmNotInstalled-firmware-tooltip", "mouseleave")
|
||
|
b.wait_not_present("#missing-uefi-images")
|
||
|
m.execute("umount " + ovmf_path)
|
||
|
@@ -1967,18 +1967,18 @@ vnc_password= "{vnc_passwd}"
|
||
|
b.wait_val("#vm-VmNotInstalled-memory-modal-max-memory", "150")
|
||
|
b.wait_val("#vm-VmNotInstalled-memory-modal-memory", "130")
|
||
|
b.click("#vm-VmNotInstalled-memory-modal-cancel")
|
||
|
- b.wait_not_present(".pf-c-modal-box__body")
|
||
|
+ b.wait_not_present(".pf-v5-c-modal-box__body")
|
||
|
|
||
|
# Check vCPU settings have persisted
|
||
|
b.click("#vm-VmNotInstalled-cpu button")
|
||
|
- b.wait_visible(".pf-c-modal-box__body")
|
||
|
+ b.wait_visible(".pf-v5-c-modal-box__body")
|
||
|
b.wait_val("#machines-vcpu-max-field input", "8")
|
||
|
b.wait_val("#machines-vcpu-count-field input", "2")
|
||
|
b.wait_val("#socketsSelect", "2")
|
||
|
b.wait_val("#coresSelect", "2")
|
||
|
b.wait_val("#threadsSelect", "2")
|
||
|
b.click("#machines-cpu-modal-dialog-cancel")
|
||
|
- b.wait_not_present(".pf-c-modal-box__body")
|
||
|
+ b.wait_not_present(".pf-v5-c-modal-box__body")
|
||
|
|
||
|
# Check changed boot order have persisted
|
||
|
b.wait_text_not("#vm-VmNotInstalled-boot-order", bootOrder)
|
||
|
@@ -2017,7 +2017,7 @@ vnc_password= "{vnc_passwd}"
|
||
|
create_and_run=False)
|
||
|
dialog.open().fill()
|
||
|
|
||
|
- b.click(".pf-c-modal-box__footer #create-and-edit")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer #create-and-edit")
|
||
|
b.wait_not_present("#create-vm-dialog")
|
||
|
|
||
|
self.waitVmPage("VmNotInstalledBios")
|
||
|
@@ -2025,10 +2025,10 @@ vnc_password= "{vnc_passwd}"
|
||
|
# Show and keep the os boot firmware configuration
|
||
|
b.wait_in_text("#vm-VmNotInstalledBios-firmware", "BIOS")
|
||
|
b.click("#vm-VmNotInstalledBios-firmware")
|
||
|
- b.wait_visible(".pf-c-modal-box__body")
|
||
|
- b.wait_val(".pf-c-modal-box__body select", "bios")
|
||
|
+ b.wait_visible(".pf-v5-c-modal-box__body")
|
||
|
+ b.wait_val(".pf-v5-c-modal-box__body select", "bios")
|
||
|
b.click("#firmware-dialog-apply")
|
||
|
- b.wait_not_present(".pf-c-modal-box__body")
|
||
|
+ b.wait_not_present(".pf-v5-c-modal-box__body")
|
||
|
b.wait_in_text("#vm-VmNotInstalledBios-firmware", "BIOS")
|
||
|
|
||
|
# Install the VM
|
||
|
@@ -2068,8 +2068,8 @@ vnc_password= "{vnc_passwd}"
|
||
|
os_short_id=config.RHEL_8_1_SHORTID) \
|
||
|
.open() \
|
||
|
.fill()
|
||
|
- b.wait_visible(".pf-c-modal-box__footer button:contains(Create and run)[aria-disabled=false]")
|
||
|
- b.wait_visible(".pf-c-modal-box__footer button:contains(Create and edit)[aria-disabled=false]")
|
||
|
+ b.wait_visible(".pf-v5-c-modal-box__footer button:contains(Create and run)[aria-disabled=false]")
|
||
|
+ b.wait_visible(".pf-v5-c-modal-box__footer button:contains(Create and edit)[aria-disabled=false]")
|
||
|
dialog.cancel()
|
||
|
|
||
|
runner.checkDialogErrorTest(TestMachinesCreate.VmDialog(self, sourceType='os',
|
||
|
Index: cockpit-machines-292/test/check-machines-disks
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/test/check-machines-disks
|
||
|
+++ cockpit-machines-292/test/check-machines-disks
|
||
|
@@ -85,7 +85,7 @@ class TestMachinesDisks(VirtualMachinesC
|
||
|
def save(target, xfail=None):
|
||
|
b.click(f"#vm-subVmTest1-disks-{target}-edit-dialog-save")
|
||
|
if xfail:
|
||
|
- b.wait_in_text(f"#vm-subVmTest1-disks-{target}-edit-dialog .pf-c-alert", xfail)
|
||
|
+ b.wait_in_text(f"#vm-subVmTest1-disks-{target}-edit-dialog .pf-v5-c-alert", xfail)
|
||
|
else:
|
||
|
b.wait_not_present(f"#vm-subVmTest1-disks-{target}-edit-dialog")
|
||
|
|
||
|
@@ -117,7 +117,7 @@ class TestMachinesDisks(VirtualMachinesC
|
||
|
|
||
|
# Test close button
|
||
|
open("vdg")
|
||
|
- b.click("#vm-subVmTest1-disks-vdg-edit-dialog > .pf-c-modal-box__close button")
|
||
|
+ b.click("#vm-subVmTest1-disks-vdg-edit-dialog > .pf-v5-c-modal-box__close button")
|
||
|
b.wait_not_present("#vm-subVmTest1-disks-vdg-edit-dialog")
|
||
|
|
||
|
# Test qcow2 disk has only readonly attribute configurable
|
||
|
@@ -194,7 +194,7 @@ class TestMachinesDisks(VirtualMachinesC
|
||
|
save("sdb", "readonly sata disks are not supported")
|
||
|
cancel("sdb")
|
||
|
open("sdb")
|
||
|
- b.wait_not_present("#vm-subVmTest1-disks-sdb-edit-dialog .pf-c-alert")
|
||
|
+ b.wait_not_present("#vm-subVmTest1-disks-sdb-edit-dialog .pf-v5-c-alert")
|
||
|
cancel("sdb")
|
||
|
|
||
|
# Virtio bus type should not be shown for CDROM devices
|
||
|
@@ -279,7 +279,7 @@ class TestMachinesDisks(VirtualMachinesC
|
||
|
b.select_from_dropdown("#vm-subVmTest1-disks-adddisk-existing-select-pool", "images")
|
||
|
b.select_from_dropdown("#vm-subVmTest1-disks-adddisk-existing-select-volume", "subVmTest2-2.img")
|
||
|
b.wait_in_text("#vm-subVmTest1-disks-adddisk-existing-select-volume-helper", "used by subVmTest2")
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Cancel)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Cancel)")
|
||
|
|
||
|
# Test remove disk - by external action
|
||
|
m.execute("virsh detach-disk subVmTest1 vdc")
|
||
|
@@ -352,7 +352,7 @@ class TestMachinesDisks(VirtualMachinesC
|
||
|
b = self.test_obj.browser
|
||
|
prefix = f"#vm-{self.vm_name}-disks-{self.target}-insert"
|
||
|
b.click(prefix) # button
|
||
|
- b.wait_in_text(".pf-c-modal-box__title", "Insert disc media")
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box__title", "Insert disc media")
|
||
|
|
||
|
b.wait_visible(f"{prefix}-dialog-adddisk-custompath:checked")
|
||
|
if self.mode == "use-existing":
|
||
|
@@ -377,13 +377,13 @@ class TestMachinesDisks(VirtualMachinesC
|
||
|
|
||
|
def insert(self):
|
||
|
b = self.test_obj.browser
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Insert)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Insert)")
|
||
|
|
||
|
return self
|
||
|
|
||
|
def verify(self):
|
||
|
b = self.test_obj.browser
|
||
|
- b.wait_not_present(".pf-c-modal-box")
|
||
|
+ b.wait_not_present(".pf-v5-c-modal-box")
|
||
|
|
||
|
disks = self._get_disks()
|
||
|
|
||
|
@@ -408,7 +408,7 @@ class TestMachinesDisks(VirtualMachinesC
|
||
|
def eject(self):
|
||
|
b = self.test_obj.browser
|
||
|
b.click(f"#vm-{self.vm_name}-disks-{self.target}-eject-button") # button
|
||
|
- b.wait_in_text(".pf-c-modal-box__title", "Eject disc from VM")
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box__title", "Eject disc from VM")
|
||
|
|
||
|
if self.mode == "custom-path":
|
||
|
b.wait_in_text(f"#vm-{self.vm_name}-disks-{self.target}-modal-description-file", self.file_path)
|
||
|
@@ -416,8 +416,8 @@ class TestMachinesDisks(VirtualMachinesC
|
||
|
b.wait_in_text(f"#vm-{self.vm_name}-disks-{self.target}-modal-description-pool dd", self.pool_name)
|
||
|
b.wait_in_text(f"#vm-{self.vm_name}-disks-{self.target}-modal-description-volume dd", self.volume_name)
|
||
|
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Eject)")
|
||
|
- b.wait_not_present(".pf-c-modal-box")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Eject)")
|
||
|
+ b.wait_not_present(".pf-v5-c-modal-box")
|
||
|
|
||
|
return self
|
||
|
|
||
|
@@ -426,7 +426,7 @@ class TestMachinesDisks(VirtualMachinesC
|
||
|
m = self.test_obj.machine
|
||
|
|
||
|
b.click(f"#vm-{self.vm_name}-disks-{self.target}-eject-button") # button
|
||
|
- b.wait_in_text(".pf-c-modal-box__title", "Eject disc from VM")
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box__title", "Eject disc from VM")
|
||
|
|
||
|
# "Force eject" button is only shown if regular ejection fail
|
||
|
# This might be a bit dirty, but one easy way to cause regular ejection to
|
||
|
@@ -434,11 +434,11 @@ class TestMachinesDisks(VirtualMachinesC
|
||
|
# This will return "domain is not running" failure, but that's fine, as we
|
||
|
# offer "Force eject" option after any kind of failure
|
||
|
m.execute(f"virsh destroy {self.vm_name}")
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Eject)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Eject)")
|
||
|
|
||
|
# Check "Force eject" is present and Regular eject is disabled
|
||
|
- b.wait_visible(".pf-c-modal-box__footer button:contains(Eject):disabled")
|
||
|
- b.wait_visible(".pf-c-modal-box__footer button:contains(Force eject)")
|
||
|
+ b.wait_visible(".pf-v5-c-modal-box__footer button:contains(Eject):disabled")
|
||
|
+ b.wait_visible(".pf-v5-c-modal-box__footer button:contains(Force eject)")
|
||
|
|
||
|
# Start the VM again so "Force eject" will work
|
||
|
m.execute(f"virsh start {self.vm_name}")
|
||
|
@@ -449,8 +449,8 @@ class TestMachinesDisks(VirtualMachinesC
|
||
|
m.spawn("dbus-monitor --system \"interface='org.libvirt.Domain',member='UpdateDevice'\" > /tmp/dbus_monitor_logs", "dbusmonitor")
|
||
|
|
||
|
# Force eject the disc
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Force eject)")
|
||
|
- b.wait_not_present(".pf-c-modal-box")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Force eject)")
|
||
|
+ b.wait_not_present(".pf-v5-c-modal-box")
|
||
|
|
||
|
# Check dbus call was called with "VIR_DOMAIN_DEVICE_MODIFY_FORCE" flag
|
||
|
# Flag 'uint32 7' is a logical OR of flags:
|
||
|
@@ -563,14 +563,14 @@ class TestMachinesDisks(VirtualMachinesC
|
||
|
if self.xfail_object:
|
||
|
self.test_obj.browser.wait_in_text(f"{prefix}-{self.xfail_object}-helper.pf-m-error", self.xfail_error_message)
|
||
|
else:
|
||
|
- self.test_obj.browser.wait_in_text(".pf-c-modal-box__body .pf-c-alert__title", self.xfail_error_title)
|
||
|
+ self.test_obj.browser.wait_in_text(".pf-v5-c-modal-box__body .pf-v5-c-alert__title", self.xfail_error_title)
|
||
|
self.test_obj.browser.click(f"{prefix}-dialog-cancel")
|
||
|
|
||
|
def open(self):
|
||
|
b = self.test_obj.browser
|
||
|
prefix = f"#vm-{self.vm_name}-disks-adddisk"
|
||
|
b.click(prefix) # button
|
||
|
- b.wait_in_text(".pf-c-modal-box__title", "Add disk")
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box__title", "Add disk")
|
||
|
|
||
|
b.wait_visible(f"{prefix}-createnew:checked")
|
||
|
if self.mode == "use-existing":
|
||
|
@@ -590,7 +590,7 @@ class TestMachinesDisks(VirtualMachinesC
|
||
|
else:
|
||
|
b.click(f"#vm-{self.vm_name}-disks-adddisk-new-select-pool")
|
||
|
# Our custom select does not respond on the click function
|
||
|
- b._wait_present(f".pf-c-modal-box option[value={self.pool_name}]:disabled")
|
||
|
+ b._wait_present(f".pf-v5-c-modal-box option[value={self.pool_name}]:disabled")
|
||
|
return self
|
||
|
|
||
|
# Insert name for the new volume
|
||
|
@@ -626,8 +626,8 @@ class TestMachinesDisks(VirtualMachinesC
|
||
|
|
||
|
# Expand additional options
|
||
|
if self.cache_mode or self.bus_type or self.serial:
|
||
|
- b.click("div.pf-c-modal-box button:contains(Show additional options)")
|
||
|
- b.wait_visible("div.pf-c-modal-box button[aria-expanded=true]:contains(Hide additional options)")
|
||
|
+ b.click("div.pf-v5-c-modal-box button:contains(Show additional options)")
|
||
|
+ b.wait_visible("div.pf-v5-c-modal-box button[aria-expanded=true]:contains(Hide additional options)")
|
||
|
|
||
|
# Configure performance options
|
||
|
if self.cache_mode:
|
||
|
@@ -635,7 +635,7 @@ class TestMachinesDisks(VirtualMachinesC
|
||
|
|
||
|
# Configure bus type
|
||
|
if self.bus_type:
|
||
|
- b.select_from_dropdown(f"div.pf-c-modal-box #vm-{self.vm_name}-disks-adddisk-bus-type", self.bus_type)
|
||
|
+ b.select_from_dropdown(f"div.pf-v5-c-modal-box #vm-{self.vm_name}-disks-adddisk-bus-type", self.bus_type)
|
||
|
|
||
|
# Configure serial number
|
||
|
if self.serial:
|
||
|
@@ -647,22 +647,22 @@ class TestMachinesDisks(VirtualMachinesC
|
||
|
b.wait_val(f"#vm-{self.vm_name}-disks-adddisk-serial", self.expected_serial)
|
||
|
|
||
|
if self.xwarning_object == 'serial-characters':
|
||
|
- b.wait_in_text("#serial-characters-message .pf-c-helper-text__item-text", self.xwarning_message)
|
||
|
+ b.wait_in_text("#serial-characters-message .pf-v5-c-helper-text__item-text", self.xwarning_message)
|
||
|
elif self.xwarning_object == 'serial-length':
|
||
|
- b.wait_in_text("#serial-length-message .pf-c-helper-text__item-text", self.xwarning_message)
|
||
|
+ b.wait_in_text("#serial-length-message .pf-v5-c-helper-text__item-text", self.xwarning_message)
|
||
|
else:
|
||
|
b.wait_not_present("#serial-length-message")
|
||
|
b.wait_not_present("#serial-characters-message")
|
||
|
else:
|
||
|
b.wait_not_visible("#cache-mode")
|
||
|
- b.wait_not_visible(f"div.pf-c-modal-box #vm-{self.vm_name}-disks-adddisk-bus-type")
|
||
|
+ b.wait_not_visible(f"div.pf-v5-c-modal-box #vm-{self.vm_name}-disks-adddisk-bus-type")
|
||
|
b.wait_not_visible(f"#vm-{self.vm_name}-disks-adddisk-serial")
|
||
|
|
||
|
return self
|
||
|
|
||
|
def add_disk(self):
|
||
|
b = self.test_obj.browser
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Add)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Add)")
|
||
|
|
||
|
return self
|
||
|
|
||
|
@@ -690,7 +690,7 @@ class TestMachinesDisks(VirtualMachinesC
|
||
|
# Check volume was added to pool's volume list
|
||
|
if self.mode == "create-new":
|
||
|
self.test_obj.goToMainPage()
|
||
|
- b.click(".pf-c-card .pf-c-card__header button:contains(Storage pool)")
|
||
|
+ b.click(".pf-v5-c-card .pf-v5-c-card__header button:contains(Storage pool)")
|
||
|
|
||
|
self.test_obj.waitPoolRow(self.pool_name)
|
||
|
self.test_obj.togglePoolRow(self.pool_name)
|
||
|
@@ -846,7 +846,7 @@ class TestMachinesDisks(VirtualMachinesC
|
||
|
volume_size_unit='MiB',
|
||
|
expected_target=get_next_free_target(used_targets)[-1],
|
||
|
pixel_test_tag='vm-add-disk-modal-nfs',
|
||
|
- pixel_test_ignore='.pf-c-modal-box__footer', # FIXME: The buttons size seems to change undeterministically
|
||
|
+ pixel_test_ignore='.pf-v5-c-modal-box__footer', # FIXME: The buttons size seems to change undeterministically
|
||
|
).execute()
|
||
|
|
||
|
self.VMAddDiskDialog(
|
||
|
@@ -905,7 +905,7 @@ class TestMachinesDisks(VirtualMachinesC
|
||
|
volume_size_unit='MiB',
|
||
|
expected_target=get_next_free_target(used_targets)[-1],
|
||
|
pixel_test_tag='vm-add-disk-modal-disk-pool',
|
||
|
- pixel_test_ignore='.pf-c-modal-box__footer', # FIXME: The buttons size seems to change undeterministically
|
||
|
+ pixel_test_ignore='.pf-v5-c-modal-box__footer', # FIXME: The buttons size seems to change undeterministically
|
||
|
).execute()
|
||
|
|
||
|
self.VMAddDiskDialog(
|
||
|
@@ -1164,7 +1164,7 @@ class TestMachinesDisks(VirtualMachinesC
|
||
|
xfail_error_message='Importing an image with a backing file is unsupported',
|
||
|
).execute()
|
||
|
# Image can't be added, close dialog
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Cancel)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Cancel)")
|
||
|
|
||
|
# non iso file
|
||
|
self.VMAddDiskDialog(
|
||
|
@@ -1204,7 +1204,7 @@ class TestMachinesDisks(VirtualMachinesC
|
||
|
self,
|
||
|
mode='custom-path'
|
||
|
).open()
|
||
|
- b.click(f"{prefix}-file .pf-c-select__toggle-button")
|
||
|
+ b.click(f"{prefix}-file .pf-v5-c-select__toggle-button")
|
||
|
b.wait_visible(f"{prefix}-file-autocomplete")
|
||
|
b.key_press(chr(40), use_ord=True)
|
||
|
b.focus(f"{prefix}-file-autocomplete li:first-child")
|
||
|
@@ -1240,7 +1240,7 @@ class TestMachinesDisks(VirtualMachinesC
|
||
|
b.click(prefix)
|
||
|
b.click(f"{prefix}-custompath")
|
||
|
b.select_from_dropdown(f"{prefix}-select-device", "disk")
|
||
|
- b.click("div.pf-c-modal-box button:contains(Show additional options)")
|
||
|
+ b.click("div.pf-v5-c-modal-box button:contains(Show additional options)")
|
||
|
b.wait_visible(f"{prefix}-bus-type[data-value=ide]")
|
||
|
|
||
|
def testAddDiskAdditionalOptions(self):
|
||
|
@@ -1436,12 +1436,12 @@ class TestMachinesDisks(VirtualMachinesC
|
||
|
b.click("#vm-subVmTest1-disks-vdc-action-kebab button")
|
||
|
b.wait_visible("#delete-vm-subVmTest1-disks-vdc")
|
||
|
b.click("#delete-vm-subVmTest1-disks-vdc")
|
||
|
- b.wait_visible(".pf-c-modal-box")
|
||
|
- b.wait_in_text(".pf-c-modal-box__body .pf-c-description-list", "subVmTest1")
|
||
|
+ b.wait_visible(".pf-v5-c-modal-box")
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box__body .pf-v5-c-description-list", "subVmTest1")
|
||
|
b.wait_in_text("#delete-resource-modal-target", "vdc")
|
||
|
b.wait_in_text("#delete-resource-modal-file", vdc_path)
|
||
|
b.click("#delete-resource-modal-primary")
|
||
|
- b.wait_not_present(".pf-c-modal-box")
|
||
|
+ b.wait_not_present(".pf-v5-c-modal-box")
|
||
|
# Wait for underlying VM's OS to detach the disk
|
||
|
wait(lambda: "vdc" not in m.execute("virsh domblklist subVmTest1"), delay=1)
|
||
|
b.wait_not_present("#vm-subVmTest1-disks-vdc-device")
|
||
|
@@ -1458,10 +1458,10 @@ class TestMachinesDisks(VirtualMachinesC
|
||
|
b.click("#delete-vm-subVmTest1-disks-vdd")
|
||
|
b.wait_in_text("#delete-resource-modal-target", "vdd")
|
||
|
b.wait_in_text("#delete-resource-modal-file", vdd_path)
|
||
|
- b.wait_visible(".pf-c-modal-box")
|
||
|
+ b.wait_visible(".pf-v5-c-modal-box")
|
||
|
b.click("#delete-resource-modal-primary")
|
||
|
b.wait_not_present("#vm-subVmTest1-disks-vdd-device")
|
||
|
- b.wait_not_present(".pf-c-modal-box")
|
||
|
+ b.wait_not_present(".pf-v5-c-modal-box")
|
||
|
|
||
|
# Test detaching several disks and the deletion dialog can be closed correctly
|
||
|
m.execute("virsh vol-create-as myPoolOne diskVirtio --capacity 1M --format qcow2")
|
||
|
@@ -1523,12 +1523,12 @@ class TestMachinesDisks(VirtualMachinesC
|
||
|
|
||
|
if removeFileFail:
|
||
|
# Check Toast notification is present
|
||
|
- b.wait_visible(".pf-c-alert.pf-m-warning")
|
||
|
- b.wait_in_text(".pf-c-alert.pf-m-warning .pf-c-alert__title", "Could not delete")
|
||
|
+ b.wait_visible(".pf-v5-c-alert.pf-m-warning")
|
||
|
+ b.wait_in_text(".pf-v5-c-alert.pf-m-warning .pf-v5-c-alert__title", "Could not delete")
|
||
|
# Cleanup Toast notification
|
||
|
- b.click(".pf-c-alert-group li:first-of-type .pf-c-alert button.pf-m-plain")
|
||
|
+ b.click(".pf-v5-c-alert-group li:first-of-type .pf-v5-c-alert button.pf-m-plain")
|
||
|
|
||
|
- b.wait_not_present(".pf-c-alert.pf-m-warning")
|
||
|
+ b.wait_not_present(".pf-v5-c-alert.pf-m-warning")
|
||
|
|
||
|
# Verify correctness of disk file
|
||
|
if path:
|
||
|
@@ -1569,9 +1569,9 @@ class TestMachinesDisks(VirtualMachinesC
|
||
|
b.click("#vm-subVmTest1-disks-vdc-action-kebab button")
|
||
|
b.wait_visible("#vm-subVmTest1-disks-vdc-device")
|
||
|
b.click("#delete-vm-subVmTest1-disks-vdc")
|
||
|
- b.wait_visible(".pf-c-modal-box")
|
||
|
+ b.wait_visible(".pf-v5-c-modal-box")
|
||
|
b.click("#delete-resource-modal-primary")
|
||
|
- b.wait_not_present(".pf-c-modal-box")
|
||
|
+ b.wait_not_present(".pf-v5-c-modal-box")
|
||
|
wait(lambda: "vdc" not in m.execute("virsh domblklist subVmTest1"), delay=1)
|
||
|
b.wait_not_present("#vm-subVmTest1-disks-vdc-device")
|
||
|
|
||
|
Index: cockpit-machines-292/test/check-machines-filesystems
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/test/check-machines-filesystems
|
||
|
+++ cockpit-machines-292/test/check-machines-filesystems
|
||
|
@@ -65,7 +65,7 @@ class TestMachinesFilesystems(VirtualMac
|
||
|
b.click("#vm-subVmTest1-filesystems-add")
|
||
|
b.set_file_autocomplete_val("#vm-subVmTest1-filesystems-modal-source-group", "/tmp/dir1/")
|
||
|
b.set_input_text("#vm-subVmTest1-filesystems-modal-mountTag", "dir1")
|
||
|
- b.click(".pf-c-expandable-section__toggle")
|
||
|
+ b.click(".pf-v5-c-expandable-section__toggle")
|
||
|
b.wait_visible("#vm-subVmTest1-filesystems-modal-xattr:not(:checked)")
|
||
|
b.set_checked("#vm-subVmTest1-filesystems-modal-xattr", True)
|
||
|
|
||
|
@@ -87,7 +87,7 @@ class TestMachinesFilesystems(VirtualMac
|
||
|
b.click("#vm-subVmTest1-filesystems-add")
|
||
|
b.set_file_autocomplete_val("#vm-subVmTest1-filesystems-modal-source-group", "/tmp/dir2/")
|
||
|
b.set_input_text("#vm-subVmTest1-filesystems-modal-mountTag", "dir2")
|
||
|
- b.click(".pf-c-expandable-section__toggle")
|
||
|
+ b.click(".pf-v5-c-expandable-section__toggle")
|
||
|
b.set_checked("#vm-subVmTest1-filesystems-modal-xattr", False)
|
||
|
|
||
|
b.click("#vm-subVmTest1-filesystems-modal-add")
|
||
|
@@ -106,8 +106,8 @@ class TestMachinesFilesystems(VirtualMac
|
||
|
b.set_input_text("#vm-subVmTest1-filesystems-modal-mountTag", "dir1")
|
||
|
b.click("#vm-subVmTest1-filesystems-modal-add")
|
||
|
if m.image not in ['debian-stable']:
|
||
|
- b.wait_in_text(".pf-c-alert", "Failed to add shared directory")
|
||
|
- b.wait_in_text(".pf-c-alert", "filesystem target 'dir1' specified twice")
|
||
|
+ b.wait_in_text(".pf-v5-c-alert", "Failed to add shared directory")
|
||
|
+ b.wait_in_text(".pf-v5-c-alert", "filesystem target 'dir1' specified twice")
|
||
|
b.click("#vm-subVmTest1-filesystems-modal-cancel")
|
||
|
else:
|
||
|
# Due to a libvirt < 7.5.0 bug this will be actually added without an error:
|
||
|
@@ -140,7 +140,7 @@ class TestMachinesFilesystems(VirtualMac
|
||
|
m.execute("virt-xml subVmTest1 --add-device --filesystem source=/tmp/dir1/,target=dir1")
|
||
|
b.wait_visible("tr[data-row-id='vm-subVmTest1-filesystem-/tmp/dir1/-dir1']")
|
||
|
b.click("tr[data-row-id='vm-subVmTest1-filesystem-/tmp/dir1/-dir1'] button:contains(Remove)")
|
||
|
- b.wait_in_text(".pf-c-modal-box__body .pf-c-description-list", "removed from subVmTest1")
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box__body .pf-v5-c-description-list", "removed from subVmTest1")
|
||
|
b.wait_in_text("#delete-resource-modal-source-path", "/tmp/dir1/")
|
||
|
b.wait_in_text("#delete-resource-modal-mount-tag", "dir1")
|
||
|
|
||
|
Index: cockpit-machines-292/test/check-machines-hostdevs
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/test/check-machines-hostdevs
|
||
|
+++ cockpit-machines-292/test/check-machines-hostdevs
|
||
|
@@ -54,7 +54,7 @@ class TestMachinesHostDevs(VirtualMachin
|
||
|
|
||
|
self.goToVmPage("subVmTest1")
|
||
|
|
||
|
- b.wait_in_text("#vm-subVmTest1-hostdevs .pf-c-empty-state__body", "No host devices assigned to this VM")
|
||
|
+ b.wait_in_text("#vm-subVmTest1-hostdevs .pf-v5-c-empty-state__body", "No host devices assigned to this VM")
|
||
|
|
||
|
# Test hot plug of USB host device
|
||
|
# A usb device might not always be present
|
||
|
@@ -161,28 +161,28 @@ class TestMachinesHostDevs(VirtualMachin
|
||
|
def open(self):
|
||
|
b.wait_not_present(f"#vm-subVmTest1-hostdev-{self.vm_dev_id}-product")
|
||
|
b.click("button#vm-subVmTest1-hostdevs-add")
|
||
|
- b.wait_in_text(".pf-c-modal-box .pf-c-modal-box__header .pf-c-modal-box__title", "Add host device")
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box .pf-v5-c-modal-box__header .pf-v5-c-modal-box__title", "Add host device")
|
||
|
if connectionName != "session":
|
||
|
- b.assert_pixels(".pf-c-modal-box", "vm-hostdevs-add-dialog", skip_layouts=["rtl"])
|
||
|
+ b.assert_pixels(".pf-v5-c-modal-box", "vm-hostdevs-add-dialog", skip_layouts=["rtl"])
|
||
|
|
||
|
def fill(self):
|
||
|
b.click(f"input#{self.dev_type}")
|
||
|
- b.set_checked(f".pf-c-table input[name='checkrow{self.dev_id}']", True)
|
||
|
+ b.set_checked(f".pf-v5-c-table input[name='checkrow{self.dev_id}']", True)
|
||
|
self._model = b.text(f"#vm-subVmTest1-hostdevs-dialog table tbody tr:nth-child({self.dev_id + 1}) td:nth-child(2)")
|
||
|
self._vendor = b.text(f"#vm-subVmTest1-hostdevs-dialog table tbody tr:nth-child({self.dev_id + 1}) td:nth-child(3)")
|
||
|
if self.dev_type == "pci":
|
||
|
self._slot = b.text(f"#vm-subVmTest1-hostdevs-dialog table tbody tr:nth-child({self.dev_id + 1}) td:nth-child(4) dd")
|
||
|
|
||
|
def cancel(self):
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Cancel)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Cancel)")
|
||
|
b.wait_not_present("#vm-subVmTest1-hostdevs-dialog")
|
||
|
|
||
|
def add(self):
|
||
|
self.run_admin(f"virsh -c qemu:///{connectionName} dumpxml subVmTest1 > /tmp/vmdir/vmxml1", connectionName)
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Add)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Add)")
|
||
|
if self.fail_message:
|
||
|
- b.wait_in_text(".pf-c-modal-box__body .pf-c-alert__title", self.fail_message)
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Cancel)")
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box__body .pf-v5-c-alert__title", self.fail_message)
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Cancel)")
|
||
|
b.wait_not_present("#vm-subVmTest1-hostdevs-dialog")
|
||
|
|
||
|
def verify(self):
|
||
|
@@ -227,12 +227,12 @@ class TestMachinesHostDevs(VirtualMachin
|
||
|
|
||
|
def remove(self):
|
||
|
b.click(f"#delete-vm-subVmTest1-hostdev-{self.vm_dev_id}")
|
||
|
- b.wait_in_text(".pf-c-modal-box__body .pf-c-description-list", "subVmTest1")
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box__body .pf-v5-c-description-list", "subVmTest1")
|
||
|
if (self._model != "(Undefined)"):
|
||
|
b.wait_in_text("#delete-resource-modal-product", self._model)
|
||
|
b.wait_in_text("#delete-resource-modal-vendor", self._vendor)
|
||
|
|
||
|
- b.click('.pf-c-modal-box__footer button:contains("Remove")')
|
||
|
+ b.click('.pf-v5-c-modal-box__footer button:contains("Remove")')
|
||
|
b.wait_not_present(f"#vm-subVmTest1-hostdev-{self.vm_dev_id}-product")
|
||
|
|
||
|
# Check the error if selecting no devices when the VM is running
|
||
|
@@ -285,13 +285,13 @@ class TestMachinesHostDevs(VirtualMachin
|
||
|
b.wait_not_present("#vm-subVmTest1-hostdev-1-product")
|
||
|
|
||
|
b.click("button#vm-subVmTest1-hostdevs-add")
|
||
|
- b.wait_in_text(".pf-c-modal-box .pf-c-modal-box__header .pf-c-modal-box__title", "Add host device")
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box .pf-v5-c-modal-box__header .pf-v5-c-modal-box__title", "Add host device")
|
||
|
b.click("input#pci")
|
||
|
|
||
|
- b.set_checked(".pf-c-table input[name='checkrow0']", True)
|
||
|
+ b.set_checked(".pf-v5-c-table input[name='checkrow0']", True)
|
||
|
slot1 = b.text("#vm-subVmTest1-hostdevs-dialog table tbody tr:nth-child(1) td:nth-child(4) dd")
|
||
|
|
||
|
- b.set_checked(".pf-c-table input[name='checkrow1']", True)
|
||
|
+ b.set_checked(".pf-v5-c-table input[name='checkrow1']", True)
|
||
|
slot2 = b.text("#vm-subVmTest1-hostdevs-dialog table tbody tr:nth-child(2) td:nth-child(4) dd")
|
||
|
|
||
|
# PCI devies will be sorted in the UI by slot
|
||
|
@@ -299,7 +299,7 @@ class TestMachinesHostDevs(VirtualMachin
|
||
|
(slot1, slot2) = (slot2, slot1)
|
||
|
|
||
|
self.run_admin(f"virsh -c qemu:///{connectionName} dumpxml subVmTest1 > /tmp/vmdir/vmxml1", connectionName)
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Add)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Add)")
|
||
|
b.wait_not_present("#vm-subVmTest1-hostdevs-dialog")
|
||
|
|
||
|
b.wait_visible("#vm-subVmTest1-hostdev-1-product")
|
||
|
Index: cockpit-machines-292/test/check-machines-lifecycle
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/test/check-machines-lifecycle
|
||
|
+++ cockpit-machines-292/test/check-machines-lifecycle
|
||
|
@@ -84,7 +84,7 @@ class TestMachinesLifecycle(VirtualMachi
|
||
|
|
||
|
if expect_empty_list:
|
||
|
with b.wait_timeout(20):
|
||
|
- b.wait_in_text("#virtual-machines-listing .pf-c-empty-state", "No VM is running")
|
||
|
+ b.wait_in_text("#virtual-machines-listing .pf-v5-c-empty-state", "No VM is running")
|
||
|
return
|
||
|
self.waitPageInit()
|
||
|
self.waitVmRow("subVmTest1")
|
||
|
@@ -108,7 +108,7 @@ class TestMachinesLifecycle(VirtualMachi
|
||
|
m.execute("virt-xml subVmTest1 --edit --watchdog action=pause")
|
||
|
b.wait_visible("#vm-subVmTest1-needs-shutdown")
|
||
|
b.click("#vm-subVmTest1-needs-shutdown")
|
||
|
- b.wait_in_text(".pf-c-popover__body", message)
|
||
|
+ b.wait_in_text(".pf-v5-c-popover__body", message)
|
||
|
m.execute("virt-xml subVmTest1 --remove-device --watchdog 1 --update")
|
||
|
|
||
|
checkConnectionDescription("#import-existing-vm", "Ideal for server VMs")
|
||
|
@@ -121,8 +121,8 @@ class TestMachinesLifecycle(VirtualMachi
|
||
|
b.assert_pixels("#vm-details", "vm-details", ignore=[
|
||
|
".memory-usage-chart",
|
||
|
".vcpu-usage-chart",
|
||
|
- "#vm-subVmTest1-disks .pf-c-card__body",
|
||
|
- "#vm-subVmTest1-networks .pf-c-card__body"
|
||
|
+ "#vm-subVmTest1-disks .pf-v5-c-card__body",
|
||
|
+ "#vm-subVmTest1-networks .pf-v5-c-card__body"
|
||
|
])
|
||
|
b.wait_in_text("#vm-subVmTest1-cpu", "1 vCPU")
|
||
|
|
||
|
@@ -132,13 +132,13 @@ class TestMachinesLifecycle(VirtualMachi
|
||
|
|
||
|
# switch to and check Usage
|
||
|
b.click("#vm-subVmTest1-usage")
|
||
|
- b.wait_in_text(".memory-usage-chart .pf-c-progress__status > .pf-c-progress__measure", "128 MiB")
|
||
|
- b.wait_not_in_text(".memory-usage-chart .pf-c-progress__status > .pf-c-progress__measure", "0 /")
|
||
|
- usage = b.text(".memory-usage-chart .pf-c-progress__status > .pf-c-progress__measure").split("/ 128 MiB")[0]
|
||
|
+ b.wait_in_text(".memory-usage-chart .pf-v5-c-progress__status > .pf-v5-c-progress__measure", "128 MiB")
|
||
|
+ b.wait_not_in_text(".memory-usage-chart .pf-v5-c-progress__status > .pf-v5-c-progress__measure", "0 /")
|
||
|
+ usage = b.text(".memory-usage-chart .pf-v5-c-progress__status > .pf-v5-c-progress__measure").split("/ 128 MiB")[0]
|
||
|
wait(lambda: float(usage) > 0.0, delay=3)
|
||
|
|
||
|
- b.wait_in_text(".vcpu-usage-chart .pf-c-progress__status > .pf-c-progress__measure", "1 vCPU")
|
||
|
- usage = b.text(".vcpu-usage-chart .pf-c-progress__status > .pf-c-progress__measure").split("% of 1 vCPU")[0]
|
||
|
+ b.wait_in_text(".vcpu-usage-chart .pf-v5-c-progress__status > .pf-v5-c-progress__measure", "1 vCPU")
|
||
|
+ usage = b.text(".vcpu-usage-chart .pf-v5-c-progress__status > .pf-v5-c-progress__measure").split("% of 1 vCPU")[0]
|
||
|
# CPU usage cannot be nonzero with blank image, so just ensure it's a percentage
|
||
|
wait(lambda: float(usage) <= 100.0, delay=3)
|
||
|
|
||
|
@@ -199,15 +199,15 @@ class TestMachinesLifecycle(VirtualMachi
|
||
|
self.performAction("subVmTest1", "forceOff")
|
||
|
|
||
|
# continue shut off validation - usage should drop to zero
|
||
|
- b.wait_in_text(".memory-usage-chart .pf-c-progress__status > .pf-c-progress__measure", "0 /")
|
||
|
- b.wait_in_text(".vcpu-usage-chart .pf-c-progress__status > .pf-c-progress__measure", "0%")
|
||
|
+ b.wait_in_text(".memory-usage-chart .pf-v5-c-progress__status > .pf-v5-c-progress__measure", "0 /")
|
||
|
+ b.wait_in_text(".vcpu-usage-chart .pf-v5-c-progress__status > .pf-v5-c-progress__measure", "0%")
|
||
|
|
||
|
# shut off of a transient VM will redirect us to the main page
|
||
|
m.execute("virsh dumpxml subVmTest1 > /tmp/subVmTest1.xml")
|
||
|
m.execute("virsh start {0}; virsh undefine {0}".format("subVmTest1"))
|
||
|
b.wait_visible("div[data-vm-transient=\"true\"]")
|
||
|
self.performAction("subVmTest1", "forceOff", checkExpectedState=False)
|
||
|
- b.wait_in_text("#virtual-machines-listing .pf-c-empty-state", "No VM is running")
|
||
|
+ b.wait_in_text("#virtual-machines-listing .pf-v5-c-empty-state", "No VM is running")
|
||
|
m.execute("virsh define --file /tmp/subVmTest1.xml")
|
||
|
|
||
|
# start another one, should appear automatically
|
||
|
@@ -269,13 +269,13 @@ class TestMachinesLifecycle(VirtualMachi
|
||
|
# Try to run subVmTest1 - it will fail because of inactive default network
|
||
|
tryRunDomain(1, 'subVmTest1', 'system')
|
||
|
b.click('#vm-subVmTest1-system-state button:contains("view more")')
|
||
|
- b.wait_in_text(".pf-c-popover", "VM subVmTest1 failed to start")
|
||
|
+ b.wait_in_text(".pf-v5-c-popover", "VM subVmTest1 failed to start")
|
||
|
b.click('#vm-subVmTest1-system-state button[aria-label=Close]')
|
||
|
|
||
|
# Try to run subVmTest2
|
||
|
tryRunDomain(2, 'subVmTest2', 'system')
|
||
|
b.click('#vm-subVmTest2-system-state button:contains("view more")')
|
||
|
- b.wait_in_text(".pf-c-popover", "VM subVmTest2 failed to start")
|
||
|
+ b.wait_in_text(".pf-v5-c-popover", "VM subVmTest2 failed to start")
|
||
|
b.click('#vm-subVmTest2-system-state button[aria-label=Close]')
|
||
|
|
||
|
def testCloneSessionConnection(self):
|
||
|
@@ -296,9 +296,9 @@ class TestMachinesLifecycle(VirtualMachi
|
||
|
|
||
|
self.performAction("subVmTest1", "clone", connectionName=connectionName)
|
||
|
|
||
|
- b.wait_text(".pf-c-modal-box__title-text", "Create a clone VM based on subVmTest1")
|
||
|
+ b.wait_text(".pf-v5-c-modal-box__title-text", "Create a clone VM based on subVmTest1")
|
||
|
b.click("footer button.pf-m-primary")
|
||
|
- b.wait_not_present(".pf-c-modal-box")
|
||
|
+ b.wait_not_present(".pf-v5-c-modal-box")
|
||
|
self.waitVmRow("subVmTest1-clone", connectionName=connectionName)
|
||
|
|
||
|
def testRename(self):
|
||
|
@@ -322,7 +322,7 @@ class TestMachinesLifecycle(VirtualMachi
|
||
|
|
||
|
b.set_input_text("#rename-dialog-new-name", "new")
|
||
|
b.click("#rename-dialog-confirm")
|
||
|
- b.wait_in_text(".pf-c-modal-box__body .pf-c-alert.pf-m-danger", "Can't rename domain to itself")
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box__body .pf-v5-c-alert.pf-m-danger", "Can't rename domain to itself")
|
||
|
|
||
|
self.goToVmPage("new")
|
||
|
self.performAction("new", "rename")
|
||
|
@@ -378,7 +378,7 @@ class TestMachinesLifecycle(VirtualMachi
|
||
|
|
||
|
self.performAction(name, "delete")
|
||
|
|
||
|
- b.wait_visible(f"#vm-{name}-delete-modal-dialog .pf-c-modal-box__body:contains(The VM {name} is running)")
|
||
|
+ b.wait_visible(f"#vm-{name}-delete-modal-dialog .pf-v5-c-modal-box__body:contains(The VM {name} is running)")
|
||
|
b.wait_visible(f"#vm-{name}-delete-modal-dialog ul li:first-child .disk-source-file:contains({img2})")
|
||
|
# virsh attach-disk does not create disks of type volume
|
||
|
b.wait_visible(f"#vm-{name}-delete-modal-dialog .disk-source-volume:contains({secondDiskVolName})")
|
||
|
@@ -455,7 +455,7 @@ class TestMachinesLifecycle(VirtualMachi
|
||
|
b.wait_visible(f"#vm-{name}-delete-modal-dialog")
|
||
|
m.execute(f"virsh snapshot-delete --domain {name} --snapshotname snapshotFails")
|
||
|
b.click(f"#vm-{name}-delete-modal-dialog button:contains(Delete)")
|
||
|
- b.wait_in_text(f"#vm-{name}-delete-modal-dialog .pf-c-alert__description", "Domain snapshot not found")
|
||
|
+ b.wait_in_text(f"#vm-{name}-delete-modal-dialog .pf-v5-c-alert__description", "Domain snapshot not found")
|
||
|
b.click(f"#vm-{name}-delete-modal-dialog button:contains(Cancel)")
|
||
|
m.execute(f"virsh undefine {name}")
|
||
|
|
||
|
@@ -505,13 +505,13 @@ class TestMachinesLifecycle(VirtualMachi
|
||
|
# Check VM got deleted, but there is a warning about unsuccessful storage deletion
|
||
|
self.waitVmRow(name, present=False)
|
||
|
wait(lambda: name not in m.execute("virsh list --all --name"))
|
||
|
- b.wait_visible(".pf-c-alert-group li .pf-c-alert")
|
||
|
- b.wait_in_text(".pf-c-alert-group li .pf-c-alert .pf-c-alert__title", f"Could not delete all storage for {name}")
|
||
|
+ b.wait_visible(".pf-v5-c-alert-group li .pf-v5-c-alert")
|
||
|
+ b.wait_in_text(".pf-v5-c-alert-group li .pf-v5-c-alert .pf-v5-c-alert__title", f"Could not delete all storage for {name}")
|
||
|
b.click("button.alert-link.more-button")
|
||
|
- b.wait_in_text(".pf-c-alert-group li .pf-c-alert .pf-c-alert__description", args['image'])
|
||
|
- b.wait_in_text(".pf-c-alert-group li .pf-c-alert .pf-c-alert__description", secondDiskVolName)
|
||
|
+ b.wait_in_text(".pf-v5-c-alert-group li .pf-v5-c-alert .pf-v5-c-alert__description", args['image'])
|
||
|
+ b.wait_in_text(".pf-v5-c-alert-group li .pf-v5-c-alert .pf-v5-c-alert__description", secondDiskVolName)
|
||
|
# Close the notification
|
||
|
- b.click(".pf-c-alert-group li .pf-c-alert button.pf-m-plain")
|
||
|
+ b.click(".pf-v5-c-alert-group li .pf-v5-c-alert button.pf-m-plain")
|
||
|
|
||
|
# Delete a shut-off guest and verify the storage was removed
|
||
|
name = "vm-shutoff"
|
||
|
Index: cockpit-machines-292/test/check-machines-migrate
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/test/check-machines-migrate
|
||
|
+++ cockpit-machines-292/test/check-machines-migrate
|
||
|
@@ -190,7 +190,7 @@ class TestMachinesMigration(VirtualMachi
|
||
|
b.click("#migrate-button")
|
||
|
if fail:
|
||
|
with b.wait_timeout(120):
|
||
|
- b.wait_visible(".pf-c-modal-box__body .pf-c-alert .pf-c-alert__title:contains('Migration failed')")
|
||
|
+ b.wait_visible(".pf-v5-c-modal-box__body .pf-v5-c-alert .pf-v5-c-alert__title:contains('Migration failed')")
|
||
|
|
||
|
if fail == "libvirtd":
|
||
|
machine2.execute(f"systemctl start {self.getLibvirtServiceName()}.service")
|
||
|
Index: cockpit-machines-292/test/check-machines-networks
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/test/check-machines-networks
|
||
|
+++ cockpit-machines-292/test/check-machines-networks
|
||
|
@@ -65,7 +65,7 @@ class TestMachinesNetworks(VirtualMachin
|
||
|
m.execute(f"echo \"{TEST_NETWORK4_XML}\" > /tmp/xml; virsh net-create /tmp/xml")
|
||
|
|
||
|
# Click on Networks card
|
||
|
- b.click(".pf-c-card .pf-c-card__header button:contains(Networks)")
|
||
|
+ b.click(".pf-v5-c-card .pf-v5-c-card__header button:contains(Networks)")
|
||
|
|
||
|
# Check that all networks are there
|
||
|
b.wait_in_text("body", "Networks")
|
||
|
@@ -127,8 +127,8 @@ class TestMachinesNetworks(VirtualMachin
|
||
|
self.waitPageInit()
|
||
|
|
||
|
# Click on Networks card
|
||
|
- b.wait_in_text("#card-pf-networks .pf-c-card__header button", "Network")
|
||
|
- b.click(".pf-c-card .pf-c-card__header button:contains(Network)")
|
||
|
+ b.wait_in_text("#card-pf-networks .pf-v5-c-card__header button", "Network")
|
||
|
+ b.click(".pf-v5-c-card .pf-v5-c-card__header button:contains(Network)")
|
||
|
|
||
|
class NetworkCreateDialog(object):
|
||
|
def __init__(
|
||
|
@@ -168,7 +168,7 @@ class TestMachinesNetworks(VirtualMachin
|
||
|
def open(self):
|
||
|
b.click("#create-network")
|
||
|
b.wait_visible("#create-network-dialog")
|
||
|
- b.wait_in_text(".pf-c-modal-box .pf-c-modal-box__header .pf-c-modal-box__title", "Create virtual network")
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box .pf-v5-c-modal-box__header .pf-v5-c-modal-box__title", "Create virtual network")
|
||
|
|
||
|
def fill(self):
|
||
|
b.set_input_text("#create-network-name", self.name)
|
||
|
@@ -199,22 +199,22 @@ class TestMachinesNetworks(VirtualMachin
|
||
|
b.set_input_text("#create-network-ipv6-dhcp-range-end", self.ipv6_dhcp_end)
|
||
|
|
||
|
def cancel(self):
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Cancel)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Cancel)")
|
||
|
b.wait_not_present("#create-network-dialog")
|
||
|
|
||
|
def create(self):
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Create)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Create)")
|
||
|
|
||
|
if (self.xfail):
|
||
|
# Check incomplete dialog
|
||
|
if "body" in self.xfail_objects:
|
||
|
- error_location = "#create-network-dialog .pf-c-modal-box__body .pf-m-danger"
|
||
|
+ error_location = "#create-network-dialog .pf-v5-c-modal-box__body .pf-m-danger"
|
||
|
b.wait_visible(error_location)
|
||
|
error_message = b.text(error_location)
|
||
|
self.test_obj.assertIn(self.xfail_error, error_message)
|
||
|
else:
|
||
|
for xfo in self.xfail_objects:
|
||
|
- b.wait_in_text(f"#create-network-dialog .pf-c-modal-box__body #create-network-{xfo} + .pf-c-form__helper-text .pf-m-error", self.xfail_error)
|
||
|
+ b.wait_in_text(f"#create-network-dialog .pf-v5-c-modal-box__body #create-network-{xfo} + .pf-v5-c-form__helper-text .pf-m-error", self.xfail_error)
|
||
|
|
||
|
self.cancel()
|
||
|
else:
|
||
|
@@ -222,7 +222,7 @@ class TestMachinesNetworks(VirtualMachin
|
||
|
|
||
|
def verify_expected_error_on_head(self, error_message):
|
||
|
b.click(f'#network-{self.name}-system-state button:contains("view more")')
|
||
|
- b.wait_in_text(".pf-c-popover", error_message)
|
||
|
+ b.wait_in_text(".pf-v5-c-popover", error_message)
|
||
|
b.click(f'#network-{self.name}-system-state button[aria-label=Close]')
|
||
|
|
||
|
def verify_dialog(self):
|
||
|
@@ -650,7 +650,7 @@ class TestMachinesNetworks(VirtualMachin
|
||
|
b.wait_val("#vm-subVmTest1-network-1-edit-dialog-type", "bridge")
|
||
|
b.select_from_dropdown("#vm-subVmTest1-network-1-edit-dialog-type", "network")
|
||
|
b.wait_visible("#vm-subVmTest1-network-1-edit-dialog-save:disabled")
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Cancel)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Cancel)")
|
||
|
|
||
|
# Ensure that when the source of a NIC was removed we can still change it
|
||
|
|
||
|
@@ -691,8 +691,8 @@ class TestMachinesNetworks(VirtualMachin
|
||
|
self.waitPageInit()
|
||
|
|
||
|
# Click on Networks card
|
||
|
- b.wait_in_text("#card-pf-networks .pf-c-card__header button", "Network")
|
||
|
- b.click(".pf-c-card .pf-c-card__header button:contains(Network)")
|
||
|
+ b.wait_in_text("#card-pf-networks .pf-v5-c-card__header button", "Network")
|
||
|
+ b.click(".pf-v5-c-card .pf-v5-c-card__header button:contains(Network)")
|
||
|
|
||
|
# Check that all networks are there
|
||
|
b.wait_in_text("body", "Networks")
|
||
|
@@ -738,7 +738,7 @@ class TestMachinesNetworks(VirtualMachin
|
||
|
self.waitPageInit()
|
||
|
|
||
|
# Click on Networks card
|
||
|
- b.click(".pf-c-card .pf-c-card__header button:contains(Network)")
|
||
|
+ b.click(".pf-v5-c-card .pf-v5-c-card__header button:contains(Network)")
|
||
|
|
||
|
# Check that all networks are there
|
||
|
b.wait_in_text("body", "Networks")
|
||
|
@@ -777,8 +777,8 @@ class TestMachinesNetworks(VirtualMachin
|
||
|
# Delete an inactive network
|
||
|
b.click(f"#network-test_network2-{connectionName}-action-kebab button")
|
||
|
b.click(f'#delete-network-test_network2-{connectionName}')
|
||
|
- b.wait_in_text(".pf-c-modal-box__body .pf-c-description-list", "test_network2")
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Delete)")
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box__body .pf-v5-c-description-list", "test_network2")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Delete)")
|
||
|
self.waitNetworkRow("test_network2", connectionName, False)
|
||
|
|
||
|
# Delete an active network
|
||
|
@@ -788,8 +788,8 @@ class TestMachinesNetworks(VirtualMachin
|
||
|
self.toggleNetworkRow("test_network2", connectionName)
|
||
|
b.click(f"#network-test_network2-{connectionName}-action-kebab button")
|
||
|
b.click(f'#delete-network-test_network2-{connectionName}')
|
||
|
- b.wait_in_text(".pf-c-modal-box__body .pf-c-description-list", "test_network2")
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Delete)")
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box__body .pf-v5-c-description-list", "test_network2")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Delete)")
|
||
|
self.waitNetworkRow("test_network2", connectionName, False)
|
||
|
|
||
|
def testNetworkAddStaticDCHPHosts(self):
|
||
|
@@ -821,26 +821,26 @@ class TestMachinesNetworks(VirtualMachin
|
||
|
def open(self):
|
||
|
b.click(f"#network-{self.network_name}-{self.connection_name}-static-host-entries-add")
|
||
|
b.wait_visible("#add-new-static-entry-mac-address")
|
||
|
- b.wait_in_text(".pf-c-modal-box .pf-c-modal-box__header .pf-c-modal-box__title", "Add a DHCP static host entry")
|
||
|
- b.wait_in_text("div.pf-c-modal-box__body label[for=add-new-static-entry-mac-address]", "MAC address")
|
||
|
- b.wait_in_text("div.pf-c-modal-box__body label[for=add-new-static-entry-ip-address]", "IP address")
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box .pf-v5-c-modal-box__header .pf-v5-c-modal-box__title", "Add a DHCP static host entry")
|
||
|
+ b.wait_in_text("div.pf-v5-c-modal-box__body label[for=add-new-static-entry-mac-address]", "MAC address")
|
||
|
+ b.wait_in_text("div.pf-v5-c-modal-box__body label[for=add-new-static-entry-ip-address]", "IP address")
|
||
|
|
||
|
def fill(self):
|
||
|
b.set_input_text("#add-new-static-entry-mac-address", self.mac)
|
||
|
b.set_input_text("#add-new-static-entry-ip-address", self.ip)
|
||
|
|
||
|
def cancel(self):
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Cancel)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Cancel)")
|
||
|
b.wait_not_present("#add-new-static-entry")
|
||
|
|
||
|
def add(self):
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Add)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Add)")
|
||
|
|
||
|
if self.xfail:
|
||
|
# Check incomplete dialog
|
||
|
for k, v in self.xfail.items():
|
||
|
if k == "header":
|
||
|
- b.wait_in_text(".pf-c-modal-box .pf-c-alert.pf-m-danger", v)
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box .pf-v5-c-alert.pf-m-danger", v)
|
||
|
break
|
||
|
else:
|
||
|
b.wait_in_text(k, v)
|
||
|
@@ -869,10 +869,10 @@ class TestMachinesNetworks(VirtualMachin
|
||
|
|
||
|
def cleanup(self):
|
||
|
b.click(f"#delete-network-{self.network_name}-{self.connection_name}-ipv4-dhcp-host-{self.entry_id}-button")
|
||
|
- b.wait_in_text(".pf-c-modal-box__body .pf-c-description-list", self.ip)
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box__body .pf-v5-c-description-list", self.ip)
|
||
|
b.wait_in_text("#delete-resource-modal-ip", self.ip)
|
||
|
b.wait_in_text("#delete-resource-modal-mac", self.mac)
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Remove)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Remove)")
|
||
|
b.wait_not_present(f"#network-{self.network_name}-{self.connection_name}-ipv4-dhcp-host-{self.entry_id}")
|
||
|
|
||
|
b = self.browser
|
||
|
@@ -888,7 +888,7 @@ class TestMachinesNetworks(VirtualMachin
|
||
|
self.waitPageInit()
|
||
|
|
||
|
# Click on Networks card
|
||
|
- b.click(".pf-c-card .pf-c-card__header button:contains(Network)")
|
||
|
+ b.click(".pf-v5-c-card .pf-v5-c-card__header button:contains(Network)")
|
||
|
|
||
|
# Check that all networks are there
|
||
|
b.wait_in_text("body", "Networks")
|
||
|
@@ -940,7 +940,7 @@ class TestMachinesNetworks(VirtualMachin
|
||
|
# An error should be raised if "MAC address" and "IP address" is invaild
|
||
|
b.click("#add-new-static-entry-save")
|
||
|
b.wait_in_text(
|
||
|
- ".pf-m-danger .pf-c-alert__description",
|
||
|
+ ".pf-m-danger .pf-v5-c-alert__description",
|
||
|
"XML error: Cannot parse MAC address")
|
||
|
|
||
|
# Attach basic static DHCP host and try to remove it
|
||
|
Index: cockpit-machines-292/test/check-machines-nics
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/test/check-machines-nics
|
||
|
+++ cockpit-machines-292/test/check-machines-nics
|
||
|
@@ -116,7 +116,7 @@ class TestMachinesNICs(VirtualMachinesCa
|
||
|
b._wait_present("#vm-subVmTest1-add-iface-source option:nth-of-type(2):contains(abridge)")
|
||
|
b._wait_present("#vm-subVmTest1-add-iface-source option:nth-of-type(3):contains(virbr0)")
|
||
|
b._wait_present("#vm-subVmTest1-add-iface-source option:nth-of-type(4):contains(xbridge)")
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Cancel)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Cancel)")
|
||
|
b.wait_not_present("#vm-subVmTest1-add-iface-dialog")
|
||
|
|
||
|
def testNICPlugingAndUnpluging(self):
|
||
|
@@ -601,7 +601,7 @@ class TestMachinesNICs(VirtualMachinesCa
|
||
|
|
||
|
def open(self):
|
||
|
self.browser.click("#vm-subVmTest1-add-iface-button") # open the Network Interfaces subtab
|
||
|
- self.browser.wait_in_text(".pf-c-modal-box .pf-c-modal-box__header .pf-c-modal-box__title", "Add virtual network interface")
|
||
|
+ self.browser.wait_in_text(".pf-v5-c-modal-box .pf-v5-c-modal-box__header .pf-v5-c-modal-box__title", "Add virtual network interface")
|
||
|
|
||
|
def fill(self):
|
||
|
self.browser.select_from_dropdown("#vm-subVmTest1-add-iface-type", self.source_type)
|
||
|
@@ -633,18 +633,18 @@ class TestMachinesNICs(VirtualMachinesCa
|
||
|
self.browser.assert_pixels("#vm-subVmTest1-add-iface-dialog", self.pixel_test_tag, skip_layouts=["rtl"])
|
||
|
|
||
|
def cancel(self):
|
||
|
- self.browser.click(".pf-c-modal-box__footer button:contains(Cancel)")
|
||
|
+ self.browser.click(".pf-v5-c-modal-box__footer button:contains(Cancel)")
|
||
|
self.browser.wait_not_present("#vm-subVmTest1-add-iface-dialog")
|
||
|
|
||
|
def create(self):
|
||
|
- self.browser.click(".pf-c-modal-box__footer button:contains(Add)")
|
||
|
+ self.browser.click(".pf-v5-c-modal-box__footer button:contains(Add)")
|
||
|
|
||
|
if not self.xfail:
|
||
|
with self.browser.wait_timeout(60):
|
||
|
self.browser.wait_not_present("#vm-subVmTest1-add-iface-dialog")
|
||
|
else:
|
||
|
- self.browser.wait_in_text(".pf-c-modal-box__body .pf-c-alert__title", self.xfail_error)
|
||
|
- self.browser.click(".pf-c-modal-box__footer button:contains(Cancel)")
|
||
|
+ self.browser.wait_in_text(".pf-v5-c-modal-box__body .pf-v5-c-alert__title", self.xfail_error)
|
||
|
+ self.browser.click(".pf-v5-c-modal-box__footer button:contains(Cancel)")
|
||
|
|
||
|
def verify(self):
|
||
|
# Verify libvirt XML
|
||
|
@@ -688,7 +688,7 @@ class TestMachinesNICs(VirtualMachinesCa
|
||
|
# Check NIC is no longer in list; the device-removed signal can take *very* long to arrive
|
||
|
with self.browser.wait_timeout(90):
|
||
|
self.browser.wait_not_present(f"#vm-subVmTest1-network-{self.nic_num}-mac")
|
||
|
- self.browser.wait_not_present(".pf-c-modal-box")
|
||
|
+ self.browser.wait_not_present(".pf-v5-c-modal-box")
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
Index: cockpit-machines-292/test/check-machines-settings
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/test/check-machines-settings
|
||
|
+++ cockpit-machines-292/test/check-machines-settings
|
||
|
@@ -100,7 +100,7 @@ class TestMachinesSettings(VirtualMachin
|
||
|
|
||
|
# Open dialog window
|
||
|
b.click("#vm-subVmTest1-cpu button")
|
||
|
- b.wait_visible(".pf-c-modal-box__body")
|
||
|
+ b.wait_visible(".pf-v5-c-modal-box__body")
|
||
|
|
||
|
# Check basic values
|
||
|
b.wait_val("#machines-vcpu-count-field input", "3")
|
||
|
@@ -120,7 +120,7 @@ class TestMachinesSettings(VirtualMachin
|
||
|
# Open dialog
|
||
|
b.click("#vm-subVmTest1-cpu button")
|
||
|
|
||
|
- b.wait_visible(".pf-c-modal-box__body")
|
||
|
+ b.wait_visible(".pf-v5-c-modal-box__body")
|
||
|
|
||
|
b.set_input_text("#machines-vcpu-count-field input", "2")
|
||
|
|
||
|
@@ -148,7 +148,7 @@ class TestMachinesSettings(VirtualMachin
|
||
|
# Open dialog
|
||
|
b.click("#vm-subVmTest1-cpu button")
|
||
|
|
||
|
- b.wait_visible(".pf-c-modal-box__body")
|
||
|
+ b.wait_visible(".pf-v5-c-modal-box__body")
|
||
|
|
||
|
# Set new socket value
|
||
|
b.wait_val("#coresSelect", "2")
|
||
|
@@ -240,7 +240,7 @@ class TestMachinesSettings(VirtualMachin
|
||
|
# Warning should disappear and changes should be visible in the UI
|
||
|
b.wait_not_present("#cpu-tooltip")
|
||
|
b.wait_not_present("#vm-subVmTest1-needs-shutdown")
|
||
|
- b.wait_in_text("#vm-subVmTest1-cpu .pf-c-description-list__text", "host")
|
||
|
+ b.wait_in_text("#vm-subVmTest1-cpu .pf-v5-c-description-list__text", "host")
|
||
|
|
||
|
# Choose manually a CPU model
|
||
|
b.click("#vm-subVmTest1-cpu button")
|
||
|
@@ -248,7 +248,7 @@ class TestMachinesSettings(VirtualMachin
|
||
|
b.select_from_dropdown("#cpu-model-select-group select", "coreduo")
|
||
|
b.click("#machines-cpu-modal-dialog-apply")
|
||
|
b.wait_not_present("#machines-cpu-modal-dialog")
|
||
|
- b.wait_in_text("#vm-subVmTest1-cpu .pf-c-description-list__text", "custom (coreduo)")
|
||
|
+ b.wait_in_text("#vm-subVmTest1-cpu .pf-v5-c-description-list__text", "custom (coreduo)")
|
||
|
|
||
|
# Verify libvirt XML
|
||
|
dom_xml = "virsh dumpxml subVmTest1"
|
||
|
@@ -261,9 +261,9 @@ class TestMachinesSettings(VirtualMachin
|
||
|
b.select_from_dropdown("#cpu-model-select-group select", "host-model")
|
||
|
b.click("#machines-cpu-modal-dialog-apply")
|
||
|
b.wait_not_present("#machines-cpu-modal-dialog")
|
||
|
- b.wait_in_text("#vm-subVmTest1-cpu .pf-c-description-list__text", "host")
|
||
|
+ b.wait_in_text("#vm-subVmTest1-cpu .pf-v5-c-description-list__text", "host")
|
||
|
b.click("#vm-subVmTest1-system-run")
|
||
|
- b.wait_in_text("#vm-subVmTest1-cpu .pf-c-description-list__text", "custom")
|
||
|
+ b.wait_in_text("#vm-subVmTest1-cpu .pf-v5-c-description-list__text", "custom")
|
||
|
# In the test ENV libvirt does not properly set the CPU model so we see a tooltip https://bugzilla.redhat.com/show_bug.cgi?id=1913337
|
||
|
# b.wait_not_present("#cpu-tooltip")
|
||
|
|
||
|
@@ -310,7 +310,7 @@ class TestMachinesSettings(VirtualMachin
|
||
|
m.execute("virsh domblklist subVmTest1 | awk 'NR==3{print $2}'").strip())
|
||
|
b.wait_in_text("#vm-subVmTest1-order-modal-device-row-1 .boot-order-additional-info",
|
||
|
m.execute("virsh domiflist subVmTest1 | awk 'NR==3{print $5}'").strip())
|
||
|
- b.wait_visible(f".boot-order-additional-info .pf-c-description-list__description:contains('{pci_slot}')")
|
||
|
+ b.wait_visible(f".boot-order-additional-info .pf-v5-c-description-list__description:contains('{pci_slot}')")
|
||
|
# Check a cdrom attributes are shown correctly
|
||
|
cdrom_row = b.text(".boot-order-list-view li:nth-child(3) .boot-order-additional-info")
|
||
|
self.assertTrue("cdrom" and "/var/lib/libvirt/images/phonycdrom" in cdrom_row)
|
||
|
@@ -364,7 +364,7 @@ class TestMachinesSettings(VirtualMachin
|
||
|
# re-open and check the boot option is the disk
|
||
|
b.click("#vm-subVmTest1-boot-order button")
|
||
|
b.wait_visible("#vm-subVmTest1-order-modal-window")
|
||
|
- b.wait_text("#vm-subVmTest1-order-modal-device-row-0 .pf-c-description-list__description .pf-c-description-list__text", args["image"])
|
||
|
+ b.wait_text("#vm-subVmTest1-order-modal-device-row-0 .pf-v5-c-description-list__description .pf-v5-c-description-list__text", args["image"])
|
||
|
|
||
|
b.click("#vm-subVmTest1-order-modal-cancel")
|
||
|
b.wait_not_present("#vm-subVmTest1-order-modal-window")
|
||
|
Index: cockpit-machines-292/test/check-machines-snapshots
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/test/check-machines-snapshots
|
||
|
+++ cockpit-machines-292/test/check-machines-snapshots
|
||
|
@@ -62,7 +62,7 @@ class TestMachinesSnapshots(VirtualMachi
|
||
|
b.wait_not_present("#vm-subVmTest1-snapshots")
|
||
|
return
|
||
|
|
||
|
- b.wait_in_text("#vm-subVmTest1-snapshots .pf-c-empty-state", "No snapshots")
|
||
|
+ b.wait_in_text("#vm-subVmTest1-snapshots .pf-v5-c-empty-state", "No snapshots")
|
||
|
|
||
|
# Check snapshot for running VM
|
||
|
m.execute("virsh detach-disk --domain subVmTest1 --target vda --persistent") # vda is raw disk, which are not supported by internal snapshots
|
||
|
@@ -152,7 +152,7 @@ class TestMachinesSnapshots(VirtualMachi
|
||
|
|
||
|
def open(self):
|
||
|
b.click("#vm-subVmTest1-add-snapshot-button")
|
||
|
- b.wait_in_text(".pf-c-modal-box .pf-c-modal-box__header .pf-c-modal-box__title", "Create snapshot")
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box .pf-v5-c-modal-box__header .pf-v5-c-modal-box__title", "Create snapshot")
|
||
|
|
||
|
def fill(self):
|
||
|
if self.name:
|
||
|
@@ -165,21 +165,21 @@ class TestMachinesSnapshots(VirtualMachi
|
||
|
b.assert_pixels("#vm-subVmTest1-create-snapshot-modal", "create-snapshot-dialog" + ("" if not self.xfail else "-error"), skip_layouts=["rtl"])
|
||
|
|
||
|
def cancel(self):
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Cancel)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Cancel)")
|
||
|
b.wait_not_present("#vm-subVmTest1-create-snapshot-modal")
|
||
|
|
||
|
def create(self):
|
||
|
if not self.xfail:
|
||
|
self.assert_pixels()
|
||
|
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Create)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Create)")
|
||
|
|
||
|
if not self.xfail:
|
||
|
b.wait_not_present("#vm-subVmTest1-create-snapshot-modal")
|
||
|
else:
|
||
|
self.assert_pixels()
|
||
|
b.wait_visible("#snapshot-create-dialog-name[aria-invalid=true]")
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Cancel)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Cancel)")
|
||
|
|
||
|
def verify_frontend(self):
|
||
|
if self.name:
|
||
|
@@ -211,9 +211,9 @@ class TestMachinesSnapshots(VirtualMachi
|
||
|
|
||
|
def cleanup(self):
|
||
|
b.click(f"#delete-vm-subVmTest1-snapshot-{self.snap_num}")
|
||
|
- b.wait_in_text(".pf-c-modal-box .pf-c-modal-box__header .pf-c-modal-box__title", "Delete snapshot?")
|
||
|
- b.wait_in_text(".pf-c-modal-box__body .pf-c-description-list", f"{self.name} will be deleted from {self.vm_name}")
|
||
|
- b.click('.pf-c-modal-box__footer button:contains("Delete")')
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box .pf-v5-c-modal-box__header .pf-v5-c-modal-box__title", "Delete snapshot?")
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box__body .pf-v5-c-description-list", f"{self.name} will be deleted from {self.vm_name}")
|
||
|
+ b.click('.pf-v5-c-modal-box__footer button:contains("Delete")')
|
||
|
b.wait_not_present(f"#vm-subVmTest1-snapshot-{self.snap_num}-name:contains({self.name})")
|
||
|
|
||
|
# No Snapshots present
|
||
|
@@ -283,8 +283,8 @@ class TestMachinesSnapshots(VirtualMachi
|
||
|
self.assertEqual("no", m.execute("virsh snapshot-info --domain subVmTest1 --snapshotname snapshotB | grep 'Current:' | awk '{print $2}'").strip())
|
||
|
|
||
|
b.click("#vm-subVmTest1-snapshot-0-revert")
|
||
|
- b.wait_in_text(".pf-c-modal-box .pf-c-modal-box__header .pf-c-modal-box__title", "Revert to snapshot snapshotB")
|
||
|
- b.click('.pf-c-modal-box__footer button:contains("Revert")')
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box .pf-v5-c-modal-box__header .pf-v5-c-modal-box__title", "Revert to snapshot snapshotB")
|
||
|
+ b.click('.pf-v5-c-modal-box__footer button:contains("Revert")')
|
||
|
|
||
|
b.wait_not_present("#vm-subVmTest1-snapshot-1-current")
|
||
|
b.wait_visible("#vm-subVmTest1-snapshot-0-current")
|
||
|
@@ -305,15 +305,15 @@ class TestMachinesSnapshots(VirtualMachi
|
||
|
# libvirt will require using force options since there is a risk of memory corruption
|
||
|
b.wait_in_text("#vm-subVmTest1-snapshot-0-name", "snapshotC")
|
||
|
b.click("#vm-subVmTest1-snapshot-0-revert")
|
||
|
- b.wait_in_text(".pf-c-modal-box .pf-c-modal-box__header .pf-c-modal-box__title", "Revert to snapshot snapshotC")
|
||
|
- b.click('.pf-c-modal-box__footer button:contains("Revert")')
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box .pf-v5-c-modal-box__header .pf-v5-c-modal-box__title", "Revert to snapshot snapshotC")
|
||
|
+ b.click('.pf-v5-c-modal-box__footer button:contains("Revert")')
|
||
|
# Check "Force revert" is present and Regular revert is disabled
|
||
|
- b.wait_in_text(".pf-c-modal-box .pf-c-alert__description", "revert requires force")
|
||
|
- b.wait_visible(".pf-c-modal-box__footer button:contains(Revert):disabled")
|
||
|
- b.wait_visible(".pf-c-modal-box__footer button:contains(Force revert)")
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box .pf-v5-c-alert__description", "revert requires force")
|
||
|
+ b.wait_visible(".pf-v5-c-modal-box__footer button:contains(Revert):disabled")
|
||
|
+ b.wait_visible(".pf-v5-c-modal-box__footer button:contains(Force revert)")
|
||
|
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Force revert)")
|
||
|
- b.wait_not_present(".pf-c-modal-box")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Force revert)")
|
||
|
+ b.wait_not_present(".pf-v5-c-modal-box")
|
||
|
|
||
|
# Check VM was reverted to a correct snapshot
|
||
|
b.wait_not_present("#vm-subVmTest1-snapshot-1-current")
|
||
|
Index: cockpit-machines-292/test/check-machines-storage-pools
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/test/check-machines-storage-pools
|
||
|
+++ cockpit-machines-292/test/check-machines-storage-pools
|
||
|
@@ -35,12 +35,12 @@ class TestMachinesStoragePools(VirtualMa
|
||
|
def gotoVolumesTab(self, poolName, connectionName="system"):
|
||
|
selector = f"tr[data-row-id=pool-{poolName}-{connectionName}] + tr li:contains('Storage volumes')"
|
||
|
self.browser.click(selector + " > button")
|
||
|
- self.browser.wait_attr(selector, "class", "pf-c-tabs__item pf-m-current")
|
||
|
+ self.browser.wait_attr(selector, "class", "pf-v5-c-tabs__item pf-m-current")
|
||
|
|
||
|
def gotoOverviewTab(self, poolName, connectionName="system"):
|
||
|
selector = f"tr[data-row-id=pool-{poolName}-{connectionName}] + tr li:contains('Overview')"
|
||
|
self.browser.click(selector + " > button")
|
||
|
- self.browser.wait_attr(selector, "class", "pf-c-tabs__item pf-m-current")
|
||
|
+ self.browser.wait_attr(selector, "class", "pf-v5-c-tabs__item pf-m-current")
|
||
|
|
||
|
def testStoragePoolsBasic(self):
|
||
|
b = self.browser
|
||
|
@@ -53,7 +53,7 @@ class TestMachinesStoragePools(VirtualMa
|
||
|
self.waitVmRow("subVmTest1")
|
||
|
|
||
|
b.wait_in_text("#card-pf-storage-pools", "1 Storage pool")
|
||
|
- b.wait_in_text("#card-pf-storage-pools .pf-c-card__header button", "Storage pool")
|
||
|
+ b.wait_in_text("#card-pf-storage-pools .pf-v5-c-card__header button", "Storage pool")
|
||
|
|
||
|
# prepare libvirt storage pools
|
||
|
p1 = os.path.join(self.vm_tmpdir, "vm_one")
|
||
|
@@ -88,7 +88,7 @@ class TestMachinesStoragePools(VirtualMa
|
||
|
self.performAction("subVmTest1", "forceOff")
|
||
|
|
||
|
# Click on Storage pools card
|
||
|
- b.click(".pf-c-card .pf-c-card__header button:contains(Storage pools)")
|
||
|
+ b.click(".pf-v5-c-card .pf-v5-c-card__header button:contains(Storage pools)")
|
||
|
|
||
|
# Check that all defined pools are there
|
||
|
b.wait_in_text("body", "Storage pools")
|
||
|
@@ -113,7 +113,7 @@ class TestMachinesStoragePools(VirtualMa
|
||
|
|
||
|
# Check storage volumes of a pool
|
||
|
self.gotoVolumesTab("myPoolOne")
|
||
|
- b.wait_in_text(f"tr[data-row-id=pool-myPoolOne-{connectionName}] + tr .pf-c-empty-state",
|
||
|
+ b.wait_in_text(f"tr[data-row-id=pool-myPoolOne-{connectionName}] + tr .pf-v5-c-empty-state",
|
||
|
"No storage volumes defined for this storage pool")
|
||
|
|
||
|
# Close expanded row for this pool
|
||
|
@@ -135,7 +135,7 @@ class TestMachinesStoragePools(VirtualMa
|
||
|
b.click("tbody input[aria-label='Select row 0']")
|
||
|
b.wait_in_text("#storage-volumes-delete", "Delete 1 volume")
|
||
|
b.click("#storage-volumes-delete")
|
||
|
- b.wait_in_text(".pf-c-alert .pf-c-alert__title", "Storage volumes could not be deleted")
|
||
|
+ b.wait_in_text(".pf-v5-c-alert .pf-v5-c-alert__title", "Storage volumes could not be deleted")
|
||
|
b.reload()
|
||
|
b.enter_page('/machines')
|
||
|
self.togglePoolRow("myPoolTwo", connectionName)
|
||
|
@@ -170,7 +170,7 @@ class TestMachinesStoragePools(VirtualMa
|
||
|
# Try deactivating and activating a pool
|
||
|
b.click(f"#deactivate-pool-myPoolOne-{connectionName}")
|
||
|
b.wait_in_text(f"#pool-myPoolOne-{connectionName}-state", "inactive")
|
||
|
- b.wait_in_text(f"tr[data-row-id=pool-myPoolOne-{connectionName}] + tr .pf-c-empty-state", "Activate the storage pool to administer volumes")
|
||
|
+ b.wait_in_text(f"tr[data-row-id=pool-myPoolOne-{connectionName}] + tr .pf-v5-c-empty-state", "Activate the storage pool to administer volumes")
|
||
|
b.wait_visible(f'#myPoolOne-{connectionName}-create-volume-button:disabled')
|
||
|
b.click(f"#activate-pool-myPoolOne-{connectionName}")
|
||
|
b.wait_in_text(f"#pool-myPoolOne-{connectionName}-state", "active")
|
||
|
@@ -219,8 +219,8 @@ class TestMachinesStoragePools(VirtualMa
|
||
|
self.waitPageInit()
|
||
|
|
||
|
# Click on Storage pools card
|
||
|
- b.wait_in_text("#card-pf-storage-pools .pf-c-card__header button", "Storage pools")
|
||
|
- b.click(".pf-c-card .pf-c-card__header button:contains(Storage pools)")
|
||
|
+ b.wait_in_text("#card-pf-storage-pools .pf-v5-c-card__header button", "Storage pools")
|
||
|
+ b.click(".pf-v5-c-card .pf-v5-c-card__header button:contains(Storage pools)")
|
||
|
|
||
|
class StoragePoolCreateDialog(object):
|
||
|
def __init__(
|
||
|
@@ -250,7 +250,7 @@ class TestMachinesStoragePools(VirtualMa
|
||
|
def open(self):
|
||
|
b.click("#create-storage-pool")
|
||
|
b.wait_visible("#create-storage-pool-dialog")
|
||
|
- b.wait_in_text(".pf-c-modal-box .pf-c-modal-box__header .pf-c-modal-box__title", "Create storage pool")
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box .pf-v5-c-modal-box__header .pf-v5-c-modal-box__title", "Create storage pool")
|
||
|
|
||
|
def fill(self):
|
||
|
b.set_input_text("#storage-pool-dialog-name", self.name)
|
||
|
@@ -284,11 +284,11 @@ class TestMachinesStoragePools(VirtualMa
|
||
|
b.click("storage-pool-dialog-autostart")
|
||
|
|
||
|
def cancel(self):
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Cancel)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Cancel)")
|
||
|
b.wait_not_present("#create-storage-pool-dialog")
|
||
|
|
||
|
def create(self):
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Create)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Create)")
|
||
|
|
||
|
if not self.xfail:
|
||
|
b.wait_not_present("#create-storage-pool-dialog")
|
||
|
@@ -301,7 +301,7 @@ class TestMachinesStoragePools(VirtualMa
|
||
|
b.wait_visible("#storage-pool-dialog-target-helper")
|
||
|
# Check errors from backend
|
||
|
if self.xfail_error:
|
||
|
- error_location = "#create-storage-pool-dialog .pf-c-modal-box__body .pf-m-danger"
|
||
|
+ error_location = "#create-storage-pool-dialog .pf-v5-c-modal-box__body .pf-m-danger"
|
||
|
b.wait_visible(error_location)
|
||
|
error_message = b.text(error_location)
|
||
|
self.test_obj.assertIn(self.xfail_error, error_message)
|
||
|
@@ -466,10 +466,10 @@ class TestMachinesStoragePools(VirtualMa
|
||
|
# Ensure that iscsi-direct is absent from the types dropdown
|
||
|
b.click("#create-storage-pool")
|
||
|
b.wait_visible("#create-storage-pool-dialog")
|
||
|
- b.wait_in_text(".pf-c-modal-box .pf-c-modal-box__header .pf-c-modal-box__title", "Create storage pool")
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box .pf-v5-c-modal-box__header .pf-v5-c-modal-box__title", "Create storage pool")
|
||
|
b.click("#storage-pool-dialog-type")
|
||
|
b.wait_not_present("#storage-pool-dialog-type option[value*='isci-direct']")
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Cancel)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Cancel)")
|
||
|
b.wait_not_present("#create-storage-pool-dialog")
|
||
|
|
||
|
# Prepare a Volume Group to be used as source for the LVM pool
|
||
|
@@ -515,8 +515,8 @@ class TestMachinesStoragePools(VirtualMa
|
||
|
self.waitPageInit()
|
||
|
|
||
|
# Click on Storage pools card
|
||
|
- b.wait_in_text("#card-pf-storage-pools .pf-c-card__header button", "Storage pools")
|
||
|
- b.click(".pf-c-card .pf-c-card__header button:contains(Storage pools)")
|
||
|
+ b.wait_in_text("#card-pf-storage-pools .pf-v5-c-card__header button", "Storage pools")
|
||
|
+ b.click(".pf-v5-c-card .pf-v5-c-card__header button:contains(Storage pools)")
|
||
|
|
||
|
class StorageVolumeCreateDialog(object):
|
||
|
def __init__(
|
||
|
@@ -553,7 +553,7 @@ class TestMachinesStoragePools(VirtualMa
|
||
|
b.click(f"#{self.pool_name}-system-create-volume-button") # open the "Storage volumes" subtab
|
||
|
|
||
|
b.wait_visible("#create-volume-dialog-modal")
|
||
|
- b.wait_in_text(".pf-c-modal-box .pf-c-modal-box__header .pf-c-modal-box__title", "Create storage volume")
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box .pf-v5-c-modal-box__header .pf-v5-c-modal-box__title", "Create storage volume")
|
||
|
|
||
|
def fill(self):
|
||
|
b.set_input_text("#create-volume-dialog-name", self.vol_name)
|
||
|
@@ -568,21 +568,21 @@ class TestMachinesStoragePools(VirtualMa
|
||
|
b.select_from_dropdown("#create-volume-dialog-format", self.format)
|
||
|
|
||
|
def cancel(self):
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Cancel)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Cancel)")
|
||
|
b.wait_not_present("#create-storage-pool-dialog")
|
||
|
|
||
|
def create(self):
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Create)")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Create)")
|
||
|
|
||
|
if not self.xfail:
|
||
|
# Creation of volumes might take longer for some pool types
|
||
|
if self.pool_type in ["disk", "netfs"]:
|
||
|
- b.wait_visible(".pf-c-modal-box__footer button.pf-m-in-progress")
|
||
|
- b.wait_visible(".pf-c-modal-box__footer button:contains(Create):disabled")
|
||
|
+ b.wait_visible(".pf-v5-c-modal-box__footer button.pf-m-in-progress")
|
||
|
+ b.wait_visible(".pf-v5-c-modal-box__footer button:contains(Create):disabled")
|
||
|
b.wait_not_present("#create-volume-dialog-modal")
|
||
|
else:
|
||
|
for xfo in self.xfail_objects:
|
||
|
- b.wait_in_text(f"#create-volume-dialog-{xfo}-group .pf-c-form__helper-text .pf-m-error", self.xfail_error)
|
||
|
+ b.wait_in_text(f"#create-volume-dialog-{xfo}-group .pf-v5-c-form__helper-text .pf-m-error", self.xfail_error)
|
||
|
|
||
|
def verify(self):
|
||
|
# Check that the defined volume is now visible
|
||
|
@@ -741,8 +741,8 @@ class TestMachinesStoragePools(VirtualMa
|
||
|
self.login_and_go("/machines")
|
||
|
self.waitPageInit()
|
||
|
|
||
|
- b.wait_in_text("#card-pf-storage-pools .pf-c-card__header button", "Storage pool")
|
||
|
- b.click(".pf-c-card .pf-c-card__header button:contains(Storage pool)")
|
||
|
+ b.wait_in_text("#card-pf-storage-pools .pf-v5-c-card__header button", "Storage pool")
|
||
|
+ b.click(".pf-v5-c-card .pf-v5-c-card__header button:contains(Storage pool)")
|
||
|
b.wait_visible("#storage-pools-listing")
|
||
|
|
||
|
class StoragePoolsCreationAndDeletion:
|
||
|
@@ -818,7 +818,7 @@ class TestMachinesStoragePools(VirtualMa
|
||
|
b.click(f"#pool-{self.name}-{self.connection}-action-kebab button")
|
||
|
b.click(f"#delete-pool-{self.name}-{self.connection}")
|
||
|
# Check if deletion dialog is shown
|
||
|
- b.wait_visible("div.pf-c-modal-box")
|
||
|
+ b.wait_visible("div.pf-v5-c-modal-box")
|
||
|
|
||
|
if self.activate:
|
||
|
if self.vol_name or self.pool_type == "iscsi":
|
||
|
@@ -827,28 +827,28 @@ class TestMachinesStoragePools(VirtualMa
|
||
|
else:
|
||
|
# Check when no volume
|
||
|
b.wait_not_present("#storage-pool-delete-volumes")
|
||
|
- b.wait_in_text(".pf-c-modal-box__body div",
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box__body div",
|
||
|
"No volumes exist in this storage pool.")
|
||
|
else:
|
||
|
# Check the content of inactive pool deletion dialog
|
||
|
- b.wait_text(".pf-c-modal-box__body div",
|
||
|
+ b.wait_text(".pf-v5-c-modal-box__body div",
|
||
|
"Deleting an inactive storage pool will only undefine the pool. Its content will not be deleted.")
|
||
|
|
||
|
- b.click('.pf-c-modal-box__footer button:contains("Delete")')
|
||
|
+ b.click('.pf-v5-c-modal-box__footer button:contains("Delete")')
|
||
|
|
||
|
if self.xfail:
|
||
|
- b.wait_visible("div.pf-c-modal-box")
|
||
|
+ b.wait_visible("div.pf-v5-c-modal-box")
|
||
|
if self.xfail_error:
|
||
|
# Check the error shown on the footer of the deletion of dialog
|
||
|
- b.wait_in_text("div.pf-c-modal-box .pf-c-alert__description", self.xfail_error)
|
||
|
+ b.wait_in_text("div.pf-v5-c-modal-box .pf-v5-c-alert__description", self.xfail_error)
|
||
|
# Close the dialog
|
||
|
- b.click('.pf-c-modal-box__footer button:contains("Cancel")')
|
||
|
+ b.click('.pf-v5-c-modal-box__footer button:contains("Cancel")')
|
||
|
# Clean the pool if pool deletion is failed
|
||
|
if self.activate:
|
||
|
m.execute(f"virsh pool-destroy {self.name}")
|
||
|
m.execute(f"virsh pool-undefine {self.name}")
|
||
|
|
||
|
- b.wait_not_present("div.pf-c-modal-box")
|
||
|
+ b.wait_not_present("div.pf-v5-c-modal-box")
|
||
|
|
||
|
def verify(self):
|
||
|
if self.activate and self.vol_name:
|
||
|
@@ -993,18 +993,18 @@ class TestMachinesStoragePools(VirtualMa
|
||
|
b.click("#pool-images-system-action-kebab button")
|
||
|
b.click("#pool-images-system-action-kebab a:contains(Delete)")
|
||
|
b.set_checked("#storage-pool-delete-volumes", True)
|
||
|
- b.wait_in_text(".pf-c-backdrop .pf-c-helper-text__item-text", "Pool's volumes are used by")
|
||
|
- b.wait_visible(".pf-c-backdrop footer button[aria-disabled=true]:contains(Delete)")
|
||
|
+ b.wait_in_text(".pf-v5-c-backdrop .pf-v5-c-helper-text__item-text", "Pool's volumes are used by")
|
||
|
+ b.wait_visible(".pf-v5-c-backdrop footer button[aria-disabled=true]:contains(Delete)")
|
||
|
|
||
|
# Check "Cancel" button
|
||
|
- b.click(".pf-c-backdrop footer button:contains(Cancel)")
|
||
|
- b.wait_not_present(".pf-c-backdrop")
|
||
|
+ b.click(".pf-v5-c-backdrop footer button:contains(Cancel)")
|
||
|
+ b.wait_not_present(".pf-v5-c-backdrop")
|
||
|
|
||
|
# Check "X" button of the dialog
|
||
|
b.click("#pool-images-system-action-kebab button")
|
||
|
b.click("#pool-images-system-action-kebab a:contains(Delete)")
|
||
|
- b.click(".pf-c-backdrop button[aria-label=Close]")
|
||
|
- b.wait_not_present(".pf-c-backdrop")
|
||
|
+ b.click(".pf-v5-c-backdrop button[aria-label=Close]")
|
||
|
+ b.wait_not_present(".pf-v5-c-backdrop")
|
||
|
|
||
|
# Check that the error shown after the title, not the footer
|
||
|
# Delete the VM, or the deletion button will be disabled
|
||
|
@@ -1015,7 +1015,7 @@ class TestMachinesStoragePools(VirtualMa
|
||
|
b.wait_not_present("#vm-subVmTest1-system-name")
|
||
|
# Go back to the storage pool list
|
||
|
b.wait_in_text("#card-pf-storage-pools button", "Storage pool")
|
||
|
- b.click("#card-pf-storage-pools .pf-c-card__header button")
|
||
|
+ b.click("#card-pf-storage-pools .pf-v5-c-card__header button")
|
||
|
b.wait_visible("#storage-pools-listing")
|
||
|
|
||
|
m.execute(f'chattr +a {args["image"]}')
|
||
|
@@ -1023,7 +1023,7 @@ class TestMachinesStoragePools(VirtualMa
|
||
|
b.click("#pool-images-system-action-kebab button")
|
||
|
b.click("#pool-images-system-action-kebab a:contains(Delete)")
|
||
|
b.set_checked("#storage-pool-delete-volumes", True)
|
||
|
- b.click(".pf-c-backdrop footer button[aria-disabled=false]:contains(Delete)")
|
||
|
+ b.click(".pf-v5-c-backdrop footer button[aria-disabled=false]:contains(Delete)")
|
||
|
b.assert_pixels("#storage-pool-delete-modal", "storage-pool-delete-modal-error")
|
||
|
wait(lambda: "forDeletion" not in m.execute("ls /var/lib/libvirt/images/"))
|
||
|
|
||
|
Index: cockpit-machines-292/test/check-machines-virtualization
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/test/check-machines-virtualization
|
||
|
+++ cockpit-machines-292/test/check-machines-virtualization
|
||
|
@@ -41,9 +41,9 @@ class TestMachinesVirtualization(Virtual
|
||
|
|
||
|
self.login_and_go("/machines")
|
||
|
|
||
|
- b.wait_visible("div.pf-c-empty-state:contains('Hardware virtualization is disabled')")
|
||
|
+ b.wait_visible("div.pf-v5-c-empty-state:contains('Hardware virtualization is disabled')")
|
||
|
|
||
|
- b.assert_pixels(".pf-c-empty-state", "virtualization-disabled-warning")
|
||
|
+ b.assert_pixels(".pf-v5-c-empty-state", "virtualization-disabled-warning")
|
||
|
|
||
|
b.click("#ignore-hw-virtualization-disabled-btn")
|
||
|
|
||
|
@@ -51,7 +51,7 @@ class TestMachinesVirtualization(Virtual
|
||
|
b.wait_visible("#card-pf-networks")
|
||
|
b.wait_visible("#virtual-machines-listing")
|
||
|
|
||
|
- b.wait_visible(".pf-c-page .pf-c-card__title:contains('Virtual machines')")
|
||
|
+ b.wait_visible(".pf-v5-c-page .pf-v5-c-card__title:contains('Virtual machines')")
|
||
|
|
||
|
def testLibvirt(self):
|
||
|
b = self.browser
|
||
|
@@ -82,7 +82,7 @@ class TestMachinesVirtualization(Virtual
|
||
|
|
||
|
def waitEmptyState():
|
||
|
with b.wait_timeout(15):
|
||
|
- b.wait_in_text(".pf-c-empty-state", "Virtualization service (libvirt) is not active")
|
||
|
+ b.wait_in_text(".pf-v5-c-empty-state", "Virtualization service (libvirt) is not active")
|
||
|
|
||
|
# Check initial state
|
||
|
self.createVm("subVmTest1")
|
||
|
@@ -97,7 +97,7 @@ class TestMachinesVirtualization(Virtual
|
||
|
b.reload()
|
||
|
b.enter_page('/machines')
|
||
|
waitEmptyState()
|
||
|
- b.click(".pf-c-empty-state button.pf-m-link") # Troubleshoot
|
||
|
+ b.click(".pf-v5-c-empty-state button.pf-m-link") # Troubleshoot
|
||
|
b.leave_page()
|
||
|
b.wait(lambda: "system/services" in b.eval_js("window.location.href"))
|
||
|
|
||
|
@@ -108,7 +108,7 @@ class TestMachinesVirtualization(Virtual
|
||
|
self.addCleanup(self.machine.execute, "pkill -u nonadmin || true; while pgrep -u nonadmin; do sleep 0.5; done")
|
||
|
self.login_and_go("/machines", user="nonadmin", superuser=False)
|
||
|
self.waitPageInit()
|
||
|
- b.wait_in_text("#virtual-machines-listing .pf-c-empty-state", "No VM is running")
|
||
|
+ b.wait_in_text("#virtual-machines-listing .pf-v5-c-empty-state", "No VM is running")
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
Index: cockpit-machines-292/test/machineslib.py
|
||
|
===================================================================
|
||
|
--- cockpit-machines-292.orig/test/machineslib.py
|
||
|
+++ cockpit-machines-292/test/machineslib.py
|
||
|
@@ -36,7 +36,7 @@ class VirtualMachinesCaseHelpers:
|
||
|
def performAction(self, vmName, action, checkExpectedState=True, connectionName="system"):
|
||
|
b = self.browser
|
||
|
b.click("#vm-{0}-{1}-action-kebab button".format(vmName, connectionName))
|
||
|
- b.wait_visible("#vm-{0}-{1}-action-kebab > .pf-c-dropdown__menu".format(vmName, connectionName))
|
||
|
+ b.wait_visible("#vm-{0}-{1}-action-kebab > .pf-v5-c-dropdown__menu".format(vmName, connectionName))
|
||
|
b.click("#vm-{0}-{1}-{2} a".format(vmName, connectionName, action))
|
||
|
|
||
|
if not checkExpectedState:
|
||
|
@@ -68,7 +68,7 @@ class VirtualMachinesCaseHelpers:
|
||
|
|
||
|
def togglePoolRow(self, poolName, connectionName="system"):
|
||
|
isExpanded = 'pf-m-expanded' in self.browser.attr("tbody tr[data-row-id=pool-{0}-{1}] + tr".format(poolName, connectionName), "class") # click on the row header
|
||
|
- self.browser.click("tbody tr[data-row-id=pool-{0}-{1}] .pf-c-table__toggle button".format(poolName, connectionName)) # click on the row header
|
||
|
+ self.browser.click("tbody tr[data-row-id=pool-{0}-{1}] .pf-v5-c-table__toggle button".format(poolName, connectionName)) # click on the row header
|
||
|
if isExpanded:
|
||
|
self.browser.wait_not_present("tbody tr[data-row-id=pool-{0}-{1}] + tr.pf-m-expanded".format(poolName, connectionName)) # click on the row header
|
||
|
else:
|
||
|
@@ -84,7 +84,7 @@ class VirtualMachinesCaseHelpers:
|
||
|
|
||
|
def toggleNetworkRow(self, networkName, connectionName="system"):
|
||
|
isExpanded = 'pf-m-expanded' in self.browser.attr("tbody tr[data-row-id=network-{0}-{1}] + tr".format(networkName, connectionName), "class") # click on the row header
|
||
|
- self.browser.click("tbody tr[data-row-id=network-{0}-{1}] .pf-c-table__toggle button".format(networkName, connectionName)) # click on the row header
|
||
|
+ self.browser.click("tbody tr[data-row-id=network-{0}-{1}] .pf-v5-c-table__toggle button".format(networkName, connectionName)) # click on the row header
|
||
|
if isExpanded:
|
||
|
self.browser.wait_not_present("tbody tr[data-row-id=network-{0}-{1}] + tr.pf-m-expanded".format(networkName, connectionName)) # click on the row header
|
||
|
else:
|
||
|
@@ -219,11 +219,11 @@ class VirtualMachinesCaseHelpers:
|
||
|
b = self.browser
|
||
|
|
||
|
b.click(f"#delete-vm-subVmTest1-iface-{iface}")
|
||
|
- b.wait_in_text(".pf-c-modal-box .pf-c-modal-box__header .pf-c-modal-box__title", "Remove network interface?")
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box .pf-v5-c-modal-box__header .pf-v5-c-modal-box__title", "Remove network interface?")
|
||
|
if mac and vm_name:
|
||
|
- b.wait_in_text(".pf-c-modal-box__body .pf-c-description-list", f"{mac} will be removed from {vm_name}")
|
||
|
- b.click(".pf-c-modal-box__footer button:contains(Remove)")
|
||
|
- b.wait_not_present(".pf-c-modal-box")
|
||
|
+ b.wait_in_text(".pf-v5-c-modal-box__body .pf-v5-c-description-list", f"{mac} will be removed from {vm_name}")
|
||
|
+ b.click(".pf-v5-c-modal-box__footer button:contains(Remove)")
|
||
|
+ b.wait_not_present(".pf-v5-c-modal-box")
|
||
|
|
||
|
def get_next_mac(self, last_mac):
|
||
|
parts = last_mac.split(':')
|