mirror of
				https://github.com/xcat2/confluent.git
				synced 2025-10-30 19:02:29 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			148 lines
		
	
	
		
			8.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			148 lines
		
	
	
		
			8.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| nodediscover(8)  -- List or manage confluent node discovery
 | |
| =========================================================
 | |
| 
 | |
| ## SYNOPSIS
 | |
| 
 | |
| `nodediscover rescan`  
 | |
| `nodediscover [options] list`  
 | |
| `nodediscover [options] assign`
 | |
| `nodediscover [options] rescan`
 | |
| `nodediscover [options] clear`
 | |
| 
 | |
| ## DESCRIPTION
 | |
| 
 | |
| **nodediscover** provides streamlined access to the confluent discovery data
 | |
| and assignment.  Nodes are detected through either an active scan (as occurs
 | |
| at service startup and on request by nodediscover rescan) or through passive
 | |
| detection (as a target comes online, it may attempt to register with the
 | |
| network).
 | |
| 
 | |
| **nodediscover list** provides the currently known data in tabular format.  The
 | |
| data may be filtered by various parameters, as denoted in the options below.
 | |
| 
 | |
| **nodediscover assign** performs manual discovery, assigning an entry to a node
 | |
| identity or, using `-i`, using a csv file to assign nodes all at once.  For
 | |
| example, a spreadsheet of serial numbers to desired node names could be used.
 | |
| Note that if you see that the host is unreachable, it may be due to the IP
 | |
| address on the endpoint having changed since last detected. In such a case, it
 | |
| may help to **clear** and try **assign** again.
 | |
| 
 | |
| **nodediscover rescan** requests the server to do an active sweep for new
 | |
| devices.  Generally every effort is made to passively detect devices as they
 | |
| become available (as they boot or are plugged in), however sometimes an active
 | |
| scan is the best approach to catch something that appears to be missing.
 | |
| 
 | |
| **nodedsicover clear** requests the server forget about a selection of
 | |
| detected device.  It takes the same arguments as **nodediscover list**.
 | |
| 
 | |
| ## CSV FORMAT
 | |
| 
 | |
| The CSV format used by nodediscover consists of one header describing the
 | |
| columns followed by the data.  The available columns are:
 | |
| 
 | |
| * node: The name desired for the node in confluent
 | |
| * groups: A comma delimited list of groups to put the node into (using normal CSV escape rules for the commas)
 | |
| * mac: The mac address of the node
 | |
| * serial: The serial number of the node
 | |
| * uuid: The uuid of the node
 | |
| * bmc: The name or ip address that should be assigned to the BMC, regardless of current address
 | |
| * bmc_gateway: IP address of gateway, if desired
 | |
| * bmcuser: The desired username for the BMC to have as administrator
 | |
| * bmcpass: The desired password for the BMC to require
 | |
| 
 | |
| Note that node is the only mandatory field.  To identify the systems, one of
 | |
| mac, serial, or uuid should be specified, it is pointless to provide more than
 | |
| one of these columns.  Other attributes if not provided may be defined through
 | |
| nodeattrib or group inherited.  It is possible to define nodes without ever
 | |
| providing a BMC ip, in which case IPv6 will be used automatically if possible.
 | |
| 
 | |
| One example of a valid CSV file would be:
 | |
| node,serial,bmc,bmcuser,bmcpass
 | |
| n1,06DPMDF,172.30.204.1,admin,Passw0rd12
 | |
| n2,J30002HG,172.30.204.2,admin,Passw0rd12
 | |
| 
 | |
| Which would use the serial number to assign the name and other three values to
 | |
| the nodes.
 | |
| 
 | |
| ## OPTIONS
 | |
| 
 | |
| * `-m MODEL`, `--model=MODEL`:
 | |
|   Operate with nodes matching the specified model number
 | |
| * `-s SERIAL`, `--serial=SERIAL`:
 | |
|   Operate against the system matching the specified
 | |
|   serial number
 | |
| * `-u UUID`, `--uuid=UUID`:
 | |
|   Operate against the system matching the specified UUID
 | |
| * `-n NODE`, `--node=NODE`:
 | |
|   Operate with the given nodename
 | |
| * `-e MAC`, `--ethaddr=MAC`:
 | |
|   Operate against the system with the specified MAC
 | |
|   address
 | |
| * `-f FIELDS`, `--fields=FIELDS`:
 | |
|   Request a custom set of fields.  The available fields are:  
 | |
|   Node: The node name if a correlation has been identified  
 | |
|   Model: The model number  
 | |
|   Serial: The serial number  
 | |
|   UUID: The UUID as it should appear in DMI  
 | |
|   Type: Device type (e.g. lenovo-xcc, pxe-client, etc)  
 | |
|   IP: The confirmed working IP addresses associated with the record  
 | |
|   Mac: Mac address of the relevant network interface  
 | |
|   Switch: The nearest detected switch to the entry  
 | |
|   Port: Port of the switch that most closely connects to the network interface  
 | |
|   Advertised IP: IP addresses that may not have been confirmed, but are advertised  
 | |
| * `-o ORDER`, `--order=ORDER`:
 | |
|   Order output by given field.  Field names are the same as documented in the -f argument.
 | |
| * `-t TYPE`, `--type=TYPE`:
 | |
|   Operate against the system of the specified type
 | |
| * `-c`, `--csv`:
 | |
|   Use CSV formatted output
 | |
| * `-i IMPORT.CSV`, `--import=IMPORT.CSV`:
 | |
|   Import bulk assignment data from given CSV file
 | |
| * `-d STATE`, `--discoverystate=STATE`:
 | |
|   Indicate devices with a particular state.  The states are listed below
 | |
| * discovered: The device has been identified and has also had discovery
 | |
|               activities performed, including any relevant certificate
 | |
|               exchanges and deploying user and network configuration.
 | |
| * identified:  The device has been identified as to what node it is
 | |
|                supposed to be, however no active changes to the attributes
 | |
|                or device configuration has been performed.  This is
 | |
|                generally discovery awaiting approval due to
 | |
|                discovery.policy specifying a strict security model.
 | |
| * unidentified:  A device has been sensed, but no node identity has been
 | |
|                  established at all.  It provides data that can be used
 | |
|                  for nodediscover assign, as well as current IP addresses
 | |
|                  that can be used for manual efforts as possible.
 | |
| 
 | |
| ## EXAMPLES
 | |
| 
 | |
| * Listing all detected Lenovo IMMv2 systems on a local network:
 | |
|   `# nodediscover list -t lenovo-imm2`  
 | |
|   `           Node|          Model|         Serial|                                UUID|      Mac Address|        Type|                            Current IP Addresses`  
 | |
|   `---------------|---------------|---------------|------------------------------------|-----------------|------------|------------------------------------------------`  
 | |
|   `             r2|        5463AC1|        06DPMDF|5f7133b8-c8cb-11e4-99a9-40f2e9b91018|40:f2:e9:b9:10:1d| lenovo-imm2|     172.30.204.1,fe80::42f2:e9ff:feb9:101d%eth1`  
 | |
|   `               |        7906AC1|        06PBX15|e98d483d-2759-11e1-8ffd-5cf3fc11249c|5c:f3:fc:11:24:9f| lenovo-imm2|      172.30.3.12,fe80::5ef3:fcff:fe11:249f%eth1`  
 | |
|   `             n1|        8737AC1|        23XXH41|14dd3ba6-5c38-11e1-931a-5cf3fc6e4680|5c:f3:fc:6e:13:e1| lenovo-imm2|       172.30.3.1,fe80::5ef3:fcff:fe6e:13e1%eth1`  
 | |
|   `             n7|        8737AC1|        23XXH32|79d2ce28-5cd5-11e1-8c86-5cf3fc6e46b0|5c:f3:fc:6e:13:f9| lenovo-imm2|       172.30.3.7,fe80::5ef3:fcff:fe6e:13f9%eth1`  
 | |
|   `             n8|        8737AC1|        23XXH49|551a8438-5cd5-11e1-8d6c-5cf3fc6e4708|5c:f3:fc:6e:14:25| lenovo-imm2|       172.30.3.8,fe80::5ef3:fcff:fe6e:1425%eth1`  
 | |
|   `             n3|        8737AC1|        23XXH30|1dd7f7b3-5da5-11e1-baf0-5cf3fc6e4738|5c:f3:fc:6e:14:3d| lenovo-imm2|       172.30.3.3,fe80::5ef3:fcff:fe6e:143d%eth1`  
 | |
|   `             n4|        8737AC1|        23XXH35|45b81dae-5d9b-11e1-8337-5cf3fc6e4858|5c:f3:fc:6e:14:cd| lenovo-imm2|       172.30.3.4,fe80::5ef3:fcff:fe6e:14cd%eth1`  
 | |
|   `            n11|        8737AC1|        23XXH12|31d90128-5c37-11e1-bdb7-5cf3fc6e4920|5c:f3:fc:6e:15:31| lenovo-imm2|      172.30.3.11,fe80::5ef3:fcff:fe6e:1531%eth1`  
 | |
|   `            n13|        8737AC1|        23XXH44|e23a138a-5cd3-11e1-8f3d-5cf3fc6e4950|5c:f3:fc:6e:15:49| lenovo-imm2|      172.30.3.13,fe80::5ef3:fcff:fe6e:1549%eth1`  
 | |
|   `               |        8737AC1|        23XXH29|5cd1216b-5c37-11e1-ba0c-5cf3fc6e49c8|5c:f3:fc:6e:15:85| lenovo-imm2|       172.30.3.9,fe80::5ef3:fcff:fe6e:1585%eth1`  
 | |
|   `               |        8737AC1|        23ZYT44|f4bf48ca-71f0-11e1-b274-5cf3fc6e4f10|5c:f3:fc:6e:18:29| lenovo-imm2|      172.30.3.10,fe80::5ef3:fcff:fe6e:1829%eth1`  
 | |
|   `         hpcedr|        7915AC1|        06DRHL5|a64e3014-d7e3-11e1-8d21-6cae8b1dff32|6c:ae:8b:1d:ff:36| lenovo-imm2|   172.30.254.250,fe80::6eae:8bff:fe1d:ff36%eth1`  
 | |
|   `               |        8737AC1|        06YRWC3|3af85a51-7efd-11e3-8599-000af7482e00|6c:ae:8b:32:cb:c5| lenovo-imm2|       172.30.3.6,fe80::6eae:8bff:fe32:cbc5%eth1`  
 | |
|   `               |        8737AC1|        06YRWB7|b230f62e-7efd-11e3-9773-000af7482980|6c:ae:8b:32:cd:01| lenovo-imm2|       172.30.3.5,fe80::6eae:8bff:fe32:cd01%eth1`  
 | |
|   `               |        8737AC1|        06YRWC7|09586005-7efe-11e3-9f03-000af7482df0|6c:ae:8b:32:cd:a5| lenovo-imm2|       172.30.3.2,fe80::6eae:8bff:fe32:cda5%eth1`  
 | |
| 
 | |
| * Manually assign a single node according to serial number:
 | |
|   `[root@odin ~]# nodediscover assign -s 06PBX15 -n n12`  
 | |
|   `Assigned: n12`  
 | |
| 
 | |
| * Bulk execute discovery based on spreadsheet:
 | |
|   `[root@odin ~]# nodediscover assign -i import.csv`  
 | |
|   `Defined r2`  
 | |
|   `Discovered r2`  
 | |
|   `Defined c1`  
 | |
|   `Discovered c1`  
 |