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 58e2fcc1ad..03b75eb32b 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 2d5f1c4dd1..7a1a0fb378 100644 --- a/guides/common/attributes-titles.adoc +++ b/guides/common/attributes-titles.adoc @@ -6,6 +6,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..05d4d05dd0 --- /dev/null +++ b/guides/common/modules/con_configuring-virt-who-for-provider.adoc @@ -0,0 +1,32 @@ +ifeval::["{context}" == "vmware"] +:provider: VMware vSphere +:targets: {ProjectServer}, {SmartProxyServer}, or on a dedicated {EL} server +endif::[] +ifeval::["{context}" == "kvm"] +:provider: {EL} Virtualization +:targets: hypervisor +endif::[] +ifeval::["{context}" == "openstack"] +:provider: {OpenStack} +:targets: hypervisor +endif::[] +ifeval::["{context}" == "hyperv"] +:provider: Microsoft Hyper-V +:targets: {ProjectServer}, {SmartProxyServer}, or on a dedicated {EL} server +endif::[] +ifeval::["{context}" == "nutanix"] +:provider: Nutanix AHV +:targets: {ProjectServer}, {SmartProxyServer}, or on a dedicated {EL} server +endif::[] +ifeval::["{context}" == "kubevirt"] +:provider: {KubeVirt} +:targets: hypervisor +endif::[] + +[id="deploying-virt-who-configuration_{context}"] += Configuring virt-who for {provider} + +You create a virt-who configuration by using the {ProjectWebUI} or the CLI on the {ProjectServer}. + +Then, you deploy the generated script or Hammer command on the {targets}. + 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 4df4c31c23..3cab223eff 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..b1b640f07e --- /dev/null +++ b/guides/common/modules/con_virtual-machine-subscriptions-overview.adoc @@ -0,0 +1,24 @@ +[id="virtual-machine-subscriptions-overview"] += Virtual machine subscriptions overview + +Virtual machines (VMs) require host-based subscriptions instead of physical subscriptions. +Many host-based subscriptions include entitlements for unlimited VMs. + +You can configure and deploy virt-who on your hypervisors. +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 host-based subscriptions for {EL} VMs on the following virtualization platforms: + +* VMware vSphere +* {EL} Virtualization (KVM) +* {OpenStack} +* Microsoft Hyper-V +* Nutanix AHV +* {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..e0c74cedae --- /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"] += 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..7d382e97c4 --- /dev/null +++ b/guides/common/modules/proc_creating-a-virt-who-configuration.adoc @@ -0,0 +1,153 @@ +ifeval::["{context}" == "vmware"] +:hypervisor-ui: VMware vSphere / vCenter (esx) +:hypervisor-cli: esx +endif::[] +ifeval::["{context}" == "kvm"] +:hypervisor-ui: libvirt +:hypervisor-cli: libvirt +endif::[] +ifeval::["{context}" == "openstack"] +:hypervisor-ui: libvirt +:hypervisor-cli: libvirt +endif::[] +ifeval::["{context}" == "hyperv"] +:hypervisor-ui: Microsoft Hyper-V (hyperv) +:hypervisor-cli: hyperv +endif::[] +ifeval::["{context}" == "nutanix"] +:hypervisor-ui: Nutanix AHV (ahv) +:hypervisor-cli: ahv +endif::[] +ifeval::["{context}" == "kubevirt"] +:hypervisor-ui: Container-native virtualization +:hypervisor-cli: cnv +endif::[] + +[id="creating-a-virt-who-configuration_{context}"] += Creating a virt-who configuration + +You create a virt-who configuration by using the {ProjectWebUI} or the CLI. + +The virt-who configuration creates a `virt_who_reporter_[id]` 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 and apply only to the hypervisor or virtualization manager. + +Global configuration values, such as `Interval`, `Enable debugging output`, `HTTP Proxy`, and `Ignore Proxy`, apply to all virt-who configurations on the same server and are overwritten if you deploy a new virt-who configuration on that server. +Global configuration values are stored in the `/etc/sysconfig/virt-who` file. + +.Prerequisites +* You have imported a subscription manifest that includes a host-based subscription into {ProjectServer}. + +ifdef::vmware[] +* 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,hyperv,openstack[] +* You have created a virt-who user with read-only access and a non-expiring password on the hypervisor. +endif::[] + +ifdef::kubevirt[] +* 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,hyperv[] +* *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[] +* *Filter host parents*: Comma-separated list of included cluster IDs. +* *Exclude host parents*: Comma-separated list of excluded cluster IDs. +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::[] + +. 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[] +. Enter the `kubeconfig` file path. +endif::[] +ifdef::nutanix[] +. 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 _hypervisor.example.com_ \ <4> +--hypervisor-username virt_who_user \ <5> +ifdef::vmware,hyperv[] +--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[] +<4> Specify the FQDN or IP address of the vCenter Server. +endif::[] +ifndef::vmware[] +<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. +-- diff --git a/guides/common/modules/proc_deploying-a-virt-who-configuration-on-el.adoc b/guides/common/modules/proc_deploying-a-virt-who-configuration-on-el.adoc new file mode 100644 index 0000000000..4ee0708377 --- /dev/null +++ b/guides/common/modules/proc_deploying-a-virt-who-configuration-on-el.adoc @@ -0,0 +1,67 @@ +ifeval::["{context}" == "vmware"] +:provider: VMware vSphere +:port: 443 +endif::[] +ifeval::["{context}" == "hyperv"] +:provider: Microsoft Hyper-V +:port: 5985 +endif::[] +ifeval::["{context}" == "nutanix"] +:provider: Nutanix AHV +:port: 443 +endif::[] + +[id="deploying-a-virt-who-configuration-on-el_{context}"] += Deploying a virt-who configuration on a dedicated {EL} server + +You can deploy a virt-who configuration for {provider} on a dedicated {EL} server. +The server can be physical or virtual. + +Global configuration values apply to all virt-who configurations on this server and are overwritten if you deploy a new virt-who configuration. + +.Prerequisites +* You have registered the {EL} server to {ProjectServer}. For more information, see {ProvisioningDocURL}registering_hosts_to_server_managing-hosts#Registering_Hosts_by_Using_Global_Registration_managing-hosts[Registering hosts by using global registration] in _{ProvisioningDocTitle}_. + +.Procedure +. Log in to the {EL} server. +. 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 +---- +. In the {ProjectWebUI}, navigate to *Infrastructure* > *Virt-who Configurations*. +. Click a virt-who configuration file. +. Click the *Deploy* tab. +. Under *Configuration script*, click *Download the script*. +. Copy the script from the {ProjectServer} to the {EL} server: ++ +[options="nowrap" subs="+quotes"] +---- +$ scp _deploy_virt_who_config_1_.sh root@_server.example.com_: +---- +. 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_ +---- diff --git a/guides/common/modules/proc_deploying-a-virt-who-configuration-on-hypervisor-smartproxy.adoc b/guides/common/modules/proc_deploying-a-virt-who-configuration-on-hypervisor-smartproxy.adoc new file mode 100644 index 0000000000..d1b8879f0f --- /dev/null +++ b/guides/common/modules/proc_deploying-a-virt-who-configuration-on-hypervisor-smartproxy.adoc @@ -0,0 +1,71 @@ +ifeval::["{context}" == "kvm"] +:provider: {EL} Virtualization (KVM) +:target: a hypervisor +:target-name: hypervisor.example.com +endif::[] +ifeval::["{context}" == "openstack"] +:provider: {OpenStack} +:target: a hypervisor +:target-name: hypervisor.example.com +endif::[] +ifeval::["{context}" == "kubevirt"] +:provider: {KubeVirt} +:target: a hypervisor +:target-name: hypervisor.example.com +endif::[] +ifeval::["{context}" == "vmware"] +:provider: VMware vSphere +:target: {SmartProxyServer} +:target-name: {smartproxy-example-com} +endif::[] +ifeval::["{context}" == "hyperv"] +:provider: Microsoft Hyper-V +:target: {SmartProxyServer} +:target-name: {smartproxy-example-com} +endif::[] + +[id="deploying-a-virt-who-configuration-on-hypervisor-smartproxy_{context}"] += Deploying a virt-who configuration on {target} + +You +ifdef::nutanix,vmware,hyperv[] +can +endif::[] +deploy the virt-who configuration for {provider} on {target}. + +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,openstack,kubevirt[] +.Prerequisites +* You have registered the hypervisor to {ProjectServer}. +endif::[] + +.Procedure +. In the {ProjectWebUI}, navigate to *Infrastructure* > *Virt-who Configurations*. +. Click a virt-who configuration. +. Click the *Deploy* tab. +. Under *Configuration script*, click *Download the script*. +. Copy the script from the {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_ +---- diff --git a/guides/common/modules/proc_deploying-a-virt-who-configuration-on-projectserver.adoc b/guides/common/modules/proc_deploying-a-virt-who-configuration-on-projectserver.adoc new file mode 100644 index 0000000000..3dfae3b37a --- /dev/null +++ b/guides/common/modules/proc_deploying-a-virt-who-configuration-on-projectserver.adoc @@ -0,0 +1,22 @@ +ifeval::["{context}" == "vmware"] +:provider: VMware vSphere +endif::[] +ifeval::["{context}" == "hyperv"] +:provider: Microsoft Hyper-V +endif::[] +ifeval::["{context}" == "nutanix"] +:provider: Nutanix AHV +endif::[] + +[id="deploying-a-virt-who-configuration-on-projectserver_{context}"] += Deploying a virt-who configuration on {ProjectServer} + +You deploy the virt-who configuration for {provider} on {ProjectServer}. + +Global configuration values apply to all virt-who configurations on {ProjectServer} and are overwritten if you deploy a new virt-who configuration. + +.Procedure +. In the {ProjectWebUI}, navigate to *Infrastructure* > *Virt-who Configurations*. +. Click a virt-who configuration. +. Under *Hammer command*, click *Copy to clipboard*. +. Log in to {ProjectServer} and paste the Hammer command into your terminal. 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-examples.adoc b/guides/common/modules/ref_virt-who-configuration-examples.adoc new file mode 100644 index 0000000000..0e6797b0db --- /dev/null +++ b/guides/common/modules/ref_virt-who-configuration-examples.adoc @@ -0,0 +1,93 @@ +[id="virt-who-configuration-examples"] += Virt-who configuration examples + +You configure virt-who in a file that specifies details such as the virtualization type and the hypervisor or virtualization manager to query. + +[IMPORTANT] +==== +The `rhevm` and `xen` hypervisors are not supported. + +The `kubevirt` hypervisor is a Technology Preview. +==== + +.Generic example +[options="nowrap" subs="+quotes,verbatim,attributes"] +---- +type=libvirt <1> +hypervisor_id=hostname +owner=Default_Organization +env=Library +server=_hypervisor.example.com_ +username=_virt_who_user_ <2> +encrypted_password=$cr_password +rhsm_hostname=_{foreman-example-com}_ +rhsm_username=virt_who_reporter_1 +rhsm_encrypted_password=$user_password +rhsm_prefix=/rhsm +---- +<1> Hypervisor type. +<2> Read-only user that you create on the hypervisor before configuring virt-who. + +.{OpenStack} example +[options="nowrap" subs="+quotes,verbatim,attributes"] +---- +type=libvirt +hypervisor_id=hostname +owner=ORG +env=Library +server=qemu:///system <==== +username=_virt_who_user_ +encrypted_password=$cr_password +rhsm_hostname=_{foreman-example-com}_ +rhsm_username=virt_who_reporter_1 +rhsm_encrypted_password=$user_password +rhsm_prefix=/rhsm +---- + +.KVM example +[options="nowrap" subs="+quotes,verbatim,attributes"] +---- +type=libvirt +hypervisor_id=hostname +owner=gss +env=Library +server=qemu+ssh://root@libvirt.example.com/system +username=root +encrypted_password=$cr_password +rhsm_hostname=_{foreman-example-com}_ +rhsm_username=virt_who_reporter_1 +rhsm_encrypted_password=$user_password +rhsm_prefix=/rhsm +---- + +.vCenter Server example +[options="nowrap" subs="+quotes,verbatim,attributes"] +---- +type=esx +hypervisor_id=hostname +owner=gss +env=Library +server=_vcenter.example.com_ +username=username_vcenter@example.com +encrypted_password=$cr_password +rhsm_hostname=_{foreman-example-com}_ +rhsm_username=virt_who_reporter_1 +rhsm_encrypted_password=$user_password +rhsm_prefix=/rhsm +---- + +.Nutanix AHV example +[options="nowrap" subs="+quotes,verbatim,attributes"] +---- +type=ahv +server=192.0.2.0 +username=_prism_user_ +encrypted_password=$cr_password +owner=ORG +hypervisor_id=hostname +prism_central=true +rhsm_hostname=_{foreman-example-com}_ +rhsm_username=virt_who_reporter_1 +rhsm_encrypted_password=$user_password +rhsm_prefix=/rhsm +---- 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..0231805794 --- /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 install and configure virt-who by preparing your environment and then creating and deploying a virt-who configuration. + +.Preparing your environment +* Import a subscription manifest that includes a host-based subscription into {ProjectServer}. +* Register each hypervisor to {ProjectServer}. +* Create a virt-who user with read-only access and a non-expiring password on each hypervisor. +The virt-who user retrieves a list of virtual machines and reports them to {ProjectServer}. +* Microsoft Hyper-V: Enable remote management on each hypervisor. + +.Procedure +. Create a virt-who configuration by using the {ProjectWebUI} or the Hammer CLI tool. +. Deploy the virt-who configuration by downloading a script from the {ProjectWebUI} and running the script on each hypervisor or target host. + +.Next steps +* Edit the system purpose attributes of your host. +For more information, see {ManagingHostsDocURL}Editing_the_System_Purpose_of_a_Host_managing-hosts[Editing the system purpose of a host] in _{ManagingHostsDocTitle}_. +* Create activation keys for your 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..3afed27ee7 --- /dev/null +++ b/guides/doc-Configuring_virt-who_VM_Subscriptions/master.adoc @@ -0,0 +1,95 @@ +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] + +// To do +// include::common/modules/ref_virt-who-configuration-examples.adoc[leveloffset=+2] + +:!virt-who-vm-subs: +:context: kvm +:kvm: +include::common/modules/con_configuring-virt-who-for-provider.adoc[leveloffset=+1] + +include::common/modules/proc_creating-a-virt-who-configuration.adoc[leveloffset=+2] + +include::common/modules/proc_deploying-a-virt-who-configuration-on-hypervisor-smartproxy.adoc[leveloffset=+2] +:!kvm: +:context: vmware +:vmware: +include::common/modules/con_configuring-virt-who-for-provider.adoc[leveloffset=+1] + +include::common/modules/proc_creating-a-virt-who-configuration.adoc[leveloffset=+2] + +include::common/modules/proc_deploying-a-virt-who-configuration-on-projectserver.adoc[leveloffset=+2] + +include::common/modules/proc_deploying-a-virt-who-configuration-on-hypervisor-smartproxy.adoc[leveloffset=+2] + +include::common/modules/proc_deploying-a-virt-who-configuration-on-el.adoc[leveloffset=+2] +:!vmware: +:context: nutanix +:nutanix: +include::common/modules/con_configuring-virt-who-for-provider.adoc[leveloffset=+1] + +include::common/modules/proc_creating-a-virt-who-configuration.adoc[leveloffset=+2] + +include::common/modules/proc_deploying-a-virt-who-configuration-on-projectserver.adoc[leveloffset=+2] + +include::common/modules/proc_deploying-a-virt-who-configuration-on-hypervisor-smartproxy.adoc[leveloffset=+2] + +include::common/modules/proc_deploying-a-virt-who-configuration-on-el.adoc[leveloffset=+2] +:!nutanix: +:context: hyperv +:hyperv: +include::common/modules/con_configuring-virt-who-for-provider.adoc[leveloffset=+1] + +include::common/modules/proc_creating-a-virt-who-configuration.adoc[leveloffset=+2] + +include::common/modules/proc_deploying-a-virt-who-configuration-on-projectserver.adoc[leveloffset=+2] + +include::common/modules/proc_deploying-a-virt-who-configuration-on-hypervisor-smartproxy.adoc[leveloffset=+2] + +include::common/modules/proc_deploying-a-virt-who-configuration-on-el.adoc[leveloffset=+2] +:!hyperv: +:context: openstack +:openstack: +include::common/modules/con_configuring-virt-who-for-provider.adoc[leveloffset=+1] + +include::common/modules/proc_creating-a-virt-who-configuration.adoc[leveloffset=+2] + +include::common/modules/proc_deploying-a-virt-who-configuration-on-hypervisor-smartproxy.adoc[leveloffset=+2] +:!openstack: +:context: kubevirt +:kubevirt: +include::common/modules/con_configuring-virt-who-for-provider.adoc[leveloffset=+1] + +include::common/modules/proc_creating-a-virt-who-configuration.adoc[leveloffset=+2] + +include::common/modules/proc_deploying-a-virt-who-configuration-on-hypervisor-smartproxy.adoc[leveloffset=+2] +:!kubevirt: +:context: virt-who-vm-subs +:virt-who-vm-subs: +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] +:!virt-who-vm-subs: +endif::[] 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",