Jarrod Johnson
621ded7256
Prioritize 'none' and support names in _address fields
2021-10-27 17:03:26 -04:00
Jarrod Johnson
ce8e671584
Have includes interpret section names
...
If <including> a syncfiles, then
be sure to honor MERGE/APPENDONCE in those files without perturbing flow
of the parent file.
2021-10-27 15:47:52 -04:00
Jarrod Johnson
41ba28e525
Connect network configuration to selfservice
...
This permits a client to ask via various nics for pertinent configuration .
2021-10-27 15:35:22 -04:00
Jarrod Johnson
ce9b0bf556
Support terminating include with >
...
The previous thought of <base.pkglist is fine, but upon seing <base.pkglist>, that looks better.
2021-10-27 14:21:30 -04:00
Jarrod Johnson
74775fd2be
Remove errant period in attributes
2021-10-27 13:11:24 -04:00
Jarrod Johnson
feb12b95cb
Add facility to enable confignet
...
Provide function to populate
a map of all networking, relative to the interface facing thte client.
2021-10-27 11:52:09 -04:00
Jarrod Johnson
154a328194
Merge pull request #81 from PenghuiCui/master
...
Add check for attribute value to avoid exception when attribute is None
2021-10-26 07:35:10 -04:00
Jarrod Johnson
0d53612e9c
Fix variable yielded when not including
2021-10-25 11:57:18 -04:00
Penghui Cui
6e10b3d2b1
Add check for attribute value to avoid exception when attribute is None
2021-10-25 16:11:38 +08:00
Jarrod Johnson
a9bd31a9c4
Provide error when makedirs fails in genesis
2021-10-23 13:08:14 -04:00
Jarrod Johnson
9c0ec25b6e
Merge branch 'master' of github.com:lenovo/confluent
2021-10-22 13:13:25 -04:00
Jarrod Johnson
412e2aaf76
Add '<' include syntax to syncfiles and pkglist
...
Provide means of combining
multiple pkglist and syncfiles
based on hierarchy.
This enables construction of
a more complex structure of
images for those that may want it.
2021-10-22 13:11:50 -04:00
Jarrod Johnson
a48732923e
Merge pull request #80 from PenghuiCui/master
...
Support resource register from plugin
2021-10-21 21:44:39 -04:00
Jarrod Johnson
40dea6a747
Support older python subprocess
...
Older python did not provide timeout. Keep the timeout
for the modern python that skips select without a timeout,
but try again without timeout to retain compatibility.
2021-10-20 18:23:35 -04:00
Jarrod Johnson
d441ff3d63
Fix pxe offers made in spite of managercandidate restriction
2021-10-20 16:45:40 -04:00
Jarrod Johnson
75557091ef
Treat blank enclosure/bay as unset
...
If someone does the obvious approach to blank something,
treat that as equivalent.
2021-10-19 15:43:23 -04:00
Jarrod Johnson
0725717359
Correct some issues in the ssdp snoop
...
We still need the node attributes even if
forcing reply.
Further,, sometimes eventlet returns None, tolerate
that better.
2021-10-19 13:12:35 -04:00
Jarrod Johnson
f8f60052d0
Fix confluent uuid handling
2021-10-19 10:37:08 -04:00
Jarrod Johnson
3cd78500ce
Make client adaptive to receive global data
...
When following, let the leader filter the
relevant global data rather than the follower.
2021-10-19 10:01:44 -04:00
Jarrod Johnson
fd8dd03587
Implement a confluent instance uuid
...
This allows clients to indicate after install
whether they belong to the collective or
not, allowing ascertaining new deployment
server.
2021-10-19 09:57:49 -04:00
Penghui Cui
05a683698e
Support resource register from plugin
2021-10-19 15:31:13 +08:00
Jarrod Johnson
f93b8da1b7
Handle invalid vendor-class-identifier better
...
If the vci fails to decode, just ignore it and move on.
2021-10-15 16:49:45 -04:00
Jarrod Johnson
1d71cee61d
Fix syncfiles not running with just APPENDONCE
2021-10-15 16:37:02 -04:00
Jarrod Johnson
2e7b315f29
Add 'APPENDONCE:' section to syncfiles
...
This will APPEND if the target file doesn't
already have the entire source contents in
a contiguous location already. This makes
it more safe to rerun without negative consequence.
2021-10-15 15:48:49 -04:00
Jarrod Johnson
4f40d9635a
Fix nic config with mismatched gateway family
...
When a gateway exists on a family the node
does not exist for, handle the gateway better.
2021-10-12 15:32:30 -04:00
Jarrod Johnson
deb5c2eed8
Fix potential delay in ssh-agent start
...
Be consistent with other check_output
calls to allow eventlet to properly
background the process.
2021-10-08 10:24:35 -04:00
Jarrod Johnson
7ccaa245b6
Provide both string and numeric for owner/group
...
To provide a fallback for unrecognized user/group,
provide an id for syncfileclient to resort for.
2021-10-08 10:02:13 -04:00
Jarrod Johnson
52a7921676
Correct mistakes in syncfile option passing
2021-10-07 18:23:57 -04:00
Jarrod Johnson
3f7a7d09dd
Correct mistake in referencing option string
2021-10-07 18:02:56 -04:00
Jarrod Johnson
c0287e93ed
Roll back rsync ownership
...
Unfortunately, it will try to change parent directories on the way to
the files actually being written.
2021-10-07 16:34:37 -04:00
Jarrod Johnson
a676eb0b83
Syncfile option passing to client
...
Provide a mechanism for a syncfiles to indicate options to the client.
This will be used for owner=, group=, and permissions=
options.
2021-10-07 15:54:53 -04:00
Jarrod Johnson
a0ca3d3122
Extend snmp timeout
...
Default is 1 second, bump to 2 seconds for some
extraordinarily slow switches. This changes
overall to about 10 seconds as there are, by default,
5 retries.
2021-10-07 13:03:05 -04:00
Jarrod Johnson
e52a9ff70f
Have syncfiles attempt to preserve more
...
We cannot preserve symlinks (since we need them intact),
but we can use other rsync features to make synchronization work
better by default.
2021-10-07 13:01:48 -04:00
Jarrod Johnson
26c6f1407b
Add syntax for noderange filtering
...
/etc/passwd -> compute,-n11:/etc/passwd
Will cause the line to be used only when the node matches the
compute,-n11 noderange.
2021-10-07 11:26:13 -04:00
Jarrod Johnson
172008f942
Attempt to cover centos stream 9 by el8
...
At first glance, there should be similarities,
apart from python differences and need for
different clortho build due to library mismatch.
2021-10-06 16:59:47 -04:00
Jarrod Johnson
d666050ef7
Consolidate neigh wait time in slp
...
Rather than incurring it on each iteration (causing a scan to take
15 seconds in test), defer to
handle them all later (reducing to 5 seconds to scan).
2021-10-05 10:59:17 -04:00
Jarrod Johnson
3c72f9f18f
Refactor slp neigh warm-up
...
Rather than pulling it out at active_scan level, intervene deeply.
This fixes the problem where an ip gets used as a key rather than mac.
2021-10-05 10:50:51 -04:00
Jarrod Johnson
f50abd662a
Provide analogus improvements to ssdp from slp
...
Recent changes to try to make neigh table fresh and viable in slp
can also apply to ssdp.
Bring those changes forward.
2021-10-05 10:03:28 -04:00
Jarrod Johnson
1fda0e50d8
Fix stub from refactor
...
foobar was a stand-in for continue to
allow refactor, and needed
to be changed to return.
2021-10-05 08:04:58 -04:00
Jarrod Johnson
1a80d9f31a
Extend neigh table refresh to snoop
...
Improve reliability of 'snooping' slp.
2021-10-04 16:36:22 -04:00
Jarrod Johnson
c569826ff1
Improve scan result with missing neigh entries
...
If no neigh table is present for
a given address, send a packet to
induce kernel activity.
Then wait for a bit over 2 seconds to allow for
2 retries (at default settings)
and then proceed assuming all findable neighbor table
entries will be found.
2021-10-04 16:22:12 -04:00
Jarrod Johnson
398c8b3a71
Improve syncfiles permission denied reporting
...
When a non-readable file was
encountered, confluent would
cryptically report rsync failure.
Check for the usual culprit, unreadable files if rsync fails.
Cause this error to manifest with clearer text.
2021-09-30 12:01:29 -04:00
Jarrod Johnson
c93917e4a4
Add a failsafe for errors trying to connect to a new leader
...
Provide better experience in the face of the class of errors such
as the one fixed by previous commit.
2021-09-30 08:18:39 -04:00
Jarrod Johnson
c1113430a2
Pass only the name rather than full sockaddr on retire
...
Followers of a server that is retiring to join the better leader
were being given incorrect format which would fail in the dns lookup.
2021-09-30 08:11:19 -04:00
Jarrod Johnson
99ba4e7765
Handle ip aliases in pxe
...
Use netutil assessment of the
best server ip for pxe responses.
Using 'recvip' is too simplistic for broadcast
packets. recvip just gets the first ipv4 address on the interface,
when an alias may be better.
netutil assesses all the possible aliases, thus has better logic and pxe.py
now uses it.
2021-09-27 11:04:42 -04:00
Jarrod Johnson
929392c746
Fix hangs on check_output
...
Eventlet narrowly targets overriding
select in subprocess, to avoid rewriting adequate functions.
However, subprocess does an 'optimization' to skip
select if there's fewer than 3 pipes to juggle and no timeout specified.
Induce python to always use select
by specifying a very long timeout.
This causes confluent to be able to spawn multiple subprocesses and
not be hung waiting for input.
2021-09-23 10:42:47 -04:00
Jarrod Johnson
5d20ee6cca
Serialize ssh agent interaction
...
Race conditions could occur when multiple
requests came in too close together.
2021-09-23 09:40:10 -04:00
Jarrod Johnson
4ab5cac3eb
Generate random serial number for certificate
...
Hardcoding 0x123 serial number would cause strict clients to reject the
certificate.
While we are still not guaranteeing uniqueness, the chances of a
duplicate are impossibly small.
2021-09-22 07:48:44 -04:00
Jarrod Johnson
1b88e44c59
Ignore broken lldp results
...
Some switches may have broken incomplete records,
skip such records to focus on viable complete records.
2021-09-16 15:49:36 -04:00
Jarrod Johnson
9687ce89b8
Use fe80:: match to find index for getting addresses
...
This fixes a problem where fetching
from fe80:: fails to identify nic.
2021-09-13 17:54:18 -04:00