From 2a0d057d422be4090a5afedb7a774a725bd8a39c Mon Sep 17 00:00:00 2001 From: Katerina Koukiou Date: Wed, 20 Jun 2018 13:52:21 +0200 Subject: [PATCH 1/2] machines: declare action types as constants Since strings are prone to typos and duplicates this approach helps avoiding errors that will be difficult to debug. Read more about benefits of this approach here: https://redux.js.org/recipes/reducing-boilerplate#actions Signed-off-by: Katerina Koukiou --- pkg/machines/actions.es6 | 138 ++++++++++++------ .../constants/provider-action-types.es6 | 46 ++++++ pkg/machines/constants/store-action-types.es6 | 38 +++++ pkg/machines/reducers.es6 | 53 ++++--- 4 files changed, 213 insertions(+), 62 deletions(-) create mode 100644 pkg/machines/constants/provider-action-types.es6 create mode 100644 pkg/machines/constants/store-action-types.es6 diff --git a/pkg/machines/actions.es6 b/pkg/machines/actions.es6 index 2ceafe66df85..8556e9d69850 100644 --- a/pkg/machines/actions.es6 +++ b/pkg/machines/actions.es6 @@ -21,6 +21,54 @@ import { getRefreshInterval } from './selectors.es6'; import VMS_CONFIG from "./config.es6"; import { logDebug } from './helpers.es6'; import { virt } from './provider.es6'; +import { + ADD_NOTIFICATION, + ADD_UI_VM, + CLEAR_NOTIFICATION, + CLEAR_NOTIFICATIONS, + DELETE_UI_VM, + DELETE_UNLISTED_VMS, + SET_HYPERVISOR_MAX_VCPU, + SET_PROVIDER, + SET_REFRESH_INTERVAL, + UNDEFINE_VM, + UPDATE_ADD_VM, + UPDATE_LIBVIRT_STATE, + UPDATE_OS_INFO_LIST, + UPDATE_STORAGE_POOLS, + UPDATE_STORAGE_VOLUMES, + UPDATE_UI_VM, + UPDATE_VM, + VM_ACTION_FAILED, +} from './constants/store-action-types.es6'; +import { + ATTACH_DISK, + CHANGE_NETWORK_STATE, + CHECK_LIBVIRT_STATUS, + CONSOLE_VM, + CREATE_AND_ATTACH_VOLUME, + CREATE_VM, + DELETE_VM, + ENABLE_LIBVIRT, + FORCEOFF_VM, + FORCEREBOOT_VM, + GET_ALL_VMS, + GET_HYPERVISOR_MAX_VCPU, + GET_OS_INFO_LIST, + GET_STORAGE_POOLS, + GET_STORAGE_VOLUMES, + GET_VM, + INIT_DATA_RETRIEVAL, + INSTALL_VM, + REBOOT_VM, + SENDNMI_VM, + SET_VCPU_SETTINGS, + SHUTDOWN_VM, + START_LIBVIRT, + START_VM, + USAGE_START_POLLING, + USAGE_STOP_POLLING, +} from './constants/provider-action-types.es6'; /** * All actions dispatchable by in the application @@ -28,7 +76,7 @@ import { virt } from './provider.es6'; // --- Provider actions ----------------------------------------- export function initDataRetrieval() { - return virt('INIT_DATA_RETRIEVAL'); + return virt(INIT_DATA_RETRIEVAL); } /** @@ -37,94 +85,94 @@ export function initDataRetrieval() { * @param libvirtServiceName */ export function getAllVms(connectionName, libvirtServiceName) { - return virt('GET_ALL_VMS', { connectionName, libvirtServiceName }); + return virt(GET_ALL_VMS, { connectionName, libvirtServiceName }); } export function getVm(connectionName, lookupId) { - return virt('GET_VM', { + return virt(GET_VM, { lookupId, // provider-specific (i.e. libvirt uses vm_name) connectionName, }); } export function getOsInfoList() { - return virt('GET_OS_INFO_LIST'); + return virt(GET_OS_INFO_LIST); } export function getStoragePools(connectionName) { - return virt('GET_STORAGE_POOLS', { connectionName }); + return virt(GET_STORAGE_POOLS, { connectionName }); } export function getStorageVolumes(connectionName, poolName) { - return virt('GET_STORAGE_VOLUMES', { connectionName, poolName }); + return virt(GET_STORAGE_VOLUMES, { connectionName, poolName }); } export function shutdownVm(vm) { - return virt('SHUTDOWN_VM', { name: vm.name, id: vm.id, connectionName: vm.connectionName }); + return virt(SHUTDOWN_VM, { name: vm.name, id: vm.id, connectionName: vm.connectionName }); } export function forceVmOff(vm) { - return virt('FORCEOFF_VM', { name: vm.name, id: vm.id, connectionName: vm.connectionName }); + return virt(FORCEOFF_VM, { name: vm.name, id: vm.id, connectionName: vm.connectionName }); } export function rebootVm(vm) { - return virt('REBOOT_VM', { name: vm.name, id: vm.id, connectionName: vm.connectionName }); + return virt(REBOOT_VM, { name: vm.name, id: vm.id, connectionName: vm.connectionName }); } export function forceRebootVm(vm) { - return virt('FORCEREBOOT_VM', { name: vm.name, id: vm.id, connectionName: vm.connectionName }); + return virt(FORCEREBOOT_VM, { name: vm.name, id: vm.id, connectionName: vm.connectionName }); } export function startVm(vm) { - return virt('START_VM', { name: vm.name, id: vm.id, connectionName: vm.connectionName }); + return virt(START_VM, { name: vm.name, id: vm.id, connectionName: vm.connectionName }); } export function deleteVm(vm, options) { - return virt('DELETE_VM', { name: vm.name, id: vm.id, connectionName: vm.connectionName, options: options }); + return virt(DELETE_VM, { name: vm.name, id: vm.id, connectionName: vm.connectionName, options: options }); } export function installVm(vm) { - return virt('INSTALL_VM', vm); + return virt(INSTALL_VM, vm); } export function createVm(vmParams) { - return virt('CREATE_VM', vmParams); + return virt(CREATE_VM, vmParams); } export function vmDesktopConsole(vm, consoleDetail) { - return virt('CONSOLE_VM', { name: vm.name, id: vm.id, connectionName: vm.connectionName, consoleDetail }); + return virt(CONSOLE_VM, { name: vm.name, id: vm.id, connectionName: vm.connectionName, consoleDetail }); } export function usageStartPolling(vm) { - return virt('USAGE_START_POLLING', { name: vm.name, id: vm.id, connectionName: vm.connectionName }); + return virt(USAGE_START_POLLING, { name: vm.name, id: vm.id, connectionName: vm.connectionName }); } export function usageStopPolling(vm) { - return virt('USAGE_STOP_POLLING', { name: vm.name, id: vm.id, connectionName: vm.connectionName }); + return virt(USAGE_STOP_POLLING, { name: vm.name, id: vm.id, connectionName: vm.connectionName }); } export function sendNMI(vm) { - return virt('SENDNMI_VM', { name: vm.name, id: vm.id, connectionName: vm.connectionName }); + return virt(SENDNMI_VM, { name: vm.name, id: vm.id, connectionName: vm.connectionName }); } export function changeNetworkState(vm, networkMac, state) { - return virt('CHANGE_NETWORK_STATE', { name: vm.name, id: vm.id, networkMac, state, connectionName: vm.connectionName }); + return virt(CHANGE_NETWORK_STATE, { name: vm.name, id: vm.id, networkMac, state, connectionName: vm.connectionName }); } export function checkLibvirtStatus(serviceName) { - return virt('CHECK_LIBVIRT_STATUS', { serviceName }); + return virt(CHECK_LIBVIRT_STATUS, { serviceName }); } export function startLibvirt(serviceName) { - return virt('START_LIBVIRT', { serviceName }); + return virt(START_LIBVIRT, { serviceName }); } export function enableLibvirt(enable, serviceName) { - return virt('ENABLE_LIBVIRT', { enable, serviceName }); + return virt(ENABLE_LIBVIRT, { enable, serviceName }); } export function setVCPUSettings(vm, max, count, sockets, threads, cores) { - return virt('SET_VCPU_SETTINGS', { + return virt(SET_VCPU_SETTINGS, { id: vm.id, name: vm.name, connectionName: vm.connectionName, @@ -138,15 +186,15 @@ export function setVCPUSettings(vm, max, count, sockets, threads, cores) { } export function getHypervisorMaxVCPU(connectionName) { - return virt('GET_HYPERVISOR_MAX_VCPU', {connectionName}); + return virt(GET_HYPERVISOR_MAX_VCPU, {connectionName}); } export function volumeCreateAndAttach({ connectionName, poolName, volumeName, size, format, target, permanent, hotplug, vmName }) { - return virt('CREATE_AND_ATTACH_VOLUME', { connectionName, poolName, volumeName, size, format, target, permanent, hotplug, vmName }); + return virt(CREATE_AND_ATTACH_VOLUME, { connectionName, poolName, volumeName, size, format, target, permanent, hotplug, vmName }); } export function attachDisk({ connectionName, diskFileName, target, permanent, hotplug, vmName }) { - return virt('ATTACH_DISK', { connectionName, diskFileName, target, permanent, hotplug, vmName }); + return virt(ATTACH_DISK, { connectionName, diskFileName, target, permanent, hotplug, vmName }); } /** @@ -183,35 +231,35 @@ export function delayPolling(action, timeout) { // --- Store actions -------------------------------------------- export function setProvider(provider) { return { - type: 'SET_PROVIDER', + type: SET_PROVIDER, provider, }; } export function setRefreshInterval(refreshInterval) { return { - type: 'SET_REFRESH_INTERVAL', + type: SET_REFRESH_INTERVAL, refreshInterval, }; } export function updateOrAddVm(props) { return { - type: 'UPDATE_ADD_VM', + type: UPDATE_ADD_VM, vm: props, }; } export function updateVm(props) { return { - type: 'UPDATE_VM', + type: UPDATE_VM, vm: props, }; } export function updateStoragePools({ connectionName, pools }) { return { - type: 'UPDATE_STORAGE_POOLS', + type: UPDATE_STORAGE_POOLS, payload: { connectionName, pools, @@ -221,7 +269,7 @@ export function updateStoragePools({ connectionName, pools }) { export function updateStorageVolumes({ connectionName, poolName, volumes }) { return { - type: 'UPDATE_STORAGE_VOLUMES', + type: UPDATE_STORAGE_VOLUMES, payload: { connectionName, poolName, @@ -232,28 +280,28 @@ export function updateStorageVolumes({ connectionName, poolName, volumes }) { export function updateOsInfoList(osInfoList) { return { - type: 'UPDATE_OS_INFO_LIST', + type: UPDATE_OS_INFO_LIST, osInfoList, }; } export function addUiVm(vm) { return { - type: 'ADD_UI_VM', + type: ADD_UI_VM, vm, }; } export function updateUiVm(vm) { return { - type: 'UPDATE_UI_VM', + type: UPDATE_UI_VM, vm, }; } export function deleteUiVm(vm) { return { - type: 'DELETE_UI_VM', + type: DELETE_UI_VM, vm, }; } @@ -265,21 +313,21 @@ export function addErrorNotification(notification) { notification.type = 'error'; return { - type: 'ADD_NOTIFICATION', + type: ADD_NOTIFICATION, notification, }; } export function addNotification(notification) { return { - type: 'ADD_NOTIFICATION', + type: ADD_NOTIFICATION, notification, }; } export function clearNotification(id) { return { - type: 'CLEAR_NOTIFICATION', + type: CLEAR_NOTIFICATION, id, }; @@ -287,20 +335,20 @@ export function clearNotification(id) { export function clearNotifications() { return { - type: 'CLEAR_NOTIFICATIONS', + type: CLEAR_NOTIFICATIONS, }; } export function updateLibvirtState(state) { return { - type: 'UPDATE_LIBVIRT_STATE', + type: UPDATE_LIBVIRT_STATE, state, }; } export function setHypervisorMaxVCPU({ count, connectionName }) { return { - type: 'SET_HYPERVISOR_MAX_VCPU', + type: SET_HYPERVISOR_MAX_VCPU, payload: { count, connectionName, @@ -310,7 +358,7 @@ export function setHypervisorMaxVCPU({ count, connectionName }) { export function vmActionFailed({ name, connectionName, message, detail, extraPayload }) { return { - type: 'VM_ACTION_FAILED', + type: VM_ACTION_FAILED, payload: { name, connectionName, @@ -328,7 +376,7 @@ export function deleteVmMessage({ name, connectionName }) { export function undefineVm(connectionName, name, transientOnly) { return { - type: 'UNDEFINE_VM', + type: UNDEFINE_VM, name, connectionName, transientOnly, @@ -337,7 +385,7 @@ export function undefineVm(connectionName, name, transientOnly) { export function deleteUnlistedVMs(connectionName, vmNames) { return { - type: 'DELETE_UNLISTED_VMS', + type: DELETE_UNLISTED_VMS, vmNames, connectionName, }; diff --git a/pkg/machines/constants/provider-action-types.es6 b/pkg/machines/constants/provider-action-types.es6 new file mode 100644 index 000000000000..a31f6bd0599e --- /dev/null +++ b/pkg/machines/constants/provider-action-types.es6 @@ -0,0 +1,46 @@ +/* + * This file is part of Cockpit. + * + * Copyright (C) 2018 Red Hat, Inc. + * + * Cockpit is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or + * (at your option) any later version. + * + * Cockpit is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Cockpit; If not, see . + */ + +// --- Provider actions ----------------------------------------- +export const ATTACH_DISK = "ATTACH_DISK"; +export const CHANGE_NETWORK_STATE = "CHANGE_NETWORK_STATE"; +export const CHECK_LIBVIRT_STATUS = "CHECK_LIBVIRT_STATUS"; +export const CONSOLE_VM = "CONSOLE_VM"; +export const CREATE_AND_ATTACH_VOLUME = "CREATE_AND_ATTACH_VOLUME"; +export const CREATE_VM = "CREATE_VM"; +export const DELETE_VM = "DELETE_VM"; +export const ENABLE_LIBVIRT = "ENABLE_LIBVIRT"; +export const FORCEOFF_VM = "FORCEOFF_VM"; +export const FORCEREBOOT_VM = "FORCEREBOOT_VM"; +export const GET_ALL_VMS = "GET_ALL_VMS"; +export const GET_HYPERVISOR_MAX_VCPU = "GET_HYPERVISOR_MAX_VCPU"; +export const GET_OS_INFO_LIST = "GET_OS_INFO_LIST"; +export const GET_STORAGE_POOLS = "GET_STORAGE_POOLS" +export const GET_STORAGE_VOLUMES = "GET_STORAGE_VOLUMES"; +export const GET_VM = "GET_VM"; +export const INIT_DATA_RETRIEVAL = "INIT_DATA_RETRIEVAL"; +export const INSTALL_VM = "INSTALL_VM"; +export const REBOOT_VM = "REBOOT_VM"; +export const SENDNMI_VM = "SENDNMI_VM"; +export const SET_VCPU_SETTINGS = "SET_VCPU_SETTINGS"; +export const SHUTDOWN_VM = "SHUTDOWN_VM"; +export const START_LIBVIRT = "START_LIBVIRT"; +export const START_VM = "START_VM"; +export const USAGE_START_POLLING = "USAGE_START_POLLING"; +export const USAGE_STOP_POLLING = "USAGE_STOP_POLLING"; diff --git a/pkg/machines/constants/store-action-types.es6 b/pkg/machines/constants/store-action-types.es6 new file mode 100644 index 000000000000..92beb5249fb1 --- /dev/null +++ b/pkg/machines/constants/store-action-types.es6 @@ -0,0 +1,38 @@ +/* + * This file is part of Cockpit. + * + * Copyright (C) 2018 Red Hat, Inc. + * + * Cockpit is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or + * (at your option) any later version. + * + * Cockpit is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Cockpit; If not, see . + */ + +// --- Store actions -------------------------------------------- +export const ADD_NOTIFICATION = "ADD_NOTIFICATION"; +export const ADD_UI_VM = "ADD_UI_VM"; +export const CLEAR_NOTIFICATION = "CLEAR_NOTIFICATION"; +export const CLEAR_NOTIFICATIONS = "CLEAR_NOTIFICATIONS"; +export const DELETE_UI_VM = "DELETE_UI_VM"; +export const DELETE_UNLISTED_VMS = "DELETE_UNLISTED_VMS"; +export const SET_HYPERVISOR_MAX_VCPU = "SET_HYPERVISOR_MAX_VCPU"; +export const SET_PROVIDER = "SET_PROVIDER"; +export const SET_REFRESH_INTERVAL = "SET_REFRESH_INTERVAL"; +export const UNDEFINE_VM = "UNDEFINE_VM"; +export const UPDATE_ADD_VM = "UPDATE_ADD_VM"; +export const UPDATE_LIBVIRT_STATE = "UPDATE_LIBVIRT_STATE"; +export const UPDATE_OS_INFO_LIST = "UPDATE_OS_INFO_LIST"; +export const UPDATE_STORAGE_POOLS = "UPDATE_STORAGE_POOLS"; +export const UPDATE_STORAGE_VOLUMES = "UPDATE STORAGE_VOLUMES"; +export const UPDATE_UI_VM = "UPDATE_UI_VM"; +export const UPDATE_VM = "UPDATE_VM"; +export const VM_ACTION_FAILED = "VM_ACTION_FAILED"; diff --git a/pkg/machines/reducers.es6 b/pkg/machines/reducers.es6 index 59d185bcbd88..2bcdc9e4f606 100644 --- a/pkg/machines/reducers.es6 +++ b/pkg/machines/reducers.es6 @@ -19,6 +19,25 @@ import { combineReducers } from 'redux/dist/redux'; import VMS_CONFIG from "./config.es6"; import { logDebug } from './helpers.es6'; +import { + ADD_NOTIFICATION, + ADD_UI_VM, + CLEAR_NOTIFICATION, + CLEAR_NOTIFICATIONS, + DELETE_UI_VM, + DELETE_UNLISTED_VMS, + SET_PROVIDER, + SET_REFRESH_INTERVAL, + UNDEFINE_VM, + UPDATE_ADD_VM, + UPDATE_LIBVIRT_STATE, + UPDATE_OS_INFO_LIST, + UPDATE_STORAGE_POOLS, + UPDATE_STORAGE_VOLUMES, + UPDATE_UI_VM, + UPDATE_VM, + VM_ACTION_FAILED, +} from './constants/store-action-types.es6'; // --- helpers ------------------- function getFirstIndexOfVm(state, field, value, connectionName) { @@ -36,9 +55,9 @@ function config(state, action) { }; switch (action.type) { - case 'SET_PROVIDER': + case SET_PROVIDER: return Object.assign({}, state, { provider: action.provider }); - case 'SET_REFRESH_INTERVAL': { + case SET_REFRESH_INTERVAL: { const newState = Object.assign({}, state); newState.refreshInterval = action.refreshInterval; return newState; @@ -98,7 +117,7 @@ function vms(state, action) { } switch (action.type) { - case 'UPDATE_ADD_VM': { + case UPDATE_ADD_VM: { const connectionName = action.vm.connectionName; const index = action.vm.id ? getFirstIndexOfVm(state, 'id', action.vm.id, connectionName) : getFirstIndexOfVm(state, 'name', action.vm.name, connectionName); @@ -109,7 +128,7 @@ function vms(state, action) { const updatedVm = Object.assign({}, state[index], action.vm); return replaceVm({ state, updatedVm, index }); } - case 'UPDATE_VM': { + case UPDATE_VM: { const indexedVm = findVmToUpdate(state, action.vm); if (!indexedVm) { return state; @@ -128,7 +147,7 @@ function vms(state, action) { // replace whole object return replaceVm({ state, updatedVm, index: indexedVm.index }); } - case 'VM_ACTION_FAILED': { + case VM_ACTION_FAILED: { const indexedVm = findVmToUpdate(state, action.payload); if (!indexedVm) { // already logged return state; @@ -140,12 +159,12 @@ function vms(state, action) { return replaceVm({ state, updatedVm, index: indexedVm.index }); } - case 'UNDEFINE_VM': { + case UNDEFINE_VM: { return state .filter(vm => (action.connectionName !== vm.connectionName || action.name != vm.name || (action.transientOnly && vm.persistent))); } - case 'DELETE_UNLISTED_VMS': { + case DELETE_UNLISTED_VMS: { return state .filter(vm => (action.connectionName !== vm.connectionName || action.vmNames.indexOf(vm.name) >= 0)); } @@ -165,13 +184,13 @@ function systemInfo(state, action) { }; switch (action.type) { - case 'UPDATE_OS_INFO_LIST': { + case UPDATE_OS_INFO_LIST: { if (action.osInfoList instanceof Array) { state.osInfoList = [...action.osInfoList]; } return state; } - case 'UPDATE_LIBVIRT_STATE': { + case UPDATE_LIBVIRT_STATE: { state.libvirtService = Object.assign({}, state.libvirtService, action.state); return state; } @@ -194,7 +213,7 @@ function storagePools(state, action) { } */ switch (action.type) { - case 'UPDATE_STORAGE_POOLS': { + case UPDATE_STORAGE_POOLS: { const { connectionName, pools } = action.payload; const newState = Object.assign({}, state); @@ -207,7 +226,7 @@ function storagePools(state, action) { return newState; } - case 'UPDATE_STORAGE_VOLUMES': { + case UPDATE_STORAGE_VOLUMES: { const { connectionName, poolName, volumes } = action.payload; const newState = Object.assign({}, state); @@ -236,20 +255,20 @@ function ui(state, action) { }; switch (action.type) { - case 'ADD_UI_VM': { + case ADD_UI_VM: { addVm(); return state; } - case 'UPDATE_UI_VM': { + case UPDATE_UI_VM: { if (state.vms[action.vm.name]) { addVm(); } return state; } - case 'DELETE_UI_VM': + case DELETE_UI_VM: delete state.vms[action.vm.name]; return state; - case 'ADD_NOTIFICATION': { + case ADD_NOTIFICATION: { const notification = typeof action.notification === 'string' ? { message: action.notification } : action.notification; const notifs = state.notifications; notification.id = notifs.length > 0 ? notifs[notifs.length - 1].id + 1 : 1; @@ -261,11 +280,11 @@ function ui(state, action) { state.notifications = [...notifs, notification]; return state; } - case 'CLEAR_NOTIFICATION': { + case CLEAR_NOTIFICATION: { state.notifications = state.notifications.filter(error => error.id !== action.id); return state; } - case 'CLEAR_NOTIFICATIONS': { + case CLEAR_NOTIFICATIONS: { state.notifications = []; return state; } From f067d7370f1954ca454a16a7e987ae41991e19cc Mon Sep 17 00:00:00 2001 From: Katerina Koukiou Date: Wed, 20 Jun 2018 14:38:33 +0200 Subject: [PATCH 2/2] machines: split actions file actions.es6 file contains both provider and store actions. Let's keep them in seperate files to increase readability and make it easier for new maintainers to navigate through the package. Together with the move the functions were also sorted in aphabetical order. Signed-off-by: Katerina Koukiou --- .../provider-actions.es6} | 323 ++++-------------- pkg/machines/actions/store-actions.es6 | 210 ++++++++++++ pkg/machines/components/consoles.jsx | 2 +- .../create-vm-dialog/createVmDialog.jsx | 3 +- .../components/create-vm-dialog/uiState.es6 | 2 +- pkg/machines/components/deleteDialog.jsx | 2 +- pkg/machines/components/diskAdd.jsx | 2 +- pkg/machines/components/libvirtSlate.jsx | 2 +- pkg/machines/components/vcpuModal.jsx | 2 +- pkg/machines/components/vmLastMessage.jsx | 2 +- pkg/machines/hostvmslist.jsx | 4 +- pkg/machines/index.es6 | 2 +- pkg/machines/libvirt-common.es6 | 13 +- pkg/machines/libvirt.es6 | 19 +- pkg/machines/provider.es6 | 2 +- pkg/machines/vmnetworktab.jsx | 2 +- pkg/ovirt/components/vcpuModal.jsx | 2 +- pkg/ovirt/index.es6 | 2 +- pkg/ovirt/provider.es6 | 2 +- 19 files changed, 319 insertions(+), 279 deletions(-) rename pkg/machines/{actions.es6 => actions/provider-actions.es6} (60%) create mode 100644 pkg/machines/actions/store-actions.es6 diff --git a/pkg/machines/actions.es6 b/pkg/machines/actions/provider-actions.es6 similarity index 60% rename from pkg/machines/actions.es6 rename to pkg/machines/actions/provider-actions.es6 index 8556e9d69850..093e5b57cdeb 100644 --- a/pkg/machines/actions.es6 +++ b/pkg/machines/actions/provider-actions.es6 @@ -17,30 +17,10 @@ * along with Cockpit; If not, see . */ import cockpit from 'cockpit'; -import { getRefreshInterval } from './selectors.es6'; -import VMS_CONFIG from "./config.es6"; -import { logDebug } from './helpers.es6'; -import { virt } from './provider.es6'; -import { - ADD_NOTIFICATION, - ADD_UI_VM, - CLEAR_NOTIFICATION, - CLEAR_NOTIFICATIONS, - DELETE_UI_VM, - DELETE_UNLISTED_VMS, - SET_HYPERVISOR_MAX_VCPU, - SET_PROVIDER, - SET_REFRESH_INTERVAL, - UNDEFINE_VM, - UPDATE_ADD_VM, - UPDATE_LIBVIRT_STATE, - UPDATE_OS_INFO_LIST, - UPDATE_STORAGE_POOLS, - UPDATE_STORAGE_VOLUMES, - UPDATE_UI_VM, - UPDATE_VM, - VM_ACTION_FAILED, -} from './constants/store-action-types.es6'; +import { getRefreshInterval } from '../selectors.es6'; +import VMS_CONFIG from "../config.es6"; +import { logDebug } from '../helpers.es6'; +import { virt } from '../provider.es6'; import { ATTACH_DISK, CHANGE_NETWORK_STATE, @@ -68,107 +48,95 @@ import { START_VM, USAGE_START_POLLING, USAGE_STOP_POLLING, -} from './constants/provider-action-types.es6'; +} from '../constants/provider-action-types.es6'; /** * All actions dispatchable by in the application */ -// --- Provider actions ----------------------------------------- -export function initDataRetrieval() { - return virt(INIT_DATA_RETRIEVAL); -} - -/** +/** --- Provider action creators ----------------------------------------- * - * @param connectionName optional - if `undefined` then for all connections - * @param libvirtServiceName + * The naming convention for action creator names is: + * with the present tense. */ -export function getAllVms(connectionName, libvirtServiceName) { - return virt(GET_ALL_VMS, { connectionName, libvirtServiceName }); -} - -export function getVm(connectionName, lookupId) { - return virt(GET_VM, { - lookupId, // provider-specific (i.e. libvirt uses vm_name) - connectionName, - }); -} - -export function getOsInfoList() { - return virt(GET_OS_INFO_LIST); +export function attachDisk({ connectionName, diskFileName, target, permanent, hotplug, vmName }) { + return virt(ATTACH_DISK, { connectionName, diskFileName, target, permanent, hotplug, vmName }); } -export function getStoragePools(connectionName) { - return virt(GET_STORAGE_POOLS, { connectionName }); +export function changeNetworkState(vm, networkMac, state) { + return virt(CHANGE_NETWORK_STATE, { name: vm.name, id: vm.id, networkMac, state, connectionName: vm.connectionName }); } -export function getStorageVolumes(connectionName, poolName) { - return virt(GET_STORAGE_VOLUMES, { connectionName, poolName }); +export function checkLibvirtStatus(serviceName) { + return virt(CHECK_LIBVIRT_STATUS, { serviceName }); } -export function shutdownVm(vm) { - return virt(SHUTDOWN_VM, { name: vm.name, id: vm.id, connectionName: vm.connectionName }); +export function createVm(vmParams) { + return virt(CREATE_VM, vmParams); } -export function forceVmOff(vm) { - return virt(FORCEOFF_VM, { name: vm.name, id: vm.id, connectionName: vm.connectionName }); +export function deleteVm(vm, options) { + return virt(DELETE_VM, { name: vm.name, id: vm.id, connectionName: vm.connectionName, options: options }); } -export function rebootVm(vm) { - return virt(REBOOT_VM, { name: vm.name, id: vm.id, connectionName: vm.connectionName }); +export function enableLibvirt(enable, serviceName) { + return virt(ENABLE_LIBVIRT, { enable, serviceName }); } export function forceRebootVm(vm) { return virt(FORCEREBOOT_VM, { name: vm.name, id: vm.id, connectionName: vm.connectionName }); } -export function startVm(vm) { - return virt(START_VM, { name: vm.name, id: vm.id, connectionName: vm.connectionName }); -} - -export function deleteVm(vm, options) { - return virt(DELETE_VM, { name: vm.name, id: vm.id, connectionName: vm.connectionName, options: options }); +export function forceVmOff(vm) { + return virt(FORCEOFF_VM, { name: vm.name, id: vm.id, connectionName: vm.connectionName }); } -export function installVm(vm) { - return virt(INSTALL_VM, vm); +/** + * + * @param connectionName optional - if `undefined` then for all connections + * @param libvirtServiceName + */ +export function getAllVms(connectionName, libvirtServiceName) { + return virt(GET_ALL_VMS, { connectionName, libvirtServiceName }); } -export function createVm(vmParams) { - return virt(CREATE_VM, vmParams); +export function getHypervisorMaxVCPU(connectionName) { + return virt(GET_HYPERVISOR_MAX_VCPU, { connectionName }); } -export function vmDesktopConsole(vm, consoleDetail) { - return virt(CONSOLE_VM, { name: vm.name, id: vm.id, connectionName: vm.connectionName, consoleDetail }); +export function getOsInfoList() { + return virt(GET_OS_INFO_LIST); } -export function usageStartPolling(vm) { - return virt(USAGE_START_POLLING, { name: vm.name, id: vm.id, connectionName: vm.connectionName }); +export function getStoragePools(connectionName) { + return virt(GET_STORAGE_POOLS, { connectionName }); } -export function usageStopPolling(vm) { - return virt(USAGE_STOP_POLLING, { name: vm.name, id: vm.id, connectionName: vm.connectionName }); +export function getStorageVolumes(connectionName, poolName) { + return virt(GET_STORAGE_VOLUMES, { connectionName, poolName }); } -export function sendNMI(vm) { - return virt(SENDNMI_VM, { name: vm.name, id: vm.id, connectionName: vm.connectionName }); +export function getVm(connectionName, lookupId) { + return virt(GET_VM, { + lookupId, // provider-specific (i.e. libvirt uses vm_name) + connectionName, + }); } -export function changeNetworkState(vm, networkMac, state) { - return virt(CHANGE_NETWORK_STATE, { name: vm.name, id: vm.id, networkMac, state, connectionName: vm.connectionName }); +export function initDataRetrieval() { + return virt(INIT_DATA_RETRIEVAL); } -export function checkLibvirtStatus(serviceName) { - return virt(CHECK_LIBVIRT_STATUS, { serviceName }); +export function installVm(vm) { + return virt(INSTALL_VM, vm); } -export function startLibvirt(serviceName) { - return virt(START_LIBVIRT, { serviceName }); +export function rebootVm(vm) { + return virt(REBOOT_VM, { name: vm.name, id: vm.id, connectionName: vm.connectionName }); } -export function enableLibvirt(enable, serviceName) { - return virt(ENABLE_LIBVIRT, { enable, serviceName }); +export function sendNMI(vm) { + return virt(SENDNMI_VM, { name: vm.name, id: vm.id, connectionName: vm.connectionName }); } export function setVCPUSettings(vm, max, count, sockets, threads, cores) { @@ -185,16 +153,32 @@ export function setVCPUSettings(vm, max, count, sockets, threads, cores) { }); } -export function getHypervisorMaxVCPU(connectionName) { - return virt(GET_HYPERVISOR_MAX_VCPU, {connectionName}); +export function shutdownVm(vm) { + return virt(SHUTDOWN_VM, { name: vm.name, id: vm.id, connectionName: vm.connectionName }); } -export function volumeCreateAndAttach({ connectionName, poolName, volumeName, size, format, target, permanent, hotplug, vmName }) { - return virt(CREATE_AND_ATTACH_VOLUME, { connectionName, poolName, volumeName, size, format, target, permanent, hotplug, vmName }); +export function startLibvirt(serviceName) { + return virt(START_LIBVIRT, { serviceName }); } -export function attachDisk({ connectionName, diskFileName, target, permanent, hotplug, vmName }) { - return virt(ATTACH_DISK, { connectionName, diskFileName, target, permanent, hotplug, vmName }); +export function startVm(vm) { + return virt(START_VM, { name: vm.name, id: vm.id, connectionName: vm.connectionName }); +} + +export function usageStartPolling(vm) { + return virt(USAGE_START_POLLING, { name: vm.name, id: vm.id, connectionName: vm.connectionName }); +} + +export function usageStopPolling(vm) { + return virt(USAGE_STOP_POLLING, { name: vm.name, id: vm.id, connectionName: vm.connectionName }); +} + +export function vmDesktopConsole(vm, consoleDetail) { + return virt(CONSOLE_VM, { name: vm.name, id: vm.id, connectionName: vm.connectionName, consoleDetail }); +} + +export function volumeCreateAndAttach({ connectionName, poolName, volumeName, size, format, target, permanent, hotplug, vmName }) { + return virt(CREATE_AND_ATTACH_VOLUME, { connectionName, poolName, volumeName, size, format, target, permanent, hotplug, vmName }); } /** @@ -227,166 +211,3 @@ export function delayPolling(action, timeout) { } }; } - -// --- Store actions -------------------------------------------- -export function setProvider(provider) { - return { - type: SET_PROVIDER, - provider, - }; -} - -export function setRefreshInterval(refreshInterval) { - return { - type: SET_REFRESH_INTERVAL, - refreshInterval, - }; -} - -export function updateOrAddVm(props) { - return { - type: UPDATE_ADD_VM, - vm: props, - }; -} - -export function updateVm(props) { - return { - type: UPDATE_VM, - vm: props, - }; -} - -export function updateStoragePools({ connectionName, pools }) { - return { - type: UPDATE_STORAGE_POOLS, - payload: { - connectionName, - pools, - } - }; -} - -export function updateStorageVolumes({ connectionName, poolName, volumes }) { - return { - type: UPDATE_STORAGE_VOLUMES, - payload: { - connectionName, - poolName, - volumes, - }, - }; -} - -export function updateOsInfoList(osInfoList) { - return { - type: UPDATE_OS_INFO_LIST, - osInfoList, - }; -} - -export function addUiVm(vm) { - return { - type: ADD_UI_VM, - vm, - }; -} - -export function updateUiVm(vm) { - return { - type: UPDATE_UI_VM, - vm, - }; -} - -export function deleteUiVm(vm) { - return { - type: DELETE_UI_VM, - vm, - }; -} - -export function addErrorNotification(notification) { - if (typeof notification === 'string') { - notification = { message: notification }; - } - notification.type = 'error'; - - return { - type: ADD_NOTIFICATION, - notification, - }; -} - -export function addNotification(notification) { - return { - type: ADD_NOTIFICATION, - notification, - }; -} - -export function clearNotification(id) { - return { - type: CLEAR_NOTIFICATION, - id, - - }; -} - -export function clearNotifications() { - return { - type: CLEAR_NOTIFICATIONS, - }; -} - -export function updateLibvirtState(state) { - return { - type: UPDATE_LIBVIRT_STATE, - state, - }; -} - -export function setHypervisorMaxVCPU({ count, connectionName }) { - return { - type: SET_HYPERVISOR_MAX_VCPU, - payload: { - count, - connectionName, - } - }; -} - -export function vmActionFailed({ name, connectionName, message, detail, extraPayload }) { - return { - type: VM_ACTION_FAILED, - payload: { - name, - connectionName, - message, - detail, - extraPayload, - }, - }; -} - -export function deleteVmMessage({ name, connectionName }) { - // recently there's just the last error message kept so we can reuse the code - return vmActionFailed({ name, connectionName, message: null, detail: null, extraPayload: null }); -} - -export function undefineVm(connectionName, name, transientOnly) { - return { - type: UNDEFINE_VM, - name, - connectionName, - transientOnly, - }; -} - -export function deleteUnlistedVMs(connectionName, vmNames) { - return { - type: DELETE_UNLISTED_VMS, - vmNames, - connectionName, - }; -} diff --git a/pkg/machines/actions/store-actions.es6 b/pkg/machines/actions/store-actions.es6 new file mode 100644 index 000000000000..94079195d8c9 --- /dev/null +++ b/pkg/machines/actions/store-actions.es6 @@ -0,0 +1,210 @@ +/* + * This file is part of Cockpit. + * + * Copyright (C) 2016 Red Hat, Inc. + * + * Cockpit is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or + * (at your option) any later version. + * + * Cockpit is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Cockpit; If not, see . + */ +import { + ADD_NOTIFICATION, + ADD_UI_VM, + CLEAR_NOTIFICATION, + CLEAR_NOTIFICATIONS, + DELETE_UI_VM, + DELETE_UNLISTED_VMS, + SET_HYPERVISOR_MAX_VCPU, + SET_PROVIDER, + SET_REFRESH_INTERVAL, + UNDEFINE_VM, + UPDATE_ADD_VM, + UPDATE_LIBVIRT_STATE, + UPDATE_OS_INFO_LIST, + UPDATE_STORAGE_POOLS, + UPDATE_STORAGE_VOLUMES, + UPDATE_UI_VM, + UPDATE_VM, + VM_ACTION_FAILED, +} from '../constants/store-action-types.es6'; + +/** + * All actions dispatchable by in the application + */ + +/** --- Store action creators ----------------------------------------- + * + * The naming convention for action creator names is: + * with the present tense. + */ + +export function addErrorNotification(notification) { + if (typeof notification === 'string') { + notification = { message: notification }; + } + notification.type = 'error'; + + return { + type: ADD_NOTIFICATION, + notification, + }; +} + +export function addNotification(notification) { + return { + type: ADD_NOTIFICATION, + notification, + }; +} + +export function addUiVm(vm) { + return { + type: ADD_UI_VM, + vm, + }; +} + +export function clearNotification(id) { + return { + type: CLEAR_NOTIFICATION, + id, + + }; +} + +export function clearNotifications() { + return { + type: CLEAR_NOTIFICATIONS, + }; +} + +export function deleteUiVm(vm) { + return { + type: DELETE_UI_VM, + vm, + }; +} + +export function deleteUnlistedVMs(connectionName, vmNames) { + return { + type: DELETE_UNLISTED_VMS, + vmNames, + connectionName, + }; +} + +export function deleteVmMessage({ name, connectionName }) { + // recently there's just the last error message kept so we can reuse the code + return vmActionFailed({ name, connectionName, message: null, detail: null, extraPayload: null }); +} + +export function setHypervisorMaxVCPU({ count, connectionName }) { + return { + type: SET_HYPERVISOR_MAX_VCPU, + payload: { + count, + connectionName, + } + }; +} + +export function setProvider(provider) { + return { + type: SET_PROVIDER, + provider, + }; +} + +export function setRefreshInterval(refreshInterval) { + return { + type: SET_REFRESH_INTERVAL, + refreshInterval, + }; +} + +export function undefineVm(connectionName, name, transientOnly) { + return { + type: UNDEFINE_VM, + name, + connectionName, + transientOnly, + }; +} + +export function updateLibvirtState(state) { + return { + type: UPDATE_LIBVIRT_STATE, + state, + }; +} + +export function updateOrAddVm(props) { + return { + type: UPDATE_ADD_VM, + vm: props, + }; +} + +export function updateOsInfoList(osInfoList) { + return { + type: UPDATE_OS_INFO_LIST, + osInfoList, + }; +} + +export function updateStoragePools({ connectionName, pools }) { + return { + type: UPDATE_STORAGE_POOLS, + payload: { + connectionName, + pools, + } + }; +} + +export function updateStorageVolumes({ connectionName, poolName, volumes }) { + return { + type: UPDATE_STORAGE_VOLUMES, + payload: { + connectionName, + poolName, + volumes, + }, + }; +} + +export function updateUiVm(vm) { + return { + type: UPDATE_UI_VM, + vm, + }; +} + +export function updateVm(props) { + return { + type: UPDATE_VM, + vm: props, + }; +} + +export function vmActionFailed({ name, connectionName, message, detail, extraPayload }) { + return { + type: VM_ACTION_FAILED, + payload: { + name, + connectionName, + message, + detail, + extraPayload, + }, + }; +} diff --git a/pkg/machines/components/consoles.jsx b/pkg/machines/components/consoles.jsx index a6f760c7a89f..f6d27831d803 100644 --- a/pkg/machines/components/consoles.jsx +++ b/pkg/machines/components/consoles.jsx @@ -25,7 +25,7 @@ import Vnc, { VncActions } from './vnc.jsx'; import DesktopConsole from './desktopConsole.jsx'; import { logDebug } from '../helpers.es6'; -import { vmDesktopConsole } from '../actions.es6'; +import { vmDesktopConsole } from '../actions/provider-actions.es6'; import './consoles.css'; diff --git a/pkg/machines/components/create-vm-dialog/createVmDialog.jsx b/pkg/machines/components/create-vm-dialog/createVmDialog.jsx index 46d31d44d043..6a26d02ee9a6 100644 --- a/pkg/machines/components/create-vm-dialog/createVmDialog.jsx +++ b/pkg/machines/components/create-vm-dialog/createVmDialog.jsx @@ -22,7 +22,8 @@ import React, { PropTypes } from "react"; import DialogPattern from 'cockpit-components-dialog.jsx'; import Select from "cockpit-components-select.jsx"; import FileAutoComplete from "cockpit-components-file-autocomplete.jsx"; -import { createVm, addErrorNotification } from '../../actions.es6'; +import { createVm } from '../../actions/provider-actions.es6'; +import { addErrorNotification } from '../../actions/store-actions.es6'; import { isEmpty, convertToUnit, diff --git a/pkg/machines/components/create-vm-dialog/uiState.es6 b/pkg/machines/components/create-vm-dialog/uiState.es6 index da87600c1ddf..00c4346f4c7b 100644 --- a/pkg/machines/components/create-vm-dialog/uiState.es6 +++ b/pkg/machines/components/create-vm-dialog/uiState.es6 @@ -21,7 +21,7 @@ import { addUiVm, updateUiVm, deleteUiVm, -} from '../../actions.es6'; +} from '../../actions/store-actions.es6'; import VMS_CONFIG from "../../config.es6"; diff --git a/pkg/machines/components/deleteDialog.jsx b/pkg/machines/components/deleteDialog.jsx index 66c2250b0888..2d69f91c1137 100644 --- a/pkg/machines/components/deleteDialog.jsx +++ b/pkg/machines/components/deleteDialog.jsx @@ -20,7 +20,7 @@ import cockpit from 'cockpit'; import React from 'react'; import { show_modal_dialog } from 'cockpit-components-dialog.jsx'; -import { deleteVm } from '../actions.es6'; +import { deleteVm } from '../actions/provider-actions.es6'; import './deleteDialog.css'; diff --git a/pkg/machines/components/diskAdd.jsx b/pkg/machines/components/diskAdd.jsx index 34066264b192..e6783a3de6ab 100644 --- a/pkg/machines/components/diskAdd.jsx +++ b/pkg/machines/components/diskAdd.jsx @@ -23,7 +23,7 @@ import DialogPattern from 'cockpit-components-dialog.jsx'; import Select from "cockpit-components-select.jsx"; import { mouseClick, units, convertToUnit, digitFilter, toFixedPrecision } from '../helpers.es6'; -import { volumeCreateAndAttach, attachDisk, getVm, getStoragePools } from '../actions.es6'; +import { volumeCreateAndAttach, attachDisk, getVm, getStoragePools } from '../actions/provider-actions.es6'; import './diskAdd.css'; diff --git a/pkg/machines/components/libvirtSlate.jsx b/pkg/machines/components/libvirtSlate.jsx index b22fe1754df0..5d34bf444225 100644 --- a/pkg/machines/components/libvirtSlate.jsx +++ b/pkg/machines/components/libvirtSlate.jsx @@ -22,7 +22,7 @@ import { mouseClick } from "../helpers.es6"; import { startLibvirt, enableLibvirt, -} from "../actions.es6"; +} from "../actions/provider-actions.es6"; import './libvirtSlate.css'; diff --git a/pkg/machines/components/vcpuModal.jsx b/pkg/machines/components/vcpuModal.jsx index 4bf594601dfb..0cc17e9444e1 100644 --- a/pkg/machines/components/vcpuModal.jsx +++ b/pkg/machines/components/vcpuModal.jsx @@ -5,7 +5,7 @@ import { show_modal_dialog } from 'cockpit-components-dialog.jsx'; import SelectComponent from 'cockpit-components-select.jsx'; import InfoRecord from './infoRecord.jsx'; import { Alert } from './notification/inlineNotification.jsx'; -import { setVCPUSettings } from "../actions.es6"; +import { setVCPUSettings } from "../actions/provider-actions.es6"; const _ = cockpit.gettext; diff --git a/pkg/machines/components/vmLastMessage.jsx b/pkg/machines/components/vmLastMessage.jsx index 8b71e2e20187..4049bbed2447 100644 --- a/pkg/machines/components/vmLastMessage.jsx +++ b/pkg/machines/components/vmLastMessage.jsx @@ -18,7 +18,7 @@ */ import React from "react"; import { vmId } from '../helpers.es6'; -import { deleteVmMessage } from '../actions.es6'; +import { deleteVmMessage } from '../actions/store-actions.es6'; import { Alert } from './notification/inlineNotification.jsx'; const VmLastMessage = ({ vm, dispatch }) => { diff --git a/pkg/machines/hostvmslist.jsx b/pkg/machines/hostvmslist.jsx index 74de51ca2cf7..c409c382fa25 100644 --- a/pkg/machines/hostvmslist.jsx +++ b/pkg/machines/hostvmslist.jsx @@ -29,8 +29,10 @@ import { installVm, usageStartPolling, usageStopPolling, +} from "./actions/provider-actions.es6"; +import { clearNotification, -} from "./actions.es6"; +} from "./actions/store-actions.es6"; import { vmId } from "./helpers.es6"; diff --git a/pkg/machines/index.es6 b/pkg/machines/index.es6 index 01c414b87afd..f93fd19ab3cd 100644 --- a/pkg/machines/index.es6 +++ b/pkg/machines/index.es6 @@ -21,7 +21,7 @@ import '../lib/polyfills.js'; // once per application import React from 'react'; import store from './store.es6'; import App from './app.jsx'; -import { initDataRetrieval } from './actions.es6'; +import { initDataRetrieval } from './actions/provider-actions.es6'; import { logDebug } from './helpers.es6'; import Libvirt from './libvirt.es6'; diff --git a/pkg/machines/libvirt-common.es6 b/pkg/machines/libvirt-common.es6 index 9c522420e2cc..6198ef236439 100644 --- a/pkg/machines/libvirt-common.es6 +++ b/pkg/machines/libvirt-common.es6 @@ -7,15 +7,18 @@ import getOSListScript from 'raw!./scripts/get_os_list.sh'; import getLibvirtServiceNameScript from 'raw!./scripts/get_libvirt_service_name.sh'; import { - checkLibvirtStatus, - getAllVms, - getHypervisorMaxVCPU, - getOsInfoList, vmActionFailed, updateLibvirtState, updateOrAddVm, updateOsInfoList, -} from './actions.es6'; +} from './actions/store-actions.es6'; + +import { + checkLibvirtStatus, + getAllVms, + getHypervisorMaxVCPU, + getOsInfoList +} from './actions/provider-actions.es6'; import { convertToUnit, diff --git a/pkg/machines/libvirt.es6 b/pkg/machines/libvirt.es6 index 29c15a4aa1c2..e353120955ee 100644 --- a/pkg/machines/libvirt.es6 +++ b/pkg/machines/libvirt.es6 @@ -24,20 +24,23 @@ import cockpit from 'cockpit'; import { updateVm, - getVm, - getAllVms, - delayPolling, undefineVm, deleteUnlistedVMs, - checkLibvirtStatus, + updateStoragePools, + updateStorageVolumes, setHypervisorMaxVCPU, +} from './actions/store-actions.es6'; + +import { + attachDisk, + checkLibvirtStatus, + delayPolling, + getAllVms, getHypervisorMaxVCPU, getStoragePools, getStorageVolumes, - updateStoragePools, - updateStorageVolumes, - attachDisk, -} from './actions.es6'; + getVm, +} from './actions/provider-actions.es6' import { usagePollingEnabled } from './selectors.es6'; import { spawnScript, spawnProcess } from './services.es6'; diff --git a/pkg/machines/provider.es6 b/pkg/machines/provider.es6 index 021cdd2cf625..044ed697c64b 100644 --- a/pkg/machines/provider.es6 +++ b/pkg/machines/provider.es6 @@ -20,7 +20,7 @@ import cockpit from 'cockpit'; import { logDebug } from './helpers.es6'; -import { setProvider } from './actions.es6'; +import { setProvider } from './actions/store-actions.es6'; var provider = null; diff --git a/pkg/machines/vmnetworktab.jsx b/pkg/machines/vmnetworktab.jsx index 8e5194087f69..b3e806fe0be1 100644 --- a/pkg/machines/vmnetworktab.jsx +++ b/pkg/machines/vmnetworktab.jsx @@ -18,7 +18,7 @@ */ import React from 'react'; import cockpit from 'cockpit'; -import { changeNetworkState } from "./actions.es6"; +import { changeNetworkState } from "./actions/provider-actions.es6"; import { rephraseUI, vmId } from "./helpers.es6"; import { Listing, ListingRow } from 'cockpit-components-listing.jsx'; diff --git a/pkg/ovirt/components/vcpuModal.jsx b/pkg/ovirt/components/vcpuModal.jsx index ea645842f0b1..353da6a325ea 100644 --- a/pkg/ovirt/components/vcpuModal.jsx +++ b/pkg/ovirt/components/vcpuModal.jsx @@ -2,7 +2,7 @@ import React from 'react'; import cockpit from 'cockpit'; import { show_modal_dialog } from 'cockpit-components-dialog.jsx'; -import { setVCPUSettings } from "../../machines/actions.es6"; +import { setVCPUSettings } from "../../machines/actions/provider-actions.es6"; import InfoRecord from '../../machines/components/infoRecord.jsx'; const _ = cockpit.gettext; diff --git a/pkg/ovirt/index.es6 b/pkg/ovirt/index.es6 index bafee8c0b9c6..6d702658e8f8 100644 --- a/pkg/ovirt/index.es6 +++ b/pkg/ovirt/index.es6 @@ -20,7 +20,7 @@ import '../lib/polyfills.js'; // once per application import React from 'react'; import store from './store.es6'; -import { initDataRetrieval } from '../machines/actions.es6'; +import { initDataRetrieval } from '../machines/actions/provider-actions.es6'; import { logDebug } from '../machines/helpers.es6'; import Provider from './provider.es6'; diff --git a/pkg/ovirt/provider.es6 b/pkg/ovirt/provider.es6 index 65a36ec2fde4..57f7364861f2 100644 --- a/pkg/ovirt/provider.es6 +++ b/pkg/ovirt/provider.es6 @@ -28,7 +28,7 @@ import { pollOvirt, forceNextOvirtPoll } from './ovirt.es6'; import { oVirtIconToInternal } from './ovirtConverters.es6'; import { updateIcon, downloadIcon } from './actions.es6'; -import { getHypervisorMaxVCPU } from '../machines/actions.es6'; +import { getHypervisorMaxVCPU } from '../machines/actions/provider-actions.es6'; import { getAllIcons, isVmManagedByOvirt } from './selectors.es6'; import { ovirtReducer } from './reducers.es6';