Rebuilt Astro site with BASE=vjailbreak; old build had base baked as vjailbreak-docs, causing all CSS/JS asset URLs to 404 on GH Pages. Co-Authored-By: Claude Sonnet 5 <[email protected]>
472 lines
116 KiB
HTML
472 lines
116 KiB
HTML
<!DOCTYPE html><html lang="en" dir="ltr" data-theme="dark" data-has-toc data-has-sidebar class="astro-bguv2lll"> <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>Use vJailbreak Settings | vJailbreak</title><link rel="canonical" href="https://platform9.github.io/vjailbreak/guides/how-to/vjailbreak_settings/"/><link rel="sitemap" href="/vjailbreak/sitemap-index.xml"/><link rel="shortcut icon" href="/vjailbreak/favicon.svg" type="image/svg+xml"/><meta name="generator" content="Astro v5.12.8"/><meta name="generator" content="Starlight v0.32.6"/><meta property="og:title" content="Use vJailbreak Settings"/><meta property="og:type" content="article"/><meta property="og:url" content="https://platform9.github.io/vjailbreak/guides/how-to/vjailbreak_settings/"/><meta property="og:locale" content="en"/><meta property="og:description" content="How to modify global settings for vJailbreak using the vjailbreak-settings ConfigMap"/><meta property="og:site_name" content="vJailbreak"/><meta name="twitter:card" content="summary_large_image"/><meta name="description" content="How to modify global settings for vJailbreak using the vjailbreak-settings ConfigMap"/><script>
|
||
window.StarlightThemeProvider = (() => {
|
||
const storedTheme =
|
||
typeof localStorage !== 'undefined' && localStorage.getItem('starlight-theme');
|
||
const theme =
|
||
storedTheme ||
|
||
(window.matchMedia('(prefers-color-scheme: light)').matches ? 'light' : 'dark');
|
||
document.documentElement.dataset.theme = theme === 'light' ? 'light' : 'dark';
|
||
return {
|
||
updatePickers(theme = storedTheme || 'auto') {
|
||
document.querySelectorAll('starlight-theme-select').forEach((picker) => {
|
||
const select = picker.querySelector('select');
|
||
if (select) select.value = theme;
|
||
/** @type {HTMLTemplateElement | null} */
|
||
const tmpl = document.querySelector(`#theme-icons`);
|
||
const newIcon = tmpl && tmpl.content.querySelector('.' + theme);
|
||
if (newIcon) {
|
||
const oldIcon = picker.querySelector('svg.label-icon');
|
||
if (oldIcon) {
|
||
oldIcon.replaceChildren(...newIcon.cloneNode(true).childNodes);
|
||
}
|
||
}
|
||
});
|
||
},
|
||
};
|
||
})();
|
||
</script><template id="theme-icons"><svg aria-hidden="true" class="light astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M5 12a1 1 0 0 0-1-1H3a1 1 0 0 0 0 2h1a1 1 0 0 0 1-1Zm.64 5-.71.71a1 1 0 0 0 0 1.41 1 1 0 0 0 1.41 0l.71-.71A1 1 0 0 0 5.64 17ZM12 5a1 1 0 0 0 1-1V3a1 1 0 0 0-2 0v1a1 1 0 0 0 1 1Zm5.66 2.34a1 1 0 0 0 .7-.29l.71-.71a1 1 0 1 0-1.41-1.41l-.66.71a1 1 0 0 0 0 1.41 1 1 0 0 0 .66.29Zm-12-.29a1 1 0 0 0 1.41 0 1 1 0 0 0 0-1.41l-.71-.71a1.004 1.004 0 1 0-1.43 1.41l.73.71ZM21 11h-1a1 1 0 0 0 0 2h1a1 1 0 0 0 0-2Zm-2.64 6A1 1 0 0 0 17 18.36l.71.71a1 1 0 0 0 1.41 0 1 1 0 0 0 0-1.41l-.76-.66ZM12 6.5a5.5 5.5 0 1 0 5.5 5.5A5.51 5.51 0 0 0 12 6.5Zm0 9a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7Zm0 3.5a1 1 0 0 0-1 1v1a1 1 0 0 0 2 0v-1a1 1 0 0 0-1-1Z"/></svg> <svg aria-hidden="true" class="dark astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.64 13a1 1 0 0 0-1.05-.14 8.049 8.049 0 0 1-3.37.73 8.15 8.15 0 0 1-8.14-8.1 8.59 8.59 0 0 1 .25-2A1 1 0 0 0 8 2.36a10.14 10.14 0 1 0 14 11.69 1 1 0 0 0-.36-1.05Zm-9.5 6.69A8.14 8.14 0 0 1 7.08 5.22v.27a10.15 10.15 0 0 0 10.14 10.14 9.784 9.784 0 0 0 2.1-.22 8.11 8.11 0 0 1-7.18 4.32v-.04Z"/></svg> <svg aria-hidden="true" class="auto astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg> </template><link rel="stylesheet" href="/vjailbreak/_astro/print.BJ0teN4y.css" media="print"><link rel="stylesheet" href="/vjailbreak/_astro/index.V9BDhjML.css">
|
||
<style>:root{--sl-badge-default-border: var(--sl-color-accent);--sl-badge-default-bg: var(--sl-color-accent-low);--sl-badge-default-text: #fff;--sl-badge-note-border: var(--sl-color-blue);--sl-badge-note-bg: var(--sl-color-blue-low);--sl-badge-note-text: #fff;--sl-badge-danger-border: var(--sl-color-red);--sl-badge-danger-bg: var(--sl-color-red-low);--sl-badge-danger-text: #fff;--sl-badge-success-border: var(--sl-color-green);--sl-badge-success-bg: var(--sl-color-green-low);--sl-badge-success-text: #fff;--sl-badge-caution-border: var(--sl-color-orange);--sl-badge-caution-bg: var(--sl-color-orange-low);--sl-badge-caution-text: #fff;--sl-badge-tip-border: var(--sl-color-purple);--sl-badge-tip-bg: var(--sl-color-purple-low);--sl-badge-tip-text: #fff}[data-theme=light]:root{--sl-badge-default-bg: var(--sl-color-accent-high);--sl-badge-note-bg: var(--sl-color-blue-high);--sl-badge-danger-bg: var(--sl-color-red-high);--sl-badge-success-bg: var(--sl-color-green-high);--sl-badge-caution-bg: var(--sl-color-orange-high);--sl-badge-tip-bg: var(--sl-color-purple-high)}.sl-badge:where(.astro-avdet4wd){display:inline-block;border:1px solid var(--sl-color-border-badge);border-radius:.25rem;font-family:var(--sl-font-system-mono);line-height:normal;color:var(--sl-color-text-badge);background-color:var(--sl-color-bg-badge);overflow-wrap:anywhere}.sidebar-content .sl-badge:where(.astro-avdet4wd){line-height:1;font-size:var(--sl-text-xs);padding:.125rem .375rem}.sidebar-content a[aria-current=page]>.sl-badge:where(.astro-avdet4wd){--sl-color-bg-badge: transparent;--sl-color-border-badge: currentColor;color:inherit}.default:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-default-bg);--sl-color-border-badge: var(--sl-badge-default-border);--sl-color-text-badge: var(--sl-badge-default-text)}.note:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-note-bg);--sl-color-border-badge: var(--sl-badge-note-border);--sl-color-text-badge: var(--sl-badge-note-text)}.danger:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-danger-bg);--sl-color-border-badge: var(--sl-badge-danger-border);--sl-color-text-badge: var(--sl-badge-danger-text)}.success:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-success-bg);--sl-color-border-badge: var(--sl-badge-success-border);--sl-color-text-badge: var(--sl-badge-success-text)}.tip:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-tip-bg);--sl-color-border-badge: var(--sl-badge-tip-border);--sl-color-text-badge: var(--sl-badge-tip-text)}.caution:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-caution-bg);--sl-color-border-badge: var(--sl-badge-caution-border);--sl-color-text-badge: var(--sl-badge-caution-text)}.small:where(.astro-avdet4wd){font-size:var(--sl-text-xs);padding:.125rem .25rem}.medium:where(.astro-avdet4wd){font-size:var(--sl-text-sm);padding:.175rem .35rem}.large:where(.astro-avdet4wd){font-size:var(--sl-text-base);padding:.225rem .45rem}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6) .sl-badge:where(.astro-avdet4wd){vertical-align:middle}
|
||
.card-grid:where(.astro-zntqmydn){display:grid;grid-template-columns:100%;gap:1rem}.card-grid:where(.astro-zntqmydn)>*{margin-top:0!important}@media (min-width: 50rem){.card-grid:where(.astro-zntqmydn){grid-template-columns:1fr 1fr;gap:1.5rem}.stagger:where(.astro-zntqmydn){--stagger-height: 5rem;padding-bottom:var(--stagger-height)}.stagger:where(.astro-zntqmydn)>*:nth-child(2n){transform:translateY(var(--stagger-height))}}
|
||
.card:where(.astro-v5tidmuc){--sl-card-border: var(--sl-color-purple);--sl-card-bg: var(--sl-color-purple-low);border:1px solid var(--sl-color-gray-5);background-color:var(--sl-color-black);padding:clamp(1rem,calc(.125rem + 3vw),2.5rem);flex-direction:column;gap:clamp(.5rem,calc(.125rem + 1vw),1rem)}.card:where(.astro-v5tidmuc):nth-child(4n+1){--sl-card-border: var(--sl-color-orange);--sl-card-bg: var(--sl-color-orange-low)}.card:where(.astro-v5tidmuc):nth-child(4n+3){--sl-card-border: var(--sl-color-green);--sl-card-bg: var(--sl-color-green-low)}.card:where(.astro-v5tidmuc):nth-child(4n+4){--sl-card-border: var(--sl-color-red);--sl-card-bg: var(--sl-color-red-low)}.card:where(.astro-v5tidmuc):nth-child(4n+5){--sl-card-border: var(--sl-color-blue);--sl-card-bg: var(--sl-color-blue-low)}.title:where(.astro-v5tidmuc){font-weight:600;font-size:var(--sl-text-h4);color:var(--sl-color-white);line-height:var(--sl-line-height-headings);gap:1rem;align-items:center}.card:where(.astro-v5tidmuc) .icon:where(.astro-v5tidmuc){border:1px solid var(--sl-card-border);background-color:var(--sl-card-bg);padding:.2em;border-radius:.25rem}.card:where(.astro-v5tidmuc) .body:where(.astro-v5tidmuc){margin:0;font-size:clamp(var(--sl-text-sm),calc(.5rem + 1vw),var(--sl-text-body))}
|
||
svg:where(.astro-c6vsoqas){color:var(--sl-icon-color);font-size:var(--sl-icon-size, 1em);width:1em;height:1em}
|
||
starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astro-esqgolmp){overflow-x:auto}:where(.astro-esqgolmp)[role=tablist]{display:flex;list-style:none;border-bottom:2px solid var(--sl-color-gray-5);padding:0}.tab:where(.astro-esqgolmp){margin-bottom:-2px}.tab:where(.astro-esqgolmp)>:where(.astro-esqgolmp)[role=tab]{display:flex;align-items:center;gap:.5rem;padding:0 1.25rem;text-decoration:none;border-bottom:2px solid var(--sl-color-gray-5);color:var(--sl-color-gray-3);outline-offset:var(--sl-outline-offset-inside);overflow-wrap:initial}.tab:where(.astro-esqgolmp) :where(.astro-esqgolmp)[role=tab][aria-selected=true]{color:var(--sl-color-white);border-color:var(--sl-color-text-accent);font-weight:600}.tablist-wrapper:where(.astro-esqgolmp)~[role=tabpanel]{margin-top:1rem}
|
||
.sl-steps{--bullet-size: calc(var(--sl-line-height) * 1rem);--bullet-margin: .375rem;list-style:none;counter-reset:steps-counter var(--sl-steps-start, 0);padding-inline-start:0}.sl-steps>li{counter-increment:steps-counter;position:relative;padding-inline-start:calc(var(--bullet-size) + 1rem);padding-bottom:1px;min-height:calc(var(--bullet-size) + var(--bullet-margin))}.sl-steps>li+li{margin-top:0}.sl-steps>li:before{content:counter(steps-counter);position:absolute;top:0;inset-inline-start:0;width:var(--bullet-size);height:var(--bullet-size);line-height:var(--bullet-size);font-size:var(--sl-text-xs);font-weight:600;text-align:center;color:var(--sl-color-white);background-color:var(--sl-color-gray-6);border-radius:99rem;box-shadow:inset 0 0 0 1px var(--sl-color-gray-5)}.sl-steps>li:after{--guide-width: 1px;content:"";position:absolute;top:calc(var(--bullet-size) + var(--bullet-margin));bottom:var(--bullet-margin);inset-inline-start:calc((var(--bullet-size) - var(--guide-width)) / 2);width:var(--guide-width);background-color:var(--sl-color-hairline-light)}.sl-steps>li>:first-child{--lh: calc(1em * var(--sl-line-height));--shift-y: calc(.5 * (var(--bullet-size) - var(--lh)));transform:translateY(var(--shift-y));margin-bottom:var(--shift-y)}.sl-steps>li>:first-child:where(h1,h2,h3,h4,h5,h6){--lh: calc(1em * var(--sl-line-height-headings))}@supports (--prop: 1lh){.sl-steps>li>:first-child{--lh: 1lh}}
|
||
.sl-link-button:where(.astro-xwgiixxa){align-items:center;border:1px solid transparent;border-radius:999rem;display:inline-flex;font-size:var(--sl-text-sm);gap:.5em;line-height:1.1875;outline-offset:.25rem;padding:.4375rem 1.125rem;text-decoration:none}.sl-link-button:where(.astro-xwgiixxa).primary{background:var(--sl-color-text-accent);border-color:var(--sl-color-text-accent);color:var(--sl-color-black)}.sl-link-button:where(.astro-xwgiixxa).primary:hover{color:var(--sl-color-black)}.sl-link-button:where(.astro-xwgiixxa).secondary{border-color:inherit;color:var(--sl-color-white)}.sl-link-button:where(.astro-xwgiixxa).minimal{color:var(--sl-color-white);padding-inline:0}.sl-link-button:where(.astro-xwgiixxa) svg{flex-shrink:0}@media (min-width: 50rem){.sl-link-button:where(.astro-xwgiixxa){font-size:var(--sl-text-base);padding:.9375rem 1.25rem}}.sl-markdown-content .sl-link-button:where(.astro-xwgiixxa){margin-inline-end:1rem}.sl-markdown-content .sl-link-button:where(.astro-xwgiixxa):not(:where(p *)){margin-block:1rem}
|
||
</style><script type="module" src="/vjailbreak/_astro/page.Es7s6Xc5.js"></script></head> <body class="astro-bguv2lll"> <a href="#_top" class="astro-7q3lir66">Skip to content</a> <div class="page sl-flex astro-vrdttmbt"> <header class="header astro-vrdttmbt"><div class="header sl-flex astro-3ef6ksr2"> <div class="title-wrapper sl-flex astro-3ef6ksr2"> <a href="/vjailbreak/" class="site-title sl-flex astro-m46x6ez3"> <img class="astro-m46x6ez3" alt src="/vjailbreak/_astro/platform9-logo.PaszzYBQ.svg" width="120" height="60"> <span class="sr-only astro-m46x6ez3" translate="no"> vJailbreak </span> </a> </div> <div class="sl-flex print:hidden astro-3ef6ksr2"> <site-search class="astro-3ef6ksr2 astro-v37mnknz" data-translations="{"placeholder":"Search"}"> <button data-open-modal disabled aria-label="Search" aria-keyshortcuts="Control+K" class="astro-v37mnknz"> <svg aria-hidden="true" class="astro-v37mnknz astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.71 20.29 18 16.61A9 9 0 1 0 16.61 18l3.68 3.68a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.39ZM11 18a7 7 0 1 1 0-14 7 7 0 0 1 0 14Z"/></svg> <span class="sl-hidden md:sl-block astro-v37mnknz" aria-hidden="true">Search</span> <kbd class="sl-hidden md:sl-flex astro-v37mnknz" style="display: none;"> <kbd class="astro-v37mnknz">Ctrl</kbd><kbd class="astro-v37mnknz">K</kbd> </kbd> </button> <dialog style="padding:0" aria-label="Search" class="astro-v37mnknz"> <div class="dialog-frame sl-flex astro-v37mnknz"> <button data-close-modal class="sl-flex md:sl-hidden astro-v37mnknz"> Cancel </button> <div class="search-container astro-v37mnknz"> <div id="starlight__search" class="astro-v37mnknz"></div> </div> </div> </dialog> </site-search> <script>
|
||
(() => {
|
||
const openBtn = document.querySelector('button[data-open-modal]');
|
||
const shortcut = openBtn?.querySelector('kbd');
|
||
if (!openBtn || !(shortcut instanceof HTMLElement)) return;
|
||
const platformKey = shortcut.querySelector('kbd');
|
||
if (platformKey && /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)) {
|
||
platformKey.textContent = '⌘';
|
||
openBtn.setAttribute('aria-keyshortcuts', 'Meta+K');
|
||
}
|
||
shortcut.style.display = '';
|
||
})();
|
||
</script> <script type="module" src="/vjailbreak/_astro/Search.astro_astro_type_script_index_0_lang.PKSD7nbt.js"></script> </div> <div class="sl-hidden md:sl-flex print:hidden right-group astro-3ef6ksr2"> <div class="sl-flex social-icons astro-3ef6ksr2"> <a href="https://github.com/platform9/vjailbreak" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">GitHub</span><svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg> </a><a href="https://join.slack.com/t/vjailbreak/shared_invite/zt-314pppw43-F1vzd6ZaPW5PoZqF~aa8lA" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">Slack</span><svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52Zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313ZM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834Zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312Zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834Zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312Zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52Zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313Z"/></svg> </a> </div> <div class="sl-flex release-dropdown astro-3ef6ksr2"> <!-- Dropdown --><div class="select-container"> <label for="release-select" class="select-label">Latest Release:</label> <select id="release-select" class="release-select"> <option>Loading releases...</option> </select> </div> <script>(function(){const astroBaseURL = "https://platform9.github.io/";
|
||
|
||
document.addEventListener('DOMContentLoaded', async () => {
|
||
const CACHE_KEY = 'githubReleases';
|
||
const CACHE_EXPIRY = 60 * 60 * 1000; // 1 hour
|
||
const select = document.getElementById('release-select');
|
||
|
||
// Check cache first
|
||
if (typeof window !== 'undefined' && window.localStorage) {
|
||
const cachedReleases = localStorage.getItem(CACHE_KEY);
|
||
const cacheExpiry = localStorage.getItem(`${CACHE_KEY}_expiry`);
|
||
|
||
if (cachedReleases && cacheExpiry && Date.now() < Number(cacheExpiry)) {
|
||
try {
|
||
console.debug("Reading releases from cache:", JSON.parse(cachedReleases)); // Debug log
|
||
populateDropdown(JSON.parse(cachedReleases));
|
||
return;
|
||
} catch (e) {
|
||
console.warn("Cache corrupted clearing", e);
|
||
localStorage.removeItem(CACHE_KEY)
|
||
localStorage.removeItem(`${CACHE_KEY}_expiry`)
|
||
}
|
||
}
|
||
}
|
||
|
||
try {
|
||
console.debug("Fetching releases from GitHub"); // Debug log
|
||
const response = await fetch('https://api.github.com/repos/platform9/vjailbreak/releases');
|
||
const data = await response.json();
|
||
const releases = data.slice(0, 5);
|
||
|
||
// Store in cache
|
||
if (typeof window !== 'undefined' && window.localStorage) {
|
||
localStorage.setItem(CACHE_KEY, JSON.stringify(releases));
|
||
localStorage.setItem(`${CACHE_KEY}_expiry`, String(Date.now() + CACHE_EXPIRY));
|
||
}
|
||
|
||
populateDropdown(releases);
|
||
} catch (error) {
|
||
console.error("Error fetching releases:", error);
|
||
populateDropdown([{
|
||
id: 0,
|
||
name: "v0.1.7",
|
||
html_url: "https://github.com/platform9/vjailbreak/releases/tag/v0.1.7"
|
||
}]);
|
||
}
|
||
|
||
function populateDropdown(releases) {
|
||
const currentURL = astroBaseURL || window.location.origin; // Use Astro.site if available
|
||
const pathPrefix = astroBaseURL ? '/vjailbreak/release_docs/' : '/release_docs/';
|
||
select.innerHTML = releases.map(release => {
|
||
const nameModified = release.name.replace(/\./g, '');
|
||
const releaseDocsURL = `${currentURL}${pathPrefix}${nameModified}/`;
|
||
return `<option value="${release.name}">${release.name}</option>`;
|
||
}).join('');
|
||
|
||
select.selectedIndex = 0;
|
||
|
||
localStorage.setItem('vjailbreakSelectedVersion', select.value);
|
||
select.onchange = (e) => {
|
||
localStorage.setItem('vjailbreakSelectedVersion', e.target.value);
|
||
|
||
const version = e.target.value;
|
||
const btns = document.querySelectorAll('.version-btn');
|
||
btns.forEach(btn => {
|
||
if (btn.textContent === version) {
|
||
btn.click();
|
||
}
|
||
});
|
||
};
|
||
}
|
||
});
|
||
})();</script> </div> <starlight-theme-select> <label style="--sl-select-width: 6.25em" class="astro-4yphtoen"> <span class="sr-only astro-4yphtoen">Select theme</span> <svg aria-hidden="true" class="icon label-icon astro-4yphtoen astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg> <select value="auto" autocomplete="off" class="astro-4yphtoen"> <option value="dark" class="astro-4yphtoen">Dark</option><option value="light" class="astro-4yphtoen">Light</option><option value="auto" selected class="astro-4yphtoen">Auto</option> </select> <svg aria-hidden="true" class="icon caret astro-4yphtoen astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg> </label> </starlight-theme-select> <script>
|
||
StarlightThemeProvider.updatePickers();
|
||
</script> <script type="module">const r="starlight-theme",o=e=>e==="auto"||e==="dark"||e==="light"?e:"auto",c=()=>o(typeof localStorage<"u"&&localStorage.getItem(r));function n(e){typeof localStorage<"u"&&localStorage.setItem(r,e==="light"||e==="dark"?e:"")}const l=()=>matchMedia("(prefers-color-scheme: light)").matches?"light":"dark";function t(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e==="auto"?l():e,n(e)}matchMedia("(prefers-color-scheme: light)").addEventListener("change",()=>{c()==="auto"&&t("auto")});class s extends HTMLElement{constructor(){super(),t(c()),this.querySelector("select")?.addEventListener("change",a=>{a.currentTarget instanceof HTMLSelectElement&&t(o(a.currentTarget.value))})}}customElements.define("starlight-theme-select",s);</script> <script type="module">class s extends HTMLElement{constructor(){super();const e=this.querySelector("select");e&&(e.addEventListener("change",t=>{t.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=t.currentTarget.value)}),window.addEventListener("pageshow",t=>{if(!t.persisted)return;const n=e.querySelector("option[selected]")?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}}customElements.define("starlight-lang-select",s);</script> </div> </div> </header> <nav class="sidebar print:hidden astro-vrdttmbt" aria-label="Main"> <starlight-menu-button class="print:hidden astro-jif73yzw"> <button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-jif73yzw"> <svg aria-hidden="true" class="astro-jif73yzw astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg> </button> </starlight-menu-button> <script type="module">class s extends HTMLElement{constructor(){super(),this.btn=this.querySelector("button"),this.btn.addEventListener("click",()=>this.toggleExpanded());const t=this.closest("nav");t&&t.addEventListener("keyup",e=>this.closeOnEscape(e))}setExpanded(t){this.setAttribute("aria-expanded",String(t)),document.body.toggleAttribute("data-mobile-menu-expanded",t)}toggleExpanded(){this.setExpanded(this.getAttribute("aria-expanded")!=="true")}closeOnEscape(t){t.code==="Escape"&&(this.setExpanded(!1),this.btn.focus())}}customElements.define("starlight-menu-button",s);</script> <div id="starlight__sidebar" class="sidebar-pane astro-vrdttmbt"> <div class="sidebar-content sl-flex astro-vrdttmbt"> <sl-sidebar-state-persist data-hash="0iup75e" class="astro-kku4brbg"> <script aria-hidden="true">
|
||
(() => {
|
||
try {
|
||
if (!matchMedia('(min-width: 50em)').matches) return;
|
||
/** @type {HTMLElement | null} */
|
||
const target = document.querySelector('sl-sidebar-state-persist');
|
||
const state = JSON.parse(sessionStorage.getItem('sl-sidebar-state') || '0');
|
||
if (!target || !state || target.dataset.hash !== state.hash) return;
|
||
window._starlightScrollRestore = state.scroll;
|
||
customElements.define(
|
||
'sl-sidebar-restore',
|
||
class SidebarRestore extends HTMLElement {
|
||
connectedCallback() {
|
||
try {
|
||
const idx = parseInt(this.dataset.index || '');
|
||
const details = this.closest('details');
|
||
if (details && typeof state.open[idx] === 'boolean') details.open = state.open[idx];
|
||
} catch {}
|
||
}
|
||
}
|
||
);
|
||
} catch {}
|
||
})();
|
||
</script> <ul class="top-level astro-3ii7xxms"> <li class="astro-3ii7xxms"> <details open class="astro-3ii7xxms"> <sl-sidebar-restore data-index="0"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Introduction</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/vjailbreak/introduction/what_is_vjailbreak/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">What is vJailbreak</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/introduction/getting_started/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Getting Started</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/introduction/prerequisites/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Prerequisites</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/introduction/faq/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">FAQ</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details open class="astro-3ii7xxms"> <sl-sidebar-restore data-index="1"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Concepts</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/vjailbreak/concepts/user-management/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">User Credential Management</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/concepts/credential-management/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Credential Management</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/concepts/network-persistence/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Network Persistence</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/concepts/network-storage-mapping/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Network & Storage Mapping</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/concepts/migration-options/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Migration Options</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/concepts/cluster-conversion/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Cluster Conversion</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/concepts/storage-accelerated-copy/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Storage Accelerated Copy</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/concepts/vjailbreak-accelerated-copy/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">vJailbreak Accelerated Copy</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details open class="astro-3ii7xxms"> <sl-sidebar-restore data-index="2"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Architecture</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/vjailbreak/architecture/architecture-overview/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Architecture</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/architecture/vjailbreak-vm/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">vJailbreak VM</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/architecture/components/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Components</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details open class="astro-3ii7xxms"> <sl-sidebar-restore data-index="3"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Guide</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <details open class="astro-3ii7xxms"> <sl-sidebar-restore data-index="4"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">CLI-API</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/cli-api/migrating_rdm_disk_windows_cluster_machine_using_cli/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Migrating RDM Disk</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/cli-api/migrating_using_cli_and_kubectl/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Use CLI to Migrate</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details open class="astro-3ii7xxms"> <sl-sidebar-restore data-index="5"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Cluster-Conversion</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/cluster-conversion/cluster-conversion/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Cluster Conversion</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/cluster-conversion/maas-enablement/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Add ESXi to MAAS</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details open class="astro-3ii7xxms"> <sl-sidebar-restore data-index="6"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">How-to</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/ai_analysis/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">AI-Powered Migration Failure Analysis</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/building/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Build vJailbreak</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/enable_kvm_nested_virtualization/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Enable KVM for virt-v2v (Nested Virtualization)</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/firstboot_script_doc/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Firstboot Script</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/gpo_migration/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Group Policy Object (GPO) VM Migration</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/injecting_custom_env/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Inject Environment Variables</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/migration_templates/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Migration Templates</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/network-traffic-separation/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Configuring Dedicated Data Network for Migrations</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/networking-101/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">One-Stop Migration Networking</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/ntp_timezone/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Configure Time Zone and NTP Servers</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/perform_admin_cutover/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Perform Admin Cutover</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/profiles/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Profiles</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/retry_failed_migration/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Retry a Failed Migration</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/scaling/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Scale vJailbreak</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/stream_logs/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Stream Logs</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/upgrade_vjailbreak/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Upgrade vJailbreak</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/virtio_doc/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Inject VirtIO Windows Driver</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/vjailbreak_settings/" aria-current="page" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Use vJailbreak Settings</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/vtpm_migration/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Virtual Trusted Platform Module (vTPM) VM Migration</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/windows-ldm-migration/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Windows Dynamic Disk (LDM) Migration</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details open class="astro-3ii7xxms"> <sl-sidebar-restore data-index="7"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Troubleshooting</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/troubleshooting/debug_vjailbreak_install/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Debug vJailbreak Installation</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/troubleshooting/debuglogs/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Debug Logs</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/troubleshooting/nbdcopy-fails-after-vm-moved-esxi-host/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">nbdcopy fails during disk copy (often DNS resolution)</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/troubleshooting/troubleshooting/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Troubleshooting vJailbreak</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/troubleshooting/vmware_residual_artifacts/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">VMware Residual Artifacts</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/troubleshooting/windows-offline-disks/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Windows Offline Disks After Migration</span> </a> </li> </ul> </details> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details open class="astro-3ii7xxms"> <sl-sidebar-restore data-index="8"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Reference</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/vjailbreak/reference/reference/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">vJailbreak CRDs</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/reference/compatibility/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Compatibility Matrix</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/reference/known-limitations/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Known Limitations</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details open class="astro-3ii7xxms"> <sl-sidebar-restore data-index="9"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Release Notes</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/vjailbreak/release_docs/v0410/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">v0.4.10</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/release_docs/v046/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">v0.4.6</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/release_docs/v047/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">v0.4.7</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/release_docs/v048/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">v0.4.8</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/release_docs/v049/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">v0.4.9</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details open class="astro-3ii7xxms"> <sl-sidebar-restore data-index="10"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Archives</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/vjailbreak/archives/release_notes/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Archived Releases</span> </a> </li> </ul> </details> </li> </ul> <script aria-hidden="true">
|
||
(() => {
|
||
const scroller = document.getElementById('starlight__sidebar');
|
||
if (!window._starlightScrollRestore || !scroller) return;
|
||
scroller.scrollTop = window._starlightScrollRestore;
|
||
delete window._starlightScrollRestore;
|
||
})();
|
||
</script> </sl-sidebar-state-persist> <div class="md:sl-hidden"> <div class="mobile-preferences sl-flex astro-wu23bvmt"> <div class="sl-flex social-icons astro-wu23bvmt"> <a href="https://github.com/platform9/vjailbreak" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">GitHub</span><svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg> </a><a href="https://join.slack.com/t/vjailbreak/shared_invite/zt-314pppw43-F1vzd6ZaPW5PoZqF~aa8lA" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">Slack</span><svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52Zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313ZM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834Zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312Zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834Zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312Zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52Zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313Z"/></svg> </a> </div> <starlight-theme-select> <label style="--sl-select-width: 6.25em" class="astro-4yphtoen"> <span class="sr-only astro-4yphtoen">Select theme</span> <svg aria-hidden="true" class="icon label-icon astro-4yphtoen astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg> <select value="auto" autocomplete="off" class="astro-4yphtoen"> <option value="dark" class="astro-4yphtoen">Dark</option><option value="light" class="astro-4yphtoen">Light</option><option value="auto" selected class="astro-4yphtoen">Auto</option> </select> <svg aria-hidden="true" class="icon caret astro-4yphtoen astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg> </label> </starlight-theme-select> <script>
|
||
StarlightThemeProvider.updatePickers();
|
||
</script> </div> </div> </div> </div> </nav> <div class="main-frame astro-vrdttmbt"> <script type="module">const a=document.getElementById("starlight__sidebar"),n=a?.querySelector("sl-sidebar-state-persist"),o="sl-sidebar-state",i=()=>{let t=[];const e=n?.dataset.hash||"";try{const s=sessionStorage.getItem(o),r=JSON.parse(s||"{}");Array.isArray(r.open)&&r.hash===e&&(t=r.open)}catch{}return{hash:e,open:t,scroll:a?.scrollTop||0}},c=t=>{try{sessionStorage.setItem(o,JSON.stringify(t))}catch{}},d=()=>c(i()),l=(t,e)=>{const s=i();s.open[e]=t,c(s)};n?.addEventListener("click",t=>{if(!(t.target instanceof Element))return;const e=t.target.closest("summary")?.closest("details");if(!e)return;const s=e.querySelector("sl-sidebar-restore"),r=parseInt(s?.dataset.index||"");isNaN(r)||l(!e.open,r)});addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&d()});addEventListener("pageHide",d);</script> <div class="lg:sl-flex astro-67yu43on"> <aside class="right-sidebar-container print:hidden astro-67yu43on"> <div class="right-sidebar astro-67yu43on"> <div class="lg:sl-hidden astro-pb3aqygn"><mobile-starlight-toc data-min-h="2" data-max-h="3" class="astro-doynk5tl"><nav aria-labelledby="starlight__on-this-page--mobile" class="astro-doynk5tl"><details id="starlight__mobile-toc" class="astro-doynk5tl"><summary id="starlight__on-this-page--mobile" class="sl-flex astro-doynk5tl"><div class="toggle sl-flex astro-doynk5tl">On this page<svg aria-hidden="true" class="caret astro-doynk5tl astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </div><span class="display-current astro-doynk5tl"></span></summary><div class="dropdown astro-doynk5tl"><ul class="isMobile astro-g2bywc46" style="--depth: 0;"> <li class="astro-g2bywc46" style="--depth: 0;"> <a href="#_top" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">Overview</span> </a> </li><li class="astro-g2bywc46" style="--depth: 0;"> <a href="#overview" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">Overview</span> </a> </li><li class="astro-g2bywc46" style="--depth: 0;"> <a href="#checking-for-the-configmap" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">Checking for the ConfigMap</span> </a> </li><li class="astro-g2bywc46" style="--depth: 0;"> <a href="#available-settings" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">Available Settings</span> </a> </li><li class="astro-g2bywc46" style="--depth: 0;"> <a href="#modifying-settings" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">Modifying Settings</span> </a> <ul class="isMobile astro-g2bywc46" style="--depth: 1;"> <li class="astro-g2bywc46" style="--depth: 1;"> <a href="#method-1-edit-with-kubectl" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Method 1: Edit with kubectl</span> </a> </li><li class="astro-g2bywc46" style="--depth: 1;"> <a href="#method-2-using-kubectl-patch" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Method 2: Using kubectl patch</span> </a> </li><li class="astro-g2bywc46" style="--depth: 1;"> <a href="#method-3-from-a-file" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Method 3: From a file</span> </a> </li> </ul> </li><li class="astro-g2bywc46" style="--depth: 0;"> <a href="#settings-in-action" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">Settings in Action</span> </a> <ul class="isMobile astro-g2bywc46" style="--depth: 1;"> <li class="astro-g2bywc46" style="--depth: 1;"> <a href="#optimizing-block-copy-operations" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Optimizing Block Copy Operations</span> </a> </li><li class="astro-g2bywc46" style="--depth: 1;"> <a href="#adjusting-vm-activation-parameters" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Adjusting VM Activation Parameters</span> </a> </li><li class="astro-g2bywc46" style="--depth: 1;"> <a href="#optimizing-scan-performance" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Optimizing Scan Performance</span> </a> </li><li class="astro-g2bywc46" style="--depth: 1;"> <a href="#configuring-periodic-sync-for-admin-cutover" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Configuring Periodic Sync for Admin Cutover</span> </a> </li><li class="astro-g2bywc46" style="--depth: 1;"> <a href="#enabling-automatic-cleanup-after-failures" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Enabling Automatic Cleanup After Failures</span> </a> </li><li class="astro-g2bywc46" style="--depth: 1;"> <a href="#adjusting-volume-availability-wait-parameters" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Adjusting Volume Availability Wait Parameters</span> </a> </li><li class="astro-g2bywc46" style="--depth: 1;"> <a href="#configuring-credentials-revalidation-intervals" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Configuring Credentials Revalidation Intervals</span> </a> </li><li class="astro-g2bywc46" style="--depth: 1;"> <a href="#configuring-rdm-disk-validation" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Configuring RDM Disk Validation</span> </a> </li><li class="astro-g2bywc46" style="--depth: 1;"> <a href="#setting-default-migration-method" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Setting Default Migration Method</span> </a> </li> </ul> </li><li class="astro-g2bywc46" style="--depth: 0;"> <a href="#verification" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">Verification</span> </a> </li><li class="astro-g2bywc46" style="--depth: 0;"> <a href="#applying-changes" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">Applying Changes</span> </a> <ul class="isMobile astro-g2bywc46" style="--depth: 1;"> <li class="astro-g2bywc46" style="--depth: 1;"> <a href="#settings-that-require-controller-restart" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Settings That Require Controller Restart</span> </a> </li><li class="astro-g2bywc46" style="--depth: 1;"> <a href="#settings-that-take-effect-immediately" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Settings That Take Effect Immediately</span> </a> </li><li class="astro-g2bywc46" style="--depth: 1;"> <a href="#when-changes-take-effect" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">When Changes Take Effect</span> </a> </li> </ul> </li><li class="astro-g2bywc46" style="--depth: 0;"> <a href="#best-practices-and-considerations" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">Best Practices and Considerations</span> </a> <ul class="isMobile astro-g2bywc46" style="--depth: 1;"> <li class="astro-g2bywc46" style="--depth: 1;"> <a href="#testing-recommendations" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Testing Recommendations</span> </a> </li><li class="astro-g2bywc46" style="--depth: 1;"> <a href="#operational-considerations" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Operational Considerations</span> </a> </li><li class="astro-g2bywc46" style="--depth: 1;"> <a href="#monitoring-and-validation" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Monitoring and Validation</span> </a> </li> </ul> </li> </ul> </div></details></nav></mobile-starlight-toc><script type="module" src="/vjailbreak/_astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.C181hMzK.js"></script></div><div class="right-sidebar-panel sl-hidden lg:sl-block astro-pb3aqygn"><div class="sl-container astro-pb3aqygn"><starlight-toc data-min-h="2" data-max-h="3"><nav aria-labelledby="starlight__on-this-page"><h2 id="starlight__on-this-page">On this page</h2><ul class="astro-g2bywc46" style="--depth: 0;"> <li class="astro-g2bywc46" style="--depth: 0;"> <a href="#_top" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">Overview</span> </a> </li><li class="astro-g2bywc46" style="--depth: 0;"> <a href="#overview" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">Overview</span> </a> </li><li class="astro-g2bywc46" style="--depth: 0;"> <a href="#checking-for-the-configmap" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">Checking for the ConfigMap</span> </a> </li><li class="astro-g2bywc46" style="--depth: 0;"> <a href="#available-settings" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">Available Settings</span> </a> </li><li class="astro-g2bywc46" style="--depth: 0;"> <a href="#modifying-settings" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">Modifying Settings</span> </a> <ul class="astro-g2bywc46" style="--depth: 1;"> <li class="astro-g2bywc46" style="--depth: 1;"> <a href="#method-1-edit-with-kubectl" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Method 1: Edit with kubectl</span> </a> </li><li class="astro-g2bywc46" style="--depth: 1;"> <a href="#method-2-using-kubectl-patch" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Method 2: Using kubectl patch</span> </a> </li><li class="astro-g2bywc46" style="--depth: 1;"> <a href="#method-3-from-a-file" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Method 3: From a file</span> </a> </li> </ul> </li><li class="astro-g2bywc46" style="--depth: 0;"> <a href="#settings-in-action" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">Settings in Action</span> </a> <ul class="astro-g2bywc46" style="--depth: 1;"> <li class="astro-g2bywc46" style="--depth: 1;"> <a href="#optimizing-block-copy-operations" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Optimizing Block Copy Operations</span> </a> </li><li class="astro-g2bywc46" style="--depth: 1;"> <a href="#adjusting-vm-activation-parameters" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Adjusting VM Activation Parameters</span> </a> </li><li class="astro-g2bywc46" style="--depth: 1;"> <a href="#optimizing-scan-performance" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Optimizing Scan Performance</span> </a> </li><li class="astro-g2bywc46" style="--depth: 1;"> <a href="#configuring-periodic-sync-for-admin-cutover" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Configuring Periodic Sync for Admin Cutover</span> </a> </li><li class="astro-g2bywc46" style="--depth: 1;"> <a href="#enabling-automatic-cleanup-after-failures" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Enabling Automatic Cleanup After Failures</span> </a> </li><li class="astro-g2bywc46" style="--depth: 1;"> <a href="#adjusting-volume-availability-wait-parameters" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Adjusting Volume Availability Wait Parameters</span> </a> </li><li class="astro-g2bywc46" style="--depth: 1;"> <a href="#configuring-credentials-revalidation-intervals" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Configuring Credentials Revalidation Intervals</span> </a> </li><li class="astro-g2bywc46" style="--depth: 1;"> <a href="#configuring-rdm-disk-validation" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Configuring RDM Disk Validation</span> </a> </li><li class="astro-g2bywc46" style="--depth: 1;"> <a href="#setting-default-migration-method" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Setting Default Migration Method</span> </a> </li> </ul> </li><li class="astro-g2bywc46" style="--depth: 0;"> <a href="#verification" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">Verification</span> </a> </li><li class="astro-g2bywc46" style="--depth: 0;"> <a href="#applying-changes" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">Applying Changes</span> </a> <ul class="astro-g2bywc46" style="--depth: 1;"> <li class="astro-g2bywc46" style="--depth: 1;"> <a href="#settings-that-require-controller-restart" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Settings That Require Controller Restart</span> </a> </li><li class="astro-g2bywc46" style="--depth: 1;"> <a href="#settings-that-take-effect-immediately" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Settings That Take Effect Immediately</span> </a> </li><li class="astro-g2bywc46" style="--depth: 1;"> <a href="#when-changes-take-effect" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">When Changes Take Effect</span> </a> </li> </ul> </li><li class="astro-g2bywc46" style="--depth: 0;"> <a href="#best-practices-and-considerations" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">Best Practices and Considerations</span> </a> <ul class="astro-g2bywc46" style="--depth: 1;"> <li class="astro-g2bywc46" style="--depth: 1;"> <a href="#testing-recommendations" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Testing Recommendations</span> </a> </li><li class="astro-g2bywc46" style="--depth: 1;"> <a href="#operational-considerations" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Operational Considerations</span> </a> </li><li class="astro-g2bywc46" style="--depth: 1;"> <a href="#monitoring-and-validation" class="astro-g2bywc46" style="--depth: 1;"> <span class="astro-g2bywc46" style="--depth: 1;">Monitoring and Validation</span> </a> </li> </ul> </li> </ul> </nav></starlight-toc><script type="module" src="/vjailbreak/_astro/TableOfContents.astro_astro_type_script_index_0_lang.CKWWgpjV.js"></script></div></div> </div> </aside> <div class="main-pane astro-67yu43on"> <main data-pagefind-body class="astro-bguv2lll" lang="en" dir="ltr"> <div class="content-panel astro-7nkwcw3z"> <div class="sl-container astro-7nkwcw3z"> <h1 id="_top" class="astro-j6tvhyss">Use vJailbreak Settings</h1> </div> </div> <div class="content-panel astro-7nkwcw3z"> <div class="sl-container astro-7nkwcw3z"> <div class="sl-markdown-content"> <p>The vjailbreak-settings ConfigMap provides a centralized way to customize and override default settings in the vJailbreak system. This guide shows you how to use this ConfigMap effectively.</p>
|
||
<h2 id="overview">Overview</h2>
|
||
<p>The vjailbreak-settings ConfigMap allows you to:</p>
|
||
<ul>
|
||
<li>Override system-wide default values</li>
|
||
<li>Enable or disable optional features</li>
|
||
<li>Configure global system behaviors</li>
|
||
<li>Set resource limits and operational parameters</li>
|
||
</ul>
|
||
<h2 id="checking-for-the-configmap">Checking for the ConfigMap</h2>
|
||
<p>In vJailbreak v0.3.0 and above, the <code dir="auto">vjailbreak-settings</code> ConfigMap should already exist in your cluster. If it doesn’t exist, you’re likely using an older version and should upgrade to v0.3.0 or above.</p>
|
||
<p>To check if the ConfigMap exists:</p>
|
||
<div class="expressive-code"><link rel="stylesheet" href="/vjailbreak/_astro/ec.tm3va.css"><script type="module" src="/vjailbreak/_astro/ec.8zarh.js"></script><figure class="frame is-terminal not-content"><figcaption class="header"><span class="title"></span><span class="sr-only">Terminal window</span></figcaption><pre data-language="bash"><code><div class="ec-line"><div class="code"><span style="--0:#82AAFF;--1:#3B61B0">kubectl</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">get</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">configmap</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">vjailbreak-settings</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">-n</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">migration-system</span></div></div></code></pre><div class="copy"><button title="Copy to clipboard" data-copied="Copied!" data-code="kubectl get configmap vjailbreak-settings -n migration-system"><div></div></button></div></figure></div>
|
||
<p>If you receive an error that the ConfigMap doesn’t exist, please upgrade your vJailbreak installation to the latest version.</p>
|
||
<h2 id="available-settings">Available Settings</h2>
|
||
<p>The vjailbreak-settings ConfigMap supports the following settings:</p>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<table><thead><tr><th>Setting</th><th>Description</th><th>Default Value</th><th>Example Values</th></tr></thead><tbody><tr><td><code dir="auto">AUTO_FSTAB_UPDATE</code></td><td>Automatically update fstab during migration</td><td><code dir="auto">false</code></td><td><code dir="auto">true</code>, <code dir="auto">false</code></td></tr><tr><td><code dir="auto">AUTO_PXE_BOOT_ON_CONVERSION</code></td><td>Automatically configure PXE boot during conversion</td><td><code dir="auto">false</code></td><td><code dir="auto">true</code>, <code dir="auto">false</code></td></tr><tr><td><code dir="auto">CHANGED_BLOCKS_COPY_ITERATION_THRESHOLD</code></td><td>Number of iterations to copy changed blocks during hot migration</td><td><code dir="auto">20</code></td><td>Any positive integer</td></tr><tr><td><code dir="auto">CLEANUP_PORTS_AFTER_MIGRATION_FAILURE</code></td><td>Automatically cleanup OpenStack ports after migration failure</td><td><code dir="auto">false</code></td><td><code dir="auto">true</code>, <code dir="auto">false</code></td></tr><tr><td><code dir="auto">CLEANUP_VOLUMES_AFTER_CONVERT_FAILURE</code></td><td>Automatically cleanup OpenStack volumes after conversion failure</td><td><code dir="auto">false</code></td><td><code dir="auto">true</code>, <code dir="auto">false</code></td></tr><tr><td><code dir="auto">DEFAULT_MIGRATION_METHOD</code></td><td>Default method for VM migration</td><td><code dir="auto">cold</code></td><td><code dir="auto">hot</code> (migrate while VM is running), <code dir="auto">cold</code> (power off VM before migration)</td></tr><tr><td><code dir="auto">DEPLOYMENT_NAME</code></td><td>Name of the vJailbreak deployment</td><td><code dir="auto">vJailbreak</code></td><td>Any string</td></tr><tr><td><code dir="auto">NTP_SERVERS</code></td><td>NTP servers the appliance synchronizes against.</td><td>Empty (default public pools)</td><td>Space-separated hostnames or IPv4 addresses (e.g., <code dir="auto">ntp1.corp.local ntp2.corp.local</code>)</td></tr><tr><td><code dir="auto">OPENSTACK_CREDS_REQUEUE_AFTER_MINUTES</code></td><td>Interval in minutes to requeue OpenStack credentials validation</td><td><code dir="auto">60</code></td><td>Any positive integer</td></tr><tr><td><code dir="auto">PERIODIC_SYNC_INTERVAL</code></td><td>Interval for periodic sync during admin cutover</td><td><code dir="auto">1h</code></td><td>Duration format (e.g., <code dir="auto">30m</code>, <code dir="auto">1h</code>, <code dir="auto">2h</code>)</td></tr><tr><td><code dir="auto">PERIODIC_SYNC_MAX_RETRIES</code></td><td>Maximum number of retries for periodic sync</td><td><code dir="auto">3</code></td><td>Any positive integer</td></tr><tr><td><code dir="auto">PERIODIC_SYNC_RETRY_CAP</code></td><td>Maximum duration to retry periodic sync</td><td><code dir="auto">3h</code></td><td>Duration format (e.g., <code dir="auto">1h</code>, <code dir="auto">3h</code>, <code dir="auto">6h</code>)</td></tr><tr><td><code dir="auto">POPULATE_VMWARE_MACHINE_FLAVORS</code></td><td>Automatically populate flavor recommendations for VMware machines</td><td><code dir="auto">true</code></td><td><code dir="auto">true</code>, <code dir="auto">false</code></td></tr><tr><td><code dir="auto">TIMEZONE</code></td><td>System time zone of the vJailbreak appliance.</td><td>Empty (UTC)</td><td>IANA time zone (e.g., <code dir="auto">Asia/Calcutta</code>, <code dir="auto">America/New_York</code>)</td></tr><tr><td><code dir="auto">VALIDATE_RDM_OWNER_VMS</code></td><td>Validates that all VMs linked to an RDM disk are migrated in a single migration plan</td><td><code dir="auto">true</code></td><td><code dir="auto">true</code>, <code dir="auto">false</code></td></tr><tr><td><code dir="auto">VCENTER_LOGIN_RETRY_LIMIT</code></td><td>Number of retries for vCenter login attempts</td><td><code dir="auto">5</code></td><td>Any positive integer</td></tr><tr><td><code dir="auto">VCENTER_SCAN_CONCURRENCY_LIMIT</code></td><td>Maximum number of vCenter VMs to scan concurrently</td><td><code dir="auto">10</code></td><td>Any positive integer</td></tr><tr><td><code dir="auto">VM_ACTIVE_WAIT_INTERVAL_SECONDS</code></td><td>Interval to wait for VM to become active (in seconds)</td><td><code dir="auto">20</code></td><td>Any positive integer</td></tr><tr><td><code dir="auto">VM_ACTIVE_WAIT_RETRY_LIMIT</code></td><td>Number of retries to wait for VM to become active</td><td><code dir="auto">15</code></td><td>Any positive integer</td></tr><tr><td><code dir="auto">VMWARE_CREDS_REQUEUE_AFTER_MINUTES</code></td><td>Interval in minutes to requeue VMware credentials validation</td><td><code dir="auto">60</code></td><td>Any positive integer</td></tr><tr><td><code dir="auto">VOLUME_AVAILABLE_WAIT_INTERVAL_SECONDS</code></td><td>Interval to wait for volume to become available (in seconds)</td><td><code dir="auto">10</code></td><td>Any positive integer</td></tr><tr><td><code dir="auto">VOLUME_AVAILABLE_WAIT_RETRY_LIMIT</code></td><td>Number of retries to wait for volume to become available</td><td><code dir="auto">15</code></td><td>Any positive integer</td></tr><tr><td><code dir="auto">HTTP_TIMEOUT_SECONDS</code></td><td>Timeout in seconds for HTTP requests made by the controller</td><td><code dir="auto">30</code></td><td>Any positive integer</td></tr><tr><td><code dir="auto">V2V_HELPER_POD_CPU_REQUEST</code></td><td>CPU request for v2v-helper migration pods</td><td><code dir="auto">1000m</code></td><td>Kubernetes CPU quantity (e.g., <code dir="auto">500m</code>, <code dir="auto">2000m</code>)</td></tr><tr><td><code dir="auto">V2V_HELPER_POD_CPU_LIMIT</code></td><td>CPU limit for v2v-helper migration pods</td><td><code dir="auto">2000m</code></td><td>Kubernetes CPU quantity</td></tr><tr><td><code dir="auto">V2V_HELPER_POD_MEMORY_REQUEST</code></td><td>Memory request for v2v-helper migration pods</td><td><code dir="auto">1Gi</code></td><td>Kubernetes memory quantity (e.g., <code dir="auto">512Mi</code>, <code dir="auto">2Gi</code>)</td></tr><tr><td><code dir="auto">V2V_HELPER_POD_MEMORY_LIMIT</code></td><td>Memory limit for v2v-helper migration pods</td><td><code dir="auto">3Gi</code></td><td>Kubernetes memory quantity</td></tr><tr><td><code dir="auto">V2V_HELPER_POD_EPHEMERAL_STORAGE_REQUEST</code></td><td>Ephemeral storage request for v2v-helper migration pods</td><td><code dir="auto">3Gi</code></td><td>Kubernetes storage quantity (e.g., <code dir="auto">5Gi</code>, <code dir="auto">20Gi</code>)</td></tr><tr><td><code dir="auto">V2V_HELPER_POD_EPHEMERAL_STORAGE_LIMIT</code></td><td>Ephemeral storage limit for v2v-helper migration pods</td><td><code dir="auto">3Gi</code></td><td>Kubernetes storage quantity</td></tr></tbody></table>
|
||
<h2 id="modifying-settings">Modifying Settings</h2>
|
||
<p>You can modify the ConfigMap to change settings using one of the following methods:</p>
|
||
<h3 id="method-1-edit-with-kubectl">Method 1: Edit with kubectl</h3>
|
||
<div class="expressive-code"><figure class="frame is-terminal not-content"><figcaption class="header"><span class="title"></span><span class="sr-only">Terminal window</span></figcaption><pre data-language="bash"><code><div class="ec-line"><div class="code"><span style="--0:#82AAFF;--1:#3B61B0">kubectl</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">edit</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">configmap</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">vjailbreak-settings</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">-n</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">migration-system</span></div></div></code></pre><div class="copy"><button title="Copy to clipboard" data-copied="Copied!" data-code="kubectl edit configmap vjailbreak-settings -n migration-system"><div></div></button></div></figure></div>
|
||
<p>Then add or modify the data values as needed:</p>
|
||
<div class="expressive-code"><figure class="frame not-content"><figcaption class="header"></figcaption><pre data-language="yaml"><code><div class="ec-line"><div class="code"><span style="--0:#7FDBCA;--1:#111111">apiVersion</span><span style="--0:#D6DEEB;--1:#403F53">: </span><span style="--0:#ECC48D;--1:#3B61B0">v1</span></div></div><div class="ec-line"><div class="code"><span style="--0:#7FDBCA;--1:#111111">kind</span><span style="--0:#D6DEEB;--1:#403F53">: </span><span style="--0:#ECC48D;--1:#3B61B0">ConfigMap</span></div></div><div class="ec-line"><div class="code"><span style="--0:#7FDBCA;--1:#111111">metadata</span><span style="--0:#D6DEEB;--1:#403F53">:</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#7FDBCA;--1:#111111">name</span><span style="--0:#D6DEEB;--1:#403F53">: </span><span style="--0:#ECC48D;--1:#3B61B0">vjailbreak-settings</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#7FDBCA;--1:#111111">namespace</span><span style="--0:#D6DEEB;--1:#403F53">: </span><span style="--0:#ECC48D;--1:#3B61B0">migration-system</span></div></div><div class="ec-line"><div class="code"><span style="--0:#7FDBCA;--1:#111111">data</span><span style="--0:#D6DEEB;--1:#403F53">:</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#7FDBCA;--1:#111111">AUTO_FSTAB_UPDATE</span><span style="--0:#D6DEEB;--1:#403F53">: </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">false</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#7FDBCA;--1:#111111">AUTO_PXE_BOOT_ON_CONVERSION</span><span style="--0:#D6DEEB;--1:#403F53">: </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">false</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#7FDBCA;--1:#111111">CHANGED_BLOCKS_COPY_ITERATION_THRESHOLD</span><span style="--0:#D6DEEB;--1:#403F53">: </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">30</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#7FDBCA;--1:#111111">CLEANUP_PORTS_AFTER_MIGRATION_FAILURE</span><span style="--0:#D6DEEB;--1:#403F53">: </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">false</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#7FDBCA;--1:#111111">CLEANUP_VOLUMES_AFTER_CONVERT_FAILURE</span><span style="--0:#D6DEEB;--1:#403F53">: </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">false</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#7FDBCA;--1:#111111">DEFAULT_MIGRATION_METHOD</span><span style="--0:#D6DEEB;--1:#403F53">: </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">cold</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#7FDBCA;--1:#111111">DEPLOYMENT_NAME</span><span style="--0:#D6DEEB;--1:#403F53">: </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">vJailbreak</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#7FDBCA;--1:#111111">OPENSTACK_CREDS_REQUEUE_AFTER_MINUTES</span><span style="--0:#D6DEEB;--1:#403F53">: </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">60</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#7FDBCA;--1:#111111">PERIODIC_SYNC_INTERVAL</span><span style="--0:#D6DEEB;--1:#403F53">: </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">1h</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#7FDBCA;--1:#111111">PERIODIC_SYNC_MAX_RETRIES</span><span style="--0:#D6DEEB;--1:#403F53">: </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">3</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#7FDBCA;--1:#111111">PERIODIC_SYNC_RETRY_CAP</span><span style="--0:#D6DEEB;--1:#403F53">: </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">3h</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#7FDBCA;--1:#111111">POPULATE_VMWARE_MACHINE_FLAVORS</span><span style="--0:#D6DEEB;--1:#403F53">: </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">true</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#7FDBCA;--1:#111111">VALIDATE_RDM_OWNER_VMS</span><span style="--0:#D6DEEB;--1:#403F53">: </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">true</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#7FDBCA;--1:#111111">VCENTER_LOGIN_RETRY_LIMIT</span><span style="--0:#D6DEEB;--1:#403F53">: </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">5</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#7FDBCA;--1:#111111">VCENTER_SCAN_CONCURRENCY_LIMIT</span><span style="--0:#D6DEEB;--1:#403F53">: </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">150</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#7FDBCA;--1:#111111">VM_ACTIVE_WAIT_INTERVAL_SECONDS</span><span style="--0:#D6DEEB;--1:#403F53">: </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">30</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#7FDBCA;--1:#111111">VM_ACTIVE_WAIT_RETRY_LIMIT</span><span style="--0:#D6DEEB;--1:#403F53">: </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">20</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#7FDBCA;--1:#111111">VMWARE_CREDS_REQUEUE_AFTER_MINUTES</span><span style="--0:#D6DEEB;--1:#403F53">: </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">60</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#7FDBCA;--1:#111111">VOLUME_AVAILABLE_WAIT_INTERVAL_SECONDS</span><span style="--0:#D6DEEB;--1:#403F53">: </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">10</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#7FDBCA;--1:#111111">VOLUME_AVAILABLE_WAIT_RETRY_LIMIT</span><span style="--0:#D6DEEB;--1:#403F53">: </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">15</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div></code></pre><div class="copy"><button title="Copy to clipboard" data-copied="Copied!" data-code="apiVersion: v1kind: ConfigMapmetadata: name: vjailbreak-settings namespace: migration-systemdata: AUTO_FSTAB_UPDATE: "false" AUTO_PXE_BOOT_ON_CONVERSION: "false" CHANGED_BLOCKS_COPY_ITERATION_THRESHOLD: "30" CLEANUP_PORTS_AFTER_MIGRATION_FAILURE: "false" CLEANUP_VOLUMES_AFTER_CONVERT_FAILURE: "false" DEFAULT_MIGRATION_METHOD: "cold" DEPLOYMENT_NAME: "vJailbreak" OPENSTACK_CREDS_REQUEUE_AFTER_MINUTES: "60" PERIODIC_SYNC_INTERVAL: "1h" PERIODIC_SYNC_MAX_RETRIES: "3" PERIODIC_SYNC_RETRY_CAP: "3h" POPULATE_VMWARE_MACHINE_FLAVORS: "true" VALIDATE_RDM_OWNER_VMS: "true" VCENTER_LOGIN_RETRY_LIMIT: "5" VCENTER_SCAN_CONCURRENCY_LIMIT: "150" VM_ACTIVE_WAIT_INTERVAL_SECONDS: "30" VM_ACTIVE_WAIT_RETRY_LIMIT: "20" VMWARE_CREDS_REQUEUE_AFTER_MINUTES: "60" VOLUME_AVAILABLE_WAIT_INTERVAL_SECONDS: "10" VOLUME_AVAILABLE_WAIT_RETRY_LIMIT: "15""><div></div></button></div></figure></div>
|
||
<h3 id="method-2-using-kubectl-patch">Method 2: Using kubectl patch</h3>
|
||
<p>You can modify individual settings without editing the entire ConfigMap:</p>
|
||
<div class="expressive-code"><figure class="frame is-terminal not-content"><figcaption class="header"><span class="title"></span><span class="sr-only">Terminal window</span></figcaption><pre data-language="bash"><code><div class="ec-line"><div class="code"><span style="--0:#82AAFF;--1:#3B61B0">kubectl</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">patch</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">configmap</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">-n</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">migration-system</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">vjailbreak-settings</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">--type</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">merge</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">-p</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#D9F5DD;--1:#111111">'</span><span style="--0:#ECC48D;--1:#984E4D">{"data":{"VM_ACTIVE_WAIT_INTERVAL_SECONDS":"30","VM_ACTIVE_WAIT_RETRY_LIMIT":"20"}}</span><span style="--0:#D9F5DD;--1:#111111">'</span></div></div></code></pre><div class="copy"><button title="Copy to clipboard" data-copied="Copied!" data-code="kubectl patch configmap -n migration-system vjailbreak-settings --type merge -p '{"data":{"VM_ACTIVE_WAIT_INTERVAL_SECONDS":"30","VM_ACTIVE_WAIT_RETRY_LIMIT":"20"}}'"><div></div></button></div></figure></div>
|
||
<h3 id="method-3-from-a-file">Method 3: From a file</h3>
|
||
<p>Create a file with your settings:</p>
|
||
<div class="expressive-code"><figure class="frame is-terminal not-content"><figcaption class="header"><span class="title"></span><span class="sr-only">Terminal window</span></figcaption><pre data-language="bash"><code><div class="ec-line"><div class="code"><span style="--0:#82AAFF;--1:#3B61B0">cat</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#7FDBCA;--1:#096E72">></span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">vjailbreak-settings.yaml</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#7FDBCA;--1:#096E72"><<</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#D9F5DD;--1:#111111">EOF</span></div></div><div class="ec-line"><div class="code"><span style="--0:#ECC48D;--1:#3B61B0">apiVersion: v1</span></div></div><div class="ec-line"><div class="code"><span style="--0:#ECC48D;--1:#3B61B0">kind: ConfigMap</span></div></div><div class="ec-line"><div class="code"><span style="--0:#ECC48D;--1:#3B61B0">metadata:</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#3B61B0"> </span></span><span style="--0:#ECC48D;--1:#3B61B0">name: vjailbreak-settings</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#3B61B0"> </span></span><span style="--0:#ECC48D;--1:#3B61B0">namespace: migration-system</span></div></div><div class="ec-line"><div class="code"><span style="--0:#ECC48D;--1:#3B61B0">data:</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#3B61B0"> </span></span><span style="--0:#ECC48D;--1:#3B61B0">AUTO_FSTAB_UPDATE: "false"</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#3B61B0"> </span></span><span style="--0:#ECC48D;--1:#3B61B0">AUTO_PXE_BOOT_ON_CONVERSION: "false"</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#3B61B0"> </span></span><span style="--0:#ECC48D;--1:#3B61B0">CHANGED_BLOCKS_COPY_ITERATION_THRESHOLD: "30"</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#3B61B0"> </span></span><span style="--0:#ECC48D;--1:#3B61B0">CLEANUP_PORTS_AFTER_MIGRATION_FAILURE: "false"</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#3B61B0"> </span></span><span style="--0:#ECC48D;--1:#3B61B0">CLEANUP_VOLUMES_AFTER_CONVERT_FAILURE: "false"</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#3B61B0"> </span></span><span style="--0:#ECC48D;--1:#3B61B0">DEFAULT_MIGRATION_METHOD: "cold"</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#3B61B0"> </span></span><span style="--0:#ECC48D;--1:#3B61B0">DEPLOYMENT_NAME: "vJailbreak"</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#3B61B0"> </span></span><span style="--0:#ECC48D;--1:#3B61B0">OPENSTACK_CREDS_REQUEUE_AFTER_MINUTES: "60"</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#3B61B0"> </span></span><span style="--0:#ECC48D;--1:#3B61B0">PERIODIC_SYNC_INTERVAL: "1h"</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#3B61B0"> </span></span><span style="--0:#ECC48D;--1:#3B61B0">PERIODIC_SYNC_MAX_RETRIES: "3"</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#3B61B0"> </span></span><span style="--0:#ECC48D;--1:#3B61B0">PERIODIC_SYNC_RETRY_CAP: "3h"</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#3B61B0"> </span></span><span style="--0:#ECC48D;--1:#3B61B0">POPULATE_VMWARE_MACHINE_FLAVORS: "true"</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#3B61B0"> </span></span><span style="--0:#ECC48D;--1:#3B61B0">VALIDATE_RDM_OWNER_VMS: "true"</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#3B61B0"> </span></span><span style="--0:#ECC48D;--1:#3B61B0">VCENTER_LOGIN_RETRY_LIMIT: "5"</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#3B61B0"> </span></span><span style="--0:#ECC48D;--1:#3B61B0">VCENTER_SCAN_CONCURRENCY_LIMIT: "150"</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#3B61B0"> </span></span><span style="--0:#ECC48D;--1:#3B61B0">VM_ACTIVE_WAIT_INTERVAL_SECONDS: "30"</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#3B61B0"> </span></span><span style="--0:#ECC48D;--1:#3B61B0">VM_ACTIVE_WAIT_RETRY_LIMIT: "20"</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#3B61B0"> </span></span><span style="--0:#ECC48D;--1:#3B61B0">VMWARE_CREDS_REQUEUE_AFTER_MINUTES: "60"</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#3B61B0"> </span></span><span style="--0:#ECC48D;--1:#3B61B0">VOLUME_AVAILABLE_WAIT_INTERVAL_SECONDS: "10"</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#3B61B0"> </span></span><span style="--0:#ECC48D;--1:#3B61B0">VOLUME_AVAILABLE_WAIT_RETRY_LIMIT: "15"</span></div></div><div class="ec-line"><div class="code"><span style="--0:#D9F5DD;--1:#111111">EOF</span></div></div><div class="ec-line"><div class="code">
|
||
</div></div><div class="ec-line"><div class="code"><span style="--0:#82AAFF;--1:#3B61B0">kubectl</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">apply</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">-f</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">vjailbreak-settings.yaml</span></div></div></code></pre><div class="copy"><button title="Copy to clipboard" data-copied="Copied!" data-code="cat > vjailbreak-settings.yaml << EOFapiVersion: v1kind: ConfigMapmetadata: name: vjailbreak-settings namespace: migration-systemdata: AUTO_FSTAB_UPDATE: "false" AUTO_PXE_BOOT_ON_CONVERSION: "false" CHANGED_BLOCKS_COPY_ITERATION_THRESHOLD: "30" CLEANUP_PORTS_AFTER_MIGRATION_FAILURE: "false" CLEANUP_VOLUMES_AFTER_CONVERT_FAILURE: "false" DEFAULT_MIGRATION_METHOD: "cold" DEPLOYMENT_NAME: "vJailbreak" OPENSTACK_CREDS_REQUEUE_AFTER_MINUTES: "60" PERIODIC_SYNC_INTERVAL: "1h" PERIODIC_SYNC_MAX_RETRIES: "3" PERIODIC_SYNC_RETRY_CAP: "3h" POPULATE_VMWARE_MACHINE_FLAVORS: "true" VALIDATE_RDM_OWNER_VMS: "true" VCENTER_LOGIN_RETRY_LIMIT: "5" VCENTER_SCAN_CONCURRENCY_LIMIT: "150" VM_ACTIVE_WAIT_INTERVAL_SECONDS: "30" VM_ACTIVE_WAIT_RETRY_LIMIT: "20" VMWARE_CREDS_REQUEUE_AFTER_MINUTES: "60" VOLUME_AVAILABLE_WAIT_INTERVAL_SECONDS: "10" VOLUME_AVAILABLE_WAIT_RETRY_LIMIT: "15"EOFkubectl apply -f vjailbreak-settings.yaml"><div></div></button></div></figure></div>
|
||
<h2 id="settings-in-action">Settings in Action</h2>
|
||
<h3 id="optimizing-block-copy-operations">Optimizing Block Copy Operations</h3>
|
||
<p>To increase the number of iterations for copying changed blocks during hot migrations:</p>
|
||
<div class="expressive-code"><figure class="frame is-terminal not-content"><figcaption class="header"><span class="title"></span><span class="sr-only">Terminal window</span></figcaption><pre data-language="bash"><code><div class="ec-line"><div class="code"><span style="--0:#82AAFF;--1:#3B61B0">kubectl</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">patch</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">configmap</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">-n</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">migration-system</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">vjailbreak-settings</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">--type</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">merge</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">-p</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#D9F5DD;--1:#111111">'</span><span style="--0:#ECC48D;--1:#984E4D">{"data":{"CHANGED_BLOCKS_COPY_ITERATION_THRESHOLD":"30"}}</span><span style="--0:#D9F5DD;--1:#111111">'</span></div></div></code></pre><div class="copy"><button title="Copy to clipboard" data-copied="Copied!" data-code="kubectl patch configmap -n migration-system vjailbreak-settings --type merge -p '{"data":{"CHANGED_BLOCKS_COPY_ITERATION_THRESHOLD":"30"}}'"><div></div></button></div></figure></div>
|
||
<h3 id="adjusting-vm-activation-parameters">Adjusting VM Activation Parameters</h3>
|
||
<p>To increase wait time and retry attempts for VM activation:</p>
|
||
<div class="expressive-code"><figure class="frame is-terminal not-content"><figcaption class="header"><span class="title"></span><span class="sr-only">Terminal window</span></figcaption><pre data-language="bash"><code><div class="ec-line"><div class="code"><span style="--0:#82AAFF;--1:#3B61B0">kubectl</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">patch</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">configmap</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">-n</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">migration-system</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">vjailbreak-settings</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">--type</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">merge</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">-p</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#D9F5DD;--1:#111111">'</span><span style="--0:#ECC48D;--1:#984E4D">{"data":{"VM_ACTIVE_WAIT_INTERVAL_SECONDS":"30","VM_ACTIVE_WAIT_RETRY_LIMIT":"20"}}</span><span style="--0:#D9F5DD;--1:#111111">'</span></div></div></code></pre><div class="copy"><button title="Copy to clipboard" data-copied="Copied!" data-code="kubectl patch configmap -n migration-system vjailbreak-settings --type merge -p '{"data":{"VM_ACTIVE_WAIT_INTERVAL_SECONDS":"30","VM_ACTIVE_WAIT_RETRY_LIMIT":"20"}}'"><div></div></button></div></figure></div>
|
||
<h3 id="optimizing-scan-performance">Optimizing Scan Performance</h3>
|
||
<p>To increase the number of concurrent vCenter scan pods:</p>
|
||
<div class="expressive-code"><figure class="frame is-terminal not-content"><figcaption class="header"><span class="title"></span><span class="sr-only">Terminal window</span></figcaption><pre data-language="bash"><code><div class="ec-line"><div class="code"><span style="--0:#82AAFF;--1:#3B61B0">kubectl</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">patch</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">configmap</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">-n</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">migration-system</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">vjailbreak-settings</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">--type</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">merge</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">-p</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#D9F5DD;--1:#111111">'</span><span style="--0:#ECC48D;--1:#984E4D">{"data":{"VCENTER_SCAN_CONCURRENCY_LIMIT":"150"}}</span><span style="--0:#D9F5DD;--1:#111111">'</span></div></div></code></pre><div class="copy"><button title="Copy to clipboard" data-copied="Copied!" data-code="kubectl patch configmap -n migration-system vjailbreak-settings --type merge -p '{"data":{"VCENTER_SCAN_CONCURRENCY_LIMIT":"150"}}'"><div></div></button></div></figure></div>
|
||
<h3 id="configuring-periodic-sync-for-admin-cutover">Configuring Periodic Sync for Admin Cutover</h3>
|
||
<p>To adjust the periodic sync settings for admin cutover migrations:</p>
|
||
<div class="expressive-code"><figure class="frame is-terminal not-content"><figcaption class="header"><span class="title"></span><span class="sr-only">Terminal window</span></figcaption><pre data-language="bash"><code><div class="ec-line"><div class="code"><span style="--0:#82AAFF;--1:#3B61B0">kubectl</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">patch</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">configmap</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">-n</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">migration-system</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">vjailbreak-settings</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">--type</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">merge</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">-p</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#D9F5DD;--1:#111111">'</span><span style="--0:#ECC48D;--1:#984E4D">{"data":{"PERIODIC_SYNC_INTERVAL":"30m","PERIODIC_SYNC_MAX_RETRIES":"5","PERIODIC_SYNC_RETRY_CAP":"6h"}}</span><span style="--0:#D9F5DD;--1:#111111">'</span></div></div></code></pre><div class="copy"><button title="Copy to clipboard" data-copied="Copied!" data-code="kubectl patch configmap -n migration-system vjailbreak-settings --type merge -p '{"data":{"PERIODIC_SYNC_INTERVAL":"30m","PERIODIC_SYNC_MAX_RETRIES":"5","PERIODIC_SYNC_RETRY_CAP":"6h"}}'"><div></div></button></div></figure></div>
|
||
<p>This configures the system to sync every 30 minutes, with a maximum of 5 retries, and a total retry window of 6 hours.</p>
|
||
<h3 id="enabling-automatic-cleanup-after-failures">Enabling Automatic Cleanup After Failures</h3>
|
||
<p>To automatically cleanup resources after migration failures:</p>
|
||
<div class="expressive-code"><figure class="frame is-terminal not-content"><figcaption class="header"><span class="title"></span><span class="sr-only">Terminal window</span></figcaption><pre data-language="bash"><code><div class="ec-line"><div class="code"><span style="--0:#82AAFF;--1:#3B61B0">kubectl</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">patch</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">configmap</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">-n</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">migration-system</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">vjailbreak-settings</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">--type</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">merge</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">-p</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#D9F5DD;--1:#111111">'</span><span style="--0:#ECC48D;--1:#984E4D">{"data":{"CLEANUP_PORTS_AFTER_MIGRATION_FAILURE":"true","CLEANUP_VOLUMES_AFTER_CONVERT_FAILURE":"true"}}</span><span style="--0:#D9F5DD;--1:#111111">'</span></div></div></code></pre><div class="copy"><button title="Copy to clipboard" data-copied="Copied!" data-code="kubectl patch configmap -n migration-system vjailbreak-settings --type merge -p '{"data":{"CLEANUP_PORTS_AFTER_MIGRATION_FAILURE":"true","CLEANUP_VOLUMES_AFTER_CONVERT_FAILURE":"true"}}'"><div></div></button></div></figure></div>
|
||
<blockquote>
|
||
<p><strong>Note:</strong> Enabling automatic cleanup helps prevent resource accumulation after failed migrations, but ensure you have proper logging and monitoring in place to track what gets cleaned up.</p>
|
||
</blockquote>
|
||
<h3 id="adjusting-volume-availability-wait-parameters">Adjusting Volume Availability Wait Parameters</h3>
|
||
<p>To increase wait time and retry attempts for volumes to become available:</p>
|
||
<div class="expressive-code"><figure class="frame is-terminal not-content"><figcaption class="header"><span class="title"></span><span class="sr-only">Terminal window</span></figcaption><pre data-language="bash"><code><div class="ec-line"><div class="code"><span style="--0:#82AAFF;--1:#3B61B0">kubectl</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">patch</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">configmap</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">-n</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">migration-system</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">vjailbreak-settings</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">--type</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">merge</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">-p</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#D9F5DD;--1:#111111">'</span><span style="--0:#ECC48D;--1:#984E4D">{"data":{"VOLUME_AVAILABLE_WAIT_INTERVAL_SECONDS":"15","VOLUME_AVAILABLE_WAIT_RETRY_LIMIT":"20"}}</span><span style="--0:#D9F5DD;--1:#111111">'</span></div></div></code></pre><div class="copy"><button title="Copy to clipboard" data-copied="Copied!" data-code="kubectl patch configmap -n migration-system vjailbreak-settings --type merge -p '{"data":{"VOLUME_AVAILABLE_WAIT_INTERVAL_SECONDS":"15","VOLUME_AVAILABLE_WAIT_RETRY_LIMIT":"20"}}'"><div></div></button></div></figure></div>
|
||
<h3 id="configuring-credentials-revalidation-intervals">Configuring Credentials Revalidation Intervals</h3>
|
||
<p>To adjust how frequently credentials are revalidated:</p>
|
||
<div class="expressive-code"><figure class="frame is-terminal not-content"><figcaption class="header"><span class="title"></span><span class="sr-only">Terminal window</span></figcaption><pre data-language="bash"><code><div class="ec-line"><div class="code"><span style="--0:#82AAFF;--1:#3B61B0">kubectl</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">patch</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">configmap</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">-n</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">migration-system</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">vjailbreak-settings</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">--type</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">merge</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">-p</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#D9F5DD;--1:#111111">'</span><span style="--0:#ECC48D;--1:#984E4D">{"data":{"OPENSTACK_CREDS_REQUEUE_AFTER_MINUTES":"30","VMWARE_CREDS_REQUEUE_AFTER_MINUTES":"30"}}</span><span style="--0:#D9F5DD;--1:#111111">'</span></div></div></code></pre><div class="copy"><button title="Copy to clipboard" data-copied="Copied!" data-code="kubectl patch configmap -n migration-system vjailbreak-settings --type merge -p '{"data":{"OPENSTACK_CREDS_REQUEUE_AFTER_MINUTES":"30","VMWARE_CREDS_REQUEUE_AFTER_MINUTES":"30"}}'"><div></div></button></div></figure></div>
|
||
<h3 id="configuring-rdm-disk-validation">Configuring RDM Disk Validation</h3>
|
||
<p>To disable the validation that requires all VMs linked to an RDM disk to be migrated in a single migration plan:</p>
|
||
<div class="expressive-code"><figure class="frame is-terminal not-content"><figcaption class="header"><span class="title"></span><span class="sr-only">Terminal window</span></figcaption><pre data-language="bash"><code><div class="ec-line"><div class="code"><span style="--0:#82AAFF;--1:#3B61B0">kubectl</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">patch</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">configmap</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">-n</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">migration-system</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">vjailbreak-settings</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">--type</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">merge</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">-p</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#D9F5DD;--1:#111111">'</span><span style="--0:#ECC48D;--1:#984E4D">{"data":{"VALIDATE_RDM_OWNER_VMS":"false"}}</span><span style="--0:#D9F5DD;--1:#111111">'</span></div></div></code></pre><div class="copy"><button title="Copy to clipboard" data-copied="Copied!" data-code="kubectl patch configmap -n migration-system vjailbreak-settings --type merge -p '{"data":{"VALIDATE_RDM_OWNER_VMS":"false"}}'"><div></div></button></div></figure></div>
|
||
<blockquote>
|
||
<p><strong>Note:</strong> When <code dir="auto">VALIDATE_RDM_OWNER_VMS</code> is set to <code dir="auto">true</code> (default), the system ensures that all VMs sharing an RDM disk are migrated together in the same migration plan. This prevents potential data consistency issues. Only disable this validation if you understand the implications for your RDM disk configuration.</p>
|
||
</blockquote>
|
||
<h3 id="setting-default-migration-method">Setting Default Migration Method</h3>
|
||
<p>To set the default migration method for VMs:</p>
|
||
<div class="expressive-code"><figure class="frame is-terminal not-content"><figcaption class="header"><span class="title"></span><span class="sr-only">Terminal window</span></figcaption><pre data-language="bash"><code><div class="ec-line"><div class="code"><span style="--0:#82AAFF;--1:#3B61B0">kubectl</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">patch</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">configmap</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">-n</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">migration-system</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">vjailbreak-settings</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">--type</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">merge</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">-p</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#D9F5DD;--1:#111111">'</span><span style="--0:#ECC48D;--1:#984E4D">{"data":{"DEFAULT_MIGRATION_METHOD":"hot"}}</span><span style="--0:#D9F5DD;--1:#111111">'</span></div></div></code></pre><div class="copy"><button title="Copy to clipboard" data-copied="Copied!" data-code="kubectl patch configmap -n migration-system vjailbreak-settings --type merge -p '{"data":{"DEFAULT_MIGRATION_METHOD":"hot"}}'"><div></div></button></div></figure></div>
|
||
<p>The system supports two migration methods:</p>
|
||
<ul>
|
||
<li><strong>Hot migration</strong>: Migrates VMs while they are running, minimizing downtime but requiring more coordination and potentially multiple sync iterations to capture changed blocks</li>
|
||
<li><strong>Cold migration</strong> (default): Powers off the VM before migration, ensuring data consistency but causing downtime during the entire migration process</li>
|
||
</ul>
|
||
<h2 id="verification">Verification</h2>
|
||
<p>To verify your settings have been applied correctly:</p>
|
||
<div class="expressive-code"><figure class="frame is-terminal not-content"><figcaption class="header"><span class="title"></span><span class="sr-only">Terminal window</span></figcaption><pre data-language="bash"><code><div class="ec-line"><div class="code"><span style="--0:#82AAFF;--1:#3B61B0">kubectl</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">get</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">configmap</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">-n</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">migration-system</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">vjailbreak-settings</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">-o</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">yaml</span></div></div></code></pre><div class="copy"><button title="Copy to clipboard" data-copied="Copied!" data-code="kubectl get configmap -n migration-system vjailbreak-settings -o yaml"><div></div></button></div></figure></div>
|
||
<h2 id="applying-changes">Applying Changes</h2>
|
||
<p>After modifying settings in the ConfigMap, the behavior depends on which settings you changed:</p>
|
||
<h3 id="settings-that-require-controller-restart">Settings That Require Controller Restart</h3>
|
||
<p>The following settings are loaded at controller startup and require a restart of the migration controller pod to take effect:</p>
|
||
<ul>
|
||
<li><code dir="auto">OPENSTACK_CREDS_REQUEUE_AFTER_MINUTES</code></li>
|
||
<li><code dir="auto">VMWARE_CREDS_REQUEUE_AFTER_MINUTES</code></li>
|
||
</ul>
|
||
<p>To restart the controller after changing these settings:</p>
|
||
<div class="expressive-code"><figure class="frame is-terminal not-content"><figcaption class="header"><span class="title"></span><span class="sr-only">Terminal window</span></figcaption><pre data-language="bash"><code><div class="ec-line"><div class="code"><span style="--0:#82AAFF;--1:#3B61B0">kubectl</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">rollout</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">restart</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">deployment</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">migration-controller-manager</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#82AAFF;--1:#3B61B0">-n</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">migration-system</span></div></div></code></pre><div class="copy"><button title="Copy to clipboard" data-copied="Copied!" data-code="kubectl rollout restart deployment migration-controller-manager -n migration-system"><div></div></button></div></figure></div>
|
||
<h3 id="settings-that-take-effect-immediately">Settings That Take Effect Immediately</h3>
|
||
<p>All other settings are read dynamically at runtime and do not require a restart:</p>
|
||
<ul>
|
||
<li><code dir="auto">AUTO_FSTAB_UPDATE</code></li>
|
||
<li><code dir="auto">AUTO_PXE_BOOT_ON_CONVERSION</code></li>
|
||
<li><code dir="auto">CHANGED_BLOCKS_COPY_ITERATION_THRESHOLD</code></li>
|
||
<li><code dir="auto">CLEANUP_PORTS_AFTER_MIGRATION_FAILURE</code></li>
|
||
<li><code dir="auto">CLEANUP_VOLUMES_AFTER_CONVERT_FAILURE</code></li>
|
||
<li><code dir="auto">DEFAULT_MIGRATION_METHOD</code></li>
|
||
<li><code dir="auto">DEPLOYMENT_NAME</code></li>
|
||
<li><code dir="auto">PERIODIC_SYNC_INTERVAL</code></li>
|
||
<li><code dir="auto">PERIODIC_SYNC_MAX_RETRIES</code></li>
|
||
<li><code dir="auto">PERIODIC_SYNC_RETRY_CAP</code></li>
|
||
<li><code dir="auto">POPULATE_VMWARE_MACHINE_FLAVORS</code></li>
|
||
<li><code dir="auto">VALIDATE_RDM_OWNER_VMS</code></li>
|
||
<li><code dir="auto">VCENTER_LOGIN_RETRY_LIMIT</code></li>
|
||
<li><code dir="auto">VCENTER_SCAN_CONCURRENCY_LIMIT</code></li>
|
||
<li><code dir="auto">VM_ACTIVE_WAIT_INTERVAL_SECONDS</code></li>
|
||
<li><code dir="auto">VM_ACTIVE_WAIT_RETRY_LIMIT</code></li>
|
||
<li><code dir="auto">VOLUME_AVAILABLE_WAIT_INTERVAL_SECONDS</code></li>
|
||
<li><code dir="auto">VOLUME_AVAILABLE_WAIT_RETRY_LIMIT</code></li>
|
||
</ul>
|
||
<h3 id="when-changes-take-effect">When Changes Take Effect</h3>
|
||
<p>For settings that don’t require restart:</p>
|
||
<ul>
|
||
<li><strong>On-demand access</strong>: Values are read from the ConfigMap when they are needed for an operation</li>
|
||
<li><strong>New operations</strong>: Changes affect only new operations that start after the ConfigMap is updated</li>
|
||
<li><strong>In-progress operations</strong>: Running operations continue using the values they initially read</li>
|
||
<li><strong>No caching</strong>: The system does not cache these values for extended periods, ensuring relatively quick propagation of changes</li>
|
||
</ul>
|
||
<p>Typically, your changes will be effective within seconds for any new operations initiated after updating the ConfigMap.</p>
|
||
<h2 id="best-practices-and-considerations">Best Practices and Considerations</h2>
|
||
<h3 id="testing-recommendations">Testing Recommendations</h3>
|
||
<ul>
|
||
<li>Always test configuration changes in a test environment that closely matches your production setup before applying them to production.</li>
|
||
<li>Validate each setting change independently to understand its impact on system behavior.</li>
|
||
<li>Document any changes made to default settings for future reference and troubleshooting.</li>
|
||
</ul>
|
||
<h3 id="operational-considerations">Operational Considerations</h3>
|
||
<ul>
|
||
<li>Setting changes take effect for new operations and do not affect in-progress tasks.</li>
|
||
<li>The impact of settings varies based on your specific environment (hardware, network, storage configuration).</li>
|
||
<li>Performance-related settings should be adjusted based on your specific infrastructure capabilities.</li>
|
||
</ul>
|
||
<h3 id="monitoring-and-validation">Monitoring and Validation</h3>
|
||
<ul>
|
||
<li>After changing settings, monitor system behavior to ensure the changes produce the expected results.</li>
|
||
<li>Use vJailbreak logs to verify that settings are being correctly applied.</li>
|
||
</ul>
|
||
<blockquote>
|
||
<p><strong>Important:</strong> Always select configuration values appropriate for your specific environment. Incorrect settings may negatively impact system performance or stability.</p>
|
||
</blockquote> </div> <footer class="sl-flex astro-3yyafb3n"> <div class="meta sl-flex astro-3yyafb3n"> <a href="https://platform9.github.io/vjailbreak/src/content/docs/guides/How-to/vjailbreak_settings.md" class="sl-flex print:hidden astro-eez2twj6"><svg aria-hidden="true" class="astro-eez2twj6 astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.2em;"><path d="M22 7.24a1 1 0 0 0-.29-.71l-4.24-4.24a1 1 0 0 0-1.1-.22 1 1 0 0 0-.32.22l-2.83 2.83L2.29 16.05a1 1 0 0 0-.29.71V21a1 1 0 0 0 1 1h4.24a1 1 0 0 0 .76-.29l10.87-10.93L21.71 8c.1-.1.17-.2.22-.33a1 1 0 0 0 0-.24v-.14l.07-.05ZM6.83 20H4v-2.83l9.93-9.93 2.83 2.83L6.83 20ZM18.17 8.66l-2.83-2.83 1.42-1.41 2.82 2.82-1.41 1.42Z"/></svg> Edit page</a> </div> <div class="pagination-links print:hidden astro-u2l5gyhi" dir="ltr"> <a href="/vjailbreak/guides/how-to/virtio_doc/" rel="prev" class="astro-u2l5gyhi"> <svg aria-hidden="true" class="astro-u2l5gyhi astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17 11H9.41l3.3-3.29a1.004 1.004 0 1 0-1.42-1.42l-5 5a1 1 0 0 0-.21.33 1 1 0 0 0 0 .76 1 1 0 0 0 .21.33l5 5a1.002 1.002 0 0 0 1.639-.325 1 1 0 0 0-.219-1.095L9.41 13H17a1 1 0 0 0 0-2Z"/></svg> <span class="astro-u2l5gyhi"> Previous <br class="astro-u2l5gyhi"> <span class="link-title astro-u2l5gyhi">Inject VirtIO Windows Driver</span> </span> </a> <a href="/vjailbreak/guides/how-to/vtpm_migration/" rel="next" class="astro-u2l5gyhi"> <svg aria-hidden="true" class="astro-u2l5gyhi astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17.92 11.62a1.001 1.001 0 0 0-.21-.33l-5-5a1.003 1.003 0 1 0-1.42 1.42l3.3 3.29H7a1 1 0 0 0 0 2h7.59l-3.3 3.29a1.002 1.002 0 0 0 .325 1.639 1 1 0 0 0 1.095-.219l5-5a1 1 0 0 0 .21-.33 1 1 0 0 0 0-.76Z"/></svg> <span class="astro-u2l5gyhi"> Next <br class="astro-u2l5gyhi"> <span class="link-title astro-u2l5gyhi">Virtual Trusted Platform Module (vTPM) VM Migration</span> </span> </a> </div> </footer> </div> </div> </main> </div> </div> </div> </div> </body></html> |