1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-16 22:50:10 +03:00
This commit is contained in:
Tino Vazquez 2022-06-30 11:49:16 +02:00
commit 142f85abc6
12 changed files with 35 additions and 18 deletions

View File

@ -175,6 +175,12 @@ else
fi
FORMAT=$($QEMU_IMG info $DST | grep "^file format:" | awk '{print $3}' || :)
if [ -z $FORMAT ]; then
rm -rf $DST
log_error "Unknown image format src=$SRC"
exit -1
fi
fi
[[ "$FORMAT" = "luks" ]] && FORMAT="raw"

View File

@ -63,7 +63,7 @@ if [ -n "$BRIDGE_LIST" ]; then
"Error deleting $SRC in $DST_HOST"
else
BASENAME_SRC=`basename "${SRC##$REMOTE_RM_CMD}"`
if [ -f "$SRC" -a `dirname "$SRC"` = "$BASE_PATH" -a -n "$BASENAME_SRC" ]
if [ -e "$SRC" -a `dirname "$SRC"` = "$BASE_PATH" -a -n "$BASENAME_SRC" ]
then
log "Removing $SRC from the image repository"

View File

@ -16,7 +16,7 @@
import { string, number } from 'yup'
import { INPUT_TYPES, T, HYPERVISORS, Field } from 'client/constants'
const { kvm, vcenter, firecracker, lxc } = HYPERVISORS
const { vcenter, firecracker, lxc } = HYPERVISORS
/** @type {Field[]} List of general fields */
export const GENERAL_FIELDS = [
@ -126,7 +126,7 @@ export const VCENTER_FIELDS = [
{
name: 'VCENTER_ADAPTER_TYPE',
label: T.BusAdapterController,
notOnHypervisors: [kvm, firecracker],
onlyOnHypervisors: [vcenter],
type: INPUT_TYPES.SELECT,
values: [
{ text: '', value: '' },
@ -140,7 +140,7 @@ export const VCENTER_FIELDS = [
{
name: 'VCENTER_DISK_TYPE',
label: T.DiskProvisioningType,
notOnHypervisors: [kvm, firecracker],
onlyOnHypervisors: [vcenter],
type: INPUT_TYPES.SELECT,
values: [
{ text: '', value: '' },

View File

@ -60,7 +60,7 @@ const Content = ({ hypervisor }) => {
const AdvancedOptions = ({ hypervisor } = {}) => ({
id: STEP_ID,
label: T.AdvancedOptions,
resolver: () => SCHEMA(hypervisor),
resolver: SCHEMA(hypervisor),
optionsValidate: { abortEarly: false },
content: () => Content({ hypervisor }),
})

View File

@ -60,7 +60,7 @@ const Content = ({ hypervisor }) => {
const AdvancedOptions = ({ hypervisor } = {}) => ({
id: STEP_ID,
label: T.AdvancedOptions,
resolver: () => SCHEMA(hypervisor),
resolver: SCHEMA(hypervisor),
optionsValidate: { abortEarly: false },
content: () => Content({ hypervisor }),
})

View File

@ -42,7 +42,7 @@ const Content = ({ hypervisor }) => {
const BasicConfiguration = ({ hypervisor } = {}) => ({
id: STEP_ID,
label: T.Configuration,
resolver: () => SCHEMA(hypervisor),
resolver: SCHEMA(hypervisor),
optionsValidate: { abortEarly: false },
content: () => Content({ hypervisor }),
})

View File

@ -69,7 +69,7 @@ const AuthLayout = ({ subscriptions = [], children }) => {
useEffect(() => {
if (!jwt) {
const token = findStorageData(JWT_NAME) || findExternalToken()
const token = findExternalToken() || findStorageData(JWT_NAME)
token && changeJwt(token) && storage(JWT_NAME, token)
}

View File

@ -49,8 +49,7 @@ export const createColumns = ({ filters = {}, columns = [] }) => {
...((filterById || filterByAccessor) &&
(
{
// TODO: Add label to filters
// label: createLabelFilter,
// TODO: Implements time filter component
time: createTimeFilter,
}[`${id}`.toLowerCase()] ?? createCategoryFilter
)(column)),

View File

@ -288,9 +288,18 @@ export const getActionsAvailable = (actions = {}, hypervisor = '') =>
.filter(([_, action]) => {
if (typeof action === 'boolean') return action
const { enabled = false, not_on: notOn = [] } = action || {}
const {
enabled = false,
not_on: notOn = [],
only_on: onlyOn = [],
} = action || {}
return !!enabled && !notOn?.includes?.(hypervisor)
return (
!!enabled &&
((!notOn && !onlyOn) ||
(notOn && !notOn?.includes?.(hypervisor)) ||
onlyOn?.includes?.(hypervisor))
)
})
.map(([actionName, _]) => actionName)

View File

@ -236,7 +236,10 @@ export const filterFieldsByHypervisor = (
fields
.map((field) => (typeof field === 'function' ? field(hypervisor) : field))
.filter(
({ notOnHypervisors } = {}) => !notOnHypervisors?.includes?.(hypervisor)
({ notOnHypervisors, onlyOnHypervisors } = {}) =>
(!notOnHypervisors && !onlyOnHypervisors) ||
(notOnHypervisors && !notOnHypervisors.includes?.(hypervisor)) ||
onlyOnHypervisors?.includes?.(hypervisor)
)
/**

View File

@ -103,6 +103,8 @@ void ImageManager::_cp(unique_ptr<image_msg_t> msg)
goto error;
}
image->set_source(source);
is >> format;
if (is.fail() || format.empty())
@ -111,8 +113,6 @@ void ImageManager::_cp(unique_ptr<image_msg_t> msg)
goto error_common;
}
image->set_source(source);
image->set_format(format);
image->set_state_unlock();

View File

@ -760,14 +760,14 @@ class OneDB
shared_upgrade = Gem::Version.new(shared) < Gem::Version.new(source)
local_upgrade = Gem::Version.new(local) < Gem::Version.new(source_local)
# Both need to be lower than current version as sometimes the DB schema
# One needs to be lower than current version as sometimes the DB schema
# have been increased only for local or shared.
return [true, 2] if shared_upgrade && local_upgrade
return [true, 2] if shared_upgrade || local_upgrade
shared_new = Gem::Version.new(shared) > Gem::Version.new(source)
local_new = Gem::Version.new(local) > Gem::Version.new(source_local)
# Both version should be lower or equal than source.
# Both version should be higher than source.
return [true, 3] if shared_new || local_new
[false, 0]