-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce InstanceTypes #403
Conversation
Caution Review failedThe pull request is closed. WalkthroughThe pull request includes multiple updates across various packages, primarily focusing on version increments for Kubernetes and virtual-machine components. Significant changes encompass the addition of new sections in README files, modifications to YAML configurations introducing new parameters and fields, and the creation of new charts for Changes
Possibly related PRs
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
41cf90b
to
7f623c5
Compare
be8396d
to
54645c0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 8
🧹 Outside diff range and nitpick comments (29)
packages/system/kubevirt-common-instancetypes/Makefile (1)
6-12
: LGTM with suggestions: Update target is well-structured.The update target effectively generates and customizes instance types and preferences. The use of
kustomize
andyq
for YAML manipulation is sophisticated and appropriate.Suggestions for improvement:
- Consider adding error checking for the
kustomize
andyq
commands.- Add comments explaining the purpose of filtering out specific kinds.
- Consider parameterizing the GitHub repository URL for easier maintenance.
Here's a suggested refactor incorporating these improvements:
REPO_URL := https://github.com/kubevirt/common-instancetypes update: rm -rf templates mkdir templates # Generate preferences, excluding VirtualMachinePreference kind kustomize build $(REPO_URL)/preferences > templates/preferences.yaml || (echo "Error generating preferences"; exit 1) yq -i 'select(.kind != "VirtualMachinePreference")' templates/preferences.yaml || (echo "Error filtering preferences"; exit 1) # Generate instance types, excluding VirtualMachineInstancetype kind kustomize build $(REPO_URL)/instancetypes > templates/instancetypes.yaml || (echo "Error generating instance types"; exit 1) yq -i 'select(.kind != "VirtualMachineInstancetype")' templates/instancetypes.yaml || (echo "Error filtering instance types"; exit 1)packages/apps/virtual-machine/values.yaml (3)
12-16
: LGTM: Instance type and profile parameters addedThe 'instanceType' and 'instanceProfile' parameters have been correctly added, aligning with the PR objectives. The default values are appropriate.
Consider enhancing the documentation by providing examples of other available instance types and profiles, as mentioned in the PR objectives. This could help users understand the range of options available.
27-31
: LGTM: 'resources' section updated, consider adding clarificationThe 'resources' section has been appropriately updated, removing specific values for 'cpu' and 'memory'. This change is consistent with the introduction of the 'instanceType' parameter.
Consider adding a comment explaining that these values are determined by the selected 'instanceType'. This would provide clarity to users about how these resources are allocated.
21-21
: Minor: Remove trailing spacesThere are trailing spaces on this line. While this doesn't affect functionality, it's good practice to remove them for consistency and to avoid potential issues in some systems.
Please remove the trailing spaces from this line.
🧰 Tools
🪛 yamllint
[error] 21-21: trailing spaces
(trailing-spaces)
packages/apps/versions_map (1)
38-38
: Consider updating kubernetes 0.13.0 to a specific commit hashWhile version 0.12.0 has been updated to a specific commit hash, version 0.13.0 is still set to HEAD. For consistency and better version control, consider updating this to a specific commit hash as well.
packages/apps/virtual-machine/templates/vm.yaml (4)
1-6
: Excellent addition of existence checks for instanceType and instanceProfile.These checks will prevent the creation of VMs with non-existent instance types or profiles, improving error handling and user experience. The error messages are clear and informative.
For consistency, consider using string interpolation for both error messages:
-{{- fail (printf "Specified instancetype not exists in cluster: %s" .Values.instanceType) }} +{{- fail (printf "Specified instanceType does not exist in cluster: %s" .Values.instanceType) }} -{{- fail (printf "Specified profile not exists in cluster: %s" .Values.instanceProfile) }} +{{- fail (printf "Specified instanceProfile does not exist in cluster: %s" .Values.instanceProfile) }}🧰 Tools
🪛 yamllint
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
41-46
: Enhanced flexibility in disk source configuration.The updated disk source handling allows for either a dynamic URL or a blank disk, providing more flexibility in VM image sourcing. The fallback to a blank disk when no origin is specified is a good default behavior.
For improved clarity, consider adding a comment explaining the purpose of the blank disk fallback:
{{- if $.Values.systemDisk.origin }} http: url: {{ $.Values.systemDisk.origin }} {{- else }} # Fallback to a blank disk if no origin is specified blank: {} {{- end }}
60-64
: Well-implemented conditional memory resource allocation.The conditional inclusion of memory requests based on
.Values.resources.memory
provides flexibility in resource allocation, similar to the CPU resources. This is a good practice for managing Kubernetes resources efficiently.For consistency with the CPU resources section, consider restructuring the memory resources as follows:
{{- if and .Values.resources .Values.resources.memory }} resources: requests: memory: {{ .Values.resources.memory | quote }} {{- end }}This structure aligns more closely with the CPU resources section and may improve readability.
1-1
: Address yamllint false positive.The yamllint error on line 1 is a false positive due to the Go template directives at the beginning of the file. YAML linters often struggle with template languages mixed with YAML.
To suppress this false positive, you can add a
# yamllint disable
directive at the beginning of the file:# yamllint disable {{- if and .Values.instanceType (not (lookup "instancetype.kubevirt.io/v1beta1" "VirtualMachineClusterInstancetype" "" .Values.instanceType)) }} # ... rest of the fileThis will prevent yamllint from reporting errors on the template directives while still linting the rest of the YAML content.
🧰 Tools
🪛 yamllint
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/apps/virtual-machine/values.schema.json (2)
23-78
: LGTM! Consider removing the empty string option.The new
instanceType
property is well-structured and provides a comprehensive list of instance types. This change enhances the configurability of virtual machine instances.Consider removing the empty string option (line 77) from the enum list, as it might lead to unexpected behavior if selected.
80-130
: LGTM! Fix typo and consider removing empty string option.The new
instanceProfile
property is well-structured and provides a comprehensive list of OS profiles, enhancing the flexibility of virtual machine configurations.
- Fix the typo in the description: "prefferences" should be "preferences".
- Consider removing the empty string option (line 128) from the enum list, as it might lead to unexpected behavior if selected.
packages/core/platform/bundles/paas-full.yaml (1)
82-86
: LGTM! New release entry for kubevirt-common-instancetypes added correctly.The new release entry for
kubevirt-common-instancetypes
is well-structured and placed logically within the file. It correctly depends on the necessary components (cilium
,kubeovn
,kubevirt-operator
, andkubevirt
).Consider adding spaces after the commas in the
dependsOn
list for better readability:dependsOn: [cilium, kubeovn, kubevirt-operator, kubevirt]🧰 Tools
🪛 yamllint
[warning] 86-86: too few spaces after comma
(commas)
[warning] 86-86: too few spaces after comma
(commas)
[warning] 86-86: too few spaces after comma
(commas)
packages/apps/kubernetes/README.md (2)
46-64
: Improve clarity and conciseness in the U Series section.The U Series section provides valuable information, but some sentences can be improved for clarity and conciseness. Consider the following suggestions:
Line 48-49: Combine these lines into a single, more concise sentence:
"The U Series provides resources for general-purpose applications."Line 51-52: Simplify to:
"U stands for "Universal", indicating its suitability for various workloads."Lines 60-62: Remove the comma before "if" and consider rephrasing for clarity:
"- Burstable CPU performance - The workload has a baseline compute performance but can burst beyond this baseline if excess compute resources are available."Lines 63-64: Rephrase for clarity:
"- vCPU-To-Memory Ratio (1:4) - A vCPU-to-Memory ratio of 1:4, providing balanced resources for general-purpose workloads."These changes will improve readability while maintaining the informative nature of the section.
🧰 Tools
🪛 LanguageTool
[typographical] ~61-~61: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
66-152
: Enhance consistency and clarity across all series sections.The O, CX, M, and RT Series sections provide valuable information, but there are opportunities for improvement in consistency and clarity. Consider applying the following suggestions across all series sections:
- Remove commas before "if" in sentences describing burstable CPU performance.
- Replace "in order to" with "to" for conciseness.
- Standardize the format of the "vCPU-To-Memory Ratio" explanation.
- Ensure consistent capitalization of terms like "vCPU" and "NUMA".
Example improvements for the CX Series:
## CX Series The CX Series provides exclusive compute resources for compute-intensive applications. *CX* stands for "Compute Exclusive". Exclusive resources are given to the compute threads of the VM. To ensure this, some additional cores (depending on the number of disks and NICs) will be requested to offload the I/O threading from cores dedicated to the workload. Additionally, in this series, the NUMA topology of the used cores is provided to the VM. ### CX Series Characteristics Specific characteristics of this series are: - *Hugepages* - Hugepages are used to improve memory performance. - *Dedicated CPU* - Physical cores are exclusively assigned to every vCPU to provide fixed and high compute guarantees to the workload. - *Isolated emulator threads* - Hypervisor emulator threads are isolated from the vCPUs to reduce emulation-related impact on the workload. - *vNUMA* - Physical NUMA topology is reflected in the guest to optimize guest-sided cache utilization. - *vCPU-To-Memory Ratio (1:2)* - A vCPU-to-Memory ratio of 1:2, providing balanced resources for compute-intensive workloads.Apply similar improvements to the O, M, and RT Series sections for consistency.
🧰 Tools
🪛 LanguageTool
[typographical] ~77-~77: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~79-~79: Consider a shorter alternative to avoid wordiness.
Context: ...tted Memory* - Memory is over-committed in order to achieve a higher workload density. - ...(IN_ORDER_TO_PREMIUM)
[style] ~92-~92: Consider a shorter alternative to avoid wordiness.
Context: ...given to the compute threads of the VM. In order to ensure this, some additional cores (dep...(IN_ORDER_TO_PREMIUM)
[style] ~101-~101: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~104-~104: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~107-~107: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
[style] ~109-~109: Consider a shorter alternative to avoid wordiness.
Context: ...NUMA topology is reflected in the guest in order to optimize guest sided cache utilizatio...(IN_ORDER_TO_PREMIUM)
[style] ~123-~123: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Bursta...(IN_ORDER_TO_PREMIUM)
[typographical] ~126-~126: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~143-~143: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~146-~146: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~149-~149: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
packages/apps/kubernetes/templates/cluster.yaml (3)
34-39
: LGTM: CPU configuration enhances resource control.The conditional CPU configuration is a good addition, allowing for more granular control over CPU allocation. It's correctly implemented to only apply when explicitly defined in the group resources.
Consider adding a comment explaining the rationale behind setting threads and sockets to 1 while making cores configurable. This would enhance code readability and maintainability.
188-194
: LGTM: Instance type validation enhances configuration reliability.The lookup and validation of the specified instance type is a crucial addition. It ensures that only valid instance types are used in the configuration, preventing potential issues down the line.
Consider wrapping the error message in quotes to ensure it's always interpreted as a string, especially if the instance type name contains special characters:
- {{- fail (printf "Specified instancetype not exists in cluster: %s" $group.instanceType) }} + {{- fail (printf "Specified instancetype not exists in cluster: '%s'" $group.instanceType) }}
204-213
: LGTM: Cluster autoscaler annotations enhance resource management.The addition of memory and CPU capacity annotations for the cluster autoscaler is a valuable improvement. It enables the autoscaler to make informed decisions about scaling based on either explicitly defined resources or instance type specifications.
For consistency, consider using the same indentation for both the
if
andelse
blocks:{{- if and $group.resources $group.resources.memory }} capacity.cluster-autoscaler.kubernetes.io/memory: "{{ $group.resources.memory }}" {{- else }} - capacity.cluster-autoscaler.kubernetes.io/memory: "{{ $instanceType.spec.memory.guest }}" + capacity.cluster-autoscaler.kubernetes.io/memory: "{{ $instanceType.spec.memory.guest }}" {{- end }} {{- if and $group.resources $group.resources.cpu }} capacity.cluster-autoscaler.kubernetes.io/cpu: "{{ $group.resources.cpu }}" {{- else }} - capacity.cluster-autoscaler.kubernetes.io/cpu: "{{ $instanceType.spec.cpu.guest }}" + capacity.cluster-autoscaler.kubernetes.io/cpu: "{{ $instanceType.spec.cpu.guest }}" {{- end }}packages/apps/virtual-machine/README.md (3)
39-52
: LGTM! Consider adding more details to new parameters.The expanded parameters table is a great addition, providing more configuration options for users. The new parameters (
instanceType
,instanceProfile
, andsystemDisk.origin
) and the modifications to existing ones (resources.cpu
andresources.memory
) offer more flexibility in VM configuration.Consider adding brief explanations or examples for the new parameters to help users understand their purpose and usage better. For instance:
instanceType
: Explain the naming convention (e.g., "u1.medium") and how it relates to the instance types listed later in the document.instanceProfile
: Clarify how this relates to the "preference resources" listed at the end of the document.systemDisk.origin
: Provide an example of a valid HTTP URL for the source image.🧰 Tools
🪛 LanguageTool
[style] ~51-~51: To form a complete sentence, be sure to include a subject or ‘there’.
Context: ... of SSH public keys for authentication. Can be a single key or a list of keys. | `[...(MISSING_IT_THERE)
🪛 Markdownlint
52-52: Expected: leading_and_trailing; Actual: leading_only; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
55-161
: Excellent addition of VM series descriptions!The detailed descriptions of the U, O, CX, M, and RT series provide valuable information to users, helping them make informed decisions about which instance type to choose. The characteristics of each series are well-explained and highlight the specific use cases they are designed for.
For consistency, consider adding a brief explanation of what "GN Series" and "N1 Series" stand for and their characteristics, as they are included in the instance types table but not described in the series descriptions.
🧰 Tools
🪛 LanguageTool
[typographical] ~70-~70: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[typographical] ~86-~86: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~88-~88: Consider a shorter alternative to avoid wordiness.
Context: ...tted Memory* - Memory is over-committed in order to achieve a higher workload density. - ...(IN_ORDER_TO_PREMIUM)
[style] ~101-~101: Consider a shorter alternative to avoid wordiness.
Context: ...given to the compute threads of the VM. In order to ensure this, some additional cores (dep...(IN_ORDER_TO_PREMIUM)
[style] ~110-~110: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~113-~113: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~116-~116: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
[style] ~118-~118: Consider a shorter alternative to avoid wordiness.
Context: ...NUMA topology is reflected in the guest in order to optimize guest sided cache utilizatio...(IN_ORDER_TO_PREMIUM)
[style] ~132-~132: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Bursta...(IN_ORDER_TO_PREMIUM)
[typographical] ~135-~135: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~152-~152: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~155-~155: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~158-~158: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
Line range hint
1-268
: Minor formatting and style improvementsTo further enhance the readability and consistency of the document, consider the following minor improvements:
- Line 51: Add "It" at the beginning of the sentence to form a complete sentence: "It can be a single key or a list of keys."
- Lines 70, 86, 135: Remove the comma before "if" in the phrase "baseline, if excess compute resources are available."
- Consider rephrasing sentences using "in order to" to make them more concise. For example:
- Line 88: "Memory is over-committed to achieve a higher workload density."
- Line 110: "Hugepages are used to improve memory performance."
- Line 118: "Physical NUMA topology is reflected in the guest to optimize guest-sided cache utilization."
These changes will improve the overall flow and consistency of the document.
🧰 Tools
🪛 LanguageTool
[style] ~51-~51: To form a complete sentence, be sure to include a subject or ‘there’.
Context: ... of SSH public keys for authentication. Can be a single key or a list of keys. | `[...(MISSING_IT_THERE)
[typographical] ~70-~70: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[typographical] ~86-~86: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~88-~88: Consider a shorter alternative to avoid wordiness.
Context: ...tted Memory* - Memory is over-committed in order to achieve a higher workload density. - ...(IN_ORDER_TO_PREMIUM)
[style] ~101-~101: Consider a shorter alternative to avoid wordiness.
Context: ...given to the compute threads of the VM. In order to ensure this, some additional cores (dep...(IN_ORDER_TO_PREMIUM)
[style] ~110-~110: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~113-~113: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~116-~116: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
[style] ~118-~118: Consider a shorter alternative to avoid wordiness.
Context: ...NUMA topology is reflected in the guest in order to optimize guest sided cache utilizatio...(IN_ORDER_TO_PREMIUM)
[style] ~132-~132: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Bursta...(IN_ORDER_TO_PREMIUM)
[typographical] ~135-~135: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~152-~152: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~155-~155: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~158-~158: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
🪛 Markdownlint
52-52: Expected: leading_and_trailing; Actual: leading_only; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
53-53: Expected: leading_and_trailing; Actual: trailing_only; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
172-172: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
172-172: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
173-173: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
173-173: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
174-174: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
174-174: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
175-175: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
175-175: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
176-176: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
176-176: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
177-177: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
177-177: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
178-178: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
178-178: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
179-179: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
179-179: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
180-180: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
180-180: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
181-181: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
181-181: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
182-182: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
182-182: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
183-183: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
183-183: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
184-184: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
184-184: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
185-185: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
185-185: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
186-186: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
186-186: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
187-187: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
187-187: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
188-188: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
188-188: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
189-189: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
189-189: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
190-190: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
190-190: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
191-191: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
191-191: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
192-192: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
192-192: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
193-193: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
193-193: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
194-194: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
194-194: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
195-195: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
195-195: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
196-196: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
196-196: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
197-197: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
197-197: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
198-198: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
198-198: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
199-199: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
199-199: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
200-200: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
200-200: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
201-201: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
201-201: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
202-202: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
202-202: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
203-203: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
203-203: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
204-204: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
204-204: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
205-205: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
205-205: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
206-206: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
206-206: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
207-207: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
207-207: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
208-208: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
208-208: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
209-209: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
209-209: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
210-210: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
210-210: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
211-211: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
211-211: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
212-212: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
212-212: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
213-213: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
213-213: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
214-214: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
214-214: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
215-215: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
215-215: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
216-216: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
216-216: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
217-217: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
217-217: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
218-218: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
218-218: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
219-219: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
219-219: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
220-220: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
220-220: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
221-221: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
221-221: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
225-225: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
225-225: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
226-226: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
226-226: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
227-227: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
227-227: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
228-228: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
228-228: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
229-229: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
229-229: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
230-230: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
230-230: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
231-231: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
231-231: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
232-232: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
232-232: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
233-233: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
233-233: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
234-234: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
234-234: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
235-235: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
235-235: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
236-236: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
236-236: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
237-237: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
237-237: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
238-238: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
238-238: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
239-239: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
239-239: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
240-240: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
240-240: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
241-241: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
241-241: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
242-242: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
242-242: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
243-243: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
243-243: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
244-244: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
244-244: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
245-245: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
245-245: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
246-246: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
246-246: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
247-247: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
247-247: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
248-248: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
248-248: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
249-249: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
249-249: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
250-250: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
250-250: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
251-251: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
251-251: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
252-252: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
252-252: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
253-253: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
253-253: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
254-254: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
254-254: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
255-255: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
255-255: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
256-256: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
256-256: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
257-257: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
257-257: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
258-258: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
258-258: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
259-259: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
259-259: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
260-260: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
260-260: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
261-261: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
261-261: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
262-262: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
262-262: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
263-263: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
263-263: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
264-264: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
264-264: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
265-265: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
265-265: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
266-266: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
266-266: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
267-267: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
267-267: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
268-268: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
268-268: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
53-53: Expected: 3; Actual: 1; Too few cells, row will be missing data
Table column count(MD056, table-column-count)
packages/system/kubevirt-common-instancetypes/templates/preferences.yaml (6)
53-82
: LGTM with suggestion: Review resource requirements for CentOS 7 DesktopThe VirtualMachineClusterPreference for CentOS 7 Desktop is well-configured overall:
- Correctly marked as deprecated.
- Appropriate desktop-specific configurations (autoattach input device, tablet input type).
- Consistent use of virtio for disk and interface models.
However, consider reviewing the resource requirements:
The current resource allocation (1 CPU, 1Gi memory) might be insufficient for a smooth desktop experience. Consider increasing these requirements, especially the memory, for better performance in a graphical environment. A suggested starting point could be:
requirements: cpu: guest: 2 memory: guest: 2Gi
111-141
: LGTM with suggestion: Review resource requirements for CentOS Stream 10 DesktopThe VirtualMachineClusterPreference for CentOS Stream 10 Desktop is well-configured:
- Appropriate desktop-specific configurations (autoattach input device, tablet input type).
- Maintains performance improvements like dedicated I/O thread and RNG device.
- Consistent use of virtio for disk and interface models.
However, similar to the CentOS 7 Desktop configuration:
Consider reviewing the resource requirements. The current allocation (1 CPU, 1.5Gi memory) might be insufficient for a smooth desktop experience on a modern OS like CentOS Stream 10. A suggested improvement could be:
requirements: cpu: guest: 2 memory: guest: 4GiThis increase would better accommodate the needs of a graphical environment and modern applications.
169-198
: LGTM with suggestion: Review resource requirements for deprecated CentOS Stream 8 DesktopThe VirtualMachineClusterPreference for CentOS Stream 8 Desktop is appropriately configured:
- Correctly marked as deprecated.
- Includes proper desktop-specific configurations (autoattach input device, tablet input type).
- Consistent use of virtio for disk and interface models.
However, two points to consider:
- Resource Requirements: The current allocation (1 CPU, 1.5Gi memory) might be insufficient for a smooth desktop experience. Consider increasing these, especially for a desktop environment:
requirements: cpu: guest: 2 memory: guest: 4Gi
- Deprecated Status: Ensure that users are clearly informed about the deprecated status of this OS version when they attempt to use this preference.
260-290
: LGTM with suggestion: Review resource requirements for CentOS Stream 9 DesktopThe VirtualMachineClusterPreference for CentOS Stream 9 Desktop is well-configured:
- Includes appropriate desktop-specific configurations (autoattach input device, tablet input type).
- Maintains modern features like dedicated I/O thread and RNG device.
- Consistent use of virtio for disk and interface models.
However, one point to consider:
Resource Requirements: The current allocation (1 CPU, 1.5Gi memory) might be insufficient for a smooth desktop experience on CentOS Stream 9. Consider increasing these requirements for better performance in a graphical environment. A suggested improvement could be:
requirements: cpu: guest: 2 memory: guest: 4GiThis increase would better accommodate the needs of a modern desktop environment and applications.
441-467
: LGTM with suggestions: Consistent configuration for OpenSUSE TumbleweedThe VirtualMachineClusterPreference for OpenSUSE Tumbleweed maintains consistency with the OpenSUSE Leap configuration, which is good for maintainability:
- Includes RNG device support (preferredRng: {})
- Uses virtio for disk and interface models
- Allocates appropriate resources (1 CPU, 2Gi memory)
However, given that Tumbleweed is a rolling release with potentially more up-to-date software, consider the following suggestions:
- Resource Allocation: Tumbleweed might benefit from slightly higher resource allocations to accommodate its potentially more demanding software. Consider increasing the memory:
requirements: cpu: guest: 2 memory: guest: 4Gi
- Modern Features: Evaluate if Tumbleweed could benefit from additional modern features like:
- Dedicated I/O thread for disk (preferredDiskDedicatedIoThread: true)
- Network interface multi-queue support (preferredNetworkInterfaceMultiQueue: true)
These adjustments could better align the configuration with Tumbleweed's cutting-edge nature while maintaining similarity with the Leap configuration.
468-501
: LGTM with suggestion: Advanced configuration for RHEL 10 Beta (amd64)The VirtualMachineClusterPreference for RHEL 10 Beta (amd64) is well-configured with a focus on modern features and enhanced security:
Advanced features:
- Dedicated I/O thread (preferredDiskDedicatedIoThread: true)
- RNG device support (preferredRng: {})
- System Management Mode (preferredSmm: {})
- EFI firmware with Secure Boot (secureBoot: true)
These features align well with expectations for a beta version of an enterprise-grade OS, enhancing performance, security, and compatibility with modern hardware.
However, there's one point to consider:
Resource Allocation: The current requirements (1 CPU, 1.5Gi memory) seem modest for a modern RHEL beta version. For an enterprise-grade OS, especially a beta that might include additional debugging features, consider increasing the default resources:
requirements: cpu: guest: 2 memory: guest: 4GiThis increase would provide more headroom for testing and running enterprise applications, aligning better with RHEL's typical use cases and the potential overhead of beta features.
packages/system/kubevirt-common-instancetypes/templates/instancetypes.yaml (3)
403-541
: M Series is well-designed for memory-intensive workloads, with room for enhancementThe M Series instance types are well-configured for memory-intensive applications:
- Consistent 1:8 CPU to memory ratio across all instance types.
- Use of hugepages (2Mi) can improve memory management and performance.
- Good range of instance sizes from large to 8xlarge.
Suggestions for potential improvements:
- Consider adding dedicated CPU placement and isolated emulator thread options, similar to the CX Series. This could benefit certain memory-intensive workloads that are also compute-sensitive.
- Evaluate if the fixed 1:8 CPU to memory ratio is optimal for all use cases. Some memory-intensive applications might benefit from even higher memory-to-CPU ratios.
- Explore the possibility of offering larger page sizes (e.g., 1Gi) for extremely memory-intensive workloads that could benefit from even larger hugepages.
Would you like assistance in designing additional M Series variants with different CPU-to-memory ratios or enhanced CPU isolation features?
783-1015
: O Series provides overcommitted resources, but consider adding usage guidelinesThe O Series offers a good range of instance types with overcommitted memory, which can be useful for increasing VM density and resource utilization. However, there are some points to consider:
The consistent 50% memory overcommit across all instance types is simple to understand but may not be optimal for all use cases. Consider:
- Varying the overcommit percentage based on instance size.
- Allowing users to specify custom overcommit ratios within a safe range.
There's no mention of potential performance implications or best practices for using overcommitted instances. Consider adding:
- Annotations or documentation explaining the potential risks and benefits of memory overcommitment.
- Guidelines for monitoring and managing overcommitted instances.
- Recommendations for workload types that are suitable for overcommitted instances.
The series lacks specific optimizations beyond memory overcommitment. Consider adding:
- Options for CPU overcommitment to complement memory overcommitment.
- Integration with automatic ballooning or other memory management techniques to mitigate the risks of overcommitment.
Would you like assistance in drafting usage guidelines for the O Series or designing a more flexible overcommitment scheme?
1361-1649
: U Series provides flexible general-purpose instances with room for specializationThe U Series offers a comprehensive range of general-purpose instance types, suitable for a wide variety of workloads:
- The simple configuration with just CPU and memory specifications makes these instances flexible and easy to use for diverse applications.
- The wide range of sizes (nano to 8xlarge) caters to various resource requirements, from small utility containers to large applications.
- The consistent 1:4 CPU to memory ratio (for most sizes) provides a balanced resource allocation suitable for many general-purpose workloads.
Suggestions for potential improvements:
- Consider offering variants with different CPU to memory ratios to cater to more specific workload patterns within the general-purpose category.
- For larger instance sizes (2xlarge and above), you might want to provide options with hugepages or NUMA optimizations for users who need better performance for memory-intensive or NUMA-aware applications.
- Evaluate the possibility of adding a "burstable" option for smaller instance sizes, allowing for CPU bursting capabilities similar to some public cloud offerings.
Would you like assistance in designing U Series variants with different CPU-to-memory ratios or additional performance features for larger sizes?
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (18)
- packages/apps/kubernetes/Chart.yaml (1 hunks)
- packages/apps/kubernetes/README.md (1 hunks)
- packages/apps/kubernetes/templates/cluster.yaml (5 hunks)
- packages/apps/kubernetes/values.yaml (1 hunks)
- packages/apps/versions_map (2 hunks)
- packages/apps/virtual-machine/Chart.yaml (1 hunks)
- packages/apps/virtual-machine/Makefile (1 hunks)
- packages/apps/virtual-machine/README.md (1 hunks)
- packages/apps/virtual-machine/hack/update-instance-types.sh (1 hunks)
- packages/apps/virtual-machine/templates/vm.yaml (4 hunks)
- packages/apps/virtual-machine/values.schema.json (1 hunks)
- packages/apps/virtual-machine/values.yaml (1 hunks)
- packages/core/platform/bundles/paas-full.yaml (1 hunks)
- packages/system/kubevirt-common-instancetypes/Chart.yaml (1 hunks)
- packages/system/kubevirt-common-instancetypes/Makefile (1 hunks)
- packages/system/kubevirt-common-instancetypes/templates/instancetypes.yaml (1 hunks)
- packages/system/kubevirt-common-instancetypes/templates/preferences.yaml (1 hunks)
- packages/system/kubevirt-common-instancetypes/values.yaml (1 hunks)
✅ Files skipped from review due to trivial changes (5)
- packages/apps/kubernetes/Chart.yaml
- packages/apps/virtual-machine/Chart.yaml
- packages/apps/virtual-machine/hack/update-instance-types.sh
- packages/system/kubevirt-common-instancetypes/Chart.yaml
- packages/system/kubevirt-common-instancetypes/values.yaml
🧰 Additional context used
🪛 LanguageTool
packages/apps/kubernetes/README.md
[typographical] ~61-~61: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[typographical] ~77-~77: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~79-~79: Consider a shorter alternative to avoid wordiness.
Context: ...tted Memory* - Memory is over-committed in order to achieve a higher workload density. - ...(IN_ORDER_TO_PREMIUM)
[style] ~92-~92: Consider a shorter alternative to avoid wordiness.
Context: ...given to the compute threads of the VM. In order to ensure this, some additional cores (dep...(IN_ORDER_TO_PREMIUM)
[style] ~101-~101: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~104-~104: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~107-~107: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
[style] ~109-~109: Consider a shorter alternative to avoid wordiness.
Context: ...NUMA topology is reflected in the guest in order to optimize guest sided cache utilizatio...(IN_ORDER_TO_PREMIUM)
[style] ~123-~123: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Bursta...(IN_ORDER_TO_PREMIUM)
[typographical] ~126-~126: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~143-~143: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~146-~146: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~149-~149: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
packages/apps/virtual-machine/README.md
[style] ~51-~51: To form a complete sentence, be sure to include a subject or ‘there’.
Context: ... of SSH public keys for authentication. Can be a single key or a list of keys. | `[...(MISSING_IT_THERE)
[typographical] ~70-~70: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[typographical] ~86-~86: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~88-~88: Consider a shorter alternative to avoid wordiness.
Context: ...tted Memory* - Memory is over-committed in order to achieve a higher workload density. - ...(IN_ORDER_TO_PREMIUM)
[style] ~101-~101: Consider a shorter alternative to avoid wordiness.
Context: ...given to the compute threads of the VM. In order to ensure this, some additional cores (dep...(IN_ORDER_TO_PREMIUM)
[style] ~110-~110: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~113-~113: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~116-~116: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
[style] ~118-~118: Consider a shorter alternative to avoid wordiness.
Context: ...NUMA topology is reflected in the guest in order to optimize guest sided cache utilizatio...(IN_ORDER_TO_PREMIUM)
[style] ~132-~132: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Bursta...(IN_ORDER_TO_PREMIUM)
[typographical] ~135-~135: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~152-~152: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~155-~155: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~158-~158: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
🪛 Markdownlint
packages/apps/kubernetes/README.md
36-36: Expected: no_leading_or_trailing; Actual: trailing_only; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
38-38: Expected: no_leading_or_trailing; Actual: trailing_only; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
40-40: Expected: no_leading_or_trailing; Actual: trailing_only; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
36-36: Expected: 6; Actual: 5; Too few cells, row will be missing data
Table column count(MD056, table-column-count)
38-38: Expected: 6; Actual: 5; Too few cells, row will be missing data
Table column count(MD056, table-column-count)
40-40: Expected: 6; Actual: 5; Too few cells, row will be missing data
Table column count(MD056, table-column-count)
packages/apps/virtual-machine/README.md
52-52: Expected: leading_and_trailing; Actual: leading_only; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
53-53: Expected: leading_and_trailing; Actual: trailing_only; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
172-172: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
172-172: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
173-173: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
173-173: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
174-174: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
174-174: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
175-175: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
175-175: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
176-176: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
176-176: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
177-177: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
177-177: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
178-178: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
178-178: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
179-179: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
179-179: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
180-180: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
180-180: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
181-181: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
181-181: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
182-182: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
182-182: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
183-183: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
183-183: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
184-184: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
184-184: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
185-185: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
185-185: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
186-186: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
186-186: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
187-187: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
187-187: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
188-188: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
188-188: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
189-189: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
189-189: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
190-190: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
190-190: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
191-191: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
191-191: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
192-192: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
192-192: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
193-193: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
193-193: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
194-194: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
194-194: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
195-195: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
195-195: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
196-196: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
196-196: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
197-197: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
197-197: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
198-198: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
198-198: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
199-199: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
199-199: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
200-200: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
200-200: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
201-201: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
201-201: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
202-202: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
202-202: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
203-203: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
203-203: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
204-204: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
204-204: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
205-205: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
205-205: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
206-206: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
206-206: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
207-207: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
207-207: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
208-208: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
208-208: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
209-209: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
209-209: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
210-210: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
210-210: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
211-211: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
211-211: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
212-212: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
212-212: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
213-213: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
213-213: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
214-214: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
214-214: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
215-215: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
215-215: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
216-216: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
216-216: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
217-217: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
217-217: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
218-218: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
218-218: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
219-219: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
219-219: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
220-220: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
220-220: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
221-221: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
221-221: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
225-225: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
225-225: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
226-226: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
226-226: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
227-227: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
227-227: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
228-228: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
228-228: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
229-229: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
229-229: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
230-230: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
230-230: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
231-231: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
231-231: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
232-232: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
232-232: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
233-233: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
233-233: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
234-234: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
234-234: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
235-235: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
235-235: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
236-236: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
236-236: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
237-237: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
237-237: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
238-238: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
238-238: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
239-239: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
239-239: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
240-240: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
240-240: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
241-241: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
241-241: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
242-242: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
242-242: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
243-243: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
243-243: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
244-244: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
244-244: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
245-245: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
245-245: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
246-246: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
246-246: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
247-247: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
247-247: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
248-248: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
248-248: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
249-249: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
249-249: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
250-250: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
250-250: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
251-251: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
251-251: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
252-252: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
252-252: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
253-253: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
253-253: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
254-254: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
254-254: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
255-255: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
255-255: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
256-256: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
256-256: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
257-257: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
257-257: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
258-258: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
258-258: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
259-259: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
259-259: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
260-260: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
260-260: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
261-261: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
261-261: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
262-262: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
262-262: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
263-263: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
263-263: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
264-264: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
264-264: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
265-265: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
265-265: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
266-266: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
266-266: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
267-267: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
267-267: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
268-268: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
268-268: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
53-53: Expected: 3; Actual: 1; Too few cells, row will be missing data
Table column count(MD056, table-column-count)
🪛 yamllint
packages/apps/virtual-machine/templates/vm.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/apps/virtual-machine/values.yaml
[error] 21-21: trailing spaces
(trailing-spaces)
packages/core/platform/bundles/paas-full.yaml
[warning] 86-86: too few spaces after comma
(commas)
[warning] 86-86: too few spaces after comma
(commas)
[warning] 86-86: too few spaces after comma
(commas)
🔇 Additional comments (39)
packages/system/kubevirt-common-instancetypes/Makefile (3)
1-2
: LGTM: Environment variables are well-defined.The
NAME
andNAMESPACE
variables are appropriately set and exported. This ensures they're available for use in the Makefile and any subprocesses.
1-12
: Overall, the Makefile is well-structured and aligns with the PR objectives.This Makefile effectively sets up the environment and provides a mechanism to generate and customize instance types and preferences, which aligns well with the PR's objective of introducing default instance types and profiles. The use of
kustomize
andyq
allows for sophisticated YAML manipulation, enabling the creation of tailored configurations.While the current implementation is good, consider implementing the suggested improvements to enhance error handling, readability, and maintainability. These changes will make the Makefile more robust and easier to manage in the long term.
4-4
: LGTM: Shared Makefile inclusion.Including a shared Makefile (
package.mk
) is a good practice for maintaining consistency across packages.Let's verify the existence of the included file:
✅ Verification successful
Verification Successful: Included
package.mk
file exists.The included
package.mk
file exists at the specified path, ensuring consistency across packages.🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Verify the existence of the included package.mk file if [ -f scripts/package.mk ]; then echo "package.mk file exists." else echo "package.mk file not found. Please ensure the path is correct." fiLength of output: 88
packages/apps/virtual-machine/values.yaml (3)
9-11
: LGTM: 'running' parameter properly addedThe 'running' parameter has been correctly reintroduced with a default value of 'true'. The placement and documentation are appropriate.
Line range hint
1-31
: Overall: Good changes, minor improvements suggestedThe changes to this file align well with the PR objectives of introducing default instance types and profiles. The restructuring of the configuration enhances flexibility and usability. A few minor suggestions have been made for documentation improvements, and clarification has been requested regarding the 'origin' parameter in the 'systemDisk' section.
🧰 Tools
🪛 yamllint
[error] 21-21: trailing spaces
(trailing-spaces)
18-25
: LGTM: 'systemDisk' configuration added with a minor clarification neededThe 'systemDisk' section has been properly added with appropriate parameters and documentation. The default values for 'storage' and 'storageClass' seem reasonable.
Could you please clarify the purpose of the empty 'origin' parameter? Is this intended to be filled by the user, or is there a default value that should be set?
✅ Verification successful
'origin' Parameter Usage Verified
The
origin
parameter is conditionally utilized intemplates/vm.yaml
, indicating it is intended to be optionally provided by the user. This design allows flexibility in VM configurations based on whether anorigin
is specified.🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Check if 'origin' is used or referenced elsewhere in the codebase rg --type yaml 'systemDisk\.origin' --glob '!packages/apps/virtual-machine/values.yaml'Length of output: 278
🧰 Tools
🪛 yamllint
[error] 21-21: trailing spaces
(trailing-spaces)
packages/apps/kubernetes/values.yaml (1)
18-25
: Verify resource allocation strategy for nodeGroups.md0The changes introduce an instance type and modify the resource specification:
The addition of
instanceType: "u1.medium"
aligns with the PR objective of introducing instance types. This is a positive change that should standardize resource allocation.The new
resources
section with emptycpu
andmemory
values replaces the previous specific resource limits. This change raises a few points to consider:a. If the intention is to rely solely on the instance type for resource allocation, the empty
resources
section might be unnecessary.
b. If theresources
section is intended for future use or dynamic allocation, consider adding a comment explaining its purpose.To ensure this change doesn't negatively impact resource management, please verify:
- The
u1.medium
instance type provides adequate resources for theingress-nginx
role.- The removal of specific CPU and memory limits doesn't cause unexpected behavior in your cluster management tools.
Run the following script to check for any other occurrences of
u1.medium
instance type and empty resource specifications:This will help ensure consistency across your configuration files.
✅ Verification successful
Verified resource allocation strategy for nodeGroups.md0
The changes introduce an instance type and modify the resource specification:
- The addition of
instanceType: "u1.medium"
is consistently applied across relevant configuration files, aligning with the PR objective of standardizing instance types.- The new
resources
section with emptycpu
andmemory
values is present, indicating it may be intended for future use or dynamic allocation.No issues were found upon verification.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check for u1.medium instance type and empty resource specifications echo "Checking for u1.medium instance type:" rg --type yaml 'instanceType:\s*"u1.medium"' -g '!vendor' echo "\nChecking for empty resource specifications:" rg --type yaml 'resources:\s*\n\s*cpu:\s*""\s*\n\s*memory:\s*""' -g '!vendor'Length of output: 652
Script:
#!/bin/bash # Description: Check for u1.medium instance type and empty resource specifications with corrected regex echo "Checking for u1.medium instance type:" rg --type yaml 'instanceType:\s*"u1.medium"' -g '!vendor' echo -e "\nChecking for empty resource specifications:" rg --multiline --type yaml 'resources:\s*\n\s*cpu:\s*""\s*\n\s*memory:\s*""' -g '!vendor'Length of output: 791
packages/apps/versions_map (3)
37-37
: LGTM: Specific commit hash for kubernetes 0.12.0Updating to a specific commit hash (31a45c4) for kubernetes 0.12.0 is a good practice. It ensures reproducibility and provides a clear reference point for this version.
81-81
: LGTM: Specific commit hash for virtual-machine 0.4.0Updating to a specific commit hash (4746d51) for virtual-machine 0.4.0 is a good practice. It ensures reproducibility and provides a clear reference point for this version.
Line range hint
1-85
: Overall changes look good, but consider consistency across packagesThe updates to specific commit hashes for kubernetes and virtual-machine versions improve version control and reproducibility. However, there are a few points to consider:
Some versions still use HEAD (e.g., kubernetes 0.13.0). Consider updating these to specific commit hashes for consistency.
There's an inconsistency with the mysql package:
- The AI summary mentions an update to mysql 0.4.0, but this change is not visible in the provided diff.
- The summary also states that mysql 0.5.1 remains at HEAD, which is correct based on the visible content.
To ensure consistency and accuracy:
- Consider adopting a consistent approach for all packages to use specific commit hashes instead of HEAD for better version control across the entire project.
packages/apps/virtual-machine/templates/vm.yaml (3)
16-25
: Well-implemented addition of instancetype and preference fields.The new
instancetype
andpreference
fields enhance the flexibility of VM configurations by allowing the use of predefined cluster-wide instance types and preferences. The conditional inclusion and correct specification of resource kinds are well implemented.
36-38
: Improved flexibility in storage configuration.The updated storage request now uses
$.Values.systemDisk.storage
, allowing for more granular control. The conditional inclusion ofstorageClassName
based on$.Values.systemDisk.storageClass
is a good practice, providing flexibility in storage class selection.
56-59
: Good implementation of conditional CPU resource allocation.The conditional inclusion of CPU cores based on
.Values.resources.cpu
allows for more flexible resource allocation. This approach ensures that CPU resources are only specified when needed, which is a good practice for resource management in Kubernetes.packages/apps/virtual-machine/values.schema.json (1)
23-162
: Overall, good improvements with some minor concerns.The changes to this schema file significantly enhance the configurability and flexibility of virtual machine instances. The introduction of
instanceType
andinstanceProfile
properties, along with the restructuring of disk-related properties, are particularly noteworthy improvements.However, there are a few areas that could be further improved:
- Consider removing empty string options from enum lists to prevent potential issues.
- Fix the typo in the
instanceProfile
description.- Reconsider the use of empty string defaults for
cpu
andmemory
properties, as these might lead to unexpected behavior.- Verify the intended default value for
systemDisk.storage
, as it differs from what was mentioned in the AI summary.Addressing these minor points would further enhance the robustness and clarity of the schema.
packages/core/platform/bundles/paas-full.yaml (1)
82-86
: Summary: New release entry aligns with PR objectives.The addition of the
kubevirt-common-instancetypes
release entry aligns well with the PR objectives of introducing a set of default instance types and profiles. This change enhances the functionality of the CozyStack platform by integrating common instance types for KubeVirt, which is crucial for standardizing virtual machine configurations.🧰 Tools
🪛 yamllint
[warning] 86-86: too few spaces after comma
(commas)
[warning] 86-86: too few spaces after comma
(commas)
[warning] 86-86: too few spaces after comma
(commas)
packages/apps/kubernetes/README.md (4)
Line range hint
1-29
: LGTM: Overview and Deployment Details are well-structured and informative.The Overview and Deployment Details sections provide a clear and concise explanation of the Managed Kubernetes Service, its benefits, and deployment specifics. The information is accurate and relevant.
🧰 Tools
🪛 LanguageTool
[typographical] ~61-~61: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[typographical] ~77-~77: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~79-~79: Consider a shorter alternative to avoid wordiness.
Context: ...tted Memory* - Memory is over-committed in order to achieve a higher workload density. - ...(IN_ORDER_TO_PREMIUM)
[style] ~92-~92: Consider a shorter alternative to avoid wordiness.
Context: ...given to the compute threads of the VM. In order to ensure this, some additional cores (dep...(IN_ORDER_TO_PREMIUM)
[style] ~101-~101: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~104-~104: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~107-~107: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
[style] ~109-~109: Consider a shorter alternative to avoid wordiness.
Context: ...NUMA topology is reflected in the guest in order to optimize guest sided cache utilizatio...(IN_ORDER_TO_PREMIUM)
[style] ~123-~123: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Bursta...(IN_ORDER_TO_PREMIUM)
[typographical] ~126-~126: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~143-~143: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~146-~146: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~149-~149: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
🪛 Markdownlint
36-36: Expected: no_leading_or_trailing; Actual: trailing_only; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
38-38: Expected: no_leading_or_trailing; Actual: trailing_only; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
40-40: Expected: no_leading_or_trailing; Actual: trailing_only; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
36-36: Expected: 6; Actual: 5; Too few cells, row will be missing data
Table column count(MD056, table-column-count)
38-38: Expected: 6; Actual: 5; Too few cells, row will be missing data
Table column count(MD056, table-column-count)
40-40: Expected: 6; Actual: 5; Too few cells, row will be missing data
Table column count(MD056, table-column-count)
154-207
: LGTM: Resources table is well-formatted and informative.The Resources section provides a comprehensive and well-structured table of instance type resources. The table is correctly formatted for Markdown and includes relevant information about vCPUs and Memory for each instance type.
Line range hint
1-207
: LGTM: Comprehensive and well-structured README.The README provides a thorough overview of the Managed Kubernetes Service, including detailed information about various instance types and their characteristics. The structure is logical and easy to follow, making it a valuable resource for users. The content aligns well with the PR objectives of introducing default instance types and profiles.
🧰 Tools
🪛 LanguageTool
[typographical] ~61-~61: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[typographical] ~77-~77: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~79-~79: Consider a shorter alternative to avoid wordiness.
Context: ...tted Memory* - Memory is over-committed in order to achieve a higher workload density. - ...(IN_ORDER_TO_PREMIUM)
[style] ~92-~92: Consider a shorter alternative to avoid wordiness.
Context: ...given to the compute threads of the VM. In order to ensure this, some additional cores (dep...(IN_ORDER_TO_PREMIUM)
[style] ~101-~101: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~104-~104: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~107-~107: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
[style] ~109-~109: Consider a shorter alternative to avoid wordiness.
Context: ...NUMA topology is reflected in the guest in order to optimize guest sided cache utilizatio...(IN_ORDER_TO_PREMIUM)
[style] ~123-~123: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Bursta...(IN_ORDER_TO_PREMIUM)
[typographical] ~126-~126: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~143-~143: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~146-~146: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~149-~149: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
🪛 Markdownlint
36-36: Expected: no_leading_or_trailing; Actual: trailing_only; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
38-38: Expected: no_leading_or_trailing; Actual: trailing_only; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
40-40: Expected: no_leading_or_trailing; Actual: trailing_only; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
36-36: Expected: 6; Actual: 5; Too few cells, row will be missing data
Table column count(MD056, table-column-count)
38-38: Expected: 6; Actual: 5; Too few cells, row will be missing data
Table column count(MD056, table-column-count)
40-40: Expected: 6; Actual: 5; Too few cells, row will be missing data
Table column count(MD056, table-column-count)
Line range hint
1-207
: Static analysis hints addressed in previous comments.The static analysis tools have identified several typographical, style, and formatting issues. Most of these have already been addressed in previous review comments:
- The suggestion to remove commas before "if" and replace "in order to" with "to" has been included in the comment for improving clarity across all series sections.
- The table formatting issues identified by Markdownlint have been addressed in the comment about fixing the Series table formatting.
No additional actions are required based on the static analysis hints.
🧰 Tools
🪛 LanguageTool
[typographical] ~61-~61: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[typographical] ~77-~77: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~79-~79: Consider a shorter alternative to avoid wordiness.
Context: ...tted Memory* - Memory is over-committed in order to achieve a higher workload density. - ...(IN_ORDER_TO_PREMIUM)
[style] ~92-~92: Consider a shorter alternative to avoid wordiness.
Context: ...given to the compute threads of the VM. In order to ensure this, some additional cores (dep...(IN_ORDER_TO_PREMIUM)
[style] ~101-~101: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~104-~104: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~107-~107: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
[style] ~109-~109: Consider a shorter alternative to avoid wordiness.
Context: ...NUMA topology is reflected in the guest in order to optimize guest sided cache utilizatio...(IN_ORDER_TO_PREMIUM)
[style] ~123-~123: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Bursta...(IN_ORDER_TO_PREMIUM)
[typographical] ~126-~126: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~143-~143: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~146-~146: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~149-~149: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
🪛 Markdownlint
36-36: Expected: no_leading_or_trailing; Actual: trailing_only; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
38-38: Expected: no_leading_or_trailing; Actual: trailing_only; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
40-40: Expected: no_leading_or_trailing; Actual: trailing_only; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
36-36: Expected: 6; Actual: 5; Too few cells, row will be missing data
Table column count(MD056, table-column-count)
38-38: Expected: 6; Actual: 5; Too few cells, row will be missing data
Table column count(MD056, table-column-count)
40-40: Expected: 6; Actual: 5; Too few cells, row will be missing data
Table column count(MD056, table-column-count)
packages/apps/kubernetes/templates/cluster.yaml (3)
18-22
: LGTM: Instance type integration aligns with PR objectives.The addition of the
instancetype
field in thevirtualMachineTemplate
spec is a well-implemented feature. It allows for flexible VM configurations by referencing predefinedVirtualMachineClusterInstancetype
resources, which aligns perfectly with the PR's objective of introducing default instance types. The conditional inclusion ensures backward compatibility with existing configurations.
53-56
: LGTM: Memory configuration complements CPU settings.The conditional memory configuration is a good addition, complementing the CPU settings to provide a complete resource allocation solution. It's correctly implemented to only apply when explicitly defined in the group resources, maintaining flexibility in VM configurations.
Line range hint
1-300
: Overall assessment: Well-implemented changes that align with PR objectives.The changes introduced in this file successfully implement the integration of instance types and dynamic resource allocation. The modifications enhance the flexibility and robustness of the cluster configuration, allowing for more granular control over VM resources. The conditional logic ensures backward compatibility while introducing new features.
Key improvements include:
- Integration of instance types in the
virtualMachineTemplate
.- Dynamic CPU and memory configuration based on group resources.
- Instance type validation to prevent configuration errors.
- Enhanced cluster autoscaler annotations for better resource management.
These changes align well with the PR objectives of introducing default instance types and profiles. The implementation is thoughtful and maintains the integrity of the existing system while introducing new capabilities.
packages/system/kubevirt-common-instancetypes/templates/preferences.yaml (12)
1-25
: LGTM: Well-configured Alpine Linux preferenceThe VirtualMachineClusterPreference for Alpine is well-configured:
- Appropriate metadata and annotations are provided.
- Resource requirements (1 CPU, 512Mi memory) are suitable for Alpine's lightweight nature.
- The use of virtio for disk and interface models is good for performance.
This configuration aligns well with Alpine Linux characteristics and best practices for KubeVirt.
26-52
: LGTM: Appropriate configuration for deprecated CentOS 7The VirtualMachineClusterPreference for CentOS 7 is well-configured:
- Correctly marked as deprecated in the labels.
- Resource requirements (1 CPU, 1Gi memory) are suitable for a basic CentOS 7 VM.
- Consistent use of virtio for disk and interface models.
Users should be aware that this is a deprecated configuration, which is appropriately indicated.
83-110
: LGTM: Improved configuration for CentOS Stream 10The VirtualMachineClusterPreference for CentOS Stream 10 shows notable improvements:
- Increased resources (1 CPU, 1.5Gi memory) suitable for a modern OS.
- Addition of
preferredDiskDedicatedIoThread: true
can enhance I/O performance.- Inclusion of
preferredRng: {}
improves security and supports applications requiring randomness.These changes demonstrate good attention to performance and security considerations for newer OS versions.
142-168
: LGTM: Appropriate configuration for deprecated CentOS Stream 8The VirtualMachineClusterPreference for CentOS Stream 8 is correctly configured:
- Properly marked as deprecated in the labels.
- Resource requirements (1 CPU, 1.5Gi memory) are suitable for this OS version.
- Consistent use of virtio for disk and interface models.
Note that this configuration lacks some features present in the newer CentOS Stream 10 preference, such as dedicated I/O thread and RNG device. This is acceptable for a deprecated OS version, but users should be aware of these differences when choosing between versions.
199-231
: LGTM: Well-optimized configuration for deprecated CentOS Stream 8 DPDKThe VirtualMachineClusterPreference for CentOS Stream 8 DPDK is well-configured with appropriate optimizations:
- Correctly marked as deprecated.
- CPU topology spread configuration (preferredCPUTopology: spread) is suitable for DPDK workloads.
- Network interface multi-queue support (preferredNetworkInterfaceMultiQueue: true) can enhance DPDK performance.
- Increased CPU requirement (2 CPUs) is appropriate for DPDK workloads.
These optimizations demonstrate good consideration for DPDK-specific needs while maintaining consistency with other CentOS Stream 8 configurations. Users should be aware of the deprecated status when considering this preference.
232-259
: LGTM: Modern and consistent configuration for CentOS Stream 9The VirtualMachineClusterPreference for CentOS Stream 9 is well-configured and aligns with modern virtualization best practices:
- Includes dedicated I/O thread for disk (preferredDiskDedicatedIoThread: true), which can improve I/O performance.
- Incorporates RNG device (preferredRng: {}), enhancing security and supporting applications requiring randomness.
- Maintains consistent resource requirements (1 CPU, 1.5Gi memory) with other recent CentOS Stream versions.
This configuration demonstrates good consistency with CentOS Stream 10 while providing necessary features for a modern operating system environment.
291-324
: Excellent configuration for CentOS Stream 9 DPDKThe VirtualMachineClusterPreference for CentOS Stream 9 DPDK is exceptionally well-configured, combining DPDK optimizations with modern virtualization features:
DPDK-specific optimizations:
- CPU topology spread configuration (preferredCPUTopology: spread)
- Network interface multi-queue support (preferredNetworkInterfaceMultiQueue: true)
- Increased CPU requirement (2 CPUs)
Modern virtualization features:
- Dedicated I/O thread for disk (preferredDiskDedicatedIoThread: true)
- RNG device support (preferredRng: {})
This configuration effectively merges the best aspects of DPDK-optimized and modern CentOS Stream configurations, providing an excellent foundation for high-performance network-intensive workloads.
325-350
: LGTM: Appropriately minimal configuration for CirrosThe VirtualMachineClusterPreference for Cirros is well-configured for its purpose:
- Minimal resource requirements (1 CPU, 256Mi memory) align perfectly with Cirros's nature as a lightweight, quick-boot OS.
- Use of virtio for disk and interface models ensures good performance while maintaining consistency with other configurations.
- The simplicity of the configuration matches Cirros's primary use case for testing and minimal environments.
This preference demonstrates a good understanding of Cirros's characteristics and typical usage scenarios.
351-384
: Excellent modern and secure configuration for Fedora (amd64)The VirtualMachineClusterPreference for Fedora (amd64) is exceptionally well-configured with a focus on modern features and enhanced security:
Performance and security features:
- RNG device support (preferredRng: {})
- Network interface multi-queue support (preferredNetworkInterfaceMultiQueue: true)
- System Management Mode (preferredSmm: {})
- Secure Boot enabled (secureBoot: true)
Appropriate resource allocation:
- 1 CPU and 2Gi memory, suitable for a modern, full-featured Linux distribution
Use of EFI firmware with Secure Boot enhances the overall security posture of the VM
This configuration demonstrates a strong commitment to leveraging modern virtualization capabilities while prioritizing security, making it an excellent choice for Fedora workloads requiring a balance of performance and protection.
502-530
: LGTM with suggestions: Well-configured RHEL 10 Beta (arm64) with notes on features and resourcesThe VirtualMachineClusterPreference for RHEL 10 Beta (arm64) maintains consistency with the amd64 version in several key aspects:
Consistent features:
- Dedicated I/O thread (preferredDiskDedicatedIoThread: true)
- RNG device support (preferredRng: {})
- Resource allocation (1 CPU, 1.5Gi memory)
414-440
: LGTM with suggestion: Solid configuration for OpenSUSE LeapThe VirtualMachineClusterPreference for OpenSUSE Leap is well-configured:
- Includes RNG device support (preferredRng: {}), enhancing security and supporting applications requiring randomness.
- Uses virtio for disk and interface models, ensuring good performance.
- Appropriate resource allocation (1 CPU, 2Gi memory) for a modern Linux distribution.
The configuration provides a good foundation for OpenSUSE Leap VMs. However, there's one point to consider:
It might be beneficial to verify if there are any OpenSUSE Leap-specific optimizations or features that could be added to this configuration. For instance, some distributions benefit from specific CPU topology settings or additional device configurations.
#!/bin/bash # Check for any existing OpenSUSE Leap VMs with custom configurations rg --type yaml 'kind:\s*VirtualMachine.*\n.*metadata:\n.*\s*name:.*opensuse.*leap' -A 30 | rg 'cpu:|devices:|features:|firmware:'This search might reveal commonly used settings for OpenSUSE Leap that could be incorporated into this preference.
385-413
: LGTM with suggestion: Well-configured Fedora (arm64) with a note on security featuresThe VirtualMachineClusterPreference for Fedora (arm64) is well-configured and maintains consistency with the amd64 version in several aspects:
Consistent features:
- RNG device support (preferredRng: {})
- Network interface multi-queue support (preferredNetworkInterfaceMultiQueue: true)
- Appropriate resource allocation (1 CPU, 2Gi memory)
Notable differences:
- Absence of System Management Mode (SMM) and Secure Boot features
The configuration is appropriate for Fedora on arm64, but there's one point to consider:
Verify that the absence of SMM and Secure Boot in the arm64 configuration is intentional and aligns with arm64 hardware capabilities or specific requirements. If these features are supported and beneficial for arm64, consider adding them to maintain feature parity with the amd64 version.
packages/system/kubevirt-common-instancetypes/templates/instancetypes.yaml (4)
1-257
: CX Series configuration looks excellent for compute-intensive workloadsThe CX Series instance types are well-designed for compute-intensive applications:
- Dedicated CPU placement and isolated emulator thread ensure optimal performance.
- NUMA topology passthrough allows for efficient resource utilization.
- Hugepages with 2Mi page size can improve memory management and performance.
- The range of instance sizes (medium to 8xlarge) provides flexibility for various workload requirements.
This configuration should provide excellent performance for compute-intensive tasks.
543-781
: N Series is excellently optimized for network-intensive DPDK workloadsThe N Series instance types are very well-configured for network-intensive applications, particularly those using DPDK:
- Dedicated CPU placement and isolated emulator thread ensure consistent CPU resources for network processing.
- The use of 1Gi hugepages is excellent for network applications requiring large contiguous memory regions.
- Disabling CPU load balancing, CPU quota, and IRQ load balancing helps maintain consistent and predictable network performance.
- The range of instance sizes with varying CPU to memory ratios provides flexibility for different network workload requirements.
Additional positive notes:
- The series requires nodes capable of running DPDK workloads, ensuring proper hardware support.
- The configuration is consistent across all instance types in the series, making it easy for users to scale their applications.
This configuration should provide excellent performance for network-intensive tasks, especially those leveraging DPDK.
1017-1359
: RT Series is exceptionally well-configured for realtime applicationsThe RT Series instance types are excellently designed for realtime applications, with a strong focus on predictable and low-latency performance:
- Dedicated CPU placement and isolated emulator thread ensure consistent CPU resources, critical for realtime tasks.
- The use of 1Gi hugepages is perfect for realtime applications requiring large contiguous memory regions and reduced TLB misses.
- NUMA topology passthrough allows for optimal memory access in multi-socket systems, which is crucial for latency-sensitive applications.
- Disabling CPU load balancing, CPU quota, and IRQ load balancing helps maintain consistent and predictable performance by reducing system interference.
- The realtime CPU configuration (spec.cpu.realtime: {}) indicates the use of a realtime kernel, which is essential for strict timing requirements.
Additional positive notes:
- The series covers a wide range of instance sizes (micro to 8xlarge), providing flexibility for various realtime workload requirements.
- The configuration is consistent across all instance types, making it easy for users to scale their realtime applications.
This configuration should provide excellent performance for realtime tasks, offering the predictability and low-latency characteristics required by such applications.
1-1649
: Comprehensive and well-structured instance type definitions with room for targeted enhancementsThe instancetypes.yaml file presents a robust and diverse set of instance types that cater to a wide range of workload requirements. Key strengths include:
- Comprehensive coverage: The file defines instance types for compute-intensive, GPU, memory-intensive, network-intensive, overcommitted, realtime, and general-purpose workloads.
- Consistent naming and sizing: The use of consistent naming conventions (e.g., cx1.large, m1.xlarge) and a wide range of sizes makes it easy for users to understand and select appropriate instance types.
- Tailored optimizations: Each series incorporates specific features and optimizations relevant to its target use case, such as hugepages, dedicated CPU placement, and NUMA configurations.
- Scalability: The instance types within each series scale consistently, allowing users to easily adjust resources as their needs change.
Areas for potential future enhancement:
- GPU instances: Consider updating the GN series to include more diverse GPU options and clearer specifications.
- Overcommitted instances: The O series could benefit from more flexible overcommitment options and clearer usage guidelines.
- General-purpose instances: Consider adding variants of the U series with different CPU-to-memory ratios or additional performance features for larger sizes.
- Cross-series features: Evaluate if some optimizations (e.g., hugepages) could be beneficial as optional features for other series.
Overall, this configuration provides an excellent foundation for a wide range of cloud workloads, with well-considered optimizations for specific use cases.
packages/apps/virtual-machine/Makefile (1)
9-9
: Confirmed the modification ofexternalPorts
typeThe command correctly sets the
type
ofexternalPorts.items
to"integer"
invalues.schema.json
.
"type": "string", | ||
"description": "The number of CPU cores allocated to the virtual machine", | ||
"default": 1 | ||
"default": "" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approve type change, but reconsider empty string default.
The change of the cpu
property type from number
to string
allows for more flexible CPU specifications, which is a good improvement.
However, setting the default value to an empty string might lead to unexpected behavior if not handled properly in the application logic. Consider setting a meaningful default value or ensuring that the application handles empty string values gracefully.
"type": "string", | ||
"description": "The size of the disk allocated for the virtual machine", | ||
"default": "5Gi" | ||
"default": "" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reconsider empty string default for memory.
Setting the default value for the memory
property to an empty string might lead to unexpected behavior if not handled properly in the application logic. Consider setting a meaningful default value or ensuring that the application handles empty string values gracefully.
# Series | ||
|
||
### Common parameters | ||
<!-- source: https://github.com/kubevirt/common-instancetypes/blob/main/README.md --> | ||
|
||
| Name | Description | Value | | ||
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | ------------ | | ||
| `host` | The hostname used to access the Kubernetes cluster externally (defaults to using the cluster name as a subdomain for the tenant host). | `""` | | ||
| `controlPlane.replicas` | Number of replicas for Kubernetes contorl-plane components | `2` | | ||
| `storageClass` | StorageClass used to store user data | `replicated` | | ||
| `nodeGroups` | nodeGroups configuration | `{}` | | ||
. | U | O | CX | M | RT | ||
----------------------------|-----|-----|------|-----|------ | ||
*Has GPUs* | | | | | | ||
*Hugepages* | | | ✓ | ✓ | ✓ | ||
*Overcommitted Memory* | | ✓ | | | | ||
*Dedicated CPU* | | | ✓ | | ✓ | ||
*Burstable CPU performance* | ✓ | ✓ | | ✓ | | ||
*Isolated emulator threads* | | | ✓ | | ✓ | ||
*vNUMA* | | | ✓ | | ✓ | ||
*vCPU-To-Memory Ratio* | 1:4 | 1:4 | 1:2 | 1:8 | 1:4 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix table formatting for proper Markdown rendering.
The Series table provides valuable information, but its formatting needs adjustment for correct Markdown rendering. Please apply the following changes:
- Add a leading pipe (
|
) to each row. - Ensure all rows have the same number of columns (6 in total).
- Add a separator row after the header row.
Here's the corrected table format:
| | U | O | CX | M | RT |
|----------------------------|-----|-----|------|-----|------|
| *Has GPUs* | | | | | |
| *Hugepages* | | | ✓ | ✓ | ✓ |
| *Overcommitted Memory* | | ✓ | | | |
| *Dedicated CPU* | | | ✓ | | ✓ |
| *Burstable CPU performance*| ✓ | ✓ | | ✓ | |
| *Isolated emulator threads*| | | ✓ | | ✓ |
| *vNUMA* | | | ✓ | | ✓ |
| *vCPU-To-Memory Ratio* | 1:4 | 1:4 | 1:2 | 1:8 | 1:4 |
This will ensure the table is correctly displayed in Markdown viewers.
🧰 Tools
🪛 Markdownlint
36-36: Expected: no_leading_or_trailing; Actual: trailing_only; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
38-38: Expected: no_leading_or_trailing; Actual: trailing_only; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
40-40: Expected: no_leading_or_trailing; Actual: trailing_only; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
36-36: Expected: 6; Actual: 5; Too few cells, row will be missing data
Table column count(MD056, table-column-count)
38-38: Expected: 6; Actual: 5; Too few cells, row will be missing data
Table column count(MD056, table-column-count)
40-40: Expected: 6; Actual: 5; Too few cells, row will be missing data
Table column count(MD056, table-column-count)
The following instancetype resources are provided by Cozystack: | ||
|
||
Name | vCPUs | Memory | ||
-----|-------|------- | ||
cx1.2xlarge | 8 | 16Gi | ||
cx1.4xlarge | 16 | 32Gi | ||
cx1.8xlarge | 32 | 64Gi | ||
cx1.large | 2 | 4Gi | ||
cx1.medium | 1 | 2Gi | ||
cx1.xlarge | 4 | 8Gi | ||
gn1.2xlarge | 8 | 32Gi | ||
gn1.4xlarge | 16 | 64Gi | ||
gn1.8xlarge | 32 | 128Gi | ||
gn1.xlarge | 4 | 16Gi | ||
m1.2xlarge | 8 | 64Gi | ||
m1.4xlarge | 16 | 128Gi | ||
m1.8xlarge | 32 | 256Gi | ||
m1.large | 2 | 16Gi | ||
m1.xlarge | 4 | 32Gi | ||
n1.2xlarge | 16 | 32Gi | ||
n1.4xlarge | 32 | 64Gi | ||
n1.8xlarge | 64 | 128Gi | ||
n1.large | 4 | 8Gi | ||
n1.medium | 4 | 4Gi | ||
n1.xlarge | 8 | 16Gi | ||
o1.2xlarge | 8 | 32Gi | ||
o1.4xlarge | 16 | 64Gi | ||
o1.8xlarge | 32 | 128Gi | ||
o1.large | 2 | 8Gi | ||
o1.medium | 1 | 4Gi | ||
o1.micro | 1 | 1Gi | ||
o1.nano | 1 | 512Mi | ||
o1.small | 1 | 2Gi | ||
o1.xlarge | 4 | 16Gi | ||
rt1.2xlarge | 8 | 32Gi | ||
rt1.4xlarge | 16 | 64Gi | ||
rt1.8xlarge | 32 | 128Gi | ||
rt1.large | 2 | 8Gi | ||
rt1.medium | 1 | 4Gi | ||
rt1.micro | 1 | 1Gi | ||
rt1.small | 1 | 2Gi | ||
rt1.xlarge | 4 | 16Gi | ||
u1.2xlarge | 8 | 32Gi | ||
u1.2xmedium | 2 | 4Gi | ||
u1.4xlarge | 16 | 64Gi | ||
u1.8xlarge | 32 | 128Gi | ||
u1.large | 2 | 8Gi | ||
u1.medium | 1 | 4Gi | ||
u1.micro | 1 | 1Gi | ||
u1.nano | 1 | 512Mi | ||
u1.small | 1 | 2Gi | ||
u1.xlarge | 4 | 16Gi | ||
|
||
The following preference resources are provided by Cozystack: | ||
|
||
Name | Guest OS | ||
-----|--------- | ||
alpine | Alpine | ||
centos.7 | CentOS 7 | ||
centos.7.desktop | CentOS 7 | ||
centos.stream10 | CentOS Stream 10 | ||
centos.stream10.desktop | CentOS Stream 10 | ||
centos.stream8 | CentOS Stream 8 | ||
centos.stream8.desktop | CentOS Stream 8 | ||
centos.stream8.dpdk | CentOS Stream 8 | ||
centos.stream9 | CentOS Stream 9 | ||
centos.stream9.desktop | CentOS Stream 9 | ||
centos.stream9.dpdk | CentOS Stream 9 | ||
cirros | Cirros | ||
fedora | Fedora (amd64) | ||
fedora.arm64 | Fedora (arm64) | ||
opensuse.leap | OpenSUSE Leap | ||
opensuse.tumbleweed | OpenSUSE Tumbleweed | ||
rhel.10 | Red Hat Enterprise Linux 10 Beta (amd64) | ||
rhel.10.arm64 | Red Hat Enterprise Linux 10 Beta (arm64) | ||
rhel.7 | Red Hat Enterprise Linux 7 | ||
rhel.7.desktop | Red Hat Enterprise Linux 7 | ||
rhel.8 | Red Hat Enterprise Linux 8 | ||
rhel.8.desktop | Red Hat Enterprise Linux 8 | ||
rhel.8.dpdk | Red Hat Enterprise Linux 8 | ||
rhel.9 | Red Hat Enterprise Linux 9 (amd64) | ||
rhel.9.arm64 | Red Hat Enterprise Linux 9 (arm64) | ||
rhel.9.desktop | Red Hat Enterprise Linux 9 Desktop (amd64) | ||
rhel.9.dpdk | Red Hat Enterprise Linux 9 DPDK (amd64) | ||
rhel.9.realtime | Red Hat Enterprise Linux 9 Realtime (amd64) | ||
sles | SUSE Linux Enterprise Server | ||
ubuntu | Ubuntu | ||
windows.10 | Microsoft Windows 10 | ||
windows.10.virtio | Microsoft Windows 10 (virtio) | ||
windows.11 | Microsoft Windows 11 | ||
windows.11.virtio | Microsoft Windows 11 (virtio) | ||
windows.2k16 | Microsoft Windows Server 2016 | ||
windows.2k16.virtio | Microsoft Windows Server 2016 (virtio) | ||
windows.2k19 | Microsoft Windows Server 2019 | ||
windows.2k19.virtio | Microsoft Windows Server 2019 (virtio) | ||
windows.2k22 | Microsoft Windows Server 2022 | ||
windows.2k22.virtio | Microsoft Windows Server 2022 (virtio) | ||
windows.2k25 | Microsoft Windows Server 2025 | ||
windows.2k25.virtio | Microsoft Windows Server 2025 (virtio) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Improve table formatting for better readability
The comprehensive lists of instance types and supported guest operating systems are valuable additions to the documentation. However, the current formatting of these tables can be improved for better readability and to conform to Markdown best practices.
Please apply the following changes to improve the table formatting:
- Add leading and trailing pipe characters (
|
) to each row of both tables. - Align the column headers and add a separator row after the headers.
Here's an example of how the instance types table should be formatted:
| Name | vCPUs | Memory |
|------|-------|--------|
| cx1.2xlarge | 8 | 16Gi |
| cx1.4xlarge | 16 | 32Gi |
...
And for the preference resources table:
| Name | Guest OS |
|------|----------|
| alpine | Alpine |
| centos.7 | CentOS 7 |
...
These changes will significantly improve the readability of the tables and ensure they render correctly on various Markdown platforms.
🧰 Tools
🪛 Markdownlint
172-172: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
172-172: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
173-173: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
173-173: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
174-174: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
174-174: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
175-175: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
175-175: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
176-176: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
176-176: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
177-177: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
177-177: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
178-178: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
178-178: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
179-179: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
179-179: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
180-180: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
180-180: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
181-181: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
181-181: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
182-182: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
182-182: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
183-183: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
183-183: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
184-184: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
184-184: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
185-185: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
185-185: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
186-186: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
186-186: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
187-187: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
187-187: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
188-188: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
188-188: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
189-189: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
189-189: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
190-190: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
190-190: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
191-191: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
191-191: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
192-192: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
192-192: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
193-193: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
193-193: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
194-194: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
194-194: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
195-195: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
195-195: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
196-196: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
196-196: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
197-197: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
197-197: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
198-198: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
198-198: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
199-199: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
199-199: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
200-200: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
200-200: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
201-201: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
201-201: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
202-202: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
202-202: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
203-203: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
203-203: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
204-204: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
204-204: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
205-205: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
205-205: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
206-206: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
206-206: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
207-207: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
207-207: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
208-208: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
208-208: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
209-209: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
209-209: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
210-210: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
210-210: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
211-211: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
211-211: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
212-212: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
212-212: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
213-213: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
213-213: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
214-214: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
214-214: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
215-215: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
215-215: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
216-216: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
216-216: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
217-217: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
217-217: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
218-218: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
218-218: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
219-219: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
219-219: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
220-220: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
220-220: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
221-221: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
221-221: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
225-225: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
225-225: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
226-226: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
226-226: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
227-227: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
227-227: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
228-228: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
228-228: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
229-229: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
229-229: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
230-230: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
230-230: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
231-231: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
231-231: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
232-232: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
232-232: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
233-233: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
233-233: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
234-234: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
234-234: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
235-235: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
235-235: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
236-236: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
236-236: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
237-237: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
237-237: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
238-238: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
238-238: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
239-239: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
239-239: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
240-240: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
240-240: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
241-241: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
241-241: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
242-242: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
242-242: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
243-243: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
243-243: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
244-244: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
244-244: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
245-245: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
245-245: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
246-246: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
246-246: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
247-247: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
247-247: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
248-248: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
248-248: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
249-249: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
249-249: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
250-250: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
250-250: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
251-251: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
251-251: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
252-252: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
252-252: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
253-253: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
253-253: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
254-254: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
254-254: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
255-255: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
255-255: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
256-256: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
256-256: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
257-257: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
257-257: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
258-258: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
258-258: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
259-259: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
259-259: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
260-260: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
260-260: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
261-261: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
261-261: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
262-262: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
262-262: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
263-263: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
263-263: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
264-264: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
264-264: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
265-265: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
265-265: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
266-266: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
266-266: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
267-267: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
267-267: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
268-268: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
268-268: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
INSTANCE_TYPES=$$(yq e '.metadata.name' -o=json -r ../../system/kubevirt-common-instancetypes/templates/instancetypes.yaml | yq 'split(" ") | . + [""]' -o json) \ | ||
&& yq -i -o json ".properties.instanceType.optional=true | .properties.instanceType.enum = $${INSTANCE_TYPES}" values.schema.json | ||
PREFERENCES=$$(yq e '.metadata.name' -o=json -r ../../system/kubevirt-common-instancetypes/templates/preferences.yaml | yq 'split(" ") | . + [""]' -o json) \ | ||
&& yq -i -o json ".properties.instanceProfile.optional=true | .properties.instanceProfile.enum = $${PREFERENCES}" values.schema.json |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Refactor to eliminate code duplication
The commands for extracting INSTANCE_TYPES
and PREFERENCES
are nearly identical. Refactoring can enhance maintainability and reduce repetition. Consider creating a Makefile function or using a loop to handle both cases.
Here’s an example using a Makefile macro:
define update_schema_enum
$1=$$(yq e '.items[].metadata.name' -o=json $(2)) \
&& yq -i -o json ".properties.$3.optional=true | .properties.$3.enum = $$($1)" values.schema.json
endef
generate:
readme-generator -v values.yaml -s values.schema.json -r README.md
$(call update_schema_enum,INSTANCE_TYPES,../../system/kubevirt-common-instancetypes/templates/instancetypes.yaml,instanceType)
$(call update_schema_enum,PREFERENCES,../../system/kubevirt-common-instancetypes/templates/preferences.yaml,instanceProfile)
yq -i -o json '.properties.externalPorts.items.type = "integer"' values.schema.json
This approach reduces duplication and centralizes the extraction logic.
INSTANCE_TYPES=$$(yq e '.metadata.name' -o=json -r ../../system/kubevirt-common-instancetypes/templates/instancetypes.yaml | yq 'split(" ") | . + [""]' -o json) \ | ||
&& yq -i -o json ".properties.instanceType.optional=true | .properties.instanceType.enum = $${INSTANCE_TYPES}" values.schema.json |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correct the yq
command to accurately extract INSTANCE_TYPES
The current command may not correctly extract the instance type names from the YAML file. The use of split(" ")
and the extraction path might not align with the structure of your YAML file. Consider modifying the yq
command to accurately extract the list of instance type names.
Here's a suggested fix:
- INSTANCE_TYPES=$$(yq e '.metadata.name' -o=json -r ../../system/kubevirt-common-instancetypes/templates/instancetypes.yaml | yq 'split(" ") | . + [""]' -o json) \
+ INSTANCE_TYPES=$$(yq e '.items[].metadata.name' -o=json ../../system/kubevirt-common-instancetypes/templates/instancetypes.yaml) \
This change assumes that the YAML file contains a list under .items[]
and extracts each metadata.name
.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
INSTANCE_TYPES=$$(yq e '.metadata.name' -o=json -r ../../system/kubevirt-common-instancetypes/templates/instancetypes.yaml | yq 'split(" ") | . + [""]' -o json) \ | |
&& yq -i -o json ".properties.instanceType.optional=true | .properties.instanceType.enum = $${INSTANCE_TYPES}" values.schema.json | |
INSTANCE_TYPES=$$(yq e '.items[].metadata.name' -o=json ../../system/kubevirt-common-instancetypes/templates/instancetypes.yaml) \ | |
&& yq -i -o json ".properties.instanceType.optional=true | .properties.instanceType.enum = $${INSTANCE_TYPES}" values.schema.json |
PREFERENCES=$$(yq e '.metadata.name' -o=json -r ../../system/kubevirt-common-instancetypes/templates/preferences.yaml | yq 'split(" ") | . + [""]' -o json) \ | ||
&& yq -i -o json ".properties.instanceProfile.optional=true | .properties.instanceProfile.enum = $${PREFERENCES}" values.schema.json |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correct the yq
command to accurately extract PREFERENCES
Similar to the previous issue, the command may not correctly extract the preference names due to the extraction path and use of split(" ")
. Adjust the yq
command to match the YAML file's structure.
Suggested fix:
- PREFERENCES=$$(yq e '.metadata.name' -o=json -r ../../system/kubevirt-common-instancetypes/templates/preferences.yaml | yq 'split(" ") | . + [""]' -o json) \
+ PREFERENCES=$$(yq e '.items[].metadata.name' -o=json ../../system/kubevirt-common-instancetypes/templates/preferences.yaml) \
This modification extracts the names from each item in the YAML file.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
PREFERENCES=$$(yq e '.metadata.name' -o=json -r ../../system/kubevirt-common-instancetypes/templates/preferences.yaml | yq 'split(" ") | . + [""]' -o json) \ | |
&& yq -i -o json ".properties.instanceProfile.optional=true | .properties.instanceProfile.enum = $${PREFERENCES}" values.schema.json | |
PREFERENCES=$$(yq e '.items[].metadata.name' -o=json ../../system/kubevirt-common-instancetypes/templates/preferences.yaml) \ | |
&& yq -i -o json ".properties.instanceProfile.optional=true | .properties.instanceProfile.enum = $${PREFERENCES}" values.schema.json |
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Caution
Inline review comments failed to post
🛑 Comments failed to post (12)
packages/apps/vm-disk/templates/dashboard-resourcemap.yaml (1)
1-12: 💡 Codebase verification
Permissions Insufficient for All Dashboard Components
The current Role definition grants limited read-only access to a specific
datavolume
. However, multiple dashboard-related resources have been identified across the codebase that may require additional permissions. To ensure complete functionality and adherence to the principle of least privilege, consider the following actions:
Expand Role Permissions:
- Review each dashboard-related resource listed in the shell script output.
- Determine the necessary
apiGroups
,resources
,resourceNames
, andverbs
required for each component.- Update the Role to include these permissions as needed.
Audit Existing Roles:
- Ensure there are no overlapping or conflicting Roles that might affect dashboard operations.
- Consolidate permissions where appropriate to maintain clarity and security.
Document Permissions:
- Add comments to the Role YAML explaining the purpose of each permission.
- Ensure maintainability by clearly outlining why each permission is necessary.
By addressing these areas, you can enhance the Role's effectiveness and maintain robust security practices.
🔗 Analysis chain
LGTM! Well-structured Role definition for dashboard resources.
The Role is correctly defined with appropriate permissions for accessing datavolumes in the context of a dashboard. Here are some observations and suggestions:
- The use of
{{ .Release.Name }}
for both the Role name and the resourceName is a good practice, ensuring uniqueness across different releases.- The permissions are appropriately limited to "get", "list", and "watch" for the specific datavolume resource, following the principle of least privilege.
Consider adding a comment at the top of the file explaining the purpose of this Role, e.g.:
# This Role grants read-only access to the dashboard for viewing datavolumes # associated with this specific release.It's important to ensure that these permissions are sufficient for the dashboard's requirements. Let's verify if there are any other resources or permissions needed:
If the script reveals additional dashboard components or roles, we may need to review and potentially expand the permissions granted by this Role.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check for other dashboard-related roles or resources that might indicate additional required permissions # Search for other dashboard-related roles echo "Searching for other dashboard-related roles:" rg --type yaml 'kind:\s*Role.*dashboard' -g '!dashboard-resourcemap.yaml' # Search for dashboard components that might require additional permissions echo "Searching for dashboard components that might require permissions:" rg --type yaml 'dashboard' -g '!dashboard-resourcemap.yaml'Length of output: 56980
🧰 Tools
🪛 yamllint
[error] 4-4: syntax error: expected , but found ''
(syntax)
packages/apps/vm-disk/Makefile (1)
5-8: 🛠️ Refactor suggestion
Refactor: Improve readability and add error handling for YAML processing.
The YAML processing commands are complex and lack error handling. Consider refactoring these commands into separate shell functions or a script for improved readability and maintainability.
Here's a suggested refactoring:
- Create a separate shell script, e.g.,
update_schema.sh
:#!/bin/bash set -euo pipefail update_schema_enum() { local file=$1 local property=$2 local values=$(yq e '.metadata.name' -o=json -r "$file" | yq 'split(" ") | . + [""]' -o json) yq -i -o json ".properties.$property.optional=true | .properties.$property.enum = $values" values.schema.json } update_schema_enum "../../system/kubevirt-common-instancetypes/templates/instancetypes.yaml" "instanceType" update_schema_enum "../../system/kubevirt-common-instancetypes/templates/preferences.yaml" "instanceProfile"
- Update the Makefile:
generate: @command -v readme-generator >/dev/null 2>&1 || { echo >&2 "readme-generator is required but not installed. Aborting."; exit 1; } @[ -f values.yaml ] || { echo >&2 "values.yaml not found. Aborting."; exit 1; } @[ -f values.schema.json ] || { echo >&2 "values.schema.json not found. Aborting."; exit 1; } readme-generator -v values.yaml -s values.schema.json -r README.md ./update_schema.shThis approach improves readability, adds error handling, and makes the process more maintainable.
packages/apps/vm-instance/Makefile (1)
5-8: 🛠️ Refactor suggestion
Refactor complex commands for better readability and reliability.
The commands for updating instance types and preferences in values.schema.json are complex and may be difficult to maintain. Consider the following suggestions:
- Break down the commands into separate shell scripts for better readability and maintainability.
- Use single quotes around the
yq
commands to prevent unintended shell expansion.- Consider using
make
variables instead of shell variables to avoid potential issues with shell expansion in Makefiles.Here's a suggested refactor:
define update_schema yq -i -o json '.properties.$1.optional=true | .properties.$1.enum = $$(yq e ".metadata.name" -o=json -r ../../system/kubevirt-common-instancetypes/templates/$2.yaml | yq "split(\" \") | . + [\"\"]" -o json)' values.schema.json endef generate: readme-generator -v values.yaml -s values.schema.json -r README.md $(call update_schema,instanceType,instancetypes) $(call update_schema,instanceProfile,preferences)This refactored version uses a
make
function to reduce duplication and improve readability. It also uses single quotes to prevent unintended shell expansion.packages/apps/vm-instance/values.yaml (1)
18-24:
⚠️ Potential issueLGTM: System disk and additional disks configuration added
The addition of
systemDisk
parameters and thedisks
section provides flexibility for configuring the VM's storage. This aligns well with the PR objectives.There are two minor formatting issues:
- The indentation for the disk entries should be 4 spaces instead of 2.
- There's a trailing space on line 21.
Please apply the following changes:
## @param systemDisk.origin The HTTP URL for source image ## @param systemDisk.storage The size of the disk allocated for the virtual machine ## @param systemDisk.storageClass StorageClass used to store the data -## +## disks: - - name: "win10-iso" - - name: "win10-system" + - name: "win10-iso" + - name: "win10-system"📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.## @param systemDisk.origin The HTTP URL for source image ## @param systemDisk.storage The size of the disk allocated for the virtual machine ## @param systemDisk.storageClass StorageClass used to store the data ## disks: - name: "win10-iso" - name: "win10-system"
🧰 Tools
🪛 yamllint
[error] 21-21: trailing spaces
(trailing-spaces)
[warning] 23-23: wrong indentation: expected 0 but found 2
(indentation)
packages/apps/vm-disk/values.schema.json (1)
122-126:
⚠️ Potential issueEnhance 'externalPorts' property definition.
The 'externalPorts' property is defined as an array of integers, which is correct. However, it lacks important details that would make it more useful and clear for users. Consider the following improvements:
- Add a description explaining the purpose of this property and how it affects the VM configuration.
- Specify any constraints on the port numbers (e.g., valid range, reserved ports to avoid).
- Provide examples of valid configurations.
- Consider adding a 'minItems' and 'maxItems' to define the allowed number of external ports.
- If applicable, add a 'uniqueItems' flag to ensure no duplicate port numbers.
Example enhancement:
"externalPorts": { "type": "array", "description": "List of external ports to expose from the VM", "items": { "type": "integer", "minimum": 1, "maximum": 65535 }, "uniqueItems": true, "minItems": 0, "maxItems": 10, "examples": [[80, 443, 8080]] }packages/apps/vm-instance/values.schema.json (6)
18-130: 🛠️ Refactor suggestion
Enhance
instanceType
andinstanceProfile
definitions.
Both
instanceType
andinstanceProfile
include an empty string in theirenum
list. This might lead to unexpected behavior. Consider removing the empty string option if it's not intentionally allowed.The
optional
field is not a standard JSON Schema keyword. Instead, userequired
at the parent object level to specify which fields are mandatory.Consider grouping the instance types by their series (cx, gn, m1, etc.) using
oneOf
for better organization and potential future extensibility.Here's an example of how you could improve the
instanceType
definition:"instanceType": { "type": "string", "description": "Virtual Machine instance type", "default": "u1.medium", "oneOf": [ { "title": "cx Series", "enum": ["cx1.2xlarge", "cx1.4xlarge", "cx1.8xlarge", "cx1.large", "cx1.medium", "cx1.xlarge"] }, { "title": "gn Series", "enum": ["gn1.2xlarge", "gn1.4xlarge", "gn1.8xlarge", "gn1.xlarge"] }, // ... other series ... ] }Apply similar improvements to the
instanceProfile
property.
131-150: 🛠️ Refactor suggestion
Enhance
systemDisk
property definition.Consider the following improvements for the
systemDisk
property:
- Add pattern validation for the
origin
URL to ensure it's a valid HTTP(S) URL.- Add pattern validation for the
storage
size to ensure it follows the Kubernetes resource quantity format.- Consider making
origin
a required field if it's always needed.Here's an example of how you could improve the
systemDisk
definition:"systemDisk": { "type": "object", "required": ["origin"], "properties": { "origin": { "type": "string", "description": "The HTTP URL for source image", "pattern": "^https?://.*$" }, "storage": { "type": "string", "description": "The size of the disk allocated for the virtual machine", "default": "5Gi", "pattern": "^[0-9]+(.[0-9]+)?(Ei|Pi|Ti|Gi|Mi|Ki)?$" }, "storageClass": { "type": "string", "description": "StorageClass used to store the data", "default": "replicated" } } }These changes will improve validation and ensure that the provided values are in the correct format.
151-165: 🛠️ Refactor suggestion
Improve
resources
property definition.The current
resources
property definition can be enhanced:
- Empty string defaults for
cpu
andmemory
might not be ideal. Consider using more meaningful defaults or making these fields required if they should always be specified.- Add pattern validation to ensure the values follow Kubernetes resource quantity format.
- Consider adding minimum and maximum values if there are known limits.
Here's an improved version:
"resources": { "type": "object", "required": ["cpu", "memory"], "properties": { "cpu": { "type": "string", "description": "The number of CPU cores allocated to the virtual machine", "pattern": "^[0-9]+(m|)?$" }, "memory": { "type": "string", "description": "The amount of memory allocated to the virtual machine", "pattern": "^[0-9]+(.[0-9]+)?(Ei|Pi|Ti|Gi|Mi|Ki)?$" } } }This change ensures that valid values are provided for both CPU and memory, following Kubernetes resource quantity formats.
166-173: 🛠️ Refactor suggestion
⚠️ Potential issueEnhance
sshKeys
property and fix default value.
- The
default
value forsshKeys
is incorrectly defined as a string"[]"
. It should be an empty array.- Consider adding a pattern to validate the SSH key format.
Here's an improved version:
"sshKeys": { "type": "array", "description": "List of SSH public keys for authentication. Can be a single key or a list of keys.", "default": [], "items": { "type": "string", "pattern": "^ssh-rsa AAAA[0-9A-Za-z+/]+[=]{0,3}( [^@]+@[^@]+)?$" } }This change ensures the default value is a valid empty array and adds basic validation for SSH public key format (adjust the pattern if you need to support other key types).
174-178: 🛠️ Refactor suggestion
Enhance
cloudInit
property documentation and validation.While the
cloudInit
property is correctly defined, consider the following improvements:
- Expand the description to provide more context about cloud-init and its usage.
- Consider adding a pattern to ensure the string starts with "#cloud-config".
- If possible, add examples of valid cloud-init configurations in the description.
Here's an improved version:
"cloudInit": { "type": "string", "description": "cloud-init user data config. Must start with '#cloud-config'. See cloud-init documentation for more details: https://cloudinit.readthedocs.io/", "default": "#cloud-config\n", "pattern": "^#cloud-config\\n[\\s\\S]*$" }This change provides more context for users and ensures that the cloud-init configuration starts with the required "#cloud-config" line.
5-17:
⚠️ Potential issueFix the
externalPorts
default value.The
externalPorts
property has its default value defined as a string"[]"
, which is incorrect for a JSON schema. It should be an empty array.Please update the default value as follows:
"externalPorts": { "type": "array", "description": "Specify ports to forward from outside the cluster", - "default": "[]", + "default": [], "items": { "type": "integer" } },This change ensures that the default value is a valid empty array in JSON format.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements."external": { "type": "boolean", "description": "Enable external access from outside the cluster", "default": false }, "externalPorts": { "type": "array", "description": "Specify ports to forward from outside the cluster", "default": [], "items": { "type": "integer" } },
packages/system/kubevirt-common-instancetypes/templates/instancetypes.yaml (1)
259-401: 🛠️ Refactor suggestion
⚠️ Potential issueGN Series needs attention: Deprecation status and limited GPU options
While the GN Series provides GPU-enabled instance types, there are several concerns:
All GN Series instance types are marked as deprecated. This needs clarification:
- What is the plan for replacing these instance types?
- How long will they be supported?
GPU configuration is limited:
- All instance types use a single NVIDIA A400 GPU, regardless of size.
- Consider offering different GPU models or multiple GPUs for larger instance types.
- Add GPU-specific information (e.g., CUDA cores, GPU memory) to the annotations.
There's no mention of GPU-specific features like CUDA version compatibility.
Consider revising the GN Series to address these points, possibly introducing a new, non-deprecated series with more diverse GPU options and clearer specifications. Would you like assistance in designing an updated GPU instance type series?
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
c5f181a
to
cf4c08c
Compare
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 8
🧹 Outside diff range and nitpick comments (22)
packages/apps/vm-disk/values2.yaml (1)
1-7
: Well-documented parameters with clear descriptions.The comments provide clear and concise explanations for each parameter, which is excellent for maintainability and ease of use. The use of
@section
and@param
tags suggests adherence to a specific documentation standard, promoting consistency across the project.There's a trailing space on line 7 that should be removed for cleanliness:
-## +##🧰 Tools
🪛 yamllint
[error] 7-7: trailing spaces
(trailing-spaces)
packages/apps/vm-disk/values.yaml (1)
1-7
: Remove trailing space on line 7The documentation for the Common parameters section is clear and helpful. However, there's a minor formatting issue that should be addressed.
Please remove the trailing space on line 7 to improve code cleanliness:
-## +##🧰 Tools
🪛 yamllint
[error] 7-7: trailing spaces
(trailing-spaces)
packages/apps/vm-disk/values3.yaml (1)
3-7
: LGTM: Clear parameter descriptions with a minor formatting issueThe parameter descriptions are well-written and informative, providing clear explanations for each configuration option.
There's a trailing space on line 7 that should be removed:
-## +##🧰 Tools
🪛 yamllint
[error] 7-7: trailing spaces
(trailing-spaces)
packages/apps/vm-disk/templates/dv.yaml (3)
3-7
: LGTM: Metadata section is well-structured with appropriate annotations.The metadata section is correctly defined with useful annotations and a dynamic name based on the Helm release.
Consider adding a comment explaining the purpose of the
vm-disk.cozystack.io/optical
annotation for better clarity:annotations: cdi.kubevirt.io/storage.bind.immediate.requested: "" # Indicates whether this disk is an optical drive (e.g., CD-ROM) vm-disk.cozystack.io/optical: "{{ .Values.optical }}"
8-16
: LGTM: Spec section for content type and source is well-defined and flexible.The content type is correctly set to
kubevirt
, and the conditional logic for the source allows for flexible configuration.Consider adding a validation check for the
.Values.source
to ensure it's a valid YAML structure:{{- if .Values.source }} source: {{- if kindIs "string" .Values.source }} {{- fail "Error: .Values.source must be a YAML structure, not a string" }} {{- else }} {{- toYaml .Values.source | nindent 4 }} {{- end }} {{- else }} source: blank: {} {{- end }}This change will help prevent errors if
.Values.source
is accidentally set to a string value.🧰 Tools
🪛 yamllint
[error] 11-11: syntax error: could not find expected ':'
(syntax)
17-23
: LGTM: Storage configuration is well-structured and flexible.The storage configuration allows for customizable storage requests and optional storage class specification.
Consider adding a comment to clarify the expected format of
.Values.storage
:storage: resources: requests: # Expected format: '<size><unit>', e.g., '10Gi' storage: {{ .Values.storage }}This comment will help users understand the expected input format for the storage value.
packages/apps/vm-instance/Chart.yaml (1)
Line range hint
1-26
: Summary: Significant changes require further explanationThe changes to this Chart.yaml file suggest a major shift in how this chart is being managed and versioned. While the modifications themselves are straightforward, they raise important questions about the overall strategy and potential impacts on the system.
Key points to address:
- The reasoning behind the name change and its consistency across the project.
- The motivation for downgrading both the chart version and appVersion.
- The potential impacts on existing deployments and the upgrade path for users.
- Whether these changes are part of a broader restructuring of the chart or the application it deploys.
Please provide additional context to help reviewers and users understand these changes better. This context will be crucial for maintaining clear documentation and ensuring smooth transitions for users of this chart.
packages/apps/vm-instance/values.yaml (2)
9-10
: Consider a more flexible default forrunning
.The explicit setting of
running: true
improves clarity. However, consider if this should always be the default state for all VMs. You might want to make this configurable or set it tofalse
by default for better control over resource usage.
Line range hint
1-8
: Review unchanged sections for potential updates.The
external
,externalPorts
,sshKeys
, andcloudInit
sections remain unchanged. While they don't seem to conflict with the new changes, it might be worth considering if any of these need updates to align with the new instance types and profiles.For example:
- Should
externalPorts
be configurable based on the instance type or profile?- Does the
cloudInit
configuration need any adjustments for different instance types?Please review these sections to ensure they're still appropriate with the new instance type and profile system.
Also applies to: 31-50
🧰 Tools
🪛 yamllint
[error] 21-21: trailing spaces
(trailing-spaces)
[warning] 23-23: wrong indentation: expected 0 but found 2
(indentation)
packages/apps/vm-instance/templates/vm.yaml (5)
1-6
: LGTM! Consider enhancing error messages.The validation logic for instance types and profiles is well-implemented. It effectively prevents the creation of VMs with non-existent configurations.
Consider enhancing the error messages to include guidance on how to resolve the issue. For example:
{{- fail (printf "Specified instancetype '%s' does not exist in the cluster. Please check available instance types and update the configuration." .Values.instanceType) }}
This provides more context and actionable information to the user.
🧰 Tools
🪛 yamllint
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
8-25
: LGTM! Consider adding more metadata labels.The VM metadata and spec section is well-structured and follows KubeVirt's VirtualMachine CRD specification. The conditional blocks for instance type and profile provide good flexibility.
Consider adding more metadata labels to improve resource management and querying. For example:
metadata: name: {{ include "virtual-machine.fullname" . }} labels: {{- include "virtual-machine.labels" . | nindent 4 }} app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} {{- with .Values.additionalLabels }} {{- toYaml . | nindent 4 }} {{- end }}This allows for version tracking and custom labels, enhancing resource management capabilities.
34-71
: LGTM! Consider enhancing disk and network configurations.The VM domain specification section is well-structured with flexible resource allocation and dynamic disk configuration.
Consider the following enhancements:
Disk configuration:
- Add error handling for cases where disk lookup fails for reasons other than non-existence.
- Consider allowing customization of disk bus type.
Network interface:
- Allow for multiple network interfaces.
- Provide options for different network types (e.g., multus, masquerade).
Example for network interfaces:
interfaces: {{- range .Values.networks }} - name: {{ .name }} {{ .type | default "bridge" }}: {} {{- end }}This would provide more flexibility in network configuration.
81-93
: LGTM! Consider improving volume naming consistency.The volumes configuration section is well-implemented, with dynamic creation of volumes and appropriate use of DataVolumes.
Consider standardizing the naming convention for volumes. For example:
volumes: {{- range .Values.disks }} - name: disk-{{ .name }} dataVolume: name: {{ include "virtual-machine.fullname" $ }}-disk-{{ .name }} {{- end }} {{- if or .Values.sshKeys .Values.cloudInit }} - name: cloudinitdisk cloudInitNoCloud: secretRef: name: {{ include "virtual-machine.fullname" . }}-cloud-init {{- end }}This ensures consistency in naming across different resources and makes it easier to track related resources.
1-1
: Consider adding a YAML lint directive to suppress false positive.The yamllint error is a false positive due to the Go templating syntax at the beginning of the file. The actual YAML content starts correctly at line 8.
To suppress this warning, consider adding a yamllint directive at the top of the file:
# yamllint disable-line rule:document-start {{- if and .Values.instanceType (not (lookup "instancetype.kubevirt.io/v1beta1" "VirtualMachineClusterInstancetype" "" .Values.instanceType)) }}This will instruct yamllint to ignore the document-start rule for this line, preventing the false positive warning.
🧰 Tools
🪛 yamllint
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/apps/vm-disk/README.md (4)
5-10
: Consider adding a brief explanation of KubeVirtThe deployment details section provides useful information and links. However, it might be helpful to include a brief explanation of what KubeVirt is for readers who may not be familiar with it. This would provide more context for why KubeVirt is used for managing virtual machines in a Kubernetes environment.
Consider adding a sentence like:
"KubeVirt is an add-on that allows you to run virtual machines on your Kubernetes cluster alongside containers."
12-33
: Improve code block formatting and consider adding examplesThe section on accessing virtual machines is informative and provides useful commands. However, there are a couple of improvements that could be made:
The code blocks are missing language specifiers. Adding
bash
after the opening triple backticks would enable syntax highlighting for better readability.Consider adding example commands with placeholder values to make it easier for users to understand how to use these commands in practice.
Here's an example of how you could improve the SSH command:
virtctl ssh username@vm-name🧰 Tools
🪛 Markdownlint
19-19: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
25-25: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
31-31: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
35-44
: Improve table formatting for better compatibilityThe parameters table is informative and well-structured. However, to ensure better compatibility across different Markdown renderers, consider adding leading and trailing pipes to each row of the table.
Here's how the improved table structure would look:
| Name | Description | Value | |----------------|--------------------------------------------------------|--------------| | `source` | The source image location used to create a disk | `{}` | | `optical` | Defines is disk should be considered as optical | `false` | | `storage` | The size of the disk allocated for the virtual machine | `5Gi` | | `storageClass` | StorageClass used to store the data | `replicated` |
46-152
: Address minor grammatical issues and improve clarityThe VM series descriptions are comprehensive and informative. However, there are a few minor grammatical and stylistic issues that could be addressed to improve clarity:
- Line 61: Change "if excess compute resources are available" to "if excess compute resources are available."
- Line 79: Change "Memory is over-committed in order to achieve" to "Memory is over-committed to achieve"
- Line 92: Change "In order to ensure this," to "To ensure this,"
- Line 101, 123, 143: Change "Hugepages are used in order to improve memory performance" to "Hugepages are used to improve memory performance"
- Line 104, 146: Change "in order to provide fixed and high compute guarantees" to "to provide fixed and high compute guarantees"
- Line 107, 149: Change "in order to reduce emaulation related impact" to "to reduce emulation-related impact"
- Line 109: Change "in order to optimize guest sided cache utilization" to "to optimize guest-side cache utilization"
Additionally, consider adding a brief explanation of what "Hugepages" are for readers who might not be familiar with the term.
🧰 Tools
🪛 LanguageTool
[typographical] ~61-~61: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[typographical] ~77-~77: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~79-~79: Consider a shorter alternative to avoid wordiness.
Context: ...tted Memory* - Memory is over-committed in order to achieve a higher workload density. - ...(IN_ORDER_TO_PREMIUM)
[style] ~92-~92: Consider a shorter alternative to avoid wordiness.
Context: ...given to the compute threads of the VM. In order to ensure this, some additional cores (dep...(IN_ORDER_TO_PREMIUM)
[style] ~101-~101: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~104-~104: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~107-~107: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
[style] ~109-~109: Consider a shorter alternative to avoid wordiness.
Context: ...NUMA topology is reflected in the guest in order to optimize guest sided cache utilizatio...(IN_ORDER_TO_PREMIUM)
[style] ~123-~123: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Bursta...(IN_ORDER_TO_PREMIUM)
[typographical] ~126-~126: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~143-~143: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~146-~146: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~149-~149: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
packages/apps/vm-instance/README.md (4)
12-33
: Accessing virtual machine: Clear instructions with a minor improvement suggestion.This section provides clear instructions on how to access the virtual machine using the virtctl tool. The commands for accessing the serial console, VNC, and SSH are well-explained.
Consider adding language specifications to the code blocks for better syntax highlighting. For example:
-``` +```bash virtctl console <vm>Apply this change to all three code blocks in this section. <details> <summary>🧰 Tools</summary> <details> <summary>🪛 Markdownlint</summary><blockquote> 19-19: null Fenced code blocks should have a language specified (MD040, fenced-code-language) --- 25-25: null Fenced code blocks should have a language specified (MD040, fenced-code-language) --- 31-31: null Fenced code blocks should have a language specified (MD040, fenced-code-language) </blockquote></details> </details> --- `35-53`: **Parameters: Comprehensive list with formatting improvements needed.** The Parameters section provides a comprehensive list of common parameters, their descriptions, and default values. This information is valuable for users configuring their virtual machines. To improve the table formatting and address the static analysis hints, consider the following changes: 1. Add leading and trailing pipes to each row of the table. 2. Ensure consistent column count across all rows. For example: ```diff -| Name | Description | Value | -| ------------------------- | ---------------------------------------------------------------------------------- | ---------------- | -| `external` | Enable external access from outside the cluster | `false` | +| Name | Description | Value | +| ------------------------- | ---------------------------------------------------------------------------------- | ---------------- | +| `external` | Enable external access from outside the cluster | `false` |
Apply this change to all rows in the table.
🧰 Tools
🪛 LanguageTool
[style] ~51-~51: To form a complete sentence, be sure to include a subject or ‘there’.
Context: ... of SSH public keys for authentication. Can be a single key or a list of keys. | `[...(MISSING_IT_THERE)
🪛 Markdownlint
52-52: Expected: leading_and_trailing; Actual: leading_only; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
53-53: Expected: leading_and_trailing; Actual: trailing_only; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
53-53: Expected: 3; Actual: 1; Too few cells, row will be missing data
Table column count(MD056, table-column-count)
168-268
: Resources tables: Comprehensive information with formatting improvements needed.The Resources tables provide extensive information about instancetype resources and preference resources, including various VM configurations and supported operating systems. This information is crucial for users selecting the appropriate VM setup.
To improve the table formatting and address the static analysis hints, consider the following changes:
- Add leading and trailing pipes to each row of both tables.
- Ensure consistent column count across all rows.
For example:
-Name | vCPUs | Memory ------|-------|------- -cx1.2xlarge | 8 | 16Gi +| Name | vCPUs | Memory | +|------|-------|--------| +| cx1.2xlarge | 8 | 16Gi |Apply this change to all rows in both tables.
🧰 Tools
🪛 Markdownlint
172-172: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
172-172: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
173-173: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
173-173: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
174-174: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
174-174: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
175-175: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
175-175: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
176-176: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
176-176: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
177-177: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
177-177: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
178-178: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
178-178: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
179-179: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
179-179: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
180-180: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
180-180: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
181-181: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
181-181: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
182-182: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
182-182: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
183-183: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
183-183: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
184-184: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
184-184: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
185-185: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
185-185: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
186-186: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
186-186: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
187-187: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
187-187: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
188-188: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
188-188: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
189-189: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
189-189: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
190-190: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
190-190: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
191-191: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
191-191: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
192-192: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
192-192: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
193-193: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
193-193: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
194-194: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
194-194: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
195-195: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
195-195: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
196-196: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
196-196: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
197-197: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
197-197: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
198-198: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
198-198: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
199-199: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
199-199: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
200-200: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
200-200: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
201-201: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
201-201: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
202-202: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
202-202: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
203-203: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
203-203: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
204-204: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
204-204: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
205-205: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
205-205: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
206-206: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
206-206: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
207-207: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
207-207: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
208-208: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
208-208: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
209-209: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
209-209: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
210-210: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
210-210: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
211-211: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
211-211: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
212-212: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
212-212: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
213-213: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
213-213: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
214-214: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
214-214: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
215-215: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
215-215: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
216-216: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
216-216: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
217-217: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
217-217: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
218-218: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
218-218: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
219-219: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
219-219: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
220-220: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
220-220: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
221-221: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
221-221: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
225-225: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
225-225: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
226-226: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
226-226: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
227-227: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
227-227: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
228-228: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
228-228: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
229-229: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
229-229: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
230-230: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
230-230: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
231-231: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
231-231: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
232-232: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
232-232: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
233-233: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
233-233: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
234-234: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
234-234: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
235-235: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
235-235: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
236-236: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
236-236: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
237-237: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
237-237: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
238-238: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
238-238: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
239-239: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
239-239: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
240-240: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
240-240: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
241-241: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
241-241: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
242-242: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
242-242: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
243-243: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
243-243: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
244-244: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
244-244: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
245-245: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
245-245: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
246-246: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
246-246: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
247-247: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
247-247: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
248-248: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
248-248: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
249-249: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
249-249: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
250-250: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
250-250: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
251-251: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
251-251: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
252-252: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
252-252: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
253-253: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
253-253: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
254-254: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
254-254: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
255-255: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
255-255: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
256-256: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
256-256: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
257-257: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
257-257: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
258-258: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
258-258: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
259-259: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
259-259: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
260-260: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
260-260: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
261-261: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
261-261: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
262-262: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
262-262: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
263-263: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
263-263: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
264-264: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
264-264: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
265-265: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
265-265: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
266-266: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
266-266: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
267-267: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
267-267: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
268-268: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
268-268: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
1-268
: Overall: Excellent README with minor formatting improvements needed.This README provides comprehensive and well-structured information about the Virtual Machine component within the KubeVirt ecosystem. It covers all necessary aspects, including introduction, deployment details, access methods, parameters, VM series descriptions, and resource tables.
The content is informative and will be valuable for users working with this component. The explanations are clear, and the structure makes it easy to find specific information.
To further improve the document, consider addressing the following minor formatting issues:
- Add language specifications to code blocks for better syntax highlighting.
- Improve table formatting by adding leading and trailing pipes to each row and ensuring consistent column counts.
These small changes will enhance the overall presentation and readability of the document.
🧰 Tools
🪛 LanguageTool
[style] ~51-~51: To form a complete sentence, be sure to include a subject or ‘there’.
Context: ... of SSH public keys for authentication. Can be a single key or a list of keys. | `[...(MISSING_IT_THERE)
[typographical] ~70-~70: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[typographical] ~86-~86: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~88-~88: Consider a shorter alternative to avoid wordiness.
Context: ...tted Memory* - Memory is over-committed in order to achieve a higher workload density. - ...(IN_ORDER_TO_PREMIUM)
[style] ~101-~101: Consider a shorter alternative to avoid wordiness.
Context: ...given to the compute threads of the VM. In order to ensure this, some additional cores (dep...(IN_ORDER_TO_PREMIUM)
[style] ~110-~110: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~113-~113: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~116-~116: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
[style] ~118-~118: Consider a shorter alternative to avoid wordiness.
Context: ...NUMA topology is reflected in the guest in order to optimize guest sided cache utilizatio...(IN_ORDER_TO_PREMIUM)
[style] ~132-~132: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Bursta...(IN_ORDER_TO_PREMIUM)
[typographical] ~135-~135: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~152-~152: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~155-~155: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~158-~158: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
🪛 Markdownlint
19-19: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
25-25: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
31-31: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
52-52: Expected: leading_and_trailing; Actual: leading_only; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
53-53: Expected: leading_and_trailing; Actual: trailing_only; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
172-172: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
172-172: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
173-173: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
173-173: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
174-174: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
174-174: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
175-175: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
175-175: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
176-176: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
176-176: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
177-177: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
177-177: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
178-178: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
178-178: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
179-179: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
179-179: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
180-180: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
180-180: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
181-181: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
181-181: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
182-182: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
182-182: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
183-183: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
183-183: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
184-184: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
184-184: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
185-185: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
185-185: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
186-186: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
186-186: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
187-187: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
187-187: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
188-188: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
188-188: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
189-189: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
189-189: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
190-190: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
190-190: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
191-191: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
191-191: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
192-192: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
192-192: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
193-193: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
193-193: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
194-194: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
194-194: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
195-195: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
195-195: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
196-196: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
196-196: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
197-197: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
197-197: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
198-198: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
198-198: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
199-199: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
199-199: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
200-200: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
200-200: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
201-201: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
201-201: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
202-202: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
202-202: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
203-203: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
203-203: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
204-204: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
204-204: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
205-205: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
205-205: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
206-206: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
206-206: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
207-207: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
207-207: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
208-208: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
208-208: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
209-209: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
209-209: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
210-210: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
210-210: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
211-211: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
211-211: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
212-212: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
212-212: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
213-213: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
213-213: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
214-214: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
214-214: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
215-215: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
215-215: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
216-216: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
216-216: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
217-217: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
217-217: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
218-218: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
218-218: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
219-219: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
219-219: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
220-220: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
220-220: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
221-221: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
221-221: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
225-225: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
225-225: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
226-226: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
226-226: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
227-227: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
227-227: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
228-228: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
228-228: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
229-229: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
229-229: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
230-230: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
230-230: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
231-231: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
231-231: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
232-232: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
232-232: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
233-233: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
233-233: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
234-234: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
234-234: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
235-235: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
235-235: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
236-236: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
236-236: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
237-237: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
237-237: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
238-238: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
238-238: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
239-239: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
239-239: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
240-240: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
240-240: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
241-241: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
241-241: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
242-242: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
242-242: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
243-243: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
243-243: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
244-244: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
244-244: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
245-245: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
245-245: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
246-246: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
246-246: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
247-247: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
247-247: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
248-248: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
248-248: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
249-249: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
249-249: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
250-250: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
250-250: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
251-251: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
251-251: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
252-252: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
252-252: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
253-253: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
253-253: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
254-254: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
254-254: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
255-255: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
255-255: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
256-256: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
256-256: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
257-257: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
257-257: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
258-258: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
258-258: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
259-259: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
259-259: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
260-260: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
260-260: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
261-261: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
261-261: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
262-262: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
262-262: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
263-263: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
263-263: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
264-264: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
264-264: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
265-265: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
265-265: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
266-266: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
266-266: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
267-267: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
267-267: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
268-268: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
268-268: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
53-53: Expected: 3; Actual: 1; Too few cells, row will be missing data
Table column count(MD056, table-column-count)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
⛔ Files ignored due to path filters (2)
packages/apps/vm-disk/logos/disk.svg
is excluded by!**/*.svg
packages/apps/vm-instance/logos/vm.svg
is excluded by!**/*.svg
📒 Files selected for processing (22)
- packages/apps/versions_map (2 hunks)
- packages/apps/vm-disk/Chart.yaml (1 hunks)
- packages/apps/vm-disk/Makefile (1 hunks)
- packages/apps/vm-disk/README.md (1 hunks)
- packages/apps/vm-disk/hack/update-instance-types.sh (1 hunks)
- packages/apps/vm-disk/templates/NOTES.txt (1 hunks)
- packages/apps/vm-disk/templates/dashboard-resourcemap.yaml (1 hunks)
- packages/apps/vm-disk/templates/dv.yaml (1 hunks)
- packages/apps/vm-disk/values.schema.json (1 hunks)
- packages/apps/vm-disk/values.yaml (1 hunks)
- packages/apps/vm-disk/values2.yaml (1 hunks)
- packages/apps/vm-disk/values3.yaml (1 hunks)
- packages/apps/vm-instance/.helmignore (1 hunks)
- packages/apps/vm-instance/Chart.yaml (2 hunks)
- packages/apps/vm-instance/Makefile (1 hunks)
- packages/apps/vm-instance/README.md (1 hunks)
- packages/apps/vm-instance/hack/update-instance-types.sh (1 hunks)
- packages/apps/vm-instance/templates/vm.yaml (1 hunks)
- packages/apps/vm-instance/values.schema.json (1 hunks)
- packages/apps/vm-instance/values.yaml (1 hunks)
- packages/system/kubevirt-common-instancetypes/Makefile (1 hunks)
- packages/system/kubevirt-common-instancetypes/templates/preferences.yaml (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (10)
- packages/apps/vm-disk/Chart.yaml
- packages/apps/vm-disk/Makefile
- packages/apps/vm-disk/hack/update-instance-types.sh
- packages/apps/vm-disk/templates/NOTES.txt
- packages/apps/vm-disk/values.schema.json
- packages/apps/vm-instance/.helmignore
- packages/apps/vm-instance/Makefile
- packages/apps/vm-instance/hack/update-instance-types.sh
- packages/apps/vm-instance/values.schema.json
- packages/system/kubevirt-common-instancetypes/Makefile
🧰 Additional context used
🪛 LanguageTool
packages/apps/vm-disk/README.md
[typographical] ~61-~61: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[typographical] ~77-~77: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~79-~79: Consider a shorter alternative to avoid wordiness.
Context: ...tted Memory* - Memory is over-committed in order to achieve a higher workload density. - ...(IN_ORDER_TO_PREMIUM)
[style] ~92-~92: Consider a shorter alternative to avoid wordiness.
Context: ...given to the compute threads of the VM. In order to ensure this, some additional cores (dep...(IN_ORDER_TO_PREMIUM)
[style] ~101-~101: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~104-~104: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~107-~107: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
[style] ~109-~109: Consider a shorter alternative to avoid wordiness.
Context: ...NUMA topology is reflected in the guest in order to optimize guest sided cache utilizatio...(IN_ORDER_TO_PREMIUM)
[style] ~123-~123: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Bursta...(IN_ORDER_TO_PREMIUM)
[typographical] ~126-~126: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~143-~143: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~146-~146: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~149-~149: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
packages/apps/vm-instance/README.md
[style] ~51-~51: To form a complete sentence, be sure to include a subject or ‘there’.
Context: ... of SSH public keys for authentication. Can be a single key or a list of keys. | `[...(MISSING_IT_THERE)
[typographical] ~70-~70: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[typographical] ~86-~86: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~88-~88: Consider a shorter alternative to avoid wordiness.
Context: ...tted Memory* - Memory is over-committed in order to achieve a higher workload density. - ...(IN_ORDER_TO_PREMIUM)
[style] ~101-~101: Consider a shorter alternative to avoid wordiness.
Context: ...given to the compute threads of the VM. In order to ensure this, some additional cores (dep...(IN_ORDER_TO_PREMIUM)
[style] ~110-~110: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~113-~113: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~116-~116: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
[style] ~118-~118: Consider a shorter alternative to avoid wordiness.
Context: ...NUMA topology is reflected in the guest in order to optimize guest sided cache utilizatio...(IN_ORDER_TO_PREMIUM)
[style] ~132-~132: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Bursta...(IN_ORDER_TO_PREMIUM)
[typographical] ~135-~135: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~152-~152: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~155-~155: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~158-~158: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
🪛 Markdownlint
packages/apps/vm-disk/README.md
19-19: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
25-25: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
31-31: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
163-163: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
163-163: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
164-164: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
164-164: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
165-165: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
165-165: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
166-166: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
166-166: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
167-167: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
167-167: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
168-168: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
168-168: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
169-169: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
169-169: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
170-170: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
170-170: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
171-171: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
171-171: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
172-172: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
172-172: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
173-173: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
173-173: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
174-174: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
174-174: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
175-175: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
175-175: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
176-176: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
176-176: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
177-177: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
177-177: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
178-178: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
178-178: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
179-179: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
179-179: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
180-180: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
180-180: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
181-181: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
181-181: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
182-182: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
182-182: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
183-183: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
183-183: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
184-184: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
184-184: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
185-185: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
185-185: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
186-186: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
186-186: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
187-187: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
187-187: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
188-188: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
188-188: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
189-189: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
189-189: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
190-190: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
190-190: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
191-191: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
191-191: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
192-192: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
192-192: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
193-193: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
193-193: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
194-194: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
194-194: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
195-195: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
195-195: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
196-196: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
196-196: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
197-197: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
197-197: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
198-198: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
198-198: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
199-199: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
199-199: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
200-200: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
200-200: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
201-201: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
201-201: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
202-202: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
202-202: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
203-203: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
203-203: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
204-204: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
204-204: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
205-205: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
205-205: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
206-206: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
206-206: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
207-207: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
207-207: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
208-208: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
208-208: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
209-209: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
209-209: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
210-210: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
210-210: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
211-211: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
211-211: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
212-212: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
212-212: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
216-216: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
216-216: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
217-217: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
217-217: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
218-218: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
218-218: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
219-219: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
219-219: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
220-220: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
220-220: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
221-221: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
221-221: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
222-222: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
222-222: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
223-223: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
223-223: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
224-224: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
224-224: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
225-225: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
225-225: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
226-226: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
226-226: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
227-227: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
227-227: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
228-228: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
228-228: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
229-229: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
229-229: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
230-230: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
230-230: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
231-231: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
231-231: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
232-232: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
232-232: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
233-233: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
233-233: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
234-234: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
234-234: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
235-235: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
235-235: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
236-236: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
236-236: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
237-237: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
237-237: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
238-238: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
238-238: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
239-239: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
239-239: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
240-240: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
240-240: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
241-241: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
241-241: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
242-242: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
242-242: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
243-243: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
243-243: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
244-244: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
244-244: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
245-245: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
245-245: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
246-246: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
246-246: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
247-247: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
247-247: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
248-248: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
248-248: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
249-249: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
249-249: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
250-250: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
250-250: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
251-251: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
251-251: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
252-252: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
252-252: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
253-253: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
253-253: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
254-254: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
254-254: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
255-255: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
255-255: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
256-256: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
256-256: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
257-257: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
257-257: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
258-258: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
258-258: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
259-259: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
259-259: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
packages/apps/vm-instance/README.md
19-19: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
25-25: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
31-31: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
52-52: Expected: leading_and_trailing; Actual: leading_only; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
53-53: Expected: leading_and_trailing; Actual: trailing_only; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
172-172: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
172-172: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
173-173: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
173-173: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
174-174: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
174-174: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
175-175: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
175-175: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
176-176: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
176-176: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
177-177: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
177-177: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
178-178: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
178-178: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
179-179: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
179-179: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
180-180: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
180-180: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
181-181: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
181-181: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
182-182: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
182-182: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
183-183: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
183-183: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
184-184: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
184-184: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
185-185: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
185-185: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
186-186: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
186-186: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
187-187: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
187-187: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
188-188: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
188-188: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
189-189: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
189-189: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
190-190: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
190-190: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
191-191: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
191-191: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
192-192: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
192-192: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
193-193: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
193-193: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
194-194: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
194-194: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
195-195: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
195-195: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
196-196: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
196-196: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
197-197: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
197-197: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
198-198: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
198-198: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
199-199: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
199-199: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
200-200: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
200-200: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
201-201: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
201-201: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
202-202: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
202-202: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
203-203: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
203-203: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
204-204: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
204-204: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
205-205: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
205-205: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
206-206: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
206-206: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
207-207: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
207-207: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
208-208: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
208-208: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
209-209: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
209-209: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
210-210: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
210-210: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
211-211: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
211-211: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
212-212: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
212-212: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
213-213: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
213-213: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
214-214: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
214-214: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
215-215: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
215-215: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
216-216: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
216-216: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
217-217: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
217-217: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
218-218: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
218-218: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
219-219: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
219-219: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
220-220: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
220-220: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
221-221: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
221-221: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
225-225: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
225-225: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
226-226: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
226-226: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
227-227: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
227-227: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
228-228: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
228-228: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
229-229: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
229-229: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
230-230: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
230-230: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
231-231: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
231-231: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
232-232: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
232-232: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
233-233: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
233-233: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
234-234: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
234-234: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
235-235: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
235-235: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
236-236: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
236-236: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
237-237: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
237-237: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
238-238: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
238-238: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
239-239: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
239-239: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
240-240: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
240-240: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
241-241: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
241-241: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
242-242: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
242-242: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
243-243: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
243-243: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
244-244: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
244-244: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
245-245: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
245-245: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
246-246: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
246-246: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
247-247: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
247-247: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
248-248: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
248-248: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
249-249: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
249-249: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
250-250: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
250-250: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
251-251: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
251-251: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
252-252: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
252-252: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
253-253: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
253-253: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
254-254: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
254-254: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
255-255: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
255-255: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
256-256: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
256-256: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
257-257: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
257-257: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
258-258: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
258-258: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
259-259: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
259-259: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
260-260: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
260-260: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
261-261: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
261-261: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
262-262: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
262-262: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
263-263: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
263-263: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
264-264: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
264-264: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
265-265: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
265-265: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
266-266: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
266-266: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
267-267: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
267-267: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
268-268: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
268-268: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
53-53: Expected: 3; Actual: 1; Too few cells, row will be missing data
Table column count(MD056, table-column-count)
🪛 yamllint
packages/apps/vm-disk/templates/dashboard-resourcemap.yaml
[error] 4-4: syntax error: expected , but found ''
(syntax)
packages/apps/vm-disk/templates/dv.yaml
[error] 11-11: syntax error: could not find expected ':'
(syntax)
packages/apps/vm-disk/values.yaml
[error] 7-7: trailing spaces
(trailing-spaces)
packages/apps/vm-disk/values2.yaml
[error] 7-7: trailing spaces
(trailing-spaces)
packages/apps/vm-disk/values3.yaml
[error] 7-7: trailing spaces
(trailing-spaces)
packages/apps/vm-instance/templates/vm.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/apps/vm-instance/values.yaml
[error] 21-21: trailing spaces
(trailing-spaces)
[warning] 23-23: wrong indentation: expected 0 but found 2
(indentation)
🔇 Additional comments (40)
packages/apps/vm-disk/templates/dashboard-resourcemap.yaml (3)
1-12
: LGTM: Role definition is well-structured and follows Kubernetes best practices.The Role resource is correctly defined with appropriate apiVersion and kind. It grants specific, limited permissions for 'datavolumes' in the 'cdi.kubevirt.io' API group, adhering to the principle of least privilege. The use of "get", "list", and "watch" verbs is suitable for read-only access to the specified resource.
🧰 Tools
🪛 yamllint
[error] 4-4: syntax error: expected , but found ''
(syntax)
4-4
: Note: Ignore yamllint syntax error for Helm template.The yamllint tool reported a syntax error on this line, but it's a false positive due to the Helm templating syntax
{{ .Release.Name }}
. YAML linters often struggle with template placeholders. This is not an actual error in your Kubernetes manifest.🧰 Tools
🪛 yamllint
[error] 4-4: syntax error: expected , but found ''
(syntax)
4-4
: Verify Helm template rendering for dynamic values.The Role name and resourceNames use Helm templating with
{{ .Release.Name }}
. This approach allows for dynamic naming based on the release, which is good for flexibility and avoiding naming conflicts. However, ensure that:
- The release name is always set and follows a consistent naming convention.
- The resulting names meet Kubernetes naming requirements (e.g., lowercase, alphanumeric characters, '-' allowed).
To confirm proper rendering, you can use the
helm template
command:Also applies to: 11-11
🧰 Tools
🪛 yamllint
[error] 4-4: syntax error: expected , but found ''
(syntax)
packages/apps/vm-disk/values.yaml (4)
8-10
: Clarify usage of the source parameterThe
source
parameter is defined as an object, but its potential options (http
andupload
) are commented out. This might be confusing for users.Could you please clarify:
- Is leaving the
source
object empty a valid configuration?- Should users uncomment and configure one of the options (
http
orupload
)?- Are there any other valid options for the
source
parameter?Consider adding a comment explaining the expected usage of this parameter to improve user understanding.
11-11
: LGTM: optical parameterThe
optical
parameter is correctly set tofalse
, which aligns with the description provided in the comments.
12-12
: LGTM: storage parameterThe
storage
parameter is set to5Gi
, which is a reasonable default disk size. The use of Gi (Gibibytes) is consistent with Kubernetes resource specifications.
13-13
: Verify the "replicated" storage classThe
storageClass
parameter is set to "replicated", which suggests that the default storage class uses replication for data redundancy. This is generally a good practice for VM disks.Please ensure that:
- The "replicated" storage class exists in the target Kubernetes clusters.
- This storage class meets the performance and reliability requirements for VM disks.
You may want to add a comment explaining the characteristics of this storage class to help users understand its implications.
packages/apps/vm-disk/values3.yaml (1)
1-2
: LGTM: Well-structured section headerThe "Common parameters" section header is clear and follows good documentation practices.
packages/apps/vm-disk/templates/dv.yaml (2)
1-2
: LGTM: API version and resource kind are correctly specified.The API version
cdi.kubevirt.io/v1beta1
and resource kindDataVolume
are correctly defined for creating a DataVolume resource in KubeVirt/CDI.
11-11
: Note: Ignore yamllint error for Helm template syntax.The yamllint tool reported a syntax error on this line, but it's a false positive. The
{{- if .Values.source }}
is valid Helm template syntax and will be processed before YAML parsing. No action is required to address this error.🧰 Tools
🪛 yamllint
[error] 11-11: syntax error: could not find expected ':'
(syntax)
packages/apps/vm-instance/Chart.yaml (3)
20-20
: Explain the reasoning behind the version downgrade.The chart version has been downgraded from 0.4.0 to 0.1.0. This is an unusual change as versions typically increase. Please provide context for this change:
- Is this a complete rewrite or major refactor of the chart?
- Are we resetting the versioning scheme for a specific reason?
- How does this impact existing deployments or upgrades?
It's crucial to understand the motivation behind this change to ensure proper version management and to avoid potential confusion for users of this chart.
3-3
: Please clarify the rationale behind the name change.The chart name has been changed from "virtual-machine" to "vm-instance". While this might align better with a new naming convention, it's important to consider the following:
- Does this change affect any other parts of the system that might be referencing this chart?
- Is this part of a larger renaming effort?
- Have all necessary documentation and references been updated to reflect this change?
To ensure consistency, let's check for any remaining references to the old name:
#!/bin/bash # Search for references to the old name "virtual-machine" in yaml files rg --type yaml "name:\s*virtual-machine" -g "!Chart.yaml"
26-26
: Clarify the significant change in appVersion.The appVersion has been changed from "1.16.1" to "0.1.0", which is a substantial downgrade. This raises several questions:
- Does this reflect a major change in the underlying application?
- How does this align with the chart version change?
- Are there any compatibility issues to be aware of with this change?
Additionally, the appVersion now matches the chart version. Is this intentional, and does it indicate a new versioning strategy where the chart and application versions will be kept in sync?
Let's check if this change is consistent across other files:
✅ Verification successful
appVersion Downgrade Verified and Aligned with Chart Version
The
appVersion
change from "1.16.1" to "0.1.0" is isolated topackages/apps/vm-instance/Chart.yaml
. This aligns the application version with the chart version, indicating a new versioning strategy to keep both in sync. No compatibility issues were found as there are no other references to the oldappVersion
.🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Search for references to the old appVersion "1.16.1" in yaml files rg --type yaml "appVersion:\s*\"1.16.1\"" -g "!Chart.yaml"Length of output: 59
Script:
#!/bin/bash # Re-run the search for references to the old appVersion "1.16.1" in YAML files, excluding Chart.yaml rg --type yaml 'appVersion:\s*"1\.16\.1"' -g '!Chart.yaml'Length of output: 60
packages/apps/vm-instance/values.yaml (2)
26-30
: Clarify handling of empty resource values.The
cpu
andmemory
values are now set to empty strings. This change might be related to the introduction of instance types, which could define these resources. However, it's not clear how these empty values will be interpreted.Please clarify:
- How will these empty values be handled?
- Will they default to values defined by the
instanceType
?- Should we consider removing these fields if they're no longer needed?
Consider adding comments to explain the expected behavior or remove these fields if they're redundant.
To verify how these empty values are handled, you can run the following script:
#!/bin/bash # Description: Search for handling of empty resource values in the codebase # Test: Search for handling of empty CPU values echo "Searching for handling of empty CPU values:" rg --type go 'cpu.*=.*""' -C 5 # Test: Search for handling of empty memory values echo "Searching for handling of empty memory values:" rg --type go 'memory.*=.*""' -C 5 # Note: Review the output to understand how empty resource values are processed
12-16
: Verify compatibility of default instanceType and instanceProfile.The addition of
instanceType
andinstanceProfile
parameters aligns well with the PR objectives. The default values look reasonable, but please ensure that "u1.medium" is compatible with the "windows.10.virtio" profile.To verify the compatibility, you can run the following script:
✅ Verification successful
Default
instanceType
andinstanceProfile
are compatible.The definitions for
u1.medium
andwindows.10.virtio
have been successfully located and are compatible with each other.🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify that the default instanceType is compatible with the default instanceProfile # Test: Search for the definition of u1.medium instance type echo "Searching for u1.medium instance type definition:" rg --type yaml "u1\.medium" -C 5 # Test: Search for the definition of windows.10.virtio profile echo "Searching for windows.10.virtio profile definition:" rg --type yaml "windows\.10\.virtio" -C 5 # Note: Review the output to ensure that the instance type and profile are compatibleLength of output: 715
Script:
#!/bin/bash # Description: Verify that the default instanceType is compatible with the default instanceProfile # Test: Search for the definition of u1.medium instance type echo "Searching for u1.medium instance type definition:" rg --type yaml "u1\.medium" -C 5 # Test: Search for the definition of windows.10.virtio profile echo "Searching for windows.10.virtio profile definition:" rg --type yaml "windows\.10\.virtio" -C 5 # Note: Review the output to ensure that the instance type and profile are compatibleLength of output: 4790
packages/apps/vm-instance/templates/vm.yaml (2)
27-33
: LGTM! Well-structured template metadata.The VM template metadata and annotations section is well-implemented. The inclusion of the live migration annotation and the use of a helper function for labels are good practices.
72-80
: LGTM! Secure SSH key configuration.The SSH key configuration section is well-implemented. It securely manages SSH keys using Kubernetes secrets and appropriately uses cloud-init for key propagation.
packages/apps/vm-disk/README.md (1)
1-259
: Excellent documentation with minor improvements suggestedThis README file provides comprehensive and well-structured information about virtual machines, their configurations, and supported operating systems. The document successfully covers key aspects such as deployment details, access methods, various VM series, and supported guest operating systems.
The suggested improvements throughout the review are primarily focused on enhancing readability, consistency, and minor grammatical issues. Implementing these changes will further elevate the quality of this documentation, making it even more user-friendly and professional.
Overall, this is a valuable resource for users working with virtual machines in the Cozystack environment. Great job on creating such a detailed and informative document!
🧰 Tools
🪛 LanguageTool
[typographical] ~61-~61: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[typographical] ~77-~77: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~79-~79: Consider a shorter alternative to avoid wordiness.
Context: ...tted Memory* - Memory is over-committed in order to achieve a higher workload density. - ...(IN_ORDER_TO_PREMIUM)
[style] ~92-~92: Consider a shorter alternative to avoid wordiness.
Context: ...given to the compute threads of the VM. In order to ensure this, some additional cores (dep...(IN_ORDER_TO_PREMIUM)
[style] ~101-~101: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~104-~104: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~107-~107: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
[style] ~109-~109: Consider a shorter alternative to avoid wordiness.
Context: ...NUMA topology is reflected in the guest in order to optimize guest sided cache utilizatio...(IN_ORDER_TO_PREMIUM)
[style] ~123-~123: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Bursta...(IN_ORDER_TO_PREMIUM)
[typographical] ~126-~126: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~143-~143: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~146-~146: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~149-~149: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
🪛 Markdownlint
19-19: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
25-25: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
31-31: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
163-163: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
163-163: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
164-164: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
164-164: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
165-165: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
165-165: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
166-166: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
166-166: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
167-167: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
167-167: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
168-168: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
168-168: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
169-169: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
169-169: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
170-170: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
170-170: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
171-171: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
171-171: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
172-172: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
172-172: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
173-173: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
173-173: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
174-174: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
174-174: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
175-175: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
175-175: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
176-176: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
176-176: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
177-177: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
177-177: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
178-178: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
178-178: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
179-179: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
179-179: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
180-180: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
180-180: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
181-181: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
181-181: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
182-182: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
182-182: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
183-183: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
183-183: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
184-184: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
184-184: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
185-185: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
185-185: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
186-186: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
186-186: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
187-187: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
187-187: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
188-188: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
188-188: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
189-189: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
189-189: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
190-190: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
190-190: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
191-191: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
191-191: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
192-192: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
192-192: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
193-193: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
193-193: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
194-194: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
194-194: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
195-195: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
195-195: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
196-196: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
196-196: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
197-197: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
197-197: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
198-198: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
198-198: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
199-199: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
199-199: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
200-200: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
200-200: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
201-201: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
201-201: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
202-202: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
202-202: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
203-203: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
203-203: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
204-204: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
204-204: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
205-205: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
205-205: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
206-206: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
206-206: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
207-207: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
207-207: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
208-208: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
208-208: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
209-209: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
209-209: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
210-210: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
210-210: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
211-211: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
211-211: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
212-212: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
212-212: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
216-216: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
216-216: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
217-217: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
217-217: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
218-218: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
218-218: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
219-219: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
219-219: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
220-220: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
220-220: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
221-221: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
221-221: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
222-222: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
222-222: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
223-223: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
223-223: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
224-224: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
224-224: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
225-225: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
225-225: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
226-226: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
226-226: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
227-227: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
227-227: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
228-228: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
228-228: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
229-229: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
229-229: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
230-230: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
230-230: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
231-231: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
231-231: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
232-232: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
232-232: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
233-233: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
233-233: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
234-234: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
234-234: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
235-235: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
235-235: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
236-236: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
236-236: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
237-237: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
237-237: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
238-238: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
238-238: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
239-239: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
239-239: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
240-240: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
240-240: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
241-241: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
241-241: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
242-242: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
242-242: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
243-243: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
243-243: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
244-244: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
244-244: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
245-245: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
245-245: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
246-246: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
246-246: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
247-247: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
247-247: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
248-248: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
248-248: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
249-249: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
249-249: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
250-250: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
250-250: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
251-251: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
251-251: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
252-252: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
252-252: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
253-253: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
253-253: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
254-254: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
254-254: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
255-255: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
255-255: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
256-256: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
256-256: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
257-257: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
257-257: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
258-258: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
258-258: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
259-259: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
259-259: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
packages/apps/vm-instance/README.md (3)
1-10
: Introduction and Deployment Details: Well-structured and informative.The introduction provides a clear definition of a Virtual Machine and its purpose. The deployment details section effectively introduces KubeVirt and provides useful links for further information. This section serves as a good starting point for users new to the concept.
55-161
: VM Series descriptions: Comprehensive and well-explained.This section provides detailed descriptions of various VM series (U, O, CX, M, RT), including their characteristics and intended use cases. The information is well-structured and offers valuable insights into the different options available to users.
The comprehensive explanations of each series will help users make informed decisions when selecting the appropriate VM type for their needs.
🧰 Tools
🪛 LanguageTool
[typographical] ~70-~70: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[typographical] ~86-~86: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~88-~88: Consider a shorter alternative to avoid wordiness.
Context: ...tted Memory* - Memory is over-committed in order to achieve a higher workload density. - ...(IN_ORDER_TO_PREMIUM)
[style] ~101-~101: Consider a shorter alternative to avoid wordiness.
Context: ...given to the compute threads of the VM. In order to ensure this, some additional cores (dep...(IN_ORDER_TO_PREMIUM)
[style] ~110-~110: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~113-~113: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~116-~116: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
[style] ~118-~118: Consider a shorter alternative to avoid wordiness.
Context: ...NUMA topology is reflected in the guest in order to optimize guest sided cache utilizatio...(IN_ORDER_TO_PREMIUM)
[style] ~132-~132: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Bursta...(IN_ORDER_TO_PREMIUM)
[typographical] ~135-~135: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~152-~152: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~155-~155: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~158-~158: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
163-166
: Development section: Concise and informative.This brief section effectively directs users to the DEVELOPMENT.md file for information on customizing or creating instancetypes and preferences. It provides a clear next step for users interested in development.
packages/system/kubevirt-common-instancetypes/templates/preferences.yaml (19)
1-25
: LGTM: Well-defined Alpine Linux preferenceThe VirtualMachineClusterPreference for Alpine Linux is well-structured and appropriate. It correctly uses virtio for disk and interface, which is good for performance. The minimal resource requirements (1 CPU, 512Mi memory) align well with Alpine's lightweight nature.
26-52
: Approved: CentOS 7 preference with deprecation noticeThe VirtualMachineClusterPreference for CentOS 7 is well-defined and consistent with the Alpine preference structure. The inclusion of the deprecation label (
instancetype.kubevirt.io/deprecated: "true"
) is crucial, as CentOS 7 has reached end-of-life. The resource requirements (1 CPU, 1Gi memory) are appropriate for a basic CentOS 7 installation.
83-110
: Approved: Enhanced CentOS Stream 10 preferenceThe VirtualMachineClusterPreference for CentOS Stream 10 is well-defined and includes several improvements:
- The addition of
preferredDiskDedicatedIoThread
can enhance I/O performance.- The inclusion of
preferredRng
improves security by ensuring a good source of randomness.- The increased memory requirement (1.5Gi) is appropriate for a newer OS version.
These enhancements demonstrate good practices in virtual machine configuration, balancing performance, security, and resource allocation.
232-259
: Approved: Well-configured CentOS Stream 9 preferenceThe VirtualMachineClusterPreference for CentOS Stream 9 is well-defined and includes several positive aspects:
- The inclusion of enhanced features like
preferredDiskDedicatedIoThread
andpreferredRng
, which can improve performance and security.- Consistent resource requirements with other CentOS Stream versions (1 CPU, 1.5Gi memory).
- Correct omission of the deprecation label, as CentOS Stream 9 is a current, supported version.
This configuration demonstrates good practices in virtual machine configuration, balancing performance, security, and resource allocation for a current OS version.
325-350
: Approved: Well-configured Cirros preferenceThe VirtualMachineClusterPreference for Cirros is excellently configured:
- The minimal resource requirements (1 CPU, 256Mi memory) are perfectly aligned with Cirros's nature as a very lightweight Linux distribution.
- The use of virtio for both disk and interface models is good for performance.
- The simplified configuration, compared to other distributions, is appropriate for Cirros's minimal design.
This preference demonstrates a good understanding of Cirros's characteristics and requirements, providing an efficient setup for this lightweight OS.
351-384
: Approved: Modern and secure Fedora (amd64) preferenceThe VirtualMachineClusterPreference for Fedora (amd64) is excellently configured with modern and secure features:
- Enhanced performance features: network interface multi-queue support and RNG.
- Secure boot with EFI, providing an additional layer of security.
- Appropriate resource allocation (1 CPU, 2Gi memory) for a full-featured modern Linux distribution.
- Utilization of modern virtualization features, including SMM (System Management Mode).
This configuration demonstrates a good balance between performance, security, and resource allocation, taking full advantage of modern virtualization capabilities for Fedora on amd64 architecture.
414-440
: Approved: Well-configured OpenSUSE Leap preferenceThe VirtualMachineClusterPreference for OpenSUSE Leap is well-defined and includes several positive aspects:
- Consistent resource allocation (1 CPU, 2Gi memory) with other modern Linux distributions, which is appropriate for a full-featured OS.
- Inclusion of RNG support, enhancing security.
- Use of virtio for both disk and interface models, which is good for performance.
This configuration demonstrates good practices in virtual machine configuration, balancing performance, security, and resource allocation for OpenSUSE Leap. It's consistent with the approach taken for other modern Linux distributions in this file.
291-324
: Approved with suggestion: CentOS Stream 9 DPDK preferenceThe VirtualMachineClusterPreference for CentOS Stream 9 with DPDK support is well-configured. It appropriately includes:
- CPU topology preferences and network interface multi-queue support, which are suitable for DPDK workloads.
- Increased CPU requirement (2 CPUs), beneficial for DPDK's multi-core usage.
- Enhanced features like
preferredDiskDedicatedIoThread
andpreferredRng
, improving performance and security.However, consider the following:
Review the memory requirement (1.5Gi) for DPDK workloads. DPDK applications often benefit from larger memory allocations. Consider increasing this value to ensure optimal performance for DPDK workloads. To verify typical DPDK memory requirements, you can run:
#!/bin/bash # Search for DPDK memory requirements in the repository rg --type md "DPDK.*memory.*requirements" -A 5
111-141
: Approved with suggestion: CentOS Stream 10 Desktop preferenceThe VirtualMachineClusterPreference for CentOS Stream 10 Desktop is well-structured and correctly includes desktop-specific settings. It maintains the performance and security enhancements from the non-desktop version, which is excellent.
However, similar to the CentOS 7 Desktop preference:
Consider reviewing the resource requirements (1 CPU, 1.5Gi memory) for a desktop environment. These might be low for a smooth desktop experience, especially for a newer OS version. To verify typical CentOS Stream 10 desktop requirements, you can run:
#!/bin/bash # Search for CentOS Stream 10 system requirements in the repository rg --type md "CentOS Stream 10.*system requirements" -A 5
531-556
: Approved with suggestion: RHEL 7 preferenceThe VirtualMachineClusterPreference for RHEL 7 is appropriately configured:
- The simpler configuration, without advanced features, is suitable for this older OS version.
- Lower resource requirements (1 CPU, 1Gi memory) are appropriate for RHEL 7.
- Use of virtio for disk and interface models is good for performance.
However, consider the following enhancement:
Given that RHEL 7 is approaching end of life, consider adding a deprecation label (e.g.,
instancetype.kubevirt.io/deprecated: "true"
) to this preference. This would alert users to the aging status of this OS version. To verify the current support status of RHEL 7, you can run:#!/bin/bash # Search for information about RHEL 7 support status rg --type md " --- `441-467`: **Approved with suggestion: OpenSUSE Tumbleweed preference** The VirtualMachineClusterPreference for OpenSUSE Tumbleweed is well-configured, maintaining consistency with the OpenSUSE Leap preference. This includes appropriate resource allocation (1 CPU, 2Gi memory), RNG support for enhanced security, and the use of virtio for disk and interface models. However, consider the following enhancement: Given that Tumbleweed is a rolling release distribution, it might support newer features or benefit from different optimizations compared to Leap. Consider researching if there are any Tumbleweed-specific optimizations or newer features that could be incorporated. To investigate this, you can run: --- `502-530`: **Approved with suggestions: RHEL 10 Beta (arm64) preference** The VirtualMachineClusterPreference for RHEL 10 Beta (arm64) is well-configured, maintaining consistency with the amd64 version in terms of resources (1 CPU, 1.5Gi memory) and most features. It includes important performance enhancements like dedicated I/O thread and RNG. However, consider the following points: 1. The absence of SMM (System Management Mode) and EFI secure boot, which are present in the amd64 version, might be due to differences in arm64 support for these features. It's worth verifying if these features are supported for RHEL 10 on arm64 and including them if possible. 2. As with the amd64 version, the resource requirements seem a bit low for a modern RHEL version. To address these points, you can run: --- `385-413`: **Approved with suggestion: Fedora (arm64) preference** The VirtualMachineClusterPreference for Fedora (arm64) is well-configured, maintaining consistency with the amd64 version in terms of resources (1 CPU, 2Gi memory) and most features. It includes important performance enhancements like network interface multi-queue support and RNG. However, there's one point to consider: The absence of SMM (System Management Mode) and EFI secure boot, which are present in the amd64 version, might be due to differences in arm64 support for these features. It's worth verifying if these features are supported for Fedora on arm64 and including them if possible. To check this, you can run: --- `260-290`: **Approved with suggestion: CentOS Stream 9 Desktop preference** The VirtualMachineClusterPreference for CentOS Stream 9 Desktop is well-structured and correctly includes desktop-specific settings. It maintains the performance and security enhancements from the non-desktop version, which is excellent. However, similar to previous desktop preferences: Consider reviewing the resource requirements (1 CPU, 1.5Gi memory) for a desktop environment. These might be low for a smooth desktop experience, especially for a newer OS version. To verify typical CentOS Stream 9 desktop requirements, you can run: --- `199-231`: **Approved with suggestion: CentOS Stream 8 DPDK preference** The VirtualMachineClusterPreference for CentOS Stream 8 with DPDK support is well-configured. The CPU topology preferences and network interface multi-queue support are appropriate for DPDK workloads. The increased CPU requirement (2 CPUs) is suitable for DPDK, which benefits from multiple cores. However, consider the following: Review the memory requirement (1.5Gi) for DPDK workloads. DPDK applications often benefit from larger memory allocations. Consider increasing this value to ensure optimal performance for DPDK workloads. To verify typical DPDK memory requirements, you can run: --- `169-198`: **Approved with suggestions: CentOS Stream 8 Desktop preference** The VirtualMachineClusterPreference for CentOS Stream 8 Desktop is well-structured and correctly includes desktop-specific settings. The deprecation label is appropriately maintained. Consider the following enhancements: 1. Review the resource requirements (1 CPU, 1.5Gi memory) for a desktop environment. These might be low for a smooth desktop experience. 2. If supported in CentOS Stream 8, consider adding the enhanced features present in the CentOS Stream 10 preference, such as `preferredDiskDedicatedIoThread` and `preferredRng`. To verify CentOS Stream 8 desktop requirements and feature support, you can run: --- `53-82`: **Approved with suggestion: CentOS 7 Desktop preference** The VirtualMachineClusterPreference for CentOS 7 Desktop is well-structured and correctly includes desktop-specific settings like input device preferences. The deprecation label is appropriately maintained. However, consider reviewing the resource requirements: The current requirements (1 CPU, 1Gi memory) might be low for a desktop environment. Consider increasing these values to ensure a smooth desktop experience. To verify typical CentOS 7 desktop requirements, you can run: --- `468-501`: **Approved with suggestion: RHEL 10 Beta (amd64) preference** The VirtualMachineClusterPreference for RHEL 10 Beta (amd64) is well-configured with advanced features: 1. Inclusion of SMM, EFI secure boot, and RNG, enhancing security. 2. Use of virtio for disk and interface models, with dedicated I/O thread for disk, which can improve performance. 3. Utilization of modern virtualization features. However, consider the following: The resource requirements (1 CPU, 1.5Gi memory) seem a bit low for a modern RHEL version, especially compared to the Fedora configuration (1 CPU, 2Gi memory). Consider reviewing these requirements to ensure they're sufficient for RHEL 10. To verify RHEL 10 system requirements, you can run: --- `142-168`: **Approved with suggestion: CentOS Stream 8 preference** The VirtualMachineClusterPreference for CentOS Stream 8 is well-structured and appropriately includes a deprecation label. The resource requirements are consistent with other CentOS Stream versions. However, consider the following enhancement: If supported in CentOS Stream 8, consider adding the enhanced features present in the CentOS Stream 10 preference, such as `preferredDiskDedicatedIoThread` and `preferredRng`. These could improve performance and security. To verify CentOS Stream 8 feature support, you can run: </blockquote></details> </blockquote></details> </details> <!-- This is an auto-generated comment by CodeRabbit for review status -->
packages/apps/vm-disk/values2.yaml
Outdated
source: | ||
upload: {} | ||
optical: true | ||
storage: 10Gi | ||
storageClass: replicated |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codebase verification
Inconsistent default storage sizes detected.
The default storage size is set to 10Gi
in multiple parts of the codebase. However, in packages/apps/vm-disk/values.yaml
, the storage sizes are set to 5Gi
and 50Gi
.
- Action Required:
- Standardize the storage size to
10Gi
invm-disk
if there are no specific reasons for the deviation. - Document the reasons for different storage sizes if they are intentional based on unique requirements.
- Standardize the storage size to
🔗 Analysis chain
Parameter definitions look good, with a few considerations.
The parameter definitions align well with the provided documentation. Here are some observations and suggestions:
- The
source
parameter's structure allows for future expansion of upload options, which is good for flexibility. - The default
storage
size of10Gi
seems reasonable, but it's worth verifying if this is an appropriate default for most use cases. - Setting
storageClass
toreplicated
suggests data redundancy, which is good for reliability.
Consider the following suggestions:
-
The
optical
parameter is set totrue
by default. This might not be suitable for all use cases. Consider setting it tofalse
by default unless there's a specific reason for it to betrue
. -
Verify that
10Gi
is an appropriate default storage size for most use cases. If it's too large or small, consider adjusting it or providing a comment explaining the choice.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Verify the usage of storage size in other parts of the codebase
# Test: Search for references to storage size
rg --type yaml '(storage|size):\s*10Gi' --glob '!packages/apps/vm-disk/values2.yaml'
# Test: Search for other default storage sizes
rg --type yaml '(storage|size):\s*\d+[GM]i' --glob '!packages/apps/vm-disk/values2.yaml'
Length of output: 3671
packages/apps/vm-disk/values3.yaml
Outdated
source: | ||
#http: {} | ||
#upload: {} | ||
optical: false | ||
storage: 50Gi | ||
storageClass: replicated |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Consider clarifying parameter definitions and default values
The parameter definitions look good overall, but there are a few points to consider:
-
The
source
parameter has commented-out options. Consider adding a comment explaining that users should uncomment and configure one of these options as needed. -
The default
storage
value of 50Gi might be too large for some use cases. Consider if a smaller default value would be more appropriate, or if it should be left undefined for users to specify based on their needs. -
The
storageClass
is set to "replicated". Ensure that this is a generally available storage class across different environments, or consider leaving it undefined by default.
Consider updating the source
parameter like this:
source: {}
# Uncomment and configure one of the following options:
#http: {}
#upload: {}
Also, consider adding a comment about the storageClass
:
storageClass: replicated # Adjust this value based on your environment's available storage classes
## @param systemDisk.origin The HTTP URL for source image | ||
## @param systemDisk.storage The size of the disk allocated for the virtual machine | ||
## @param systemDisk.storageClass StorageClass used to store the data | ||
## | ||
disks: | ||
- name: "win10-iso" | ||
- name: "win10-system" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Enhance disk configurations and fix indentation.
The addition of the disks
section is good for flexibility. However, consider adding more details for each disk, such as size, type, and other relevant properties. This will provide better clarity and control over the VM's storage configuration.
Also, please fix the indentation of the disk entries. They should be aligned with the disks:
key.
Here's a suggested improvement:
disks:
- name: "win10-iso"
size: 10Gi
type: cdrom
- name: "win10-system"
size: 50Gi
type: disk
storageClass: standard
🧰 Tools
🪛 yamllint
[error] 21-21: trailing spaces
(trailing-spaces)
[warning] 23-23: wrong indentation: expected 0 but found 2
(indentation)
networks: | ||
- name: default | ||
pod: {} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Consider enhancing network configuration flexibility.
While the current network configuration is functional, it might be too restrictive for various use cases.
Consider allowing for multiple network configurations and different network types. For example:
networks:
{{- range .Values.networks }}
- name: {{ .name }}
{{ .type | default "pod" }}: {}
{{- end }}
This would allow users to specify multiple networks with different types (e.g., pod, multus, bridge) in the values file, providing more flexibility for different networking requirements.
packages/apps/vm-disk/README.md
Outdated
## Resources | ||
|
||
The following instancetype resources are provided by Cozystack: | ||
|
||
Name | vCPUs | Memory | ||
-----|-------|------- | ||
cx1.2xlarge | 8 | 16Gi | ||
cx1.4xlarge | 16 | 32Gi | ||
cx1.8xlarge | 32 | 64Gi | ||
cx1.large | 2 | 4Gi | ||
cx1.medium | 1 | 2Gi | ||
cx1.xlarge | 4 | 8Gi | ||
gn1.2xlarge | 8 | 32Gi | ||
gn1.4xlarge | 16 | 64Gi | ||
gn1.8xlarge | 32 | 128Gi | ||
gn1.xlarge | 4 | 16Gi | ||
m1.2xlarge | 8 | 64Gi | ||
m1.4xlarge | 16 | 128Gi | ||
m1.8xlarge | 32 | 256Gi | ||
m1.large | 2 | 16Gi | ||
m1.xlarge | 4 | 32Gi | ||
n1.2xlarge | 16 | 32Gi | ||
n1.4xlarge | 32 | 64Gi | ||
n1.8xlarge | 64 | 128Gi | ||
n1.large | 4 | 8Gi | ||
n1.medium | 4 | 4Gi | ||
n1.xlarge | 8 | 16Gi | ||
o1.2xlarge | 8 | 32Gi | ||
o1.4xlarge | 16 | 64Gi | ||
o1.8xlarge | 32 | 128Gi | ||
o1.large | 2 | 8Gi | ||
o1.medium | 1 | 4Gi | ||
o1.micro | 1 | 1Gi | ||
o1.nano | 1 | 512Mi | ||
o1.small | 1 | 2Gi | ||
o1.xlarge | 4 | 16Gi | ||
rt1.2xlarge | 8 | 32Gi | ||
rt1.4xlarge | 16 | 64Gi | ||
rt1.8xlarge | 32 | 128Gi | ||
rt1.large | 2 | 8Gi | ||
rt1.medium | 1 | 4Gi | ||
rt1.micro | 1 | 1Gi | ||
rt1.small | 1 | 2Gi | ||
rt1.xlarge | 4 | 16Gi | ||
u1.2xlarge | 8 | 32Gi | ||
u1.2xmedium | 2 | 4Gi | ||
u1.4xlarge | 16 | 64Gi | ||
u1.8xlarge | 32 | 128Gi | ||
u1.large | 2 | 8Gi | ||
u1.medium | 1 | 4Gi | ||
u1.micro | 1 | 1Gi | ||
u1.nano | 1 | 512Mi | ||
u1.small | 1 | 2Gi | ||
u1.xlarge | 4 | 16Gi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Improve table formatting and consider grouping instance types
The Resources section provides a comprehensive list of instancetype resources. To improve readability and organization, consider the following suggestions:
- Add leading and trailing pipes to each row of the table for better Markdown compatibility.
- Consider grouping the instance types by series (cx, gn, m1, n1, o1, rt1, u1) and adding subheaders for each group.
- Align the columns for better visual structure.
Here's an example of how you could start the improved table:
| Name | vCPUs | Memory |
|--------------|-------|--------|
| **CX Series**| | |
| cx1.medium | 1 | 2Gi |
| cx1.large | 2 | 4Gi |
| cx1.xlarge | 4 | 8Gi |
| cx1.2xlarge | 8 | 16Gi |
| cx1.4xlarge | 16 | 32Gi |
| cx1.8xlarge | 32 | 64Gi |
Repeat this structure for each series of instance types.
🧰 Tools
🪛 Markdownlint
163-163: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
163-163: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
164-164: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
164-164: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
165-165: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
165-165: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
166-166: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
166-166: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
167-167: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
167-167: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
168-168: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
168-168: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
169-169: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
169-169: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
170-170: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
170-170: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
171-171: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
171-171: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
172-172: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
172-172: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
173-173: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
173-173: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
174-174: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
174-174: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
175-175: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
175-175: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
176-176: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
176-176: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
177-177: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
177-177: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
178-178: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
178-178: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
179-179: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
179-179: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
180-180: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
180-180: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
181-181: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
181-181: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
182-182: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
182-182: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
183-183: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
183-183: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
184-184: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
184-184: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
185-185: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
185-185: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
186-186: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
186-186: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
187-187: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
187-187: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
188-188: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
188-188: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
189-189: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
189-189: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
190-190: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
190-190: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
191-191: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
191-191: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
192-192: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
192-192: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
193-193: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
193-193: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
194-194: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
194-194: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
195-195: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
195-195: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
196-196: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
196-196: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
197-197: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
197-197: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
198-198: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
198-198: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
199-199: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
199-199: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
200-200: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
200-200: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
201-201: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
201-201: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
202-202: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
202-202: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
203-203: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
203-203: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
204-204: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
204-204: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
205-205: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
205-205: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
206-206: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
206-206: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
207-207: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
207-207: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
208-208: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
208-208: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
209-209: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
209-209: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
210-210: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
210-210: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
211-211: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
211-211: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
212-212: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
212-212: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
packages/apps/vm-disk/README.md
Outdated
The following preference resources are provided by Cozystack: | ||
|
||
Name | Guest OS | ||
-----|--------- | ||
alpine | Alpine | ||
centos.7 | CentOS 7 | ||
centos.7.desktop | CentOS 7 | ||
centos.stream10 | CentOS Stream 10 | ||
centos.stream10.desktop | CentOS Stream 10 | ||
centos.stream8 | CentOS Stream 8 | ||
centos.stream8.desktop | CentOS Stream 8 | ||
centos.stream8.dpdk | CentOS Stream 8 | ||
centos.stream9 | CentOS Stream 9 | ||
centos.stream9.desktop | CentOS Stream 9 | ||
centos.stream9.dpdk | CentOS Stream 9 | ||
cirros | Cirros | ||
fedora | Fedora (amd64) | ||
fedora.arm64 | Fedora (arm64) | ||
opensuse.leap | OpenSUSE Leap | ||
opensuse.tumbleweed | OpenSUSE Tumbleweed | ||
rhel.10 | Red Hat Enterprise Linux 10 Beta (amd64) | ||
rhel.10.arm64 | Red Hat Enterprise Linux 10 Beta (arm64) | ||
rhel.7 | Red Hat Enterprise Linux 7 | ||
rhel.7.desktop | Red Hat Enterprise Linux 7 | ||
rhel.8 | Red Hat Enterprise Linux 8 | ||
rhel.8.desktop | Red Hat Enterprise Linux 8 | ||
rhel.8.dpdk | Red Hat Enterprise Linux 8 | ||
rhel.9 | Red Hat Enterprise Linux 9 (amd64) | ||
rhel.9.arm64 | Red Hat Enterprise Linux 9 (arm64) | ||
rhel.9.desktop | Red Hat Enterprise Linux 9 Desktop (amd64) | ||
rhel.9.dpdk | Red Hat Enterprise Linux 9 DPDK (amd64) | ||
rhel.9.realtime | Red Hat Enterprise Linux 9 Realtime (amd64) | ||
sles | SUSE Linux Enterprise Server | ||
ubuntu | Ubuntu | ||
windows.10 | Microsoft Windows 10 | ||
windows.10.virtio | Microsoft Windows 10 (virtio) | ||
windows.11 | Microsoft Windows 11 | ||
windows.11.virtio | Microsoft Windows 11 (virtio) | ||
windows.2k16 | Microsoft Windows Server 2016 | ||
windows.2k16.virtio | Microsoft Windows Server 2016 (virtio) | ||
windows.2k19 | Microsoft Windows Server 2019 | ||
windows.2k19.virtio | Microsoft Windows Server 2019 (virtio) | ||
windows.2k22 | Microsoft Windows Server 2022 | ||
windows.2k22.virtio | Microsoft Windows Server 2022 (virtio) | ||
windows.2k25 | Microsoft Windows Server 2025 | ||
windows.2k25.virtio | Microsoft Windows Server 2025 (virtio) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Improve table formatting and consider grouping operating systems
The Guest OS Preferences section provides a comprehensive list of supported operating systems. To enhance readability and organization, consider the following suggestions:
- Add leading and trailing pipes to each row of the table for better Markdown compatibility.
- Consider grouping the operating systems by type (e.g., Linux distributions, Windows versions) and adding subheaders for each group.
- Align the columns for better visual structure.
Here's an example of how you could start the improved table:
| Name | Guest OS |
|---------------------|--------------------------------------------------|
| **Linux Distributions** | |
| alpine | Alpine |
| centos.7 | CentOS 7 |
| centos.7.desktop | CentOS 7 Desktop |
| ... | ... |
| **Windows** | |
| windows.10 | Microsoft Windows 10 |
| windows.10.virtio | Microsoft Windows 10 (virtio) |
| ... | ... |
This structure will make it easier for users to find the specific operating system they're looking for.
🧰 Tools
🪛 Markdownlint
216-216: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
216-216: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
217-217: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
217-217: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
218-218: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
218-218: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
219-219: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
219-219: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
220-220: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
220-220: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
221-221: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
221-221: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
222-222: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
222-222: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
223-223: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
223-223: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
224-224: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
224-224: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
225-225: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
225-225: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
226-226: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
226-226: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
227-227: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
227-227: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
228-228: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
228-228: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
229-229: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
229-229: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
230-230: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
230-230: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
231-231: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
231-231: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
232-232: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
232-232: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
233-233: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
233-233: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
234-234: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
234-234: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
235-235: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
235-235: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
236-236: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
236-236: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
237-237: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
237-237: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
238-238: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
238-238: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
239-239: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
239-239: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
240-240: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
240-240: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
241-241: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
241-241: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
242-242: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
242-242: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
243-243: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
243-243: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
244-244: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
244-244: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
245-245: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
245-245: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
246-246: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
246-246: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
247-247: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
247-247: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
248-248: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
248-248: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
249-249: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
249-249: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
250-250: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
250-250: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
251-251: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
251-251: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
252-252: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
252-252: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
253-253: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
253-253: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
254-254: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
254-254: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
255-255: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
255-255: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
256-256: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
256-256: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
257-257: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
257-257: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
258-258: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
258-258: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
259-259: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
259-259: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
packages/apps/versions_map
Outdated
kubernetes 0.12.0 31a45c4d | ||
kubernetes 0.13.0 HEAD |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Consider pinning 'kubernetes 0.13.0' to a specific commit hash
While kubernetes 0.12.0
is now pinned to commit 31a45c4d
, kubernetes 0.13.0
remains at HEAD
. Using HEAD
can lead to unpredictable builds due to ongoing changes. Pinning to a specific commit hash ensures consistency and reproducibility.
vm-disk 0.1.0 HEAD | ||
vm-instance 0.1.0 HEAD |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Recommend specifying commit hashes for 'vm-disk' and 'vm-instance'
Currently, both vm-disk 0.1.0
and vm-instance 0.1.0
are using HEAD
. To maintain build stability and prevent unintended changes from affecting the builds, it's advisable to pin these versions to specific commit hashes.
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
c4d4d81
to
07b391a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Outside diff range and nitpick comments (36)
packages/apps/vm-disk/templates/dv.yaml (3)
3-7
: LGTM: Metadata section is well-defined, with a suggestion for naming.The metadata section is correctly structured with appropriate annotations. However, consider enhancing the naming convention to avoid potential conflicts.
Consider modifying the name to include a unique identifier or use a template that ensures uniqueness:
name: {{ printf "%s-%s" .Release.Name (randAlphaNum 5) | trunc 63 | trimSuffix "-" }}This change would create a unique name for each DataVolume, reducing the risk of conflicts in multi-instance deployments.
8-24
: LGTM: Well-structured source configuration with a suggestion for error handling.The source configuration is well-implemented, allowing for flexibility in specifying different source types. The validation check for ensuring only one source type is a good practice.
Consider enhancing the error message in the validation check to provide more context:
{{- if gt (len .Values.source) 1 }} {{- fail (printf "Error: Multiple source types detected. Exactly one type of source (http, upload, or blank) is expected. Current source: %v" .Values.source) }} {{- end }}This change would provide more informative error messages, making it easier for users to identify and correct configuration issues.
🧰 Tools
🪛 yamllint
[error] 11-11: syntax error: could not find expected ':'
(syntax)
25-31
: LGTM: Flexible storage configuration with a suggestion for value validation.The storage configuration is well-structured and allows for flexibility in specifying storage requests and storage class.
Consider adding a validation check for the storage value to prevent potential errors:
{{- if not .Values.storage }} {{- fail "Error: .Values.storage must be specified. Please provide a valid storage request value." }} {{- end }} storage: {{ required "A valid .Values.storage entry is required!" .Values.storage }}This change ensures that a storage value is always provided, preventing potential issues with undefined storage requests.
packages/apps/vm-disk/values.yaml (3)
3-20
: LGTM with a suggestion: Consider adding validation for thesource
parameterThe
source
parameter section is well-documented with clear examples and helpful references to public image URLs. This is valuable for users setting up VM disks.Consider adding validation logic or documentation to ensure that users provide either the
upload
orhttp
sub-parameter, but not both. This could prevent potential misconfigurations.Example validation logic (pseudo-code):
source: oneOf: - upload: {} - http: url: string
22-23
: LGTM with a suggestion: Add more context for theoptical
parameterThe
optical
parameter is clearly defined with an appropriate default value.Consider adding a brief explanation of when a user might want to set this parameter to
true
. This could help users understand the use cases for optical disks in virtual machines.Example:
## @param optical Defines if the disk should be considered as optical (e.g., for CD-ROM or DVD-ROM emulation) optical: false
25-28
: LGTM with suggestions: Enhance guidance for storage parametersThe storage and storageClass parameters are well-defined with reasonable default values.
Consider the following enhancements:
- Add a note about the minimum recommended disk size for different OS types.
- Provide guidance on when to adjust the
storageClass
parameter.Example:
## @param storage The size of the disk allocated for the virtual machine ## Note: Minimum recommended sizes vary by OS. E.g., 5Gi for lightweight distros, 10Gi+ for full desktop environments. storage: 5Gi ## @param storageClass StorageClass used to store the data ## Note: Adjust this based on your cluster's available storage classes and performance requirements. storageClass: replicatedpackages/apps/vm-instance/values.yaml (2)
12-16
: LGTM: Instance type and profile parameters added.The addition of
instanceType
andinstanceProfile
parameters aligns well with the PR objectives. The default values seem appropriate.There's a small typo in the comment for
instanceProfile
. Consider fixing it:-## @param instanceProfile Virtual Machine prefferences profile +## @param instanceProfile Virtual Machine preferences profile
18-23
: Enhance disk configurations with more details.The addition of the
disks
parameter is good for flexibility. However, consider expanding the example to provide more guidance on disk configuration.Here's a suggested improvement for the comment:
## @param disks [array] List of disks to attach ## Example: ## disks: ## - name: "system-disk" ## size: 50Gi ## type: disk ## storageClass: standard ## - name: "data-disk" ## size: 100Gi ## type: disk ## storageClass: high-performance ## - name: "iso-image" ## size: 10Gi ## type: cdrom disks: []This example provides more details about each disk, such as size, type, and storage class, which will offer better clarity and control over the VM's storage configuration.
packages/apps/vm-instance/templates/vm.yaml (5)
36-73
: Comprehensive and flexible VM domain specification.The VM domain specification is well-structured, allowing for flexible resource allocation and disk configuration. The conditional logic for CPU, memory, and disks is particularly noteworthy.
Consider setting a default machine type instead of an empty string, or add a comment explaining why it's intentionally left blank.
Would you like assistance in implementing a configurable machine type or enhancing the network interface configuration to support multiple interfaces?
74-82
: Secure SSH key configuration using secrets.The SSH key configuration is well-implemented, using secrets to store the keys and the noCloud propagation method. This approach aligns with security best practices.
Consider adding support for multiple SSH keys or key rotation to enhance flexibility and security.
Would you like assistance in implementing support for multiple SSH keys or key rotation?
83-95
: Flexible and secure volume configuration.The volume configuration is well-structured, supporting multiple data volumes and securely handling cloud-init data using secrets. The termination grace period is set to a reasonable value.
Consider implementing volume snapshot support or backup mechanisms to enhance data management capabilities.
Would you like assistance in implementing volume snapshot support or backup mechanisms?
96-98
: Basic network configuration implemented.The current network configuration, using a single pod network interface, is functional for basic use cases. However, as mentioned in a previous review, consider enhancing the network configuration flexibility to support various use cases.
To reiterate the previous suggestion, consider allowing for multiple network configurations and different network types. For example:
networks: {{- range .Values.networks }} - name: {{ .name }} {{ .type | default "pod" }}: {} {{- end }}This would allow users to specify multiple networks with different types (e.g., pod, multus, bridge) in the values file, providing more flexibility for different networking requirements.
Would you like assistance in implementing this enhanced network configuration?
1-1
: Consider adding a YAML directive to suppress false positive linting errors.The static analysis tool (yamllint) reported a syntax error on this line, which is likely a false positive due to the Go templating syntax. To suppress this error and improve the file's compatibility with YAML linters, consider adding a YAML directive at the beginning of the file:
# yamllint disable {{- /* Your existing code */ -}}This directive will instruct yamllint to ignore the file, preventing false positives without affecting the template's functionality.
🧰 Tools
🪛 yamllint
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/apps/vm-instance/values.schema.json (4)
18-79
: LGTM with a minor suggestion for 'instanceType'.The 'running' property is well-defined. The 'instanceType' property correctly includes all the instance types mentioned in the PR objectives. However, there's an empty string at the end of the enum list which might not be intended.
Consider removing the empty string from the 'instanceType' enum:
"instanceType": { ... "enum": [ ... "u1.xlarge", - "" ] }
80-130
: Minor improvements needed for 'instanceProfile'.The 'instanceProfile' property correctly includes all the profiles mentioned in the PR objectives. However, there are two minor issues:
- There's an empty string at the end of the enum list which might not be intended.
- There's a typo in the description: "prefferences" should be "preferences".
Consider applying these changes:
"instanceProfile": { "type": "string", - "description": "Virtual Machine prefferences profile", + "description": "Virtual Machine preferences profile", ... "enum": [ ... "windows.2k25.virtio", - "" ] }
131-153
: LGTM for 'resources', suggestion for 'disks'.The 'resources' property is well-defined with appropriate CPU and memory configurations.
For the 'disks' property, consider providing more specific item properties to guide users on what information is expected for each disk.
Consider expanding the 'disks' property definition:
"disks": { "type": "array", "description": "List of disks to attach", "default": [], "items": { - "type": "object" + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the disk" + }, + "size": { + "type": "string", + "description": "Size of the disk (e.g., '10Gi')" + } + }, + "required": ["name", "size"] } }This change would provide more guidance to users on what information is expected for each disk.
162-166
: Suggestion for 'cloudInit' default value.The 'cloudInit' property is well-defined. However, the default value could be more informative to guide users.
Consider updating the default value to include a comment explaining its purpose:
"cloudInit": { "type": "string", "description": "cloud-init user data config. See cloud-init documentation for more details.", - "default": "#cloud-config\n" + "default": "#cloud-config\n# Add your cloud-init configuration here\n" }This change would provide a clearer starting point for users who are unfamiliar with cloud-init.
packages/core/platform/bundles/paas-full.yaml (1)
82-86
: LGTM! Minor formatting suggestion.The new release entry for
kubevirt-instancetypes
is well-structured and logically placed within the file. The dependencies listed in thedependsOn
field are appropriate for this component.Consider adding spaces after the commas in the
dependsOn
list for better readability:dependsOn: [cilium, kubeovn, kubevirt-operator, kubevirt]🧰 Tools
🪛 yamllint
[warning] 86-86: too few spaces after comma
(commas)
[warning] 86-86: too few spaces after comma
(commas)
[warning] 86-86: too few spaces after comma
(commas)
packages/apps/vm-instance/README.md (6)
12-33
: Add language specifiers to code blocksThe instructions for accessing the virtual machine are clear and helpful. To improve the formatting and enable syntax highlighting, consider adding language specifiers to the code blocks. For example:
-``` +```bash virtctl console <vm>-
+
bash
virtctl vnc-``` +```bash virtctl ssh <user>@<vm>
This change will enhance readability and provide proper syntax highlighting in rendered Markdown. <details> <summary>🧰 Tools</summary> <details> <summary>🪛 Markdownlint</summary><blockquote> 19-19: null Fenced code blocks should have a language specified (MD040, fenced-code-language) --- 25-25: null Fenced code blocks should have a language specified (MD040, fenced-code-language) --- 31-31: null Fenced code blocks should have a language specified (MD040, fenced-code-language) </blockquote></details> </details> --- `35-51`: **Fix table formatting for proper rendering** The common parameters table provides valuable information, but its formatting needs adjustment to ensure proper rendering. Please apply the following changes: 1. Add leading and trailing pipes to each row. 2. Ensure consistent column count across all rows. Here's the corrected table format: ```markdown | Name | Description | Value | |--------------------|-------------------------------------------------------------------------------------|---------------------| | `external` | Enable external access from outside the cluster | `false` | | `externalPorts` | Specify ports to forward from outside the cluster | `[]` | | `running` | Determines if the virtual machine should be running | `true` | | `instanceType` | Virtual Machine instance type | `u1.medium` | | `instanceProfile` | Virtual Machine prefferences profile | `windows.10.virtio` | | `disks` | List of disks to attach | `[]` | | `resources.cpu` | The number of CPU cores allocated to the virtual machine | `""` | | `resources.memory` | The amount of memory allocated to the virtual machine | `""` | | `sshKeys` | List of SSH public keys for authentication. Can be a single key or a list of keys. | `[]` | | `cloudInit` | cloud-init user data config. See cloud-init documentation for more details. | `#cloud-config` |
This correction will ensure the table is properly rendered in Markdown viewers.
🧰 Tools
🪛 LanguageTool
[style] ~49-~49: To form a complete sentence, be sure to include a subject or ‘there’.
Context: ... of SSH public keys for authentication. Can be a single key or a list of keys. | `[...(MISSING_IT_THERE)
🪛 Markdownlint
50-50: Expected: leading_and_trailing; Actual: leading_only; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
51-51: Expected: leading_and_trailing; Actual: trailing_only; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
51-51: Expected: 3; Actual: 1; Too few cells, row will be missing data
Table column count(MD056, table-column-count)
53-159
: LGTM: Comprehensive VM series descriptionsThe VM series descriptions provide detailed information about each series (U, O, CX, M, RT), including their characteristics and intended use cases. This information is valuable for users to choose the appropriate VM type for their needs.
Minor suggestion: Consider adding a brief summary table at the beginning or end of this section to provide a quick overview of all series. This could help users quickly compare the different series before diving into the detailed descriptions.
🧰 Tools
🪛 LanguageTool
[typographical] ~68-~68: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[typographical] ~84-~84: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~86-~86: Consider a shorter alternative to avoid wordiness.
Context: ...tted Memory* - Memory is over-committed in order to achieve a higher workload density. - ...(IN_ORDER_TO_PREMIUM)
[style] ~99-~99: Consider a shorter alternative to avoid wordiness.
Context: ...given to the compute threads of the VM. In order to ensure this, some additional cores (dep...(IN_ORDER_TO_PREMIUM)
[style] ~108-~108: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~111-~111: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~114-~114: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
[style] ~116-~116: Consider a shorter alternative to avoid wordiness.
Context: ...NUMA topology is reflected in the guest in order to optimize guest sided cache utilizatio...(IN_ORDER_TO_PREMIUM)
[style] ~130-~130: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Bursta...(IN_ORDER_TO_PREMIUM)
[typographical] ~133-~133: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~150-~150: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~153-~153: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~156-~156: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
161-219
: Fix table formatting for instance type resourcesThe instance type resources table provides valuable information, but its formatting needs adjustment to ensure proper rendering. Please apply the following changes:
- Add leading and trailing pipes to each row.
- Add a header row separator.
Here's an example of how the corrected table should look:
| Name | vCPUs | Memory | |------|-------|--------| | cx1.2xlarge | 8 | 16Gi | | cx1.4xlarge | 16 | 32Gi | | cx1.8xlarge | 32 | 64Gi | | cx1.large | 2 | 4Gi | ...Apply this format to the entire table. This correction will ensure the table is properly rendered in Markdown viewers and improve readability.
🧰 Tools
🪛 Markdownlint
170-170: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
170-170: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
171-171: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
171-171: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
172-172: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
172-172: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
173-173: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
173-173: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
174-174: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
174-174: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
175-175: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
175-175: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
176-176: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
176-176: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
177-177: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
177-177: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
178-178: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
178-178: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
179-179: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
179-179: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
180-180: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
180-180: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
181-181: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
181-181: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
182-182: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
182-182: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
183-183: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
183-183: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
184-184: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
184-184: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
185-185: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
185-185: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
186-186: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
186-186: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
187-187: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
187-187: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
188-188: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
188-188: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
189-189: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
189-189: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
190-190: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
190-190: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
191-191: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
191-191: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
192-192: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
192-192: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
193-193: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
193-193: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
194-194: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
194-194: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
195-195: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
195-195: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
196-196: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
196-196: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
197-197: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
197-197: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
198-198: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
198-198: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
199-199: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
199-199: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
200-200: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
200-200: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
201-201: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
201-201: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
202-202: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
202-202: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
203-203: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
203-203: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
204-204: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
204-204: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
205-205: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
205-205: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
206-206: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
206-206: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
207-207: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
207-207: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
208-208: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
208-208: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
209-209: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
209-209: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
210-210: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
210-210: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
211-211: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
211-211: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
212-212: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
212-212: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
213-213: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
213-213: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
214-214: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
214-214: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
215-215: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
215-215: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
216-216: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
216-216: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
217-217: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
217-217: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
218-218: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
218-218: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
219-219: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
219-219: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
221-266
: Fix table formatting for preference resourcesThe preference resources table provides important information about guest OS options, but its formatting needs adjustment to ensure proper rendering. Please apply the following changes:
- Add leading and trailing pipes to each row.
- Add a header row separator.
Here's an example of how the corrected table should look:
| Name | Guest OS | |------|----------| | alpine | Alpine | | centos.7 | CentOS 7 | | centos.7.desktop | CentOS 7 | ...Apply this format to the entire table. This correction will ensure the table is properly rendered in Markdown viewers and improve readability.
🧰 Tools
🪛 Markdownlint
223-223: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
223-223: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
224-224: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
224-224: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
225-225: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
225-225: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
226-226: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
226-226: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
227-227: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
227-227: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
228-228: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
228-228: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
229-229: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
229-229: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
230-230: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
230-230: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
231-231: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
231-231: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
232-232: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
232-232: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
233-233: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
233-233: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
234-234: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
234-234: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
235-235: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
235-235: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
236-236: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
236-236: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
237-237: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
237-237: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
238-238: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
238-238: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
239-239: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
239-239: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
240-240: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
240-240: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
241-241: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
241-241: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
242-242: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
242-242: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
243-243: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
243-243: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
244-244: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
244-244: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
245-245: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
245-245: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
246-246: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
246-246: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
247-247: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
247-247: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
248-248: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
248-248: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
249-249: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
249-249: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
250-250: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
250-250: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
251-251: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
251-251: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
252-252: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
252-252: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
253-253: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
253-253: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
254-254: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
254-254: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
255-255: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
255-255: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
256-256: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
256-256: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
257-257: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
257-257: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
258-258: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
258-258: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
259-259: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
259-259: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
260-260: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
260-260: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
261-261: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
261-261: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
262-262: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
262-262: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
263-263: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
263-263: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
264-264: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
264-264: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
265-265: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
265-265: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
266-266: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
266-266: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
1-266
: Excellent README with minor formatting improvements neededThis README file provides comprehensive and well-structured information about the Virtual Machine component within the KubeVirt ecosystem. It covers all essential aspects, including VM definitions, deployment details, access methods, common parameters, VM series descriptions, and instance type resources.
The content is informative and will be very helpful for users working with VMs in this environment. To further improve the document:
- Address the table formatting issues mentioned in previous comments.
- Consider adding a brief summary table for the VM series as suggested earlier.
- Perform a final proofreading pass to catch any minor typos or inconsistencies.
Overall, this is an excellent addition to the project documentation. Great job!
🧰 Tools
🪛 LanguageTool
[style] ~49-~49: To form a complete sentence, be sure to include a subject or ‘there’.
Context: ... of SSH public keys for authentication. Can be a single key or a list of keys. | `[...(MISSING_IT_THERE)
[typographical] ~68-~68: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[typographical] ~84-~84: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~86-~86: Consider a shorter alternative to avoid wordiness.
Context: ...tted Memory* - Memory is over-committed in order to achieve a higher workload density. - ...(IN_ORDER_TO_PREMIUM)
[style] ~99-~99: Consider a shorter alternative to avoid wordiness.
Context: ...given to the compute threads of the VM. In order to ensure this, some additional cores (dep...(IN_ORDER_TO_PREMIUM)
[style] ~108-~108: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~111-~111: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~114-~114: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
[style] ~116-~116: Consider a shorter alternative to avoid wordiness.
Context: ...NUMA topology is reflected in the guest in order to optimize guest sided cache utilizatio...(IN_ORDER_TO_PREMIUM)
[style] ~130-~130: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Bursta...(IN_ORDER_TO_PREMIUM)
[typographical] ~133-~133: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~150-~150: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~153-~153: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~156-~156: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
🪛 Markdownlint
19-19: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
25-25: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
31-31: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
50-50: Expected: leading_and_trailing; Actual: leading_only; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
51-51: Expected: leading_and_trailing; Actual: trailing_only; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
170-170: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
170-170: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
171-171: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
171-171: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
172-172: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
172-172: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
173-173: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
173-173: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
174-174: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
174-174: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
175-175: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
175-175: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
176-176: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
176-176: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
177-177: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
177-177: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
178-178: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
178-178: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
179-179: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
179-179: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
180-180: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
180-180: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
181-181: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
181-181: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
182-182: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
182-182: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
183-183: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
183-183: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
184-184: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
184-184: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
185-185: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
185-185: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
186-186: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
186-186: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
187-187: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
187-187: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
188-188: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
188-188: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
189-189: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
189-189: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
190-190: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
190-190: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
191-191: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
191-191: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
192-192: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
192-192: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
193-193: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
193-193: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
194-194: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
194-194: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
195-195: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
195-195: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
196-196: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
196-196: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
197-197: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
197-197: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
198-198: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
198-198: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
199-199: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
199-199: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
200-200: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
200-200: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
201-201: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
201-201: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
202-202: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
202-202: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
203-203: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
203-203: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
204-204: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
204-204: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
205-205: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
205-205: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
206-206: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
206-206: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
207-207: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
207-207: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
208-208: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
208-208: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
209-209: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
209-209: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
210-210: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
210-210: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
211-211: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
211-211: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
212-212: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
212-212: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
213-213: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
213-213: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
214-214: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
214-214: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
215-215: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
215-215: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
216-216: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
216-216: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
217-217: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
217-217: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
218-218: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
218-218: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
219-219: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
219-219: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
223-223: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
223-223: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
224-224: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
224-224: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
225-225: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
225-225: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
226-226: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
226-226: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
227-227: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
227-227: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
228-228: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
228-228: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
229-229: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
229-229: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
230-230: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
230-230: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
231-231: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
231-231: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
232-232: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
232-232: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
233-233: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
233-233: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
234-234: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
234-234: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
235-235: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
235-235: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
236-236: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
236-236: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
237-237: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
237-237: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
238-238: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
238-238: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
239-239: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
239-239: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
240-240: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
240-240: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
241-241: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
241-241: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
242-242: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
242-242: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
243-243: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
243-243: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
244-244: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
244-244: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
245-245: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
245-245: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
246-246: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
246-246: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
247-247: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
247-247: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
248-248: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
248-248: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
249-249: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
249-249: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
250-250: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
250-250: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
251-251: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
251-251: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
252-252: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
252-252: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
253-253: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
253-253: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
254-254: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
254-254: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
255-255: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
255-255: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
256-256: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
256-256: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
257-257: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
257-257: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
258-258: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
258-258: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
259-259: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
259-259: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
260-260: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
260-260: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
261-261: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
261-261: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
262-262: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
262-262: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
263-263: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
263-263: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
264-264: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
264-264: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
265-265: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
265-265: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
266-266: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
266-266: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
51-51: Expected: 3; Actual: 1; Too few cells, row will be missing data
Table column count(MD056, table-column-count)
packages/system/kubevirt-instancetypes/templates/preferences.yaml (10)
54-82
: Approved, but consider increasing resources for desktop useThe VirtualMachineClusterPreference for CentOS 7 Desktop is well-configured with appropriate device settings for a graphical environment. The deprecated status is correctly applied. However, the resource allocation (1 CPU, 1Gi memory) might be low for a smooth desktop experience.
Consider increasing the resource allocation for the desktop version. Here's a suggested change:
requirements: cpu: - guest: 1 + guest: 2 memory: - guest: 1Gi + guest: 2Gi
112-141
: Approved, but consider increasing resources for desktop useThe VirtualMachineClusterPreference for CentOS Stream 10 Desktop is well-configured with appropriate device settings for a graphical environment, including modern features like dedicated I/O threads and RNG. However, the resource allocation (1 CPU, 1.5Gi memory) might be low for a smooth desktop experience, especially for CentOS Stream 10.
Consider increasing the resource allocation for the desktop version. Here's a suggested change:
requirements: cpu: - guest: 1 + guest: 2 memory: - guest: 1.5Gi + guest: 4Gi
143-168
: Approved, but note deprecated status and consider feature parityThe VirtualMachineClusterPreference for CentOS Stream 8 is correctly configured for basic use. The deprecated status is appropriately applied, which is important for users to note. However, this configuration lacks some modern features present in the CentOS Stream 10 configuration, such as dedicated I/O threads and RNG.
Consider adding the modern features to maintain consistency across CentOS Stream versions:
devices: preferredDiskBus: virtio preferredInterfaceModel: virtio + preferredDiskDedicatedIoThread: true + preferredRng: {}
170-198
: Approved, but consider feature parity and resource increaseThe VirtualMachineClusterPreference for CentOS Stream 8 Desktop is appropriately configured for basic desktop use and correctly marked as deprecated. However, it lacks some modern features present in the CentOS Stream 10 Desktop configuration, and the resource allocation might be low for a smooth desktop experience.
Consider the following changes for consistency and improved performance:
- Add modern features:
devices: preferredAutoattachInputDevice: true preferredDiskBus: virtio + preferredDiskDedicatedIoThread: true preferredInputBus: virtio preferredInputType: tablet preferredInterfaceModel: virtio + preferredRng: {}
- Increase resource allocation:
requirements: cpu: - guest: 1 + guest: 2 memory: - guest: 1.5Gi + guest: 4Gi
200-231
: Approved, but consider feature parity and note deprecated statusThe VirtualMachineClusterPreference for CentOS Stream 8 DPDK is well-configured for DPDK workloads, with appropriate CPU topology and network interface settings. The increased CPU count is suitable for DPDK performance. However, it's marked as deprecated and lacks some modern features present in CentOS Stream 10 configurations.
Consider the following additions for feature parity with CentOS Stream 10:
devices: preferredDiskBus: virtio preferredInterfaceModel: virtio preferredNetworkInterfaceMultiQueue: true + preferredDiskDedicatedIoThread: true + preferredRng: {}Also, ensure that users are aware of the deprecated status of this configuration, as it may impact long-term support and compatibility.
261-290
: Approved, but consider increasing resources for desktop useThe VirtualMachineClusterPreference for CentOS Stream 9 Desktop is well-configured with appropriate device settings for a graphical environment. It correctly includes modern features like dedicated I/O threads and RNG, which is consistent with the server version. However, the resource allocation (1 CPU, 1.5Gi memory) might be low for a smooth desktop experience, especially for CentOS Stream 9.
Consider increasing the resource allocation for the desktop version. Here's a suggested change:
requirements: cpu: - guest: 1 + guest: 2 memory: - guest: 1.5Gi + guest: 4Gi
415-440
: Approved, but consider adding performance-enhancing featuresThe VirtualMachineClusterPreference for OpenSUSE Leap is well-configured with appropriate resource allocation (1 CPU, 2Gi memory) for this distribution. The inclusion of RNG is good for security-sensitive applications. However, it lacks some modern features that could enhance performance.
Consider adding the following features to improve performance:
devices: preferredDiskBus: virtio preferredInterfaceModel: virtio preferredRng: {} + preferredDiskDedicatedIoThread: true + preferredNetworkInterfaceMultiQueue: trueThese additions would bring the OpenSUSE Leap configuration more in line with other modern distributions and potentially improve I/O and network performance.
442-467
: Approved, but consider Tumbleweed's rolling release natureThe VirtualMachineClusterPreference for OpenSUSE Tumbleweed is consistent with the OpenSUSE Leap configuration, which is good for maintainability. However, given Tumbleweed's nature as a rolling release distribution with newer software, consider the following:
- Add more modern features to leverage Tumbleweed's newer components:
devices: preferredDiskBus: virtio preferredInterfaceModel: virtio preferredRng: {} + preferredDiskDedicatedIoThread: true + preferredNetworkInterfaceMultiQueue: true
- Consider increasing the resource allocation to accommodate Tumbleweed's potentially higher requirements:
requirements: cpu: - guest: 1 + guest: 2 memory: - guest: 2Gi + guest: 4GiThese changes would better align the Tumbleweed configuration with its rolling release nature and potentially newer software stack.
532-556
: Approved, but consider adding deprecated label and noting limited featuresThe VirtualMachineClusterPreference for Red Hat Enterprise Linux 7 is appropriately basic, reflecting the older nature of RHEL 7. The resource allocation (1 CPU, 1Gi memory) is suitable for this version. However, there are two important considerations:
- RHEL 7 is approaching its end of life, but there's no deprecated label.
- The configuration lacks many modern features present in newer RHEL versions.
Consider adding a deprecated label to warn users:
labels: instancetype.kubevirt.io/os-type: linux instancetype.kubevirt.io/vendor: kubevirt.io + instancetype.kubevirt.io/deprecated: "true"
Also, it might be helpful to add a comment or annotation explaining the limited features due to RHEL 7's age and approaching end of life.
558-585
: Approved, but consider deprecation, resource increase, and feature limitationsThe VirtualMachineClusterPreference for Red Hat Enterprise Linux 7 Desktop is appropriately configured for basic desktop use with the addition of input devices. However, there are several important considerations:
- RHEL 7 is approaching its end of life, but there's no deprecated label.
- The configuration lacks many modern features present in newer RHEL versions.
- The resource allocation might be low for a smooth desktop experience.
Consider the following changes:
- Add a deprecated label:
labels: instancetype.kubevirt.io/os-type: linux instancetype.kubevirt.io/vendor: kubevirt.io + instancetype.kubevirt.io/deprecated: "true"
- Increase resource allocation for desktop use:
requirements: cpu: - guest: 1 + guest: 2 memory: - guest: </blockquote></details> <details> <summary>packages/system/kubevirt-instancetypes/templates/instancetypes.yaml (2)</summary><blockquote> `403-541`: **Well-designed M Series for memory-intensive applications** The M Series instance types are well-configured for memory-intensive workloads: 1. Consistent use of hugepages (2Mi) across all instance types, which is excellent for performance in memory-intensive scenarios. 2. Logical scaling of CPU and memory resources across instance types (large to 8xlarge). 3. Clear annotations and labels for easy identification and management. Consider adding a configuration option for larger hugepage sizes (e.g., 1Gi) for extremely memory-intensive applications. This could be implemented as follows: ```yaml memory: guest: 64Gi hugepages: pageSize: 1Gi # Optional: Allow 1Gi hugepages for extreme memory-intensive casesThis addition would provide even more flexibility for users with varying memory-intensive workloads.
1017-1359
: Excellent RT Series configuration for realtime applicationsThe RT Series instance types are exceptionally well-designed for realtime applications:
- Consistent use of dedicated CPU placement, isolated emulator threads, and 1Gi hugepages across all instance types.
- Implementation of NUMA topology, which is crucial for predictable performance in realtime scenarios.
- Smart use of annotations to disable CPU load balancing, CPU quota, and IRQ load balancing, further optimizing for realtime performance.
- Logical scaling of CPU and memory resources across instance types (micro to 8xlarge).
- Clear requirement for nodes capable of running realtime workloads, ensuring proper placement.
This configuration should provide excellent performance and predictability for realtime applications.
Consider adding support for CPU pinning to further enhance realtime performance. This could be implemented as follows:
spec: cpu: dedicatedCPUPlacement: true guest: 8 isolateEmulatorThread: true numa: guestMappingPassthrough: {} realtime: {} cpuPinning: strategy: "static" # or "dynamic" based on your needsThis addition would allow for even more precise control over CPU resource allocation, which can be beneficial in certain realtime scenarios.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (18)
- packages/apps/versions_map (2 hunks)
- packages/apps/vm-disk/Makefile (1 hunks)
- packages/apps/vm-disk/README.md (1 hunks)
- packages/apps/vm-disk/templates/dv.yaml (1 hunks)
- packages/apps/vm-disk/values.schema.json (1 hunks)
- packages/apps/vm-disk/values.yaml (1 hunks)
- packages/apps/vm-instance/Chart.yaml (2 hunks)
- packages/apps/vm-instance/Makefile (1 hunks)
- packages/apps/vm-instance/README.md (1 hunks)
- packages/apps/vm-instance/templates/vm.yaml (1 hunks)
- packages/apps/vm-instance/values.schema.json (1 hunks)
- packages/apps/vm-instance/values.yaml (1 hunks)
- packages/core/platform/bundles/paas-full.yaml (1 hunks)
- packages/system/kubevirt-instancetypes/Chart.yaml (1 hunks)
- packages/system/kubevirt-instancetypes/Makefile (1 hunks)
- packages/system/kubevirt-instancetypes/templates/instancetypes.yaml (1 hunks)
- packages/system/kubevirt-instancetypes/templates/preferences.yaml (1 hunks)
- packages/system/kubevirt-instancetypes/values.yaml (1 hunks)
✅ Files skipped from review due to trivial changes (2)
- packages/system/kubevirt-instancetypes/Chart.yaml
- packages/system/kubevirt-instancetypes/values.yaml
🚧 Files skipped from review as they are similar to previous changes (6)
- packages/apps/versions_map
- packages/apps/vm-disk/Makefile
- packages/apps/vm-disk/README.md
- packages/apps/vm-disk/values.schema.json
- packages/apps/vm-instance/Chart.yaml
- packages/apps/vm-instance/Makefile
🧰 Additional context used
🪛 yamllint
packages/apps/vm-disk/templates/dv.yaml
[error] 11-11: syntax error: could not find expected ':'
(syntax)
packages/apps/vm-instance/templates/vm.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/core/platform/bundles/paas-full.yaml
[warning] 86-86: too few spaces after comma
(commas)
[warning] 86-86: too few spaces after comma
(commas)
[warning] 86-86: too few spaces after comma
(commas)
🪛 LanguageTool
packages/apps/vm-instance/README.md
[style] ~49-~49: To form a complete sentence, be sure to include a subject or ‘there’.
Context: ... of SSH public keys for authentication. Can be a single key or a list of keys. | `[...(MISSING_IT_THERE)
[typographical] ~68-~68: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[typographical] ~84-~84: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~86-~86: Consider a shorter alternative to avoid wordiness.
Context: ...tted Memory* - Memory is over-committed in order to achieve a higher workload density. - ...(IN_ORDER_TO_PREMIUM)
[style] ~99-~99: Consider a shorter alternative to avoid wordiness.
Context: ...given to the compute threads of the VM. In order to ensure this, some additional cores (dep...(IN_ORDER_TO_PREMIUM)
[style] ~108-~108: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~111-~111: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~114-~114: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
[style] ~116-~116: Consider a shorter alternative to avoid wordiness.
Context: ...NUMA topology is reflected in the guest in order to optimize guest sided cache utilizatio...(IN_ORDER_TO_PREMIUM)
[style] ~130-~130: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Bursta...(IN_ORDER_TO_PREMIUM)
[typographical] ~133-~133: Usually, there’s no comma before “if”.
Context: ... permitted to burst beyond this baseline, if excess compute resources are availabl...(IF_NO_COMMA)
[style] ~150-~150: Consider a shorter alternative to avoid wordiness.
Context: ...are: - Hugepages - Hugepages are used in order to improve memory performance. - *Dedica...(IN_ORDER_TO_PREMIUM)
[style] ~153-~153: Consider a shorter alternative to avoid wordiness.
Context: ...re exclusively assigned to every vCPU in order to provide fixed and high compute guarante...(IN_ORDER_TO_PREMIUM)
[style] ~156-~156: Consider a shorter alternative to avoid wordiness.
Context: ...r threads are isolated from the vCPUs in order to reduce emaulation related impact on the...(IN_ORDER_TO_PREMIUM)
🪛 Markdownlint
packages/apps/vm-instance/README.md
19-19: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
25-25: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
31-31: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
50-50: Expected: leading_and_trailing; Actual: leading_only; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
51-51: Expected: leading_and_trailing; Actual: trailing_only; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
170-170: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
170-170: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
171-171: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
171-171: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
172-172: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
172-172: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
173-173: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
173-173: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
174-174: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
174-174: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
175-175: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
175-175: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
176-176: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
176-176: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
177-177: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
177-177: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
178-178: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
178-178: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
179-179: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
179-179: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
180-180: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
180-180: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
181-181: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
181-181: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
182-182: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
182-182: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
183-183: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
183-183: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
184-184: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
184-184: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
185-185: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
185-185: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
186-186: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
186-186: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
187-187: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
187-187: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
188-188: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
188-188: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
189-189: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
189-189: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
190-190: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
190-190: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
191-191: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
191-191: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
192-192: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
192-192: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
193-193: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
193-193: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
194-194: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
194-194: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
195-195: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
195-195: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
196-196: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
196-196: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
197-197: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
197-197: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
198-198: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
198-198: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
199-199: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
199-199: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
200-200: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
200-200: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
201-201: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
201-201: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
202-202: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
202-202: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
203-203: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
203-203: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
204-204: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
204-204: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
205-205: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
205-205: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
206-206: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
206-206: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
207-207: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
207-207: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
208-208: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
208-208: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
209-209: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
209-209: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
210-210: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
210-210: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
211-211: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
211-211: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
212-212: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
212-212: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
213-213: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
213-213: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
214-214: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
214-214: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
215-215: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
215-215: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
216-216: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
216-216: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
217-217: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
217-217: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
218-218: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
218-218: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
219-219: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
219-219: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
223-223: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
223-223: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
224-224: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
224-224: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
225-225: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
225-225: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
226-226: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
226-226: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
227-227: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
227-227: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
228-228: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
228-228: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
229-229: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
229-229: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
230-230: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
230-230: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
231-231: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
231-231: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
232-232: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
232-232: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
233-233: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
233-233: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
234-234: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
234-234: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
235-235: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
235-235: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
236-236: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
236-236: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
237-237: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
237-237: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
238-238: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
238-238: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
239-239: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
239-239: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
240-240: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
240-240: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
241-241: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
241-241: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
242-242: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
242-242: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
243-243: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
243-243: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
244-244: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
244-244: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
245-245: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
245-245: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
246-246: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
246-246: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
247-247: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
247-247: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
248-248: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
248-248: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
249-249: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
249-249: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
250-250: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
250-250: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
251-251: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
251-251: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
252-252: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
252-252: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
253-253: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
253-253: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
254-254: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
254-254: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
255-255: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
255-255: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
256-256: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
256-256: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
257-257: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
257-257: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
258-258: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
258-258: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
259-259: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
259-259: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
260-260: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
260-260: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
261-261: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
261-261: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
262-262: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
262-262: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
263-263: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
263-263: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
264-264: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
264-264: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
265-265: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
265-265: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
266-266: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe
Table pipe style(MD055, table-pipe-style)
266-266: Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe
Table pipe style(MD055, table-pipe-style)
51-51: Expected: 3; Actual: 1; Too few cells, row will be missing data
Table column count(MD056, table-column-count)
🔇 Additional comments (33)
packages/system/kubevirt-instancetypes/Makefile (4)
1-2
: LGTM: Environment variables are well-defined.The
NAME
andNAMESPACE
variables are appropriately set and exported. These align well with the PR objectives of introducing instance types for KubeVirt.
1-13
: Overall, the Makefile is well-structured and aligns with PR objectives.This Makefile effectively sets up the environment and provides an
update
target for generating and customizing KubeVirt instance types and preferences. It aligns well with the PR objectives of introducing instance types and profiles.The suggested improvements focus on enhancing error handling, readability, and maintainability. Implementing these changes will make the Makefile more robust and easier to maintain in the future.
Great job on introducing this functionality! The automated generation and customization of YAML configurations will significantly streamline the management of KubeVirt instance types.
6-13
: Approve update target with suggestions for improvement.The
update
target effectively generates and customizes instance type and preference templates, aligning well with the PR objectives. However, consider the following suggestions:
- Add error checking to ensure each command succeeds before proceeding to the next.
- Consider using variables for repeated values like "templates" directory and GitHub URLs.
- Add comments explaining the purpose of each command, especially the
yq
andsed
operations.Here's a suggested refactoring with error checking and variables:
TEMPLATES_DIR := templates PREFERENCES_URL := https://github.com/kubevirt/common-instancetypes/preferences INSTANCETYPES_URL := https://github.com/kubevirt/common-instancetypes/instancetypes update: rm -rf $(TEMPLATES_DIR) mkdir $(TEMPLATES_DIR) || exit 1 # Generate and filter preferences kustomize build $(PREFERENCES_URL) > $(TEMPLATES_DIR)/preferences.yaml || exit 1 yq -i 'select(.kind != "VirtualMachinePreference")' $(TEMPLATES_DIR)/preferences.yaml || exit 1 # Generate and filter instancetypes kustomize build $(INSTANCETYPES_URL) > $(TEMPLATES_DIR)/instancetypes.yaml || exit 1 yq -i 'select(.kind != "VirtualMachineInstancetype")' $(TEMPLATES_DIR)/instancetypes.yaml || exit 1 # Remove persistent flag from preferences sed -i '/persistent: true/d' $(TEMPLATES_DIR)/preferences.yaml || exit 1To ensure the
kustomize
commands are fetching the correct data, run:#!/bin/bash # Description: Verify kustomize commands fetch correct data # Test: Check kustomize output for preferences echo "Preferences kustomize output:" kustomize build https://github.com/kubevirt/common-instancetypes/preferences | head -n 10 echo "\nInstancetypes kustomize output:" kustomize build https://github.com/kubevirt/common-instancetypes/instancetypes | head -n 10
4-4
: Verify the included Makefile.The inclusion of
../../../scripts/package.mk
is a good practice for sharing common rules. However, please ensure that this file exists and contains the expected shared Makefile rules.Run the following script to verify the existence and contents of the included file:
packages/apps/vm-disk/templates/dv.yaml (2)
1-2
: LGTM: Correct API version and resource kind.The API version and resource kind are correctly specified for a CDI DataVolume resource.
11-11
: Note: False positive in static analysis.The yamllint tool reported a syntax error on this line, but it's a false positive. The syntax is correct for a Helm template. No changes are needed.
🧰 Tools
🪛 yamllint
[error] 11-11: syntax error: could not find expected ':'
(syntax)
packages/apps/vm-disk/values.yaml (1)
1-2
: LGTM: Clear section headerThe "Common parameters" section header is well-defined and follows good documentation practices.
packages/apps/vm-instance/values.yaml (3)
9-10
: LGTM: Explicit VM running state.The explicit setting of
running: true
provides a clear default state for the virtual machine instance.
25-29
: Clarify the usage of empty resource values.The
cpu
andmemory
resources have been set to empty strings. This change might lead to confusion for users expecting default values.Could you please clarify:
- Is this intentional?
- How will these values be determined if left empty?
- Are there any default values applied elsewhere?
Consider updating the comments to reflect the new behavior. For example:
## @param resources.cpu The number of CPU cores allocated to the virtual machine. Leave empty to use instance type default. ## @param resources.memory The amount of memory allocated to the virtual machine. Leave empty to use instance type default. resources: cpu: "" memory: ""This assumes that the values will be determined by the instance type if left empty. Please adjust the comment as necessary to reflect the actual behavior.
Line range hint
1-29
: Overall, the changes align well with the PR objectives.The introduction of
instanceType
andinstanceProfile
parameters, along with the flexibledisks
configuration, supports the goal of introducing default instance types and profiles. These changes enhance the functionality and flexibility of the VM instance configuration.A few areas for consideration:
- Expanding the disk configuration example for better guidance.
- Clarifying the intent behind empty resource values.
- Fixing a minor typo in the
instanceProfile
comment.These minor improvements will further enhance the usability and clarity of the configuration file.
packages/apps/vm-instance/templates/vm.yaml (3)
1-7
: Excellent pre-validation of instance types and profiles!This section effectively validates the existence of specified instance types and profiles in the cluster before attempting to use them. This proactive approach prevents potential runtime errors and provides clear feedback to users.
🧰 Tools
🪛 yamllint
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
8-27
: Well-structured VM definition with flexible configuration options.The VM metadata and spec are well-defined, allowing for flexible configurations with conditional instance types and profiles. This approach promotes reusability and consistency across different VM instances.
Could you please clarify the purpose of setting
revisionName: null
for both instancetype and preference? Is this intentional, or should it be omitted if not used?
29-35
: Consistent metadata application with noteworthy annotation.The VM template metadata is well-structured, consistently applying labels using templates. The inclusion of the
kubevirt.io/allow-pod-bridge-network-live-migration
annotation is notable.Please verify if enabling pod bridge network live migration is intentional and aligns with your infrastructure capabilities and security policies.
packages/apps/vm-instance/values.schema.json (4)
1-4
: LGTM: Schema structure is well-defined.The schema is correctly structured as an object with an appropriate title "Chart Values".
5-17
: LGTM: External access properties are well-defined.The 'external' and 'externalPorts' properties are correctly defined with appropriate types, descriptions, and defaults. This allows for flexible configuration of external access to the virtual machine.
154-161
: LGTM: SSH keys property is well-defined.The 'sshKeys' property is correctly defined as an array of strings with an appropriate description and default value.
1-168
: Overall, the schema is well-structured and comprehensive.This new schema file aligns well with the PR objectives, providing a detailed configuration structure for virtual machine instances. It covers all the instance types and profiles mentioned in the PR summary, and includes essential properties for VM configuration such as external access, resource allocation, SSH keys, and cloud-init data.
The suggestions provided in the review comments are minor and aimed at improving clarity and usability. Once these small adjustments are made, the schema will be in excellent shape to support the introduction of default instance types and profiles as intended by this PR.
packages/core/platform/bundles/paas-full.yaml (1)
Line range hint
77-80
: Indentation correction approved.The indentation correction for the
privileged: true
line in thekubevirt
release entry improves the overall structure and readability of the file. This change ensures consistency with other release entries.🧰 Tools
🪛 yamllint
[warning] 80-80: too few spaces after comma
(commas)
[warning] 80-80: too few spaces after comma
(commas)
[warning] 86-86: too few spaces after comma
(commas)
[warning] 86-86: too few spaces after comma
(commas)
[warning] 86-86: too few spaces after comma
(commas)
packages/apps/vm-instance/README.md (1)
1-10
: LGTM: Clear and informative introductionThe introduction and deployment details provide a concise overview of Virtual Machines and their integration with KubeVirt. The inclusion of links to the KubeVirt User Guide and GitHub repository is helpful for users seeking more information.
packages/system/kubevirt-instancetypes/templates/preferences.yaml (10)
1-25
: LGTM: Well-configured Alpine Linux preferenceThe VirtualMachineClusterPreference for Alpine Linux is well-defined and appropriate for its use case. It correctly uses virtio for disk and network interfaces, which is good for performance. The minimal resource requirements (1 CPU, 512Mi memory) align well with Alpine's lightweight nature.
84-110
: LGTM: Well-configured CentOS Stream 10 preference with modern featuresThe VirtualMachineClusterPreference for CentOS Stream 10 is excellently configured. It includes modern virtualization features such as dedicated I/O threads and a random number generator (RNG), which are great for performance and security respectively. The resource allocation (1 CPU, 1.5Gi memory) is appropriate for a base CentOS Stream 10 system.
233-259
: LGTM: Well-configured CentOS Stream 9 preference with modern featuresThe VirtualMachineClusterPreference for CentOS Stream 9 is excellently configured. It includes modern virtualization features such as dedicated I/O threads and a random number generator (RNG), which are great for performance and security respectively. The resource allocation (1 CPU, 1.5Gi memory) is appropriate for a base CentOS Stream 9 system.
292-324
: LGTM: Well-configured CentOS Stream 9 DPDK preferenceThe VirtualMachineClusterPreference for CentOS Stream 9 DPDK is excellently configured for DPDK workloads. It includes:
- Appropriate CPU topology spread for DPDK performance.
- Increased CPU count (2 CPUs) suitable for DPDK workloads.
- Modern features like dedicated I/O threads and RNG, consistent with other CentOS Stream 9 configs.
- Specialized network interface configurations (preferredNetworkInterfaceMultiQueue).
This configuration provides a solid foundation for running DPDK applications on CentOS Stream 9.
326-350
: LGTM: Appropriately minimal Cirros preferenceThe VirtualMachineClusterPreference for Cirros is well-configured for its intended use case. The minimal resource requirements (1 CPU, 256Mi memory) align perfectly with Cirros's nature as a lightweight cloud image. The configuration correctly uses virtio for disk and network interfaces for optimal performance, while appropriately omitting more advanced features that aren't necessary for Cirros's typical use cases.
352-384
: LGTM: Well-configured Fedora (amd64) preference with modern and security featuresThe VirtualMachineClusterPreference for Fedora (amd64) is excellently configured with a focus on modern features and security:
- Includes RNG for improved randomness, crucial for security-sensitive applications.
- Utilizes network interface multi-queue for enhanced network performance.
- Specifies EFI firmware with secure boot enabled, significantly improving system security.
- Includes SMM (System Management Mode), which can be important for certain virtualization scenarios.
The resource allocation (1 CPU, 2Gi memory) is appropriate for a base Fedora system. This configuration provides a solid foundation for running Fedora with good performance and security features.
469-501
: LGTM: Well-configured RHEL 10 Beta (amd64) preference with modern and security featuresThe VirtualMachineClusterPreference for Red Hat Enterprise Linux 10 Beta (amd64) is excellently configured with a focus on modern features and security:
- Includes dedicated I/O thread for improved disk performance.
- Utilizes RNG for enhanced randomness, crucial for security-sensitive applications.
- Specifies EFI firmware with secure boot enabled, significantly improving system security.
- Includes SMM (System Management Mode), which can be important for certain virtualization scenarios.
The resource allocation (1 CPU, 1.5Gi memory) is appropriate for a base RHEL system. This configuration provides a solid foundation for running RHEL 10 Beta with good performance and security features, suitable for enterprise environments.
503-530
: Approved, but clarify EFI and SMM support for RHEL 10 Beta on arm64The VirtualMachineClusterPreference for Red Hat Enterprise Linux 10 Beta (arm64) is well-configured and consistent with the amd64 version in terms of resource allocation and modern features like dedicated I/O thread and RNG. However, there are some notable differences:
- EFI firmware with secure boot is not specified.
- SMM (System Management Mode) is not included.
These differences might be due to variations in arm64 support, but it's worth clarifying.
To ensure this is intentional and not an oversight, please verify the EFI and SMM support for RHEL 10 Beta on arm64:
#!/bin/bash # Check RHEL documentation or release notes for arm64 EFI and SMM support curl -s https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/10-beta | grep -i "arm64.*EFI" curl -s https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/10-beta | grep -i "arm64.*SMM"If EFI and SMM are supported for RHEL 10 Beta on arm64, consider adding these specifications to maintain feature parity with the amd64 version.
27-52
: Approved, but note the deprecated statusThe VirtualMachineClusterPreference for CentOS 7 is correctly configured with appropriate resource allocations and virtio devices. However, it's important to note that this configuration is marked as deprecated, which aligns with CentOS 7's approaching end-of-life status.
To ensure users are aware of the deprecated status, run the following command:
386-413
: Approved, but clarify EFI and SMM support for arm64The VirtualMachineClusterPreference for Fedora (arm64) is well-configured and consistent with the amd64 version in terms of resource allocation and modern features like RNG and network interface multi-queue. However, there are some notable differences:
- EFI firmware with secure boot is not specified.
- SMM (System Management Mode) is not included.
These differences might be due to variations in arm64 support, but it's worth clarifying.
To ensure this is intentional and not an oversight, please verify the EFI and SMM support for Fedora on arm64:
If EFI and SMM are supported for Fedora on arm64, consider adding these specifications to maintain feature parity with the amd64 version.
packages/system/kubevirt-instancetypes/templates/instancetypes.yaml (4)
1-257
: Excellent configuration for the CX Series instance typesThe CX Series instance types are well-designed for compute-intensive applications. Key points:
- Consistent use of dedicated CPU placement, isolated emulator threads, and hugepages across all instance types.
- NUMA topology provided to the VM, which is beneficial for performance-sensitive applications.
- Logical scaling of CPU and memory resources across instance types (medium to 8xlarge).
- Clear annotations and labels for easy identification and management.
This configuration should provide excellent performance for compute-intensive workloads while offering flexibility in resource allocation.
543-781
: Excellent N Series configuration for network-intensive DPDK applicationsThe N Series instance types are exceptionally well-designed for network-intensive workloads, particularly DPDK applications:
- Consistent use of dedicated CPU placement and isolated emulator threads, which is crucial for predictable network performance.
- Implementation of 1Gi hugepages across all instance types, which is ideal for DPDK applications.
- Smart use of annotations to disable CPU load balancing, CPU quota, and IRQ load balancing, further optimizing for network performance.
- Logical scaling of CPU and memory resources across instance types (medium to 8xlarge).
- Clear requirement for nodes capable of running DPDK workloads, ensuring proper placement.
This configuration should provide excellent performance for network-intensive workloads, especially those leveraging DPDK. The specialized nature of these instance types is well-communicated through the annotations and labels.
1361-1649
: Well-designed U Series for general purpose applicationsThe U Series instance types offer a flexible and efficient solution for general purpose workloads:
- Wide range of instance sizes from nano (1 CPU, 512Mi memory) to 8xlarge (32 CPUs, 128Gi memory), providing excellent flexibility for various application needs.
- Consistent configuration across all instance types, making it easy for users to understand and choose the appropriate size.
- Appropriate use of shared resources (no dedicated CPU placement or hugepages), which is suitable for general-purpose workloads and allows for better overall resource utilization.
- Clear annotations and labels for easy identification and management.
The U Series strikes a good balance between flexibility and resource efficiency, making it suitable for a wide range of applications that don't require specialized resources.
One potential enhancement to consider:
For the larger instance types (e.g., 4xlarge and 8xlarge), you might want to offer an option with dedicated CPU placement for users who need more predictable performance for their larger workloads. This could be implemented as a separate sub-series or as an optional configuration.
1-1649
: Comprehensive and well-structured instance type definitionsThis configuration file provides a robust and diverse set of instance types that cater to a wide range of use cases. Key strengths include:
- Logical organization into distinct series (CX, GN, M, N, O, RT, U), each tailored for specific workload requirements.
- Consistent configuration within each series, making it easy for users to understand and choose appropriate instance types.
- Good scaling of resources across instance sizes within each series.
- Thoughtful use of features like dedicated CPU placement, hugepages, and NUMA topology where appropriate.
While the overall configuration is excellent, there are a few areas that could benefit from further consideration:
- GN Series: Review the deprecated status and consider supporting multiple GPU models or configurations.
- O Series: Evaluate the fixed 50% memory overcommit strategy and consider implementing variable overcommit percentages based on instance size.
- U Series: Consider offering dedicated CPU placement options for larger instance sizes.
These enhancements could further improve the flexibility and performance characteristics of the instance types, catering to an even wider range of user needs.
|
||
*GN* is the abbreviation of "GPU NVIDIA". | ||
|
||
This series is intended to be used with VMs consuming GPUs | ||
provided by the | ||
[NVIDIA GPU Operator](https://github.com/NVIDIA/gpu-operator) | ||
which can be installed on Kubernetes and also is made available | ||
on OpenShift via OperatorHub. | ||
instancetype.kubevirt.io/displayName: GPU NVIDIA | ||
labels: | ||
instancetype.kubevirt.io/class: gpu.nvidia | ||
instancetype.kubevirt.io/cpu: "16" | ||
instancetype.kubevirt.io/deprecated: "true" | ||
instancetype.kubevirt.io/gpus: "true" | ||
instancetype.kubevirt.io/icon-pf: fa-microchip | ||
instancetype.kubevirt.io/memory: 64Gi | ||
instancetype.kubevirt.io/size: 4xlarge | ||
instancetype.kubevirt.io/vendor: kubevirt.io | ||
instancetype.kubevirt.io/version: "1" | ||
name: gn1.4xlarge | ||
spec: | ||
cpu: | ||
guest: 16 | ||
gpus: | ||
- deviceName: nvidia.com/A400 | ||
name: gpu1 | ||
memory: | ||
guest: 64Gi | ||
--- | ||
apiVersion: instancetype.kubevirt.io/v1beta1 | ||
kind: VirtualMachineClusterInstancetype | ||
metadata: | ||
annotations: | ||
instancetype.kubevirt.io/description: |- | ||
The GN Series provides instances types intended for VMs with | ||
NVIDIA GPU resources attached. | ||
|
||
*GN* is the abbreviation of "GPU NVIDIA". | ||
|
||
This series is intended to be used with VMs consuming GPUs | ||
provided by the | ||
[NVIDIA GPU Operator](https://github.com/NVIDIA/gpu-operator) | ||
which can be installed on Kubernetes and also is made available | ||
on OpenShift via OperatorHub. | ||
instancetype.kubevirt.io/displayName: GPU NVIDIA | ||
labels: | ||
instancetype.kubevirt.io/class: gpu.nvidia | ||
instancetype.kubevirt.io/cpu: "32" | ||
instancetype.kubevirt.io/deprecated: "true" | ||
instancetype.kubevirt.io/gpus: "true" | ||
instancetype.kubevirt.io/icon-pf: fa-microchip | ||
instancetype.kubevirt.io/memory: 128Gi | ||
instancetype.kubevirt.io/size: 8xlarge | ||
instancetype.kubevirt.io/vendor: kubevirt.io | ||
instancetype.kubevirt.io/version: "1" | ||
name: gn1.8xlarge | ||
spec: | ||
cpu: | ||
guest: 32 | ||
gpus: | ||
- deviceName: nvidia.com/A400 | ||
name: gpu1 | ||
memory: | ||
guest: 128Gi | ||
--- | ||
apiVersion: instancetype.kubevirt.io/v1beta1 | ||
kind: VirtualMachineClusterInstancetype | ||
metadata: | ||
annotations: | ||
instancetype.kubevirt.io/description: |- | ||
The GN Series provides instances types intended for VMs with | ||
NVIDIA GPU resources attached. | ||
|
||
*GN* is the abbreviation of "GPU NVIDIA". | ||
|
||
This series is intended to be used with VMs consuming GPUs | ||
provided by the | ||
[NVIDIA GPU Operator](https://github.com/NVIDIA/gpu-operator) | ||
which can be installed on Kubernetes and also is made available | ||
on OpenShift via OperatorHub. | ||
instancetype.kubevirt.io/displayName: GPU NVIDIA | ||
labels: | ||
instancetype.kubevirt.io/class: gpu.nvidia | ||
instancetype.kubevirt.io/cpu: "4" | ||
instancetype.kubevirt.io/deprecated: "true" | ||
instancetype.kubevirt.io/gpus: "true" | ||
instancetype.kubevirt.io/icon-pf: fa-microchip | ||
instancetype.kubevirt.io/memory: 16Gi | ||
instancetype.kubevirt.io/size: xlarge | ||
instancetype.kubevirt.io/vendor: kubevirt.io | ||
instancetype.kubevirt.io/version: "1" | ||
name: gn1.xlarge | ||
spec: | ||
cpu: | ||
guest: 4 | ||
gpus: | ||
- deviceName: nvidia.com/A400 | ||
name: gpu1 | ||
memory: | ||
guest: 16Gi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider revising the GN Series instance types
The GN Series for NVIDIA GPU resources is well-structured, but there are some concerns:
-
All GN Series instance types are marked as deprecated. This raises questions about their intended use and future support. Consider clarifying the deprecation status or providing alternative GPU-enabled instance types.
-
The GPU configuration is limited to a single model (nvidia.com/A400). To improve flexibility, consider:
- Supporting multiple GPU models.
- Allowing for multiple GPUs in larger instance types.
-
The CPU and memory scaling is logical, but you might want to consider if the GPU resources should also scale with the instance size.
Please clarify the deprecation status of these instance types and consider the suggested improvements for flexibility and scalability.
annotations: | ||
instancetype.kubevirt.io/description: |- | ||
The O Series is based on the U Series, with the only difference | ||
being that memory is overcommitted. | ||
|
||
*O* is the abbreviation for "Overcommitted". | ||
instancetype.kubevirt.io/displayName: Overcommitted | ||
labels: | ||
instancetype.kubevirt.io/class: overcommitted | ||
instancetype.kubevirt.io/cpu: "1" | ||
instancetype.kubevirt.io/icon-pf: pficon-virtual-machine | ||
instancetype.kubevirt.io/memory: 1Gi | ||
instancetype.kubevirt.io/size: micro | ||
instancetype.kubevirt.io/vendor: kubevirt.io | ||
instancetype.kubevirt.io/version: "1" | ||
name: o1.micro | ||
spec: | ||
cpu: | ||
guest: 1 | ||
memory: | ||
guest: 1Gi | ||
overcommitPercent: 50 | ||
--- | ||
apiVersion: instancetype.kubevirt.io/v1beta1 | ||
kind: VirtualMachineClusterInstancetype | ||
metadata: | ||
annotations: | ||
instancetype.kubevirt.io/description: |- | ||
The O Series is based on the U Series, with the only difference | ||
being that memory is overcommitted. | ||
|
||
*O* is the abbreviation for "Overcommitted". | ||
instancetype.kubevirt.io/displayName: Overcommitted | ||
labels: | ||
instancetype.kubevirt.io/class: overcommitted | ||
instancetype.kubevirt.io/cpu: "1" | ||
instancetype.kubevirt.io/icon-pf: pficon-virtual-machine | ||
instancetype.kubevirt.io/memory: 512Mi | ||
instancetype.kubevirt.io/size: nano | ||
instancetype.kubevirt.io/vendor: kubevirt.io | ||
instancetype.kubevirt.io/version: "1" | ||
name: o1.nano | ||
spec: | ||
cpu: | ||
guest: 1 | ||
memory: | ||
guest: 512Mi | ||
overcommitPercent: 50 | ||
--- | ||
apiVersion: instancetype.kubevirt.io/v1beta1 | ||
kind: VirtualMachineClusterInstancetype | ||
metadata: | ||
annotations: | ||
instancetype.kubevirt.io/description: |- | ||
The O Series is based on the U Series, with the only difference | ||
being that memory is overcommitted. | ||
|
||
*O* is the abbreviation for "Overcommitted". | ||
instancetype.kubevirt.io/displayName: Overcommitted | ||
labels: | ||
instancetype.kubevirt.io/class: overcommitted | ||
instancetype.kubevirt.io/cpu: "1" | ||
instancetype.kubevirt.io/icon-pf: pficon-virtual-machine | ||
instancetype.kubevirt.io/memory: 2Gi | ||
instancetype.kubevirt.io/size: small | ||
instancetype.kubevirt.io/vendor: kubevirt.io | ||
instancetype.kubevirt.io/version: "1" | ||
name: o1.small | ||
spec: | ||
cpu: | ||
guest: 1 | ||
memory: | ||
guest: 2Gi | ||
overcommitPercent: 50 | ||
--- | ||
apiVersion: instancetype.kubevirt.io/v1beta1 | ||
kind: VirtualMachineClusterInstancetype | ||
metadata: | ||
annotations: | ||
instancetype.kubevirt.io/description: |- | ||
The O Series is based on the U Series, with the only difference | ||
being that memory is overcommitted. | ||
|
||
*O* is the abbreviation for "Overcommitted". | ||
instancetype.kubevirt.io/displayName: Overcommitted | ||
labels: | ||
instancetype.kubevirt.io/class: overcommitted | ||
instancetype.kubevirt.io/cpu: "4" | ||
instancetype.kubevirt.io/icon-pf: pficon-virtual-machine | ||
instancetype.kubevirt.io/memory: 16Gi | ||
instancetype.kubevirt.io/size: xlarge | ||
instancetype.kubevirt.io/vendor: kubevirt.io | ||
instancetype.kubevirt.io/version: "1" | ||
name: o1.xlarge | ||
spec: | ||
cpu: | ||
guest: 4 | ||
memory: | ||
guest: 16Gi | ||
overcommitPercent: 50 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Caution advised with O Series memory overcommit configuration
The O Series instance types introduce an interesting concept of memory overcommitment:
- Consistent 50% memory overcommit across all instance types.
- Wide range of instance sizes from nano to 8xlarge, providing flexibility.
However, there are some concerns and potential improvements to consider:
-
Fixed 50% overcommit may not be optimal for all workloads or instance sizes. Consider varying the overcommit percentage based on instance size or workload type.
-
Memory overcommitment can lead to performance issues if not carefully managed. Ensure that users are well-informed about the potential risks and best practices for using these instance types.
-
Consider adding safeguards or monitoring recommendations to prevent issues related to memory overcommitment.
Please review the fixed 50% overcommit strategy and consider implementing variable overcommit percentages or additional safeguards. Also, ensure clear documentation is provided to users about the implications of using overcommitted instance types.
Consider implementing a variable overcommit percentage based on instance size:
spec:
cpu:
guest: 8
memory:
guest: 32Gi
overcommitPercent: 30 # Lower percentage for larger instances
This approach could provide better resource utilization across different instance sizes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Outside diff range and nitpick comments (4)
packages/apps/vm-disk/templates/dv.yaml (2)
4-8
: LGTM: Well-structured metadata with a suggestion for documentation.The metadata section is correctly implemented, using appropriate annotations and naming conventions.
Consider adding a comment explaining the purpose and possible values of the
vm-disk.cozystack.io/optical
annotation for better maintainability.
13-28
: LGTM: Well-structured source specification with a suggestion for error handling.The source specification section is well-implemented, handling different source types and including proper validation. The content type is correctly set, and the required field check for the HTTP URL is a good practice.
Consider adding an
else
clause to handle cases where an unsupported source type is provided. This would make the error handling more robust:{{- else }} {{- fail "Unsupported source type. Supported types are 'http' and 'upload'." }} {{- end }}🧰 Tools
🪛 yamllint
[warning] 13-13: wrong indentation: expected 0 but found 2
(indentation)
packages/apps/vm-disk/templates/pvc-resize-hook.yaml (2)
1-26
: LGTM! Consider parameterizing the kubectl image.The conditional logic and Job definition for PVC resizing are well-implemented. The use of Helm hooks ensures proper execution timing, and the kubectl command for patching the PVC is correct.
Consider parameterizing the kubectl image (line 22) to allow for easier updates and customization:
- image: bitnami/kubectl + image: {{ .Values.kubectlImage | default "bitnami/kubectl" }}This change would require adding a new value to your
values.yaml
file:kubectlImage: bitnami/kubectl🧰 Tools
🪛 yamllint
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
1-68
: Overall template structure is correct, yamllint error can be ignored.The Helm template is well-structured with proper use of conditional logic and consistent indentation. The yamllint error reported for line 1 is a false positive due to the Helm templating syntax and can be safely ignored.
To suppress the yamllint warning, you could add a
# yamllint disable
directive at the beginning of the file:# yamllint disable {{- $existingPVC := lookup "v1" "PersistentVolumeClaim" .Release.Namespace .Release.Name }}This is optional and only necessary if you want to maintain a clean yamllint output.
🧰 Tools
🪛 yamllint
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (2)
- packages/apps/vm-disk/templates/dv.yaml (1 hunks)
- packages/apps/vm-disk/templates/pvc-resize-hook.yaml (1 hunks)
🧰 Additional context used
🪛 yamllint
packages/apps/vm-disk/templates/dv.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
[warning] 12-12: wrong indentation: expected 0 but found 2
(indentation)
[error] 12-12: trailing spaces
(trailing-spaces)
[warning] 13-13: wrong indentation: expected 0 but found 2
(indentation)
packages/apps/vm-disk/templates/pvc-resize-hook.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
🔇 Additional comments (6)
packages/apps/vm-disk/templates/dv.yaml (3)
1-3
: LGTM: Proper resource lookup and API declaration.The existing DataVolume lookup and API version declaration are correctly implemented. This approach allows for updates to existing resources and uses the appropriate API version for CDI DataVolumes.
🧰 Tools
🪛 yamllint
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
29-36
: LGTM: Properly structured storage specification.The storage specification section is well-implemented. It correctly templates the storage request from Helm values and conditionally includes the storage class. The indentation and structure are correct, following YAML best practices.
1-36
: Overall: Well-implemented DataVolume template with minor improvements needed.This new YAML template for DataVolume resources is well-structured and aligns with the PR objectives of introducing instance types and profiles for the CozyStack platform. It provides a flexible configuration for managing virtual machine disks, supporting various source types and storage options.
Key strengths:
- Proper use of Helm templating for dynamic configuration.
- Handling of existing DataVolume resources.
- Flexible source type specification with validation.
- Conditional inclusion of storage class.
Areas for improvement:
- Minor indentation and trailing space issues (addressed in previous comments).
- Consider adding more robust error handling for unsupported source types.
- Add documentation for custom annotations to improve maintainability.
Overall, this file provides a solid foundation for managing DataVolumes in the CozyStack platform, contributing to the introduction of instance types and profiles as outlined in the PR objectives.
🧰 Tools
🪛 yamllint
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
[warning] 12-12: wrong indentation: expected 0 but found 2
(indentation)
[error] 12-12: trailing spaces
(trailing-spaces)
[warning] 13-13: wrong indentation: expected 0 but found 2
(indentation)
packages/apps/vm-disk/templates/pvc-resize-hook.yaml (3)
28-35
: ServiceAccount definition looks good!The ServiceAccount is correctly defined with appropriate Helm hook annotations, ensuring it's created before the Job that uses it. The name matches the one referenced in the Job spec, maintaining consistency.
53-67
: RoleBinding definition is correct and consistent.The RoleBinding is well-defined with appropriate Helm hook annotations. It correctly binds the ServiceAccount to the Role, and the names of the ServiceAccount and Role match the previously defined resources, ensuring proper permissions for the resize operation.
37-51
: Role definition is correct, but consider reviewing permissions.The Role is well-defined with appropriate Helm hook annotations and grants necessary permissions for managing StatefulSets and PVCs.
However, the 'delete' permission for StatefulSets (line 48) seems excessive for a resize operation. Please verify if this permission is necessary:
If the 'delete' permission is not required, consider removing it to adhere to the principle of least privilege.
spec: | ||
{{- if $existingDV }} | ||
{{- toYaml $existingDV.spec | nindent 2 }} | ||
{{- else }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix indentation and remove trailing space.
The logic for handling existing DataVolume specs is correct. However, there are two minor issues:
- The indentation for the existing spec (line 11) should be 4 spaces instead of 2 for consistency with YAML best practices.
- There's a trailing space on line 12 that should be removed.
Please apply the following changes:
spec:
{{- if $existingDV }}
- {{- toYaml $existingDV.spec | nindent 2 }}
- {{- else }}
+ {{- toYaml $existingDV.spec | nindent 4 }}
+ {{- else }}
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
spec: | |
{{- if $existingDV }} | |
{{- toYaml $existingDV.spec | nindent 2 }} | |
{{- else }} | |
spec: | |
{{- if $existingDV }} | |
{{- toYaml $existingDV.spec | nindent 4 }} | |
{{- else }} |
🧰 Tools
🪛 yamllint
[warning] 12-12: wrong indentation: expected 0 but found 2
(indentation)
[error] 12-12: trailing spaces
(trailing-spaces)
Revert removing Virtual Machine, removed by #403 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a new package: `virtual-machine` with multiple version entries. - Added comprehensive documentation and configuration for the `virtual-machine` application. - New Helm chart and templates for Kubernetes resources, enhancing deployment options. - **Bug Fixes** - Updated version entries for existing packages, ensuring accuracy in versioning. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
This PR introduces the default instancetypes:
And the following profiles:
as part of #258
Summary by CodeRabbit
New Features
kubevirt-common-instancetypes
.vm-disk
with detailed deployment instructions.vm-instance
chart introduced with comprehensive deployment details.Bug Fixes
Documentation
Chores