Answers to some frequently asked questions related to Nomad.

What happens to the Nomad client during an upgrade? Does it halt its processes?

Yes, if a deployment is in place then it can affect the LSZ generation process on the Distribution Point. The upgrade does not take more than 5 minutes on the Distribution Points. So we can schedule a time when there is no deployment scheduled and perform the Nomad upgrade steps. Also if we have upgraded Nomad on the Distribution Points however Nomad clients were not upgraded right away, it will still work because it supports backward compatibility.

Is the Nomad upgrade immediate or is a reboot required?

When it's just the NomadBranch tools being upgraded nothing needs to be rebooted. However, if the Configuration Manager version is also upgraded then a NomadBranch service restart may be required.

Is there a report that shows 100% completion update of all Nomad clients?

The Nomad Dashboard has a tile for Nomad client version distribution. 

Tiles no longer updated with Nomad 7.0

Nomad 7.0, implemented through the 1E Client, no longer includes 1E Client Health. The Client Health Status tile and associated drill-down data will not be updated by clients after upgrading from previous versions of Nomad. Also, the Client Version Distribution tile and associated drill-down data will not show Nomad 7.0 clients (Nomad 7.0 clients will show as 'Missing' in this dashboard tile.

The functionality of 1E Client Health is now provided through the Guaranteed State feature of the 1E Tachyon platform, please refer to Tachyon 5.1 - Nomad Client Health Policy for more details.

How does Nomad get the actual available bandwidth on the computer and using 50% of the available bandwidth during working hours and 80% of available bandwidth during non-working hour to download a package?

Nomad respects the business data on the network. It detects the true end-to-end available bandwidth and monitors this throughout the duration of the download. This is calculated using a sophisticated algorithm that looks beyond the receiving capabilities of each machine's network card. If bandwidth is available, then Nomad transfer will speed up.

If bandwidth becomes restricted Nomad transfer will slow down. As a result overall WAN availability is maximized and the impact on the critical link between the branch networks and the central network is minimized.

Once Nomad gets the 50% of available bandwidth, is it going to maintain this bandwidth until download is complete? Or it will change according to the machine available bandwidth and working hour? For example, a package download is triggered at 17:30 and download completed at 19:00. The work rate between 17:30 – 17:59 is 50% and between 1800-1900 is 80%. Will nomad switch from 50% to 80% ?

It will change according to the available bandwidth. So if the network is busy it will back off and if the network is not busy then again it will go up. So yes it will switch from 50% to 80% if it finds that there is an available bandwidth. It will change according to the available bandwidth however this will not be immediate. It will take some time until the next periodic election happens to switch from one work rate to another.

How can I check what percentage of bandwidth Nomad is currently using and the download speed? 

  • It can be seen in the logs while the downloading is going on. A similar line shown below will tell us the download speed:
    DP_http 0100007F 9000 "AB0002A6_Cache\boot.AB0002A6.wim" blk=4782 (blk/s=70) 9568000(1BE821E0)
  • It can also be monitored in Nomad Download monitor GUI

When using Nomad with wakeup integration, will this be limited to a site or subnet?

Nomad will check the subnet first and if no peer responds then it will then query ActiveEfficiency for site peers in other nearby subnets for the content. If none of the site peers respond it falls back to downloading from the Distribution Point.

What kind of retry mechanism is envisaged? How long and how many times should Nomad try to wake and then wait for a given machine (potentially both in local subnet and then site-wide).

It will not retry to wakeup a client which has the Nomad content. It only attempts to awaken a host once.

Assuming a host machine goes down during the download, will Nomad behave as per normal resilience behavior?

Yes, the usual election/re-election process takes place to elect new master for the content downloading.

Will I need to limit numbers of machines to be woken up?

There is no need to limit numbers of machines to be woken up. The default is 10 each for local subnet and site. It is configurable with REG_DWORD under HKLM\Software\1E\Nomad\WakeUpBatchSize. So, if both subnet and site WakeUp are enabled then up to twice this number of wakeup requests may be sent at a time.

Is Nomad and wakeup integration supported with WinPE?

Yes it is supported with WinPE. The Install and Configure Nomad in WinPE task sequence action dialogue needs a WakeUp field to be added, which will only be active (not greyed-out) if the ActiveEfficiency URL is specified. The property will find its way through to the creation of the Nomad registry and Nomad itself in the WinPE environment.

How can I configure the VPN or wireless computer to ignore Nomad ?

You can use the registry key NomadInhibitedsubnets. It prevents Nomad from calling an election when it is connected to specified IP subnet, meaning that each Nomad client on the IP subnet will automatically become a Nomad Master. This prevents P2P sharing as each Nomad Master downloads its own copy of the content.

What do other Peers do if they can’t find the master identified in ActiveEfficiency? Once a Master is done downloading the content for a package how is it identified in ActiveEfficiency?

ActiveEfficiency responds with a list of machines in the site which has the content cached. For each subnet, the top 10 machines in that subnet (in order of the percentage of the package cached) are listed. The subnet containing the requesting Nomad is excluded from the list if no peer in the subnet has the package. If the attempt fails (e.g. the site master is not currently contactable or the limit on the number of connections has been exceeded, or it is unable to find the master), Nomad tries the next host in the list. If all the listed hosts fail, Nomad falls back to a Distribution Point download. Once a master is done downloading the content for a package it then registers the final percentage of content that it has download in ActiveEfficiency.

Does ActiveEfficiency use IP or FQDN to figure out the PC?

Prior to NomadBranch v 6.0.200, the Nomad client registers itself by sending its hostname, domain name, FQDN and machine type, then ActiveEfficiency generates and returns a DeviceId GUID that represents the Nomad host. However there is a known issue with environments with disjointed domain names, where the wrong FQDN is registered and therefore when the list of available machines is returned, the client is unable to connect to them. From v6.0.200, we enabled IP addresses to be used to register for SSD. This avoids any issues with disjointed domains, or DNS issues.

Where does ActiveEfficiency get the device domain and its subnet information from?

This information is typically (but not necessarily) gathered from Active Directory, and a PowerShell script PostADSitesandSubnets.ps1 is supplied with Nomad to do this. We can also use a customized script to populate this information in ActiveEfficiency. 

Is the ActiveEfficiency registered content deleted after the content is deleted from the Nomad client through cache cleaner?

Nomad deletes the information of registered content from ActiveEfficiency database for that client.

Will an uninstall of Nomad from a computer also delete the content registration information from the ActiveEfficiency database?

No, it will not remove the Nomad cache folders and logs from the computer or the entries from the dbo.ContentDeliveries table in the ActiveEfficiency database.

If packages (1,2,3) are in the cache and the cache is full when downloading new packages (4,5,6) the old packages (1,2,3) will be removed by cache cleaner. Will the ActiveEfficiency database also cleaned up with the information?

Yes, the information also gets cleaned up and updated in the ActiveEfficiency database.

Is it possible to identify which old packages were deleted when new packages are downloaded?

The only location for information on this is the Nomad client log. This keeps a history of which contents were purged to make room for the new contents.

If a package is manually removed from the Nomad cache, will it be removed from the ActiveEfficiency Database? How often does Nomad check with ActiveEfficiency to verify the registered content?

If you manually delete a package it will not be removed from the ActiveEfficiency database. Normally the content registration is done when the content is downloaded or cleaned through cache cleaner. The content in the cache is verified with the ActiveEfficiency database each time the Nomad Service starts.

Does the Nomad client on Configuration Manager Distribution Points support the content library spanning multiple volumes?

Yes. Nomad running on the Distribution Point will use all the specified volumes when responding to content requests and compiling the LSZ manifest file