diff --git a/guides/common/assembly_configuring-virt-who-hyperv.adoc b/guides/common/assembly_configuring-virt-who-hyperv.adoc new file mode 100644 index 0000000000..6cdae477dd --- /dev/null +++ b/guides/common/assembly_configuring-virt-who-hyperv.adoc @@ -0,0 +1,54 @@ +:configuring-virt-who-hyperv: +:parent-context: {context} + +:context: hyperv-virt-who +:hyperv-virt-who: +:provider: Microsoft Hyper-V +:targets: {ProjectServer}, {SmartProxyServer}, or on a dedicated {EL} server +include::modules/con_configuring-virt-who-for-provider.adoc[] + +:hypervisor-ui: Microsoft Hyper-V (hyperv) +:hypervisor-cli: hyperv +:target-name: hypervisor.example.com +:username: virt_who_user +include::modules/proc_creating-a-virt-who-configuration.adoc[leveloffset=+1] +:!hyperv-virt-who: + +:context: hyperv-projectserver +:hyperv-projectserver: +:a-target: {ProjectServer} +:the-target: {ProjectServer} +include::modules/proc_deploying-a-virt-who-configuration-on-target-server.adoc[leveloffset=+1] +:!hyperv-projectserver: + +:context: hyperv-smartproxy +:hyperv-smartproxy: +:a-target: {SmartProxyServer} +:the-target: {SmartProxyServer} +:target-name: {smartproxy-example-com} +include::modules/proc_deploying-a-virt-who-configuration-on-target-server.adoc[leveloffset=+1] +:!hyperv-smartproxy: + +:context: hyperv-el +:hyperv-el: +:target: {EL} server +:a-target: a dedicated {target} +:the-target: the {target} +:port: 5985 +:target-name: server.example.com +include::modules/proc_deploying-a-virt-who-configuration-on-target-server.adoc[leveloffset=+1] +:!hyperv-el: + +:!provider: +:!targets: +:!hypervisor-ui: +:!hypervisor-cli: +:!a-target: +:!the-target: +:!port: +:!target-name: +:!provider: + +:context: {parent-context} +:!parent-context: +:!configuring-virt-who-hyperv: diff --git a/guides/common/assembly_configuring-virt-who-kubevirt.adoc b/guides/common/assembly_configuring-virt-who-kubevirt.adoc new file mode 100644 index 0000000000..81383c657e --- /dev/null +++ b/guides/common/assembly_configuring-virt-who-kubevirt.adoc @@ -0,0 +1,37 @@ +:configuring-virt-who-kubevirt: +:parent-context: {context} + +:context: kubevirt-virt-who +:kubevirt-virt-who: +:provider: {KubeVirt} +:targets: hypervisor +include::modules/con_configuring-virt-who-for-provider.adoc[] + +:hypervisor-ui: Container-native virtualization +:hypervisor-cli: cnv +:target-name: hypervisor.example.com +:username: virt_who_user +include::modules/proc_creating-a-virt-who-configuration.adoc[leveloffset=+1] +:!kubevirt-virt-who: + +:context: kubevirt-hypervisor +:kubevirt-hypervisor: +:a-target: a hypervisor +:the-target: the hypervisor +:target-name: hypervisor.example.com +include::modules/proc_deploying-a-virt-who-configuration-on-target-server.adoc[leveloffset=+1] +:!kubevirt-hypervisor: + +:!provider: +:!targets: +:!hypervisor-ui: +:!hypervisor-cli: +:!a-target: +:!the-target: +:!port: +:!target-name: +:!provider: + +:context: {parent-context} +:!parent-context: +:!configuring-virt-who-kubevirt: diff --git a/guides/common/assembly_configuring-virt-who-kvm.adoc b/guides/common/assembly_configuring-virt-who-kvm.adoc new file mode 100644 index 0000000000..5c29722fc6 --- /dev/null +++ b/guides/common/assembly_configuring-virt-who-kvm.adoc @@ -0,0 +1,37 @@ +:configuring-virt-who-kvm: +:parent-context: {context} + +:context: kvm-virt-who +:kvm-virt-who: +:provider: {EL} Virtualization +:targets: hypervisors +include::modules/con_configuring-virt-who-for-provider.adoc[] + +:hypervisor-ui: libvirt +:hypervisor-cli: libvirt +:target-name: qemu+ssh://root@libvirt.example.com/system +:username: root +include::modules/proc_creating-a-virt-who-configuration.adoc[leveloffset=+1] +:!kvm-virt-who: + +:context: kvm-hypervisor +:kvm-hypervisor: +:a-target: a hypervisor +:the-target: the hypervisor +:target-name: hypervisor.example.com +include::modules/proc_deploying-a-virt-who-configuration-on-target-server.adoc[leveloffset=+1] +:!kvm-hypervisor: + +:!provider: +:!targets: +:!hypervisor-ui: +:!hypervisor-cli: +:!a-target: +:!the-target: +:!port: +:!target-name: +:!provider: + +:context: {parent-context} +:!parent-context: +:!configuring-virt-who-kvm: diff --git a/guides/common/assembly_configuring-virt-who-nutanix.adoc b/guides/common/assembly_configuring-virt-who-nutanix.adoc new file mode 100644 index 0000000000..fca6b62c44 --- /dev/null +++ b/guides/common/assembly_configuring-virt-who-nutanix.adoc @@ -0,0 +1,53 @@ +:configuring-virt-who-nutanix: +:parent-context: {context} + +:context: nutanix-virt-who +:nutanix-virt-who: +:provider: Nutanix AHV +:targets: {ProjectServer}, {SmartProxyServer}, or on a dedicated {EL} server +include::modules/con_configuring-virt-who-for-provider.adoc[] + +:hypervisor-ui: Nutanix AHV (ahv) +:hypervisor-cli: ahv +:target-name: prism.example.com +:username: prism_user +include::modules/proc_creating-a-virt-who-configuration.adoc[leveloffset=+1] +:!nutanix-virt-who: + +:context: nutanix-projectserver +:nutanix-projectserver: +:a-target: {ProjectServer} +:the-target: {ProjectServer} +include::modules/proc_deploying-a-virt-who-configuration-on-target-server.adoc[leveloffset=+1] +:!nutanix-projectserver: + +:context: nutanix-smartproxy +:nutanix-smartproxy: +:a-target: {SmartProxyServer} +:the-target: {SmartProxyServer) +:target-name: {smartproxy-example-com} +include::modules/proc_deploying-a-virt-who-configuration-on-target-server.adoc[leveloffset=+1] +:!nutanix-smartproxy: + +:context: nutanix-el +:nutanix-el: +:a-target: a dedicated {EL} server +:the-target: the {EL} server +:port: 443 +:target-name: server.example.com +include::modules/proc_deploying-a-virt-who-configuration-on-target-server.adoc[leveloffset=+1] +:!nutanix-el: + +:!provider: +:!targets: +:!hypervisor-ui: +:!hypervisor-cli: +:!a-target: +:!the-target: +:!port: +:!target-name: +:!provider: + +:context: {parent-context} +:!parent-context: +:!configuring-virt-who-nutanix: diff --git a/guides/common/assembly_configuring-virt-who-openstack.adoc b/guides/common/assembly_configuring-virt-who-openstack.adoc new file mode 100644 index 0000000000..a54e63f57c --- /dev/null +++ b/guides/common/assembly_configuring-virt-who-openstack.adoc @@ -0,0 +1,37 @@ +:configuring-virt-who-openstack: +:parent-context: {context} + +:context: openstack-virt-who +:openstack-virt-who: +:provider: {OpenStack} +:targets: hypervisor +include::modules/con_configuring-virt-who-for-provider.adoc[] + +:hypervisor-ui: libvirt +:hypervisor-cli: libvirt +:target-name: qemu:///system +:username: virt_who_user +include::modules/proc_creating-a-virt-who-configuration.adoc[leveloffset=+1] +:!openstack-virt-who: + +:context: openstack-hypervisor +:openstack-hypervisor: +:a-target: a hypervisor +:the-target: the hypervisor +:target-name: hypervisor.example.com +include::modules/proc_deploying-a-virt-who-configuration-on-target-server.adoc[leveloffset=+1] +:!openstack-hypervisor: + +:!provider: +:!targets: +:!hypervisor-ui: +:!hypervisor-cli: +:!a-target: +:!the-target: +:!port: +:!target-name: +:!provider: + +:context: {parent-context} +:!parent-context: +:!configuring-virt-who-openstack: diff --git a/guides/common/assembly_configuring-virt-who-vmware.adoc b/guides/common/assembly_configuring-virt-who-vmware.adoc new file mode 100644 index 0000000000..d47bdef7d7 --- /dev/null +++ b/guides/common/assembly_configuring-virt-who-vmware.adoc @@ -0,0 +1,53 @@ +:configuring-virt-who-vmware: +:parent-context: {context} + +:context: vmware-virt-who +:vmware-virt-who: +:provider: VMware vSphere +:targets: {ProjectServer}, {SmartProxyServer}, or on a dedicated {EL} server +include::modules/con_configuring-virt-who-for-provider.adoc[] + +:hypervisor-ui: VMware vSphere / vCenter (esx) +:hypervisor-cli: esx +:target-name: vcenter.example.com +:username: username_vcenter@example.com +include::modules/proc_creating-a-virt-who-configuration.adoc[leveloffset=+1] +:!vmware-virt-who: + +:context: vmware-projectserver +:vmware-projectserver: +:a-target: {ProjectServer} +:the-target: {ProjectServer} +include::modules/proc_deploying-a-virt-who-configuration-on-target-server.adoc[leveloffset=+1] +:!vmware-projectserver: + +:context: vmware-smartproxy +:vmware-smartproxy: +:a-target: {SmartProxyServer} +:the-target: {SmartProxyServer} +:target-name: {smartproxy-example-com} +include::modules/proc_deploying-a-virt-who-configuration-on-target-server.adoc[leveloffset=+1] +:!vmware-smartproxy: + +:context: vmware-el +:vmware-el: +:a-target: a dedicated {EL} server +:the-target: the {EL} server +:port: 443 +:target-name: server.example.com +include::modules/proc_deploying-a-virt-who-configuration-on-target-server.adoc[leveloffset=+1] +:!vmware-el: + +:!provider: +:!targets: +:!hypervisor-ui: +:!hypervisor-cli: +:!a-target: +:!the-target: +:!port: +:!target-name: +:!provider: + +:context: {parent-context} +:!parent-context: +:!configuring-virt-who-vmware: diff --git a/guides/common/assembly_overview-of-vm-subscriptions.adoc b/guides/common/assembly_overview-of-vm-subscriptions.adoc new file mode 100644 index 0000000000..e4f33e54c5 --- /dev/null +++ b/guides/common/assembly_overview-of-vm-subscriptions.adoc @@ -0,0 +1,5 @@ +include::modules/con_virtual-machine-subscriptions-overview.adoc[] + +include::modules/ref_virt-who-configuration-overview.adoc[leveloffset=+1] + +include::modules/proc_checking-for-subscriptions-that-require-virt-who.adoc[leveloffset=+1] \ No newline at end of file diff --git a/guides/common/assembly_troubleshooting-virt-who.adoc b/guides/common/assembly_troubleshooting-virt-who.adoc new file mode 100644 index 0000000000..985d928a7d --- /dev/null +++ b/guides/common/assembly_troubleshooting-virt-who.adoc @@ -0,0 +1,9 @@ +include::modules/con_troubleshooting-virt-who.adoc[] + +include::modules/proc_checking-virt-who-status.adoc[leveloffset=+1] + +include::modules/proc_enabling-rhsm-debug-logging.adoc[leveloffset=+1] + +include::modules/proc_virt-who-does-not-report-to-satellite.adoc[leveloffset=+1] + +include::modules/ref_troubleshooting-virt-who.adoc[leveloffset=+1] \ No newline at end of file diff --git a/guides/common/attributes-satellite.adoc b/guides/common/attributes-satellite.adoc index eaa6998ab6..b10da8b988 100644 --- a/guides/common/attributes-satellite.adoc +++ b/guides/common/attributes-satellite.adoc @@ -16,6 +16,7 @@ :APIDocURL: {BaseURL}using_the_satellite_rest_api/index# :ConfiguringLoadBalancerDocURL: {BaseURL}configuring_capsules_with_a_load_balancer/index# :ConfiguringUserAuthenticationDocURL: {BaseURL}configuring_authentication_for_red_hat_satellite_users/index# +:ConfiguringVMSubscriptionsDocURL: {BaseURL}configuring_virt-who_for_virtual_machine_subscriptions/index# :ContentManagementDocURL: {BaseURL}managing_content/index# :InstallingServerDisconnectedDocURL: {BaseURL}installing_satellite_server_in_a_disconnected_network_environment/index# :InstallingServerDocURL: {BaseURL}installing_satellite_server_in_a_connected_network_environment/index# diff --git a/guides/common/attributes-titles.adoc b/guides/common/attributes-titles.adoc index a001a118f4..ee5685bf28 100644 --- a/guides/common/attributes-titles.adoc +++ b/guides/common/attributes-titles.adoc @@ -5,6 +5,7 @@ :AppCentricDeploymentDocTitle: Deploying hosts by using application centric approach :ConfiguringLoadBalancerDocTitle: Configuring {SmartProxies} with a load balancer :ConfiguringUserAuthenticationDocTitle: Configuring authentication for {ProjectName} users +:ConfiguringVMSubscriptionsDocTitle: Configuring virt-who for virtual machine subscriptions :ContentManagementDocTitle: Managing content :ConvertingHostRHELDocTitle: Converting a host to RHEL :DeployingAWSDocTitle: Deploying {ProjectName} on Amazon Web Services @@ -34,7 +35,6 @@ :UpgradingDisconnectedPreviousDocTitle: Upgrading disconnected {ProjectName} to {ProjectVersionPrevious} // Not upstreamed -:ConfiguringVMSubscriptionsDocTitle: Configuring virtual machine subscriptions :ConversionsToolkitDocTitle: Converting hosts to RHEL by using Satellite conversions toolkit // Overrides for titles per product diff --git a/guides/common/modules/con_configuring-virt-who-for-provider.adoc b/guides/common/modules/con_configuring-virt-who-for-provider.adoc new file mode 100644 index 0000000000..f4345e8d33 --- /dev/null +++ b/guides/common/modules/con_configuring-virt-who-for-provider.adoc @@ -0,0 +1,13 @@ +[id="deploying-virt-who-configuration_{context}"] += Configuring virt-who for {provider} + +You create a virt-who configuration for {provider} by using the {ProjectWebUI} or the CLI on {ProjectServer}. + +Then, you deploy the generated script or Hammer command on the {targets}. + +ifdef::kubevirt-virt-who[] +ifdef::satellite[] +:FeatureName: The {KubeVirt} hypervisor +include::snip_technology-preview.adoc[] +endif::[] +endif::[] diff --git a/guides/common/modules/con_managing-virt-who-configurations.adoc b/guides/common/modules/con_managing-virt-who-configurations.adoc new file mode 100644 index 0000000000..5a50366484 --- /dev/null +++ b/guides/common/modules/con_managing-virt-who-configurations.adoc @@ -0,0 +1,8 @@ +[id="managing-virt-who-configurations"] += Managing virt-who configurations + +You can check for subscriptions that require a virt-who configuration. + +Then, you create a virt-who configuration and deploy it on a hypervisor or virtualization manager. + +Optionally, you can edit or delete a virt-who configuration. \ No newline at end of file diff --git a/guides/common/modules/con_provisioning-virtual-machines-on-kubevirt.adoc b/guides/common/modules/con_provisioning-virtual-machines-on-kubevirt.adoc index 0d0d07acd1..8333468061 100644 --- a/guides/common/modules/con_provisioning-virtual-machines-on-kubevirt.adoc +++ b/guides/common/modules/con_provisioning-virtual-machines-on-kubevirt.adoc @@ -10,14 +10,8 @@ You can create a compute resource for {KubeVirt} so that you can provision and m ifdef::satellite[] Note that template provisioning is not supported for this release. -[IMPORTANT] -==== -The {KubeVirt} compute resource is a Technology Preview feature only. -Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. -Red Hat does not recommend using them in production. -These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process. -For more information about the support scope of Red Hat Technology Preview features, see https://access.redhat.com/support/offerings/techpreview/. -==== +:FeatureName: The {KubeVirt} compute resource +include::snip_technology-preview.adoc[] endif::[] .Prerequisites diff --git a/guides/common/modules/con_troubleshooting-virt-who.adoc b/guides/common/modules/con_troubleshooting-virt-who.adoc new file mode 100644 index 0000000000..2656bfe787 --- /dev/null +++ b/guides/common/modules/con_troubleshooting-virt-who.adoc @@ -0,0 +1,6 @@ +[id="troubleshooting-virt-who"] += Troubleshooting virt-who + +You can troubleshoot virt-who by checking the service status, logs, and by identifying configuration issues. + +For more information, see link:{RHDocsBaseURL}subscription_central/1-latest/html/getting_started_with_rhel_system_registration/adv-reg-rhel-config-vm-sub_#virt-who-troubleshooting-methods_[Virt-who troubleshooting methods] and link:{RHDocsBaseURL}subscription_central/1-latest/html/getting_started_with_rhel_system_registration/adv-reg-rhel-config-vm-sub_#virt-who-troubleshooting-scenarios_[Virt-who troubleshooting scenarios] in _Getting Started with RHEL System Registration_ in the Subscription Central documentation. diff --git a/guides/common/modules/con_virtual-machine-subscriptions-overview.adoc b/guides/common/modules/con_virtual-machine-subscriptions-overview.adoc new file mode 100644 index 0000000000..297dc3ae6a --- /dev/null +++ b/guides/common/modules/con_virtual-machine-subscriptions-overview.adoc @@ -0,0 +1,26 @@ +[id="virtual-machine-subscriptions-overview"] += Virt-who and virtual machine subscriptions + +Virtual machines (VMs) require host-based {EL} subscriptions instead of physical subscriptions. +Many host-based subscriptions include entitlements for unlimited VMs. + +virt-who queries the virtualization platform and reports hypervisor and VM information to {Project}. +You can view your subscription usage by using the Subscriptions service on the {RHCloud}. + +You can configure virt-who for the following virtualization platforms: + +* {EL} Virtualization (KVM) +* VMware vSphere +ifndef::orcharhino[] +* Nutanix AHV +endif::[] +* Microsoft Hyper-V +ifndef::orcharhino[] +* {OpenStack} +endif::[] +* {KubeVirt} + +ifdef::satellite[] +:FeatureName: The {KubeVirt} hypervisor +include::snip_technology-preview.adoc[] +endif::[] diff --git a/guides/common/modules/proc_checking-for-subscriptions-that-require-virt-who.adoc b/guides/common/modules/proc_checking-for-subscriptions-that-require-virt-who.adoc new file mode 100644 index 0000000000..d0c050cd31 --- /dev/null +++ b/guides/common/modules/proc_checking-for-subscriptions-that-require-virt-who.adoc @@ -0,0 +1,9 @@ +[id="checking-for-subscriptions-that-require-virt-who_{context}"] += Checking for subscriptions that require virt-who + +You can check for subscriptions that require virt-who configuration. + +.Procedure +. In the {ProjectWebUI}, navigate to *Content* > *Subscriptions*. +. Check the *Requires Virt-Who* column of the subscriptions list. +If a tick is displayed, you must configure virt-who to use that subscription. diff --git a/guides/common/modules/proc_checking-virt-who-status.adoc b/guides/common/modules/proc_checking-virt-who-status.adoc new file mode 100644 index 0000000000..0ef7626e21 --- /dev/null +++ b/guides/common/modules/proc_checking-virt-who-status.adoc @@ -0,0 +1,20 @@ +[id="checking-virt-who-status"] += Checking virt-who status + +You can check the status of virt-who by using the {ProjectWebUI} or the Hammer CLI tool. + +.Procedure +. In the {ProjectWebUI}, navigate to *Infrastructure* > *Virt-who Configurations*. +. Check the *Status* column of each virt-who instance. ++ +The `OK` status indicates that virt-who is successfully connecting to {ProjectServer} and reporting the virtual machines managed by each hypervisor. + +.CLI procedure +* List the status of all virt-who instances by entering the following command on {ProjectServer}: ++ +[options="nowrap", subs="+quotes,verbatim,attributes"] +---- +$ hammer virt-who-config list +---- ++ +The output includes the date and time when each virt-who instance reported to {ProjectServer}. diff --git a/guides/common/modules/proc_creating-a-virt-who-configuration.adoc b/guides/common/modules/proc_creating-a-virt-who-configuration.adoc new file mode 100644 index 0000000000..1db0d5db15 --- /dev/null +++ b/guides/common/modules/proc_creating-a-virt-who-configuration.adoc @@ -0,0 +1,158 @@ +[id="creating-a-virt-who-configuration_{context}"] += Creating a virt-who configuration + +You can create a virt-who configuration for {provider} by using the {ProjectWebUI}. + +To create a virt-who configuration by using the CLI, see xref:cli-creating-a-virt-who-configuration_{context}[]. + +The virt-who configuration creates a `virt_who_reporter_1` user with the `Virt-who Reporter` role, which provides minimal permissions for virt-who reporting to {ProjectServer}. +This user cannot be manually configured or used to log in to {ProjectServer}. + +Local configuration values are stored in the `/etc/virt-who.d/_conf_name_.conf` file. +These values apply only to the hypervisor. + +Global configuration values are stored in the `/etc/sysconfig/virt-who` file +These values, which include `Interval`, `Enable debugging output`, `HTTP Proxy`, and `Ignore Proxy`, apply to all virt-who configurations on the same server. +Redeploying a virt-who configuration on the same server overwrites these values. + +.Prerequisites +* You have imported a subscription manifest that includes a host-based subscription into {ProjectServer}. +For more information, see xref:checking-for-subscriptions-that-require-virt-who_virt-who-vm-subs[]. + +ifdef::vmware-virt-who[] +* You have created a virt-who user with read-only access to all objects in the vCenter Data Center and a non-expiring password on the vCenter Server. +endif::[] + +ifdef::kvm-virt-who,hyperv-virt-who,openstack-virt-who[] +* You have created a virt-who user with read-only access and a non-expiring password on the hypervisor. +endif::[] + +ifdef::kubevirt-virt-who[] +* You have created a `kubeconfig` file. +endif::[] + +.Procedure +. In the {ProjectWebUI}, navigate to *Infrastructure* > *Virt-who Configurations*. +. Click *Create Config*. +. Complete the following fields: +* *Name*: Configuration name. +* *Hypervisor Type*: Select *{hypervisor-ui}*. +ifdef::vmware-virt-who,hyper-virt-who[] +* *Hypervisor Server*: FQDN or IP address. +* *Hypervisor Username*: virt-who user name. +* *Hypervisor Password*: virt-who user password. +The password is encrypted when you deploy the configuration. +endif::[] +* *Interval*: Virtual machine information reporting interval. +* *{ProjectServer} FQDN*. +* *Hypervisor ID*: Select *Hostname* or *UUID*. + +. Optional: *Filtering*. Select one of the following options for querying hypervisors: +* *Unlimited* (default): All hypervisors are queried. +* *Whitelist*: Specific hypervisors are included. +* *Blacklist*: Specific hypervisors are excluded. +** *Filter hosts*: Comma-separated list of included hypervisors. +** *Exclude hosts*: Comma-separated list of excluded hypervisors. ++ +-- +Specify the host name or UUID according to the hypervisor ID you selected. + +.Host names + +* You can use wildcards, regular expressions, and special characters in the host name. +* If you use regular expressions, you must escape the backslashes. +* If you use special characters, you must enclose the host name in quotation marks. +-- +ifdef::vmware-virt-who[] +* *Filter host parents*: Comma-separated list of included cluster IDs. +* *Exclude host parents*: Comma-separated list of excluded cluster IDs. +ifdef::satellite[] +For more information, see link:https://access.redhat.com/solutions/5696481[Using the "Filter Host Parents" and "Exclude Host Parents" Attributes with VMware Clusters] in the _Red{nbsp}Hat Knowledgebase_. +endif::[] +endif::[] + +. You can configure the following logging and proxy options: +* *Enable debugging output*: Enables debug logging for virt-who. +* *HTTP Proxy*. +Example: `http://_proxy.example.com_:3128`. ++ +To use no proxy, leave this field blank; this has the same result as entering `{asterisk}` in the *Ignore Proxy* field. +* *Ignore Proxy*: Comma-separated list of host names, IP addresses, or domains to bypass existing proxy settings. +ifdef::kubevirt-virt-who[] +. Enter the `kubeconfig` file path. +endif::[] +ifdef::nutanix-virt-who[] +. Select *Prism Central* or *Prism Element* from the *Prism Flavor* list. +. Optional: *Enable AHV Debug*: Enables AHV internal debugging. +This option provides additional AHV information when you enable both debugging options. +endif::[] + +. Click *Submit*. + +[id="cli-creating-a-virt-who-configuration_{context}"] +.CLI procedure + +* On {ProjectServer}, enter the `hammer virt-who-config create` command: ++ +[options="nowrap" subs="+quotes,attributes"] +---- +$ hammer virt-who-config create \ +--name _My_virt-who_Configuration_ \ +--organizations "_My_Organization_" \ +--interval 720 \ <1> +--filtering-mode none \ <2> +--hypervisor-id _hostname_ \ <3> +--hypervisor-type {hypervisor-cli} \ +--hypervisor-server _{target-name}_ \ <4> +--hypervisor-username virt_who_user \ <5> +ifdef::vmware-virt-who,hyperv-virt-who[] +--hypervisor-password __ +endif::[] +--proxy '_http://proxy.example.com_:3128' \ <6> +--satellite-url _{foreman-example-com}_ +---- +-- +<1> Optional: Specify the virtual machine information reporting interval, in minutes. +<2> Specify `none` for no filtering of hypervisors for virt-who queries. +Specify `whitelist` or `blacklist` to include or exclude hypervisors for virt-who queries. +<3> Specify `hostname`, `uuid`, or `hwuuid` for the hypervisor ID format. +* You can use `uuid` to avoid duplication if you rename a hypervisor. ++ +* You can use `hwuuid` for configurations that apply to a virtualization manager instead of an individual hypervisor. ++ +[NOTE] +==== +You cannot change `hwuuid` to another option after virt-who starts running because this might cause duplicate entries in Subscription Manager. +==== + +ifdef::vmware-virt-who[] +<4> Specify the FQDN or IP address of the vCenter Server. +endif::[] +ifdef::kubevirt-virt-who,openstack-virt-who,nutanix-virt-who,kvm-virt-who,hyperv-virt-who[] +<4> Specify the FQDN or IP address of the hypervisor. +endif::[] +<5> Specify the name of the virt-who user you created on the hypervisor. +<6> Optional. +-- + +[id="virt-who configuration example_{context}"] +.Virt-who configuration example + +.{provider} virt-who configuration example +[options="nowrap" subs="+quotes,verbatim,attributes"] +---- +type={hypervisor-cli} +hypervisor_id=_hostname_ +ifdef::nutanix-virt-who[] +prism_central=true +endif::[] +owner=Default_Organization +env=Library +server=_{target-name}_ +username=_{username}_ +encrypted_password=$cr_password +rhsm_hostname=_{foreman-example-com}_ +rhsm_username=virt_who_reporter_1 +rhsm_encrypted_password=$user_password +rhsm_prefix=/rhsm +---- \ No newline at end of file diff --git a/guides/common/modules/proc_deploying-a-virt-who-configuration-on-target-server.adoc b/guides/common/modules/proc_deploying-a-virt-who-configuration-on-target-server.adoc new file mode 100644 index 0000000000..c8c85b4986 --- /dev/null +++ b/guides/common/modules/proc_deploying-a-virt-who-configuration-on-target-server.adoc @@ -0,0 +1,70 @@ +[id="deploying-a-virt-who-configuration-on-target-server_{context}"] += Deploying a virt-who configuration on {a-target} + +You can deploy a virt-who configuration for {provider} on {a-target}. +ifdef::vmware-el,nutanix-el,hyperv-el[] +The server can be physical or virtual. +endif::[] + +Global configuration values apply to all virt-who configurations on this server and are overwritten if you deploy a new virt-who configuration. + +ifdef::kvm-hypervisor,openstack-hypervisor,kubevirt-hypervisor[] +.Prerequisites +* You have registered the hypervisor to {ProjectServer}. +endif::[] +ifdef::vmware-el,nutanix-el,hyperv-el[] +.Prerequisites +* You have registered {the-target} to {ProjectServer}. For more information, see {ManagingHostsDocURL}Registering_Hosts_by_Using_Global_Registration_managing-hosts[Registering hosts by using global registration] in _{ManagingHostsDocTitle}_. +endif::[] + +.Procedure +ifdef::vmware-el,nutanix-el,hyperv-el[] +. Log in to {the-target}. +. Add a TCP port for communication between virt-who and {ProjectServer} to the runtime configuration: ++ +[options="nowrap" subs="+quotes,attributes"] +---- +$ firewall-cmd --add-port="{port}/tcp" +---- + +. Add a TCP port for communication between virt-who and {ProjectServer} to the permanent configuration: ++ +[options="nowrap" subs="+quotes,attributes"] +---- +$ firewall-cmd --add-port="{port}/tcp" --permanent +---- +endif::[] +. In the {ProjectWebUI}, navigate to *Infrastructure* > *Virt-who Configurations*. +. Click a virt-who configuration. +. Click the *Deploy* tab. +ifdef::vmware-projectserver,hyperv-projectserver,nutanix-projectserver[] +. Under *Hammer command*, click *Copy to clipboard*. +. Log in to {ProjectServer}, paste the Hammer command into your terminal, and then run the command. +endif::[] +ifndef::vmware-projectserver,hyperv-projectserver,nutanix-projectserver[] +. Under *Configuration script*, click *Download the script*. +. Copy the script from {ProjectServer} to {the-target}: ++ +[options="nowrap" subs="+quotes,verbatim,attributes"] +---- +$ scp _deploy_virt_who_config_1_.sh root@_{target-name}_: +---- +. Log in to {the-target} and make the script executable: ++ +[options="nowrap" subs="+quotes"] +---- +$ chmod +x _deploy_virt_who_config_1_.sh +---- +. Run the script: ++ +[options="nowrap" subs="+quotes"] +---- +$ sh _deploy_virt_who_config_1_.sh +---- +. After the deployment is complete, delete the script: ++ +[options="nowrap" subs="+quotes"] +---- +$ rm _deploy_virt_who_config_1_ +---- +endif::[] \ No newline at end of file diff --git a/guides/common/modules/proc_editing-a-virt-who-configuration.adoc b/guides/common/modules/proc_editing-a-virt-who-configuration.adoc new file mode 100644 index 0000000000..f31621ef37 --- /dev/null +++ b/guides/common/modules/proc_editing-a-virt-who-configuration.adoc @@ -0,0 +1,23 @@ +[id="editing-a-virt-who-configuration"] += Editing a virt-who configuration + +You can edit a virt-who configuration by using either the {ProjectWebUI} or the Hammer CLI. + +.Procedure +. In the {ProjectWebUI}, navigate to *Infrastructure* > *Virt-who Configurations*. +. Select *Edit* in the *Actions* column of a virt-who configuration. +. Edit the fields and then click *Submit*. +. Deploy the modified virt-who configuration. + +[id="cli-editing-a-virt-who-configuration"] +.CLI procedure +. On {ProjectServer}, use the `hammer virt-who-config update` command to edit the virt-who configuration: ++ +[options="nowrap" subs="+quotes,verbatim"] +---- +$ hammer virt-who-config update \ +--name _My_virt-who_Configuration_ \ +--new-name _My_new_virt-who_Configuration_ \ +--interval 1440 +---- +. Deploy the modified virt-who configuration. diff --git a/guides/common/modules/proc_enabling-rhsm-debug-logging.adoc b/guides/common/modules/proc_enabling-rhsm-debug-logging.adoc new file mode 100644 index 0000000000..57b235c849 --- /dev/null +++ b/guides/common/modules/proc_enabling-rhsm-debug-logging.adoc @@ -0,0 +1,25 @@ +[id="enabling-rhsm-debug-logging"] += Enabling debug logging + +You can enable debug logging for the `/var/log/rhsm/rhsm.log` file by using the {ProjectWebUI} or the Hammer CLI tool. + +After you resolve the problem, you must disable debug logging and redeploy the virt-who configuration. +To use the CLI instead of the {ProjectWebUI}, see the xref:cli-enabling-rhsm-debug-logging[]. + +.Procedure +. In the {ProjectWebUI}, navigate to *Infrastructure* > *Virt-who Configurations*. +. Select *Edit* in the *Actions* column of a virt-who configuration. +. Select *Enable debugging output*. +. Click *Submit*. +. Redeploy the virt-who configuration on the target host. + +[id="cli-enabling-rhsm-debug-logging"] +.CLI procedure +. On {ProjectServer}, run the `hammer virt-who-config update` command with the debug option: ++ +[options="nowrap" subs="+quotes"] +---- +$ hammer virt-who-config update \ +--debug true +---- +. Redeploy the virt-who configuration on the target host. diff --git a/guides/common/modules/proc_removing-a-virt-who-configuration.adoc b/guides/common/modules/proc_removing-a-virt-who-configuration.adoc new file mode 100644 index 0000000000..6e1522befa --- /dev/null +++ b/guides/common/modules/proc_removing-a-virt-who-configuration.adoc @@ -0,0 +1,15 @@ +[id="removing-an-existing-virt-who-configuration"] += Removing a virt-who configuration + +You can remove a virt-who configuration by deleting the configuration in the {ProjectWebUI} and then by deleting the configuration file from the hypervisor or the virtualization manager. + +.Procedure +. In the {ProjectWebUI}, navigate to *Infrastructure* > *Virt-who Configurations*. +. Select *Delete* from the *Actions* column of the virt-who configuration. +. On the hypervisor or virtualization manager, remove the configuration file by running the following command: ++ +[options="nowrap" subs="+quotes"] ++ +---- +$ rm /etc/virt-who.d/_conf_name_.conf +---- diff --git a/guides/common/modules/proc_virt-who-does-not-report-to-satellite.adoc b/guides/common/modules/proc_virt-who-does-not-report-to-satellite.adoc new file mode 100644 index 0000000000..34d0f0c323 --- /dev/null +++ b/guides/common/modules/proc_virt-who-does-not-report-to-satellite.adoc @@ -0,0 +1,13 @@ +[id="virt-who-does-not-report-to-{project-context}-server"] += virt-who does not report to {ProjectServer} + +virt-who might not report to {ProjectServer} if {ProjectServer} is configured to use a proxy server in `rhsm.conf` while virt-who is configured not to use a proxy server in `/etc/sysconfig/virt-who`. + +The virt-who setting is ignored by the Subscription Manager. As a result, virt-who attempts to connect to {ProjectServer} through a proxy server and fails. + +To work around this problem, add the following parameter to the `/etc/rhsm/rhsm.conf` file: + +[source,text] +---- +no_proxy = server.example.com +---- diff --git a/guides/common/modules/ref_troubleshooting-virt-who.adoc b/guides/common/modules/ref_troubleshooting-virt-who.adoc new file mode 100644 index 0000000000..7bf6f85ab3 --- /dev/null +++ b/guides/common/modules/ref_troubleshooting-virt-who.adoc @@ -0,0 +1,75 @@ +[id="virt-who-troubleshooting-methods"] += Virt-who troubleshooting methods + +.Identifying issues when using multiple virt-who configuration files + +If you have multiple virt-who configuration files on one server, move one file at a time to a different directory while testing after each file move. +If the issue no longer occurs, the cause is associated with the most recently moved file. +After you have resolved the issue, return the virt-who configuration files to their original location. + +Alternatively, you can test an individual file after moving it by using the `--config` option to specify its location. For example: + +[options="nowrap" subs="+quotes,verbatim"] +---- +$ virt-who --debug --one-shot --config /tmp/_conf_name_.conf +---- + +.Identifying duplicate hypervisors + +Duplicate hypervisors can cause subscription and entitlement errors. Enter the following commands to check for duplicate hypervisors: + +[options="nowrap" subs="+quotes,verbatim"] +---- +# systemctl stop virt-who +# virt-who -op >/tmp/virt-who.json +# systemctl start virt-who +# cat /tmp/virt-who.json | json_reformat | grep name | sort | uniq -c | sort -nr | head -n10 + 3 "name": "localhost" + 1 "name": "rhel1.example.com" + 1 "name": "rhel2.example.com" + 1 "name": "rhel3.example.com" + 1 "name": "rhel4.example.com" + 1 "name": "rhvh1.example.com" + 1 "name": "rhvh2.example.com" + 1 "name": "rhvh3.example.com" + 1 "name": "rhvh4.example.com" + 1 "name": "rhvh5.example.com" +---- + +In this example, three hypervisors have the same FQDN (`localhost`), and must be corrected to use unique FQDNs. + +.Identifying duplicate virtual machines + +Enter the following commands to check for duplicate virtual machines: + +[options="nowrap" subs="+quotes,verbatim"] +---- +# systemctl stop virt-who +# virt-who -op >/tmp/virt-who.json +# systemctl start virt-who +# cat /tmp/virt-who.json | json_reformat | grep "guestId" | sort | uniq -c | sort -nr | head -n10 +---- + +.Checking the number of hypervisors + +Enter the following commands to check the number of hypervisors virt-who currently reports: + +[options="nowrap" subs="+quotes,verbatim"] +---- +# systemctl stop virt-who +# virt-who -op >/tmp/virt-who.json +# systemctl start virt-who +# cat /tmp/virt-who.json | json_reformat | grep name | sort | uniq -c | wc -l +---- + +.Checking the number of virtual machines + +Enter the following commands to check the number of virtual machines that virt-who currently reports: + +[options="nowrap" subs="+quotes,verbatim"] +---- +# systemctl stop virt-who +# virt-who -op >/tmp/virt-who.json +# systemctl start virt-who +# cat /tmp/virt-who.json | json_reformat | grep "guestId" | sort | uniq -c | wc -l +---- diff --git a/guides/common/modules/ref_virt-who-configuration-overview.adoc b/guides/common/modules/ref_virt-who-configuration-overview.adoc new file mode 100644 index 0000000000..022b71effc --- /dev/null +++ b/guides/common/modules/ref_virt-who-configuration-overview.adoc @@ -0,0 +1,27 @@ +[id="virt-who-configuration-overview"] += virt-who configuration overview + +You configure virt-who by creating a virt-who configuration on {ProjectServer}. +Then, you deploy the configuration on a target host such as a hypervisor or a dedicated {EL} server. + +.Preparing your environment +* Import a subscription manifest that includes a host-based subscription into {ProjectServer}. +* Register the target host to {ProjectServer}. +* Create a read-only user for virt-who on the target host. + +.Procedure +. Create a virt-who configuration on {ProjectServer}. +. Deploy the virt-who configuration on the target host. + +.Next steps +* Set the system purpose attributes of the host to improve the accuracy of the subscriptions service data. +For more information, see {ManagingHostsDocURL}Editing_the_System_Purpose_of_a_Host_managing-hosts[Editing the system purpose of a host] in _{ManagingHostsDocTitle}_. ++ +You can set the system purpose attributes when you configure activation keys for the host. +For more information, see {ContentManagementDocURL}Managing_Activation_Keys_content-management[Managing activation keys] in _{ContentManagementDocTitle}_. +ifdef::satellite[] +* In a connected environment, configure the {Project} inventory upload plugin to upload your inventory to {RHCloud}. +For more information, see {RHDocsBaseURL}subscription_central/1-latest/html/getting_started_with_the_subscriptions_service/proc-installing-satellite-inventory-upload-plugin_assembly-setting-up-subscriptionwatch-ctxt[Installing the Satellite inventory upload plugin] in _Getting Started with the Subscriptions Service_. +endif::[] +* Associate the virtual machines with {Project}. +For more information, see {ManagingHostsDocURL}Associating_a_Virtual_Machine_from_a_Hypervisor_managing-hosts[Associating a virtual machine with {Project} from a hypervisor] in _{ManagingHostsDocTitle}_. diff --git a/guides/common/modules/snip_technology-preview.adoc b/guides/common/modules/snip_technology-preview.adoc new file mode 100644 index 0000000000..5e80c2f265 --- /dev/null +++ b/guides/common/modules/snip_technology-preview.adoc @@ -0,0 +1,15 @@ +// When including this file, ensure that {FeatureName} is set immediately before +// the include. Otherwise it will result in an incorrect replacement. + +[IMPORTANT] +==== +[subs="attributes+"] +{FeatureName} is a Technology Preview feature only. +Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. +Red Hat does not recommend using them in production. +These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process. + +For more information about the support scope of Red Hat Technology Preview features, see link:https://access.redhat.com/support/offerings/techpreview/[Technology Preview Features Support Scope]. +==== +// Undefine {FeatureName} attribute, so that any mistakes are easily spotted +:!FeatureName: diff --git a/guides/doc-Configuring_virt-who_VM_Subscriptions/Makefile b/guides/doc-Configuring_virt-who_VM_Subscriptions/Makefile new file mode 100644 index 0000000000..dd1e5be855 --- /dev/null +++ b/guides/doc-Configuring_virt-who_VM_Subscriptions/Makefile @@ -0,0 +1 @@ +include ../common/Makefile diff --git a/guides/doc-Configuring_virt-who_VM_Subscriptions/common b/guides/doc-Configuring_virt-who_VM_Subscriptions/common new file mode 120000 index 0000000000..60d3b0a6a8 --- /dev/null +++ b/guides/doc-Configuring_virt-who_VM_Subscriptions/common @@ -0,0 +1 @@ +../common \ No newline at end of file diff --git a/guides/doc-Configuring_virt-who_VM_Subscriptions/docinfo.html b/guides/doc-Configuring_virt-who_VM_Subscriptions/docinfo.html new file mode 120000 index 0000000000..e037c37244 --- /dev/null +++ b/guides/doc-Configuring_virt-who_VM_Subscriptions/docinfo.html @@ -0,0 +1 @@ +../common/docinfo.html \ No newline at end of file diff --git a/guides/doc-Configuring_virt-who_VM_Subscriptions/docinfo.xml b/guides/doc-Configuring_virt-who_VM_Subscriptions/docinfo.xml new file mode 100644 index 0000000000..c62b3a7350 --- /dev/null +++ b/guides/doc-Configuring_virt-who_VM_Subscriptions/docinfo.xml @@ -0,0 +1,15 @@ +{ConfiguringVMSubscriptionsDocTitle} +{ProjectName} +{ProjectVersion} +Track the usage of your host-based subscriptions + + Configure virt-who for host-based subscriptions to track subscription usage in the {RHCloud}. + + + + {ProjectName} + Documentation Team + satellite-doc-list@redhat.com + + + diff --git a/guides/doc-Configuring_virt-who_VM_Subscriptions/images b/guides/doc-Configuring_virt-who_VM_Subscriptions/images new file mode 120000 index 0000000000..ac7700aa2a --- /dev/null +++ b/guides/doc-Configuring_virt-who_VM_Subscriptions/images @@ -0,0 +1 @@ +../common/images/ \ No newline at end of file diff --git a/guides/doc-Configuring_virt-who_VM_Subscriptions/master.adoc b/guides/doc-Configuring_virt-who_VM_Subscriptions/master.adoc new file mode 100644 index 0000000000..20c8a0515b --- /dev/null +++ b/guides/doc-Configuring_virt-who_VM_Subscriptions/master.adoc @@ -0,0 +1,40 @@ +include::common/attributes.adoc[] +include::common/header.adoc[] +:context: virt-who-vm-subs +:virt-who-vm-subs: +:ProductName: {ProjectServer} + += {ConfiguringVMSubscriptionsDocTitle} + +ifdef::foreman-deb[] +You cannot use the virt-who plugin because it requires the Katello plugin, which is not supported on Debian or Ubuntu. +endif::[] +ifdef::foreman-el[] +You cannot use the virt-who plugin without the Katello plugin. +endif::[] + +ifdef::satellite[] +include::common/modules/proc_providing-feedback-on-red-hat-documentation.adoc[leveloffset=+1] +endif::[] + +ifdef::katello,satellite,orcharhino[] +include::common/assembly_overview-of-vm-subscriptions.adoc[leveloffset=+1] + +include::common/assembly_configuring-virt-who-kvm.adoc[leveloffset=+1] + +include::common/assembly_configuring-virt-who-vmware.adoc[leveloffset=+1] + +include::common/assembly_configuring-virt-who-nutanix.adoc[leveloffset=+1] + +include::common/assembly_configuring-virt-who-hyperv.adoc[leveloffset=+1] + +include::common/assembly_configuring-virt-who-openstack.adoc[leveloffset=+1] + +include::common/assembly_configuring-virt-who-kubevirt.adoc[leveloffset=+1] + +include::common/modules/proc_editing-a-virt-who-configuration.adoc[leveloffset=+1] + +include::common/modules/proc_removing-a-virt-who-configuration.adoc[leveloffset=+1] + +include::common/assembly_troubleshooting-virt-who.adoc[leveloffset=+1] + diff --git a/guides/upstream_filename_to_satellite_link.json b/guides/upstream_filename_to_satellite_link.json index 30306b62e4..404230e0a9 100644 --- a/guides/upstream_filename_to_satellite_link.json +++ b/guides/upstream_filename_to_satellite_link.json @@ -2,6 +2,7 @@ "build/Administering_Project/index-satellite.html": "administering_red_hat_satellite", "build/Configuring_Load_Balancer/index-satellite.html": "configuring_capsules_with_a_load_balancer", "build/Configuring_User_Authentication/index-satellite.html": "configuring_authentication_for_red_hat_satellite_users", + "build/Configuring_virt-who_VM_Subscriptions/index-satellite.html": "configuring_virt-who_for_virtual_machine_subscriptions", "build/Deploying_Project_on_AWS/index-satellite.html": "deploying_red_hat_satellite_on_amazon_web_services", "build/Installing_Proxy/index-satellite.html": "installing_capsule_server", "build/Installing_Server/index-satellite.html": "installing_satellite_server_in_a_connected_network_environment",