Jarrod Johnson
12bb5d583a
Correct the equality message in better messagesw
2024-03-27 08:40:01 -04:00
Jarrod Johnson
03bdbfc8ed
Provide more useful error messages on mistakes within []
2024-03-27 08:39:48 -04:00
Jarrod Johnson
661b2ae815
Filter out nvme 'c' devnames, that are used to refer to paths to nvme
...
Some versions start manifesting nvme devnames with 'c', which
are to be used to interact with multipath to have raw devices
backing a traditional nvme device.
2024-03-27 08:38:36 -04:00
Jarrod Johnson
ddb8c4cce4
Fix a few noderange abbreviations
...
Also, add some test cases on abbreviation
to help sanity check things in the future.
2024-03-27 08:37:51 -04:00
Jarrod Johnson
17fff4997b
Fix omission of info dir in plugins
2024-03-27 08:36:54 -04:00
Jarrod Johnson
7b3129a1a2
Fix FFDC preflight checks
...
The code was comparing two string constants, instead of
a variable to a constant. Correct the problem to enable
the preflight checks to work as intended.
2024-03-27 08:36:11 -04:00
Jarrod Johnson
d183a3f99c
Fix problem where one multicast/broadcast attempt could tank other interfaces
...
Carrying over change from ssdp, ignore failures on transmit, particularly if
firewall
2024-03-27 08:35:52 -04:00
Jarrod Johnson
b3b3627bf9
Remove disused bufferlock
...
We no longer use a lock on buffer communication, eliminate
the stale variable.
2024-03-27 08:34:36 -04:00
Jarrod Johnson
c1afc144cb
Change to unix domain for vtbuffer communication
...
The semaphore arbitrated single channel sharing
was proving to be too slow. Make the communication
lockless by having dedicated sockets per request.
2024-03-27 08:34:31 -04:00
Jarrod Johnson
ac1f7c57b6
Fix lldp when peername is null
...
Some neighbors result in a null name, handle that.
2024-03-27 08:33:50 -04:00
Jarrod Johnson
19e9c6910d
Fix nodeapply redoing a single node multiple times
2024-03-27 08:33:35 -04:00
Jarrod Johnson
e38cd5d3e5
Fallback to unverified noderange on candidate manager check in PXE
...
When doing pxe and the noderange of the candidate managers fails,
try again without validation in case the user omitted collective members
from nodelist, but still used ',' to enumerate them.
2024-03-27 08:31:44 -04:00
Jarrod Johnson
f1d3e47439
Logout prior to renaming user
...
Some firmware cannot tolerate a web session being
active during a rename. Make sure logout has been done, and
give a retry if needed to let the session close out after
logging out.
2024-03-27 08:31:06 -04:00
Jarrod Johnson
9757cd1ae3
Check the profile *before* rebooting systems
...
This provides a much better experience when a typo or
other mistake has a profile that is not actionable.
2023-11-16 10:20:48 -05:00
Jarrod Johnson
c9452e65e8
Fix some osdeploy ordering issues
...
osdeploy initialization dependencies have been
improved and marked if absolutely dependent.
2023-11-15 11:30:20 -05:00
Jarrod Johnson
cd07e0e212
Add missing disclaimer from tmt license
2023-11-14 15:14:54 -05:00
Jarrod Johnson
f475d58955
Various permission fixes for osdeploy initialize
...
Fix a few scenarios where certain ordering of
initialize creates unworkable permissions.
2023-11-13 15:43:11 -05:00
Jarrod Johnson
ec023831a5
Fix syntax error in confignet
2023-11-09 17:28:38 -05:00
Jarrod Johnson
6e092934e7
Fix for ubuntu clone to nvme
2023-11-09 17:15:17 -05:00
Jarrod Johnson
e03f010eac
Fix Ubuntu confignet without IPv6
...
If confignet did not have ipv6 to work with, it
would fail to work at all.
Also handle when the configuration has a blank DNS server in it.
2023-11-09 09:03:59 -05:00
Jarrod Johnson
2cd75ef425
Fix diskless autocons message
2023-11-08 10:22:51 -05:00
Jarrod Johnson
e90f2829ab
Filter bind mounts from imgutil capture
...
If bind mounts are in use, it will foul the capture.
Notably, one example is if you install the firefox snap in
ubuntu, snapd creates a bind mount.
This will ignore bind mounts, and rely upon the system to
put it straight.
2023-11-08 09:37:44 -05:00
Jarrod Johnson
8f927d94e9
Switch to bond from team
...
Teaming is deprecated and EL went back to bond, follow
that guidance.
2023-11-01 11:17:04 -04:00
Jarrod Johnson
8a4ef0b1fe
Make link type detection more specific
...
If the ip command shows altnames, do not
let the altnames interfere with locking
on to linktype.
Further, use show dev instead of grep to be more specific.
2023-11-01 10:42:33 -04:00
Jarrod Johnson
814f420852
Update genesis to deal with CS9 sshd
2023-10-31 11:47:28 -04:00
Jarrod Johnson
a1ac234b73
Enhance error message for authentication issue during syncfiles
2023-10-27 15:31:14 -04:00
Jarrod Johnson
d082610678
Add more deep checking of node networking
...
Whether due to the management node or node IP addresses,
check if deployment can reasonably proceed using IPv4 or IPv6,
and give a warning with some suggestions to check.
Also, add nodeinventory <node> -s as an example resolution for missing
uuid.
2023-10-27 13:34:52 -04:00
Jarrod Johnson
0857716f64
Add support for normalized sensors
...
This opens the door for normalized common sensors
for clients that care about the semantics but
cannot keep track of inconsistent sensor names from
implementation to implementation.
2023-10-26 08:58:37 -04:00
Jarrod Johnson
49a504972f
Fix syntax error in confignet
2023-10-25 14:21:55 -04:00
Jarrod Johnson
9c9d71882c
Disable keepalive
...
Unfortunately, apache can get a bit odd over how it
reports a non-viable open socket for keepalive, which
can happen in certain windows.
Disable the keepalive feature and take some performance penalty in
browsers for the sake of more consistent return behavior and
fewer idle greenthreads doing nothing.
2023-10-19 15:51:40 -04:00
Jarrod Johnson
913a26aec9
Change to consistent CWD for osdeploy arm build
2023-10-19 10:42:39 -04:00
Jarrod Johnson
063bfc17a5
Start using container for final build process
...
Makes supporting the base platform easier by largely ignoring the
base platform.
2023-10-19 10:40:57 -04:00
Jarrod Johnson
8b150a9047
Fix for post group failures
...
A node failure after group failure would
erase the group from range.
Further, correct an issue where an empty nodeset
would trigger
a bad behavior.
2023-10-19 09:25:57 -04:00
Jarrod Johnson
b91a194184
Improve selfselfice performance with yaml
...
The yaml python default behavior is 'pure python' and is
tortuously slow.
As a test, yaml dump of a 17,000 element list took 70 seconds in default configuration.
Opting into the C functions, that time comes down to 10 seconds, a
nice and easy improvement for generic yaml.
For dumping a simple dumb list (e.g. the nodelist for ssh), a special
case yaml-looking result is done, which hits 0.4 seconds on that same
test. So this special case is added to nodelist, which can be very long
and very in demand at the same time.
2023-10-17 16:29:30 -04:00
Jarrod Johnson
06d18cec63
Fix abbreviation when pad decreases
...
This is a bizarre way to work, but it should be valid.
2023-10-16 08:29:45 -04:00
Jarrod Johnson
0434f38ea1
Add iterm and kitty image support to stats
...
This delivers improved graphics
speed and quality for selected terminals.
2023-10-13 15:25:08 -04:00
Jarrod Johnson
bfbb7c2843
Handle mid-range pad changing, and identical names with only pad difference
...
This would be painful to operate, but if done at least
reverse noderange will
faithfully honor it now.
2023-10-12 16:09:40 -04:00
Jarrod Johnson
3a6932ea6d
Start tracking padding during abbreviation
...
This will take care of padding when
padding is consistent across a range.
However, we still have a problem with a progression like:
01
02
...
98
099
100
Where numbers in the middle start getting padding unexpectedly without a leading digit.
2023-10-12 15:28:54 -04:00
Jarrod Johnson
6e4d9d9eb4
Address potential slowdowns by misbehaving DNS
...
For one, shorten the DNS timeout, if the DNS server is completely out, give up quickly.
For another, if a host has a large number of net.X.hostnames, the sequential nature
was intolerable.
Have each network be evaluated in a greenthread concurrently to serve
the DNS latency concurrently.
2023-10-12 14:46:09 -04:00
Jarrod Johnson
2d906e1886
Fix handling of pre-existing array
2023-10-11 10:15:24 -04:00
Jarrod Johnson
e9a2f57ad8
Simplify the noderange abbreviation
...
Since the multi-iterator ambition is out,
ditch the expensive set wrangling step.
Now the procedure is:
-Suck nodes into groups, as possible
-Separately for groups and nodes:
-Sort the elements
-Chunk the elements based on 'non-numberical' situation matching
-analyze the iterators to apply [] to shorten the name
-Multi-iterator will cause a discontinuity, and a new ',' delimited name gets constructed
2023-10-10 16:56:32 -04:00
Jarrod Johnson
c254564f02
Fully give up on multi-iterator abbreviation
...
There's too many cases that can go wrong.
Note that with this lower ambition, it would be possible to
significantly streamline the implementation.
Notably, the 'find discontinuities' approach
was selected to *try* to
support multiple iterators,
but since that didn't pan out,
a more straightforward
numerical strategy can
be used from the onset.
2023-10-10 12:47:19 -04:00
Jarrod Johnson
fe27cdea4a
Abbreviate harder, using brackets
...
Add a round that collapses as is
convenient to bracketed range.
2023-10-09 17:18:44 -04:00
Jarrod Johnson
a4ea5e5c4b
Abbreviate sequential nodes
...
When we have sequential nodes, collapse to ':' delimited range.
2023-10-07 09:51:32 -04:00
Jarrod Johnson
06ee48f702
Merge pull request #135 from tkucherera-lenovo/Nodeattrib
...
missing_shlex import in nodeattrib
2023-10-05 12:53:16 -04:00
tkucherera
77eec1a791
missing_shlex import in nodeattrib
2023-10-05 11:44:04 -04:00
Jarrod Johnson
b60b78327f
Merge pull request #134 from tkucherera-lenovo/Nodeattrib
...
Nodeattrib
2023-10-04 16:32:32 -04:00
tkucherera
2e84c73baa
''
2023-10-04 16:27:05 -04:00
tkucherera
67f607a8f1
fix to synopsis
2023-10-04 16:26:20 -04:00
tkucherera
eca1854d56
fix to env doc
2023-10-04 10:37:41 -04:00
tkucherera
ba90609f3b
documentation for nodeattrib -s
2023-10-04 10:36:58 -04:00
tkucherera
c8094276d0
typ0_fix
2023-10-04 10:34:07 -04:00
tkucherera
d299db3442
doc
2023-10-04 10:31:24 -04:00
tkucherera
9f168aee73
docs- batch file systax
2023-10-04 10:28:16 -04:00
Jarrod Johnson
ee19386d8c
Export nodename in ubuntu pre
2023-10-04 09:49:09 -04:00
Jarrod Johnson
ef9083062b
Make multiple attempts to fetch networking configuration
...
Since confignet runs early in startup, the networking can be a bit fickle.
Tolerate outages during early use.
2023-10-03 10:13:53 -04:00
Jarrod Johnson
cca0c57e90
Merge pull request #132 from tkucherera-lenovo/nodersync
...
node rsync -s switch
2023-10-02 12:57:19 -04:00
Jarrod Johnson
79e3ad53f8
Add server side rack layout organization
...
The info is hard to put together client side, but
supremely easy server side.
Provide a nice call to
get the layout for a noderange, similar to (but better than) current
GUI code.
Now GUI can get a nice canned JSON
description of the layout.
2023-09-29 16:23:59 -04:00
tkucherera
b63d75f2bb
change to remove to many conditionals
2023-09-29 12:07:38 -04:00
tkucherera
378929579f
Allow to be able to specify prefix as well
2023-09-28 08:56:52 -04:00
tkucherera
eee8bbb498
node rsync -s switch
2023-09-27 17:52:15 -04:00
Jarrod Johnson
a00fd325aa
Export variables for ubuntu pre.d run
2023-09-27 13:09:23 -04:00
Jarrod Johnson
3624013889
Merge pull request #130 from tkucherera-lenovo/Nodeattrib
...
Nodeattrib
2023-09-20 15:07:02 -04:00
tkucherera
bd0b16992d
man page
2023-09-20 14:42:17 -04:00
tkucherera
4ecbbdfd9a
nodeattrib -s use with batch file
2023-09-20 14:37:07 -04:00
tkucherera
5768514ba9
nodeattrib -s attrib.batch
2023-09-20 14:29:21 -04:00
Jarrod Johnson
f88b44dee2
Fix issues with imgutil
2023-09-20 10:13:34 -04:00
Jarrod Johnson
d0c97b7623
Add pieces of EL profiles
2023-09-19 13:14:07 -04:00
Jarrod Johnson
04505e1bbb
Break out partitioning and pagkacelist for EL profiles
2023-09-19 13:01:10 -04:00
Jarrod Johnson
d613d0f546
Add openbmc plugin for console
2023-09-18 16:03:48 -04:00
Jarrod Johnson
47fc233cce
Fix debian packaging for confluent
2023-09-18 15:48:38 -04:00
Jarrod Johnson
8f80add0f1
Enhance debian packaging for confluent
2023-09-18 15:19:10 -04:00
Jarrod Johnson
0a527f5f39
Add environment to firstboot ubuntu
2023-09-18 11:38:41 -04:00
Jarrod Johnson
3e8c6d1ea6
Correct syntax issue in el7 image2disk
2023-09-18 11:04:50 -04:00
Jarrod Johnson
a01b7c6503
Revamp and add missing bits to scripted ubuntu install
2023-09-18 10:30:52 -04:00
Jarrod Johnson
83e3627b47
Add pre.d to ubuntu 22 diskful
2023-09-18 10:19:50 -04:00
Jarrod Johnson
37b75ba777
Correct variable name on commit clear
2023-09-15 15:54:35 -04:00
Jarrod Johnson
aa5de3c6a3
Suspend handling of new socket connections while configmanager down
2023-09-15 15:48:37 -04:00
Jarrod Johnson
d4c535d038
Halt autonomous discovery handling while configmanager is down
...
This avoids triggering a potential large amount of churn on transiently
"unknown" systems
that are actually discovered.
2023-09-15 15:32:33 -04:00
Jarrod Johnson
94b8559777
Declare ready on becoming leader
...
Provide for leader scenario to correctly
flag configmanager as ready.
2023-09-15 15:28:16 -04:00
Jarrod Johnson
f2f25fe912
Implement ready tracking
...
When going through the
dramatic scenario of initializing collective,
take _ready down
so that other code can
pause operation appropriately.
2023-09-15 15:25:26 -04:00
Jarrod Johnson
c0629fcce5
Fix invocation of json restore change
2023-09-15 11:41:12 -04:00
Jarrod Johnson
4952e87309
Undo collective manager changes
...
Abort attempt to avoid duplicate startups, it was incorrect.
2023-09-15 10:52:13 -04:00
Jarrod Johnson
533244458d
Do not count as 'initting' until collective starts.
2023-09-15 10:37:51 -04:00
Jarrod Johnson
20f02b5ef7
Avoid searching switches for foreign nodes
...
Consult collective.manager
to decide to skip
consideration of a node, if
that node shouldn't be managed anyway.
This should avoid "cross-island" behavior for such
environments.
2023-09-15 10:07:14 -04:00
Jarrod Johnson
df47c6d0fd
Disable attribute notify during json restore
...
This is guaranteed to be a lot of churn very quickly, disable it for
now.
2023-09-13 17:03:05 -04:00
Jarrod Johnson
97ee8e2372
Cerrect the logic of duplicate discovery protection
2023-09-13 10:50:21 -04:00
Jarrod Johnson
74c6848a0b
Avoid redundant setting of known data
...
Setting attributes can be a touch expensive, since
there's a high risk
of this being old news,
check that discovery hasn't already set values
before trying to set them again.
2023-09-13 09:59:03 -04:00
Jarrod Johnson
b75979f3ec
Insulate confluent from fatal errors from discovery subscription errors
2023-09-12 16:59:53 -04:00
Jarrod Johnson
50d5cead06
Add prereq checks to EL cloning
2023-09-12 16:55:19 -04:00
Jarrod Johnson
e6b0b235e9
Fix image2disk for nvme clone targets
2023-09-12 16:53:32 -04:00
Jarrod Johnson
00eb9e3c9d
Fix full_net_config with missing address info
2023-09-12 16:49:15 -04:00
Jarrod Johnson
b77d8b1f21
Make yaml import conditional
...
Only Ubuntu requires it, but tends to have it.
Other distributions do not tend to have it.
2023-09-12 10:45:15 -04:00
Jarrod Johnson
d7190c893f
Correct networkmanager entries for boot over infiniband
...
When booting and infiniband comes up as the 'get started' nic,
make the entry use correct type so as to avoid
confusion later, particularly when confignet comes along to fixup
the configuration.
2023-09-11 13:11:17 -04:00
Jarrod Johnson
f82829aa0c
Add dependency checking to imgutil capture
...
This will more quickly indicate problems in a profile trying to capture.
First iteration will address Ubuntu.
2023-09-08 17:10:27 -04:00
Jarrod Johnson
203dabfb0b
Place nameservers on every NIC in netplan
...
netplan, like others, makes the questionable choice to designate DNS
as a NIC specific setting, despite not mapping well
to a NIC.
Since we model DNS like NTP, a global, just repeat the DNS config for
every interface. This redundancy is fine in testing multiple
interfaces.
2023-09-08 16:56:58 -04:00
Jarrod Johnson
9441221150
Have cooltera plugin adapt
...
As new sensors appear, be more adaptive
to continue tracking existing sensors.
2023-09-08 11:30:57 -04:00
Jarrod Johnson
8de6f4356d
Fix sense of new flag
...
Accidently made flag exactly opposite of intended
2023-09-07 15:12:43 -04:00
Jarrod Johnson
fe78034eaa
Add '-y' to imgutil build
...
Allow non-interactive imgutil build.
2023-09-07 14:56:07 -04:00
Jarrod Johnson
691d92f735
Avoid calling implicit nic config if nowhere to put it
...
If 'None' attributes are in use,
we'd have no where to
stick implicit configuration anyway.
2023-09-07 14:41:16 -04:00
Jarrod Johnson
8ca1f80ef6
Fix implicit nic in confignet
...
If the implicit IP
is not in any of the
attribute groups of net,
then auto-vivify from the normal place.
2023-09-07 14:36:56 -04:00
Jarrod Johnson
3cacbf283a
Fix cloning to NVME boot
...
The partition device names
have a different scheme
for nvme v. other devices.
2023-09-07 10:09:19 -04:00
Jarrod Johnson
89e573207c
Remove irrelevant command from ubuntu cloning firstboot
2023-09-01 16:55:01 -04:00
Jarrod Johnson
f16cf4387f
Further Ubuntu enhancements
...
Add confignet to Ubuntu 20 and 22
Add syncfile to the ubuntu diskless/cloning
2023-09-01 16:40:02 -04:00
Jarrod Johnson
fa60a9dc9f
Add IPv6 support to confignet
2023-09-01 16:34:30 -04:00
Jarrod Johnson
2268d7f65a
Fix hotplug firmware in suse diskless
2023-09-01 13:51:17 -04:00
Jarrod Johnson
abd5f4e9f2
Fix shebang in firstboot on ubuntu cloning
2023-09-01 13:51:02 -04:00
Jarrod Johnson
f6e658c341
Add site CA to ubuntu profiles on install
2023-09-01 13:25:20 -04:00
Jarrod Johnson
44ec390f40
Add post.sh to ubuntu cloning
2023-09-01 12:29:27 -04:00
Jarrod Johnson
6ab91b50af
Add missing bits of Ubuntu diskless
2023-09-01 10:55:18 -04:00
Jarrod Johnson
1f32ef2310
Implement basic netplan support
...
Start with single links, ipv4 only for ubuntu.
2023-09-01 10:07:51 -04:00
Jarrod Johnson
22cb2bdc40
Handle Ubuntu hardcoded grub cfg
...
Ubuntu hardcodes grub.cfg to
another location.
Make a stub file as a flag to guide osimage
to know where grub.cfg goes.
2023-08-29 10:57:25 -04:00
Jarrod Johnson
610bc793b7
Merge branch 'master' into ubuntucloning
2023-08-24 10:53:33 -04:00
Jarrod Johnson
85375cc733
Fix hotplug firmware to use rootfs after boot
2023-08-24 10:53:25 -04:00
Jarrod Johnson
af4ca64da8
Fix hotplug firmware to use rootfs after boot
2023-08-24 10:53:00 -04:00
Jarrod Johnson
439143115e
Merge branch 'master' into ubuntucloning
2023-08-22 12:28:36 -04:00
Jarrod Johnson
b14b34bdbd
Add limited sensor support for Eaton PDUs
2023-08-22 12:28:07 -04:00
Jarrod Johnson
899ce7f055
Correct spelling of hooks directory in Ubuntu cloning
2023-08-17 16:27:45 -04:00
Jarrod Johnson
7e209e412a
Make confluent hook executable in ubuntu diskless
2023-08-17 16:16:36 -04:00
Jarrod Johnson
7051f467bb
Avoid a deprectationwarning in copytree handling
...
While trying to address one
deprecationwarning, we
hit another. Check if the
new function exists and use it,
falling back to distutils if
everything fails.
2023-08-17 14:49:44 -04:00
Jarrod Johnson
b88ccc292c
Avoid deprecation on distutils with newer python
...
Unfortunately, python 3.6 needs the distutils version, but we should avoid it altogether
by python 3.10, but by 3.10 the shutil.copytree can do it.
2023-08-17 14:36:38 -04:00
Jarrod Johnson
c47066d713
Include ubuntu material in packaging
2023-08-17 14:11:41 -04:00
Jarrod Johnson
8ddcf45e1d
Create links for ubuntu20.04 and ubuntu22.04
2023-08-17 14:03:55 -04:00
Jarrod Johnson
53d2b873a2
Package ubuntu 22.04 diskless
2023-08-17 11:28:29 -04:00
Jarrod Johnson
bc7dbeebea
Add ubuntu 22.04 diskless
2023-08-17 11:16:32 -04:00
Jarrod Johnson
1b2d8a0596
Merge branch 'ubuntucloning' of github.com:lenovo/confluent into ubuntucloning
2023-08-17 11:16:01 -04:00
Jarrod Johnson
f3e7d4ab67
Merge pull request #92 from sjtstg/nmcli-autoconnect
...
Confignet does not set autoconnect with network manager
2023-08-17 08:06:54 -04:00
Simon Thompson
b27542ec00
Confignet does not set autoconnect with network manager so disk installed images do not bring up interface on reboot
2023-08-17 10:30:36 +02:00
Jarrod Johnson
58cc9840b3
Prune out any netplan configuration, if exists
...
To mitigate chance of network configuration
being tanked by image based
net config, mask it when capturing.
2023-08-16 14:28:10 -04:00
Jarrod Johnson
84d23bb1fd
Begin work on Ubuntu cloning
2023-08-16 12:00:50 -04:00
Jarrod Johnson
ae915cd735
Merge pull request #126 from weragrzeda/master
...
nodelist delimiters
2023-08-15 11:03:48 -04:00
weragrzeda
c7a323b370
nodelist delimiters fixed for py2 compatibility
2023-08-15 16:31:38 +02:00
root
9e070a14d4
nodelist delimiters
2023-08-15 15:58:10 +02:00
Jarrod Johnson
189ba525d3
Merge pull request #91 from sjtstg/ansible-play-fix
...
fix ansible support when multi stage plays are in playbook
2023-08-15 08:38:56 -04:00
Jarrod Johnson
5068cda2cf
Catch another sort of exception for non-rpm distributions
...
subprocess may produce a different sort of exception if
rpm doesn't exist at all
2023-08-14 09:23:00 -04:00
Jarrod Johnson
95c5253944
Remove CIDR prefix length in ubuntu 20 deployment
...
This produces invalid configuration for subiquity otherwise.
2023-08-11 15:01:55 -04:00
Jarrod Johnson
ca2dcd2dbe
Reference identity network in ubuntu 20.04
...
When using identity image, also use identity image
for network configuration.
2023-08-11 14:34:12 -04:00
Jarrod Johnson
dba6e7f378
Change Ubuntu 20.04 to be consistent to 22.04
...
This aims to bring
identity image deployment fully to ubuntu 20.0.4.
2023-08-11 13:44:37 -04:00
Jarrod Johnson
0b7247d386
Fix CentOS 7 routed deployment with identity image
...
Numerous issues prevented the identity image support from actually running,
correct them.
2023-08-10 16:27:42 -04:00
Jarrod Johnson
75add230b6
Skip API key init on checkonly runs
...
Checkonly does not require API key, and makes apiclient more dependent
on material that is unlikely to exist early in a deployment.
2023-08-09 11:13:09 -04:00
tkucherera
2c90227f63
"Firmware Update "
2023-08-09 10:48:09 -04:00
tkucherera
0cff70c607
firmware update
2023-08-09 10:37:35 -04:00
Jarrod Johnson
75082c4418
Move up creation of ca.pem
2023-08-03 14:03:36 -04:00
Jarrod Johnson
9a1c9eb43f
Improve ssh concurrency on websocket
...
ssh module was pausing input for the
entire websocket while doing the simple 'write' operation.
Change to background the actual
logon processing,
rather than blocking what should be a fairly trivial write operation.
2023-08-03 09:56:36 -04:00
Jarrod Johnson
89bd798f8b
Increasing time again, outlet count didn't factor
2023-08-02 15:20:29 -04:00
Jarrod Johnson
bf10e58f00
Bump version
...
With recent collective changes, bump the version to block connection with
older collective members until upgraded.
2023-08-02 13:43:41 -04:00
Jarrod Johnson
cbf2cdcdc5
Scale timeout with number of outlets
...
Delta PDUs seem to serialize outlet operation.
2023-08-01 16:08:51 -04:00
Jarrod Johnson
987587aaf8
Allow custom auth file to define valid roles
2023-07-26 16:37:55 -04:00
Jarrod Johnson
ad25c31d3f
Correct error in check_for_yaml function in auth
2023-07-26 16:15:36 -04:00
Jarrod Johnson
b1018d648e
Hook loading of /etc/confluent/authorization.yaml
...
This should permit custom roles to be defined.
2023-07-26 16:05:29 -04:00
Jarrod Johnson
a18d0f10b7
Clean up stale lvm devices files
...
During cloning, stale lvm devices file may cause
ugly output. Remove stale files before proceeding down steps
that trigger lvm warnings.
2023-07-26 07:54:41 -04:00
Jarrod Johnson
65ac3de21b
Take EL9 version of image2disk for improvements with parted supervision
2023-07-26 07:26:49 -04:00
Jarrod Johnson
c9d9a3cc54
Add EL9 cloning support
...
Main difference from EL8 is different grub strategy. To cope, capture
the uuid of new /boot and manipulate the
stub grub.cfg with the right uuid.
In EL8, the efi has the main grub, EL9 changes to have /boot host the 'real' grub,
causing us to have to modify the stub grub.
2023-07-25 17:09:37 -04:00
Jarrod Johnson
957b979dde
Reorder imports in configmanager to mitigate circular import
2023-07-24 13:38:44 -04:00
Jarrod Johnson
48c4a2e062
Have reconnects use new TCP connections
...
Current code was trying to reuse connections that would be useless,
explicitly go to new TCP connections for reconnection.
2023-07-24 12:31:32 -04:00
Jarrod Johnson
285a159ba5
Implement a number of improvements for collective
...
For one, remove 'non-voting' members from being leaders.
Large number of leader candidates create long delays for
converging on a valid organization. Further, some treat 'non-voting'
more roughly, inducing the worst case convergence scenario of unclean
shutdown of leader.
Convergence now happens fairly quickly for collectives with large
number of non-voting members.
During initial DB transfer, the leader would be tied up unreasonably
long handling the jsonification of a large configuration. Offload to a worker
process to allow the leader to continue operation while this intensive, rare
operation occurs.
Reliably run a reassimilation procedure for the lifetime of the leader.
This allows orphaned members to be prompted to join the correct leader.
Serialize the onboarding of a connecting member, and have redundancy more gracefully
paused. This avoids excessive waiting in lock and more deterministic timing
with respect to timeout expectations by the connecting system.
2023-07-24 11:11:39 -04:00
Jarrod Johnson
8ea2ba046e
Sort the IP addresses in nodediscover for consistent UI
2023-07-19 16:16:27 -04:00
Jarrod Johnson
f16daa44dd
Handle older python with addrinfo
...
While newer python omits '%',
older python includes. Change to handle
either form.
2023-07-19 16:04:25 -04:00
Jarrod Johnson
03fce4f762
Adjust sys.path logic in macmap and osimage
...
Ensure the sys.path logic
is before attempting
the relevant imports.
2023-07-19 12:15:01 -04:00
Jarrod Johnson
809099c8f8
Specifically wait for /dev/disk/by-label
...
When udev is populating the disk hierarchy, it can be a long time
before the 'by-label' is specifically ready.
Wait for that specific entry to come along before continuing to
check if there's an identity image.
2023-07-07 15:32:47 -04:00
Jarrod Johnson
a875f0d3e1
Correct syntax error in selfservice
2023-07-06 14:04:49 -04:00
Simon Thompson
6ee9f96e08
fix ansible support when multi stage plays are in playbook
2023-07-06 09:34:38 +02:00
Jarrod Johnson
fcc62b7cb7
Improve confluent scanning on newer python
...
Newer python changed the format of peer[0], adapt to the change
to use the socket info if not available in the peer[0] string.
2023-07-05 16:34:37 -04:00
Jarrod Johnson
11cb47c03e
Use natural sort on some self service calls
2023-07-05 16:18:49 -04:00
Jarrod Johnson
afc78513a1
Merge pull request #90 from sjtstg/ansible-fixes
...
Ansible fixes
2023-07-05 16:15:30 -04:00
Simon Thompson
45f22c3e31
when host is not in hosts file, group_vars is not loaded, change logic to emulate host being in hosts file with no groups to ensure group_vars is loaded which permits use of dynamic grouping in plays
2023-07-05 21:25:25 +02:00
Simon Thompson
d0f978548e
sort directory listing to make ansible plays and script order deterministic
2023-07-05 21:23:55 +02:00
Jarrod Johnson
052d16aa49
Avoid modifying PYTHONPATH
...
Since there's a possibility of cross-python invocation,
avoid modifying PYTHONPATH
2023-07-05 11:40:00 -04:00
Jarrod Johnson
7ddd2c2e6e
Correct mistakes in shebang adaptive behavior
2023-07-05 11:14:32 -04:00
Jarrod Johnson
9186c8142c
Fix incorrect reference in the smm validation by certificate
2023-06-28 13:13:26 -04:00
Jarrod Johnson
c07248d58e
Fix outlet control on Geist PDUs.
2023-06-27 08:04:16 -04:00
Jarrod Johnson
013de4f881
Adapt to ansible python runtime
...
Unfortunately, python being python, ansible may elect to install under a
different python runtime than confluent.
In such a case, hope that the ansible python can work.
Remove eventlet as a hard requirement, as
that is unlikely to be in ansible python.
This leaves msgpack, which is unavoidable, for now. But if it's in ansible python,
it's fine.
2023-06-26 15:41:44 -04:00
Jarrod Johnson
795b4c513d
Rework for connected temperature sensors
...
PDUs behave differently when a sensor module is
connected. Handle
that difference and
provide the relevant data.
2023-06-26 12:32:45 -04:00
Jarrod Johnson
4056264991
Correct keyname from previous fix
2023-06-23 17:01:50 -04:00
Jarrod Johnson
77c8e93a8d
Fix terminal actions on shared websocket
...
The full complement of functionality was not
interpreted in shared context
2023-06-23 16:33:30 -04:00
Jarrod Johnson
1695e222ec
Rename command to nodeapply, by popular demand
2023-06-22 14:16:54 -04:00
Jarrod Johnson
b2a793568a
Merge pull request #125 from tkucherera-lenovo/master
...
change timestamp log option from -d to -T
2023-06-22 14:14:59 -04:00
Jarrod Johnson
3ebd43fe0c
Bump genesis base version
2023-06-15 09:35:37 -04:00
Jarrod Johnson
2e20e0303f
Fix libbpf link
2023-06-15 09:22:52 -04:00
Jarrod Johnson
da2df63498
Update location of krb5
2023-06-15 09:20:37 -04:00
Jarrod Johnson
896a4ff1ff
Fix spec format
2023-06-14 16:05:08 -04:00
Jarrod Johnson
a14effa4f2
Undo change
...
Realized we need to install related rpm for efivar
2023-06-14 15:57:27 -04:00
Jarrod Johnson
66c79a5f42
Fixup handling of efivar license
2023-06-14 15:52:52 -04:00
Jarrod Johnson
389c37659e
Refresh more licensing material in genesis rpm
2023-06-14 15:47:17 -04:00
tkucherera
89af8661da
change timestamp log option from -d to -T
2023-06-12 10:51:29 -04:00
Jarrod Johnson
41437c511b
Fix when networkmanager breaks one of our connections
...
This usually happens with ipv6 link local used
in initramfs stage, after networkmanager may
mutilate the ipv6 connectivity.
2023-06-12 08:49:13 -04:00
Jarrod Johnson
75f0aaeee9
Allow session id through header
...
This permits a client to exert finer grained control
over the session id
than provided by cookie.
2023-06-08 11:30:32 -04:00
Jarrod Johnson
68f9688292
Drop SLP packets with error
...
Some implementations send
error for services they do not provide.
2023-06-08 08:02:59 -04:00
Jarrod Johnson
67204f79a1
Fix bug where dispatching a request could block all other activity
2023-06-02 11:06:44 -04:00
Jarrod Johnson
e9dd7da775
Fix syntax error in el7 identity image support
2023-06-02 08:55:27 -04:00
Jarrod Johnson
8f1be7c905
Fix Python2 compatibility issue with port forwarder
2023-06-01 16:50:06 -04:00
Jarrod Johnson
bc684b82b4
Implement identity image based deployment for EL7
...
Though older, it is still popularly used.
2023-06-01 16:49:17 -04:00
Jarrod Johnson
5e72d40c03
Fix compatibility issue with python2
2023-06-01 13:31:32 -04:00
Jarrod Johnson
7ab2aff7f2
Restore syntax of EL7 deployment
...
Inadvertent incomplete checkin
broke syntax of EL7, fix to have it
work as-is for now.
2023-06-01 09:20:17 -04:00
Jarrod Johnson
c3fc931ba4
Fix python2 compatibility issue for port forwarding
...
The measure for predictable port numbering
was done with python3 in mind, without consideration
of python2.
2023-06-01 09:18:36 -04:00
Jarrod Johnson
2c61cee72d
Merge pull request #124 from Tkucherera/nodeconsole_timestamp
...
Nodeconsole timestamp
2023-06-01 09:08:33 -04:00
Tinashe
190ec2473b
dump log to stfout with timestamps
2023-05-31 17:39:53 -04:00
Tkucherera
9ebb8f27ec
Merge branch 'xcat2:master' into master
2023-05-31 17:34:52 -04:00
Jarrod Johnson
0db7d4f9d2
Stall readback of PDU after outlet control
...
There is some lag after requesting an outlet change and
the outlet state actually changing.
2023-05-26 10:43:04 -04:00
Jarrod Johnson
5d1315098f
Enhance and extend check of node relations
2023-05-25 11:14:58 -04:00
Jarrod Johnson
fc29ddb913
Improve routed EL8 deployment and add debug shell on tty2
2023-05-24 11:02:23 -04:00
Jarrod Johnson
b06b77f5a5
Fix issues with confluent media deployment on multi-nics in routed env
2023-05-23 17:22:38 -04:00
Jarrod Johnson
97a5bf0806
Correct typo in suse 15 diskless boot
2023-05-19 14:50:04 -04:00
Jarrod Johnson
36e61f301a
Add a nodefreshen command
...
This aims to provide the same shortcuts as 'updatenode'
2023-05-18 15:03:29 -04:00
Jarrod Johnson
e476c7b9e6
Avoid deprecationwarning in python 3.10+
...
Newer python is not backwards compatible with
a constant. Attempt to use new
constant and fallback to teh old one
if unavilable.
2023-05-18 09:20:52 -04:00
Jarrod Johnson
a523df80e8
Handle newer SuSE
...
After SP4, suse drops mkinird requirement.
Switch to dracut -f in such a scenario.
2023-05-16 14:51:27 -04:00
Jarrod Johnson
8f4982e850
Fix build mistake in the cooltera plugin
2023-05-15 08:30:44 -04:00
Jarrod Johnson
a167d19441
Add module for cooltera nodesensors
2023-05-10 13:24:20 -04:00
Jarrod Johnson
2237e0e173
Add a retry mechanism for connecting socket
...
Timing is sensitive during the handshake, catch and retry
if it should fail.
2023-05-10 11:12:29 -04:00
Jarrod Johnson
b08b62614a
Have proxydhcp recover from faults
2023-05-10 08:44:31 -04:00
Jarrod Johnson
e93e4abd83
Add clear error when base profile doesn't exist
...
If the user specifies a wrong '-b',
indicate clearly that is the case,
and do so early.
2023-05-10 08:40:45 -04:00
Jarrod Johnson
430b24081c
Have apiclient timeout if IO hangs up
2023-05-09 16:04:24 -04:00
Jarrod Johnson
ec54ecc9cd
Fix tiling with different gravity
...
In some environments, the coordinates may be reported in a
different format. Handle the different context.
2023-04-28 09:20:31 -04:00
Jarrod Johnson
f787461759
Merge pull request #123 from Tkucherera/tmux_reuse
...
Tmux reuse
2023-04-28 09:18:44 -04:00
Jarrod Johnson
7312d8e092
Provide commented hints for mdns integration
...
mdns protocol is not currently used, but
put in breadcrumbs for
bringing it alive if
we have an openbmc handler.
2023-04-27 15:51:28 -04:00
Tkucherera
884a6be68c
Wkill like command ( #1 )
...
* wkill like command fix
* tmux session resuse
---------
Co-authored-by: Tinashe <tkucherera@lenovo.com >
2023-04-27 15:46:40 -04:00
Tinashe
a35a7e74c3
tmux session resuse
2023-04-27 15:39:32 -04:00
Jarrod Johnson
ffdf799713
Advance mdns support
...
At this point, the protocol handler
seems up to the task of describing openbmcs
2023-04-27 08:59:39 -04:00
Jarrod Johnson
b9d0da0416
Correct mistake in the gathering of valid nodenames
2023-04-26 15:37:08 -04:00
Jarrod Johnson
3fd930137d
Begin work on mdns protocol support
2023-04-21 16:14:25 -04:00
Tinashe
71a263366d
wkill like command fix
2023-04-21 10:22:10 -04:00
Jarrod Johnson
7b150773df
Extend multi-nic guessing to Ubuntu 20/22
2023-04-20 15:45:32 -04:00
Jarrod Johnson
53f4665358
Correct issues in Ubuntu 18 deployment
2023-04-20 14:48:39 -04:00
Jarrod Johnson
e5fff430be
Explicitly clear logonwaiters on discard of a session
...
When a session is being discarded, it
may inadvertently hold onto logonwaiters.
The IPMI session may be reused, but the context is new and those
dead contexts can consume memory unreasonably.
2023-04-19 10:22:33 -04:00
Jarrod Johnson
55da173b27
Correct missing parameter in Geist
...
Geist support was missing a variable in the refactor.
2023-04-19 10:20:34 -04:00
Jarrod Johnson
55a796af82
Correct some errors in the Ubuntu 18 support
...
An ommited end clause as well
as some bashisms.
2023-04-12 13:23:39 -04:00
Jarrod Johnson
123d190f12
Extend network and deployment server checking for Ubuntu 18.04
...
When doing network evaluation in ambiguous contexts,
spend some time checking each nic and each candidate target ip address.
This may take longer, but options are limited in a routed context.
2023-04-12 13:04:08 -04:00
Jarrod Johnson
305a3a06d2
Ensure $HOME is set during firstboot
...
systemd tends not to set environment variables. However some firstboot
scripts generally expect $HOME to be correct.
2023-04-12 11:22:27 -04:00
Jarrod Johnson
024677d7de
Try EL7 to build the old addons
2023-04-07 16:50:20 -04:00
Jarrod Johnson
fb31a68818
Add profile.yaml to ubuntu18.04 stock profile
2023-04-07 16:26:32 -04:00
Jarrod Johnson
526a248963
Add ubuntu18.04 to build script in other location
2023-04-07 16:17:37 -04:00
Jarrod Johnson
86d9d6fc2f
Add ubuntu18.04 to build
2023-04-07 15:46:29 -04:00
Jarrod Johnson
2bdc53722b
Further advance ubuntu 18.04 support
2023-04-07 15:45:31 -04:00
Jarrod Johnson
25b0f45e6f
Merge remote-tracking branch 'lenovo/master'
2023-04-07 13:53:44 -04:00
Jarrod Johnson
f5b3682c08
Merge pull request #89 from erderial/patch-8
...
added functionality to check for net.*switch
2023-04-07 13:52:01 -04:00
Jarrod Johnson
b7ea27b939
Advance draft Ubuntu 18 support
...
Get most things automated for the targeted use case.
Still need to handle partitioning and end of install question, add firstboot and add
staged and complete step.
2023-04-06 16:07:55 -04:00
Jarrod Johnson
1fff15677d
Add el9bin correctly into build process
2023-04-04 11:55:23 -04:00
Jarrod Johnson
556d858d33
Address extraneous errors during build
2023-04-04 11:27:50 -04:00
Jarrod Johnson
0a02b010c9
Fix esxi build for new build strategy
2023-04-04 11:24:10 -04:00
Jarrod Johnson
08e19fbf6e
Provide a sample for fuse3 urlmount
...
When the time comes to transition, this will be useful.
The challenge is that existing images will likely have a 'distribution'
with fuse2 libs, so this isn't a transition to make lightly.
Definitely should be done for new distributions at least, current
distributions pending further investigation
2023-04-04 10:39:12 -04:00
Jarrod Johnson
2d16d5558c
Rework to build everything under el8 or el9 containers specifically
...
Make the build host less critical of an implementation detail
2023-04-04 10:19:13 -04:00
Jarrod Johnson
7f15e4af27
Change back to fedora
...
We need fuse-devel for now, since urlmount is written against older fuse
2023-04-04 09:44:04 -04:00
Jarrod Johnson
34313f4041
Change to EL9 for the new-wave util builds
2023-04-04 09:32:25 -04:00
erderial
9bb402a1b8
Update confluent_selfcheck
2023-04-03 10:27:07 +03:00
erderial
13d4c57ee2
changes done as per request
2023-03-31 19:32:43 +03:00
erderial
88c47c9254
added functionality to check for net.*switch
...
added functionality to check for net.*switch
2023-03-31 16:43:15 +03:00
Jarrod Johnson
181aa876a7
Draft initramfs addons for Ubuntu 18
...
For older Ubuntu 18, the automated installer is debian-installer. Derive from the
prototype debian work, with same limitation about more limited network bringup that
we are stuck with from Debian limitations.
2023-03-30 16:36:40 -04:00
Jarrod Johnson
a0dbb90c77
Handle mismatched alpha and numeric in hyphenated string
...
If 123abc-abc123 were attempted, it would produce
a strange error
when it encounters a string compare to number.
Detect the scenario and treat it like similar situations.
2023-03-30 14:21:22 -04:00
Jarrod Johnson
cb129789b8
Properly recognize old ubuntu server install media
...
Older media designed around
debian installer requires
different handling.
2023-03-30 08:33:18 -04:00
Jarrod Johnson
7ac778106e
Also skip over failure to broadcast SSDP
2023-03-29 16:55:12 -04:00
Jarrod Johnson
f808c542e4
Ignore forbidden transmits on multicast
2023-03-29 16:53:40 -04:00
Jarrod Johnson
2a3bc61be3
Avoid overwriting groups on a redefine
...
When a node is being redefined, do
not populate groups.
That is only needed when truly defining for first time.
2023-03-29 09:28:52 -04:00
Jarrod Johnson
73fb54ccbc
Add more manual licenses to the kernel
2023-03-28 17:02:53 -04:00
Jarrod Johnson
578bd9702a
Sample script to install a cert into an XCC
2023-03-24 15:56:26 -04:00
Jarrod Johnson
ca5f19a4f1
Sample script for getting a CSR from an XCC
2023-03-24 15:46:21 -04:00
Jarrod Johnson
717df579aa
Add firmware to Geist support
2023-03-17 16:02:55 -04:00
Jarrod Johnson
70b973b1cf
Refactor measurements in Geist
...
Use common code
for sensor translation.
2023-03-17 15:34:26 -04:00
Jarrod Johnson
48696ef63d
Begin adding sensors to Geist PDUs
2023-03-17 14:37:03 -04:00
Jarrod Johnson
ff025989c6
Restore spacing around float in nodesensors
...
The managed formatting needs
to be padded in the non-csv output.
2023-03-16 17:29:36 -04:00
Jarrod Johnson
872718c658
Add notation about alternate location of ansible plays
...
Make it known that plays may now be private.
2023-03-16 15:19:15 -04:00
Jarrod Johnson
47af869360
Allow ansible plays to be private
...
Since the node need not have access,
the ansible plays may be made private instead.
This enables potentially sensitive plays
to be protected.
2023-03-16 15:15:46 -04:00
Jarrod Johnson
f256b1cd4e
Handle more complex ansible configuration
...
Some plays expect the
inventory from /etc/ansible, detect
if that inventory *could* apply, use if it can.
ansible users generally anticipate leveraging the implicit '.' in the role
path,
chdir to meet that expectation.
'become' in the play without 'become_user' can upset ansible runtime.
Since we are already root, we will just ignore the implicit 'become', since we already
match that behavior.
2023-03-16 13:24:46 -04:00
Jarrod Johnson
bfe03e6e01
Fix erronously dragging in CIDR to IPv4 configuration
2023-03-14 16:55:20 -04:00
Jarrod Johnson
8dc3dfd20c
Limit TRYNIC to only one NIC in ubuntu deployment
2023-03-14 15:36:24 -04:00
Jarrod Johnson
0cc588f8e9
Carry nic detection through to bottom of Ubuntu
2023-03-14 15:24:37 -04:00
Jarrod Johnson
e12578b6ac
Use media net config when media deployed
2023-03-14 13:32:20 -04:00
Jarrod Johnson
0366bbd26f
Place apikey where expected
2023-03-13 17:00:35 -04:00
Jarrod Johnson
5f4ab5ff80
Fix path to hmacfile
...
Since we are running
outside of chroot, need to adjust the $()
substitution.
2023-03-13 16:21:25 -04:00
Jarrod Johnson
88a6bccf12
Use b64 alphabet for b64
...
While POSIX hates +, b64 needs +
2023-03-13 16:20:17 -04:00
Jarrod Johnson
52c3e9d515
Do not care about port, let kernel decide
2023-03-13 11:19:11 -04:00
Jarrod Johnson
50a4ee2c6d
Have a quick sample script to get LLA of USB nic peer
2023-03-13 11:15:31 -04:00
Jarrod Johnson
15ff24fccd
Correct syntax errors in auth.py
2023-03-10 16:38:47 -05:00
Jarrod Johnson
d9cc9112f4
Add identity image deployment to Ubuntu
...
Support the api arm token
and media network
config for Ubuntu.
2023-03-10 16:23:48 -05:00
Jarrod Johnson
5418d9ea97
Place a common script for setupssh
2023-03-10 16:05:29 -05:00
Jarrod Johnson
2aeade1e74
Merge pull request #88 from erderial/patch-6
...
updated with custom yaml file for auth
2023-03-09 15:48:12 -05:00
erderial
85f9dc12fb
Update auth.py
2023-03-09 22:38:37 +02:00
erderial
56dea2422a
Update auth.py
2023-03-07 21:08:01 +02:00
Jarrod Johnson
8b89232922
Do not get collective member when collective doesn't exist
2023-03-06 16:59:07 -05:00
Jarrod Johnson
22c464e092
Only add self to collective if self not yet in collective
...
Previously, it was safe to just do all the time, but now it may lose
the role.
2023-03-06 16:49:03 -05:00
Jarrod Johnson
4d9b11bc55
Fix quorum when there is no collective yet
2023-03-06 16:38:09 -05:00
Jarrod Johnson
baa365fcac
Implement non-voting collective members
...
Provide for applications
where only a small subset of collective
members should be
considered to count
toward whether the collective
can proceed.
Commonly, 'service' nodes may
be numerous to do work, but may all want to go offline
during a maintenance window.
2023-03-06 11:56:15 -05:00
Jarrod Johnson
a385b1e93d
Try strategy to have confignet run
...
confignet is special, it is designed
to work when networking
isn't right. So have it run during firstboot
in case post fouled up
the network for firstboot.
2023-02-28 12:12:36 -05:00
Jarrod Johnson
733b6853dd
Up newly added interfaces as a matter of course
2023-02-28 12:04:20 -05:00
Jarrod Johnson
b4182cd4b5
Fix formation of error message
...
Use format to take in the parameters regardless of type
2023-02-27 14:55:01 -05:00
erderial
cf2f5aac7b
Merge branch 'lenovo:master' into patch-6
2023-02-27 18:27:39 +02:00
Jarrod Johnson
9f7e53701e
Avoid latching onto USB nic in a vswitch as 'the nic'
...
In esxi, some builds may have USB nic brought up in a vswitch.
Detect and avoid that scenario.
2023-02-27 10:43:40 -05:00
erderial
3b9f9abdd9
Merge pull request #2 from erderial/erderial-patch-1
...
updated auth.py with some changes
2023-02-27 17:36:20 +02:00
erderial
b800aa032e
updated auth.py with some changes
...
updated auth.py with some changes. Need to add the check_for_yaml() function to main.py as well
2023-02-27 17:10:17 +02:00
Jarrod Johnson
70d8a1059c
Consistently treat bytes as bytes in ssh
...
In Python3 systems,
there would be confusion
about bytes versus str.
Fix this so that ssh can work more consistently.
2023-02-24 15:47:20 -05:00
Jarrod Johnson
59b07665ab
Modify float formatting again
...
Make sure at least one decimal is in a float.
Maximum precision of 5 past.
2023-02-24 12:03:43 -05:00
Jarrod Johnson
5ea214a726
Use eventlet subprocess
...
sshutil uses eventlet subprocess,
making calledprocesserror
hard to catch.
Adjust to consistently use same
subprocesss module.
2023-02-22 16:34:13 -05:00
Jarrod Johnson
b99034f539
Improve reliability of collective join
...
While servicing an enrollment,
there's a window for a collective
member to be 'defined' but not
yet active, meaning quorum may transiently be lost as multiple enrollments progress.
Serialize enrollments by holding the enrollment process open.
Also, there is a chance that a transient transfer error may occur during loading
of the DB. In such a case, restart
the connection rather thn aborting.
2023-02-22 16:11:38 -05:00
Jarrod Johnson
6df2e822a5
Correct api call in discovery
2023-02-22 09:34:32 -05:00
Jarrod Johnson
2379f6f90f
Change nodesensors format of float
...
Floats are either unnecessarily long
in normal output, or too unconstrained in CSV output.
Normalize to as many digits as 'makes sense' up to 5 digits.
5 miight seem a bit much, but one common metric is kWh, which may need
that precision over short intervals.
2023-02-22 08:41:46 -05:00
erderial
8940247164
updated with custom yaml file for auth
...
Added 2 new function to check if the custom yaml file exists - /etc/confluent/authorize.yaml - and one to update the _allowbyrole and _deniedbyrole vars accordingly.
2023-02-21 15:13:17 +02:00
Jarrod Johnson
77ba0acee6
Merge pull request #122 from Tkucherera/nodeconsole-kill
...
nodeconsole <noderange> kill: added functionality for closing open win…
2023-02-16 16:37:07 -05:00
Tinashe
b2c773bb84
nodeconsole <noderange> kill:added functionality for closing open windowed consoles
2023-02-16 15:54:21 -05:00
Jarrod Johnson
241800b1c9
Restore filename-only import
...
The open file handle as implemented
could not pass to the subprocess.
Rather than figure out how to open
and pass the filehandle,
simply let the subprocess
independently open the file
if it isn't passed.
2023-02-16 09:13:05 -05:00
Jarrod Johnson
abc639e32b
Preferentially support HTTPS on Eaton PDU
...
While Eaton does not do HTTPS by default,
it can be configured to do so.
Support when available.
Mitigate downgrade attack by
stickying the cert fingerprint.
If fingerprint is present, then refuse
to even think about port 80.
2023-02-15 17:03:35 -05:00
Jarrod Johnson
90af99e864
Add more clear error on syncfile mistake
...
If a bad node was included in
a syncfile, the error was highly misleading.
Provide a more clear indicaiton of the problem on failure.
2023-02-14 14:53:40 -05:00
Jarrod Johnson
09ce824c85
Fix bad lookup attempts on slashed addr
...
While this should in theory be
harmless, it exacerbates some
DNS setups that would look
up the normal result quickly,
but would stall on
a bad lookup.
2023-02-14 14:53:40 -05:00
Jarrod Johnson
9c1e7a7142
Allow interfaces to supersede default
...
In some scenarios, the 'default'
interface is overlapped by another connection, either
identical or as a superset in a bond.
Whittle down the default
interface if superseded
to mitigate duplicate interface setup.
2023-02-14 14:53:40 -05:00
Jarrod Johnson
36195198a6
Add fallback for newer msgpack
...
Newer msgpack refuses the encoding argument, use raw=False instead.
Further, newer msgpack refuses to accept int as key by default.
Opt into it as the risk is hash collision due to msgpack int being used directly, and
we aren't dealing with untrusted
peer (we only talk to ourselves).
2023-02-14 14:53:40 -05:00
Jarrod Johnson
3798a33213
Merge pull request #121 from Tkucherera/nodeconsole
...
nodeconsole documentation: passthrough options
2023-02-14 08:45:43 -05:00
Tinashe
251b307bd7
nodeconsole documentation: passthrough options
2023-02-14 08:27:25 -05:00
Jarrod Johnson
bb7a72db65
Fix for ipv6 deployment
...
Need to avoid double-bracketing of the server and also disable globbing
so curl does not mistake the ip address for a glob attempt.
2023-02-13 09:36:42 -05:00
Jarrod Johnson
fcde113e08
Add a check of dns.domain to selfcheck for node
2023-02-08 14:45:16 -05:00
Jarrod Johnson
a02f617b3d
Add DDR5 dimm to nodeinventory CLI output
2023-02-07 14:01:18 -05:00
Jarrod Johnson
7f1ac92fc9
Store mgr from confluent= specificate
2023-02-01 16:51:21 -05:00
Jarrod Johnson
8cf97833ab
Fixes for certificate directed discovery
2023-02-01 13:09:40 -05:00
Jarrod Johnson
3e747069d9
Try to get verified bay from SMMs
...
With V3 systems, we can now ask
the SMMs for the certificates
and use that for a verified
measurement, regardless of
whether the XCC is returning
the correct bay number.
2023-02-01 12:57:27 -05:00
Jarrod Johnson
c687da4d5f
Tweak architecture override on import
2023-01-31 15:57:41 -05:00
Jarrod Johnson
340ccc422c
Specify check for arch override of addons.cpio
...
For now, keep using x86_64 as
default, but allow overrides
for other architectures.
One day it may be cleaner to move all addons.cpio to
arch specific subdirs.
2023-01-31 15:27:45 -05:00
Jarrod Johnson
2c3afac576
Restructure aarch64 addons
...
Avoid tripping over current copy over, prepare
for smarter selection by architecture.
2023-01-31 15:10:49 -05:00
Jarrod Johnson
8e1cc63ac0
Correct spelling of keyword argument in ipmi
2023-01-31 15:00:22 -05:00
Jarrod Johnson
dc6c7c1acc
Make sure both el8 and el9 binaries are packed
2023-01-31 13:29:24 -05:00
Jarrod Johnson
5c309db47c
Further ARMv8 support
...
Handle aarch64 differences in
at least some distributions.
2023-01-31 11:20:40 -05:00
Jarrod Johnson
976e9ef563
Bump version on genesis
2023-01-31 09:10:23 -05:00
Jarrod Johnson
0efd2a4d74
Fix the amended license gathering
2023-01-31 08:58:56 -05:00
Jarrod Johnson
424830471d
Note how to fetch srpms associated with genesis
2023-01-31 08:54:03 -05:00
Jarrod Johnson
23f33a8420
Revamp license gathering for genesis
2023-01-31 08:52:32 -05:00
Jarrod Johnson
521a58c1d9
Have a utility to generate NOTICE from tmux
...
tmux basically defers to the c files, so
generate a NOTICE file from c files.
2023-01-31 08:37:42 -05:00
Jarrod Johnson
ce375a1162
Merge pull request #120 from Tkucherera/master
...
Adding missing imports
2023-01-30 14:48:05 -05:00
Tkucherera
caee136012
Merge branch 'xcat2:master' into master
2023-01-30 14:15:53 -05:00
Tinashe
2e283f3442
nodeconsole: missing imports time and socket
2023-01-30 14:13:44 -05:00
Jarrod Johnson
2b01d9fbfa
Properly store all candidate host ip addresses
...
This is needed to ensure that mis-detected primary ip
falls through to another viable ip
2023-01-30 12:40:40 -05:00
Jarrod Johnson
627bc9ffe3
Modify pkglist for aarch64
2023-01-27 12:14:37 -05:00
Jarrod Johnson
3e71e103b1
Fix unpacking of el8 and el9 built sources
2023-01-27 10:47:27 -05:00
Jarrod Johnson
a90cd8515e
Tweak osdeploy for ARM setup
2023-01-27 10:43:29 -05:00
Jarrod Johnson
284d042afe
Merge pull request #119 from Tkucherera/master
...
nodeconsole windowed and tiled functionality
2023-01-27 09:33:45 -05:00
Tinashe
2cc134adeb
nodeconsole: allow for passthrough args
2023-01-27 09:30:46 -05:00
Jarrod Johnson
02e242ec4e
Restore link local cert in apiclient
2023-01-27 09:13:47 -05:00
Jarrod Johnson
1777223232
Fixes for osdeploy arm ipxe init
2023-01-27 08:40:31 -05:00
Jarrod Johnson
648290ffbc
Begin implementing aarch64 deploy support
2023-01-27 08:00:38 -05:00
Tinashe
c9b72225a9
nodeeventlog timeframe documentation
2023-01-26 10:37:30 -05:00
Tinashe
3433635e9b
nodeeventlog: timeframe option
2023-01-26 10:16:33 -05:00
Tkucherera
7a6c4fc5b2
Merge branch 'xcat2:master' into master
2023-01-26 10:05:04 -05:00
Tinashe
f176a836ae
nodeecentlog: add timeframe option
2023-01-26 10:01:02 -05:00
Jarrod Johnson
ce324e90f7
Draft spec to generate addons-aarch64 files
2023-01-25 12:54:03 -05:00
Tinashe
23ea53ab55
console geometry 100x31
2023-01-24 11:18:21 -05:00
Jarrod Johnson
d14d28caf8
Confirm TLS connectivity when scanning hosts
...
In certain environments, Confluent may have an IP address that
is fake, but then there is elsewhere with that same IP for real.
To mitigate this, follow up basic connectivity with proof of having
an associated certificate.
2023-01-24 08:22:00 -05:00
Jarrod Johnson
0008998680
Add api method to request all mac data
...
This will provide easy way for
client to get FDB data, potentially
for use in conjunction with discovery data.
For now, leave LLDP out, as that isn't currently cached
at the confluent layer.
2023-01-23 13:37:29 -05:00
Jarrod Johnson
2e059b5887
Make an API for getting full discovery data in one fetch
...
This makes for faster nodediscover being possible, also
makes web management of the data easier
2023-01-23 11:47:33 -05:00
Jarrod Johnson
792e6472e4
Fix IPv6 addresses_match
...
fe80:: could be submitted during
collective startup, handle that problem appropriately.
2023-01-23 11:24:25 -05:00
Tinashe
b965f9b758
nodeconsole windowed and tiled functionality
2023-01-20 16:41:56 -05:00
Jarrod Johnson
a522e17a63
Merge pull request #118 from Tkucherera/master
...
nodeeventlog man page -l option
2023-01-20 14:49:11 -05:00
Tinashe
9f3b934ea4
nodeeventlog man page -l option
2023-01-20 14:24:32 -05:00
Jarrod Johnson
680ca2c4a2
Merge pull request #117 from Tkucherera/master
...
nodeeventlog: return last n entries
2023-01-20 12:51:16 -05:00
Tinashe
c3d0d255d3
nodeeventlog: -l return last n lines for each node
2023-01-20 12:13:15 -05:00
Tinashe
46d0a8d222
nodeeventlog: return last n entries
2023-01-20 10:09:52 -05:00
Jarrod Johnson
75f020f53c
Have apiarmed continuous be properly respected for shared secret
...
Remote media was erroneously being invalidated, despite user opting
out of the strict security.
2023-01-19 14:54:18 -05:00
Jarrod Johnson
c09e8448c2
Change to POSIX compliant range
...
POSIX allows ., but does not allow +. This was a problem with EL 8.4 libxcrypt,
though is not a problem otherwise.
2023-01-19 14:53:35 -05:00
Jarrod Johnson
01f939b871
Have SuSE path also not be bothered by inability to restart web service
2023-01-18 08:50:30 -05:00
Jarrod Johnson
1f23750356
Add affluent detection to confluent
...
Affluent agent will now have an SSDP
response. Add support for at
least recognizing and presenting
this in the discovery data.
2023-01-17 15:11:12 -05:00
Jarrod Johnson
d1265af828
Handle more errors
...
subprocess may throw other errors that aren't calledprocesserrors,
in newer python versions. Handle the case more broadly.
2023-01-17 10:04:10 -05:00
Jarrod Johnson
0929f059e2
Increase track size in dir2img
...
Larger images still run afoul of track limits
in mtools. Make tracks 4 times as big
to lower number of required tracks.
2023-01-17 10:02:51 -05:00
Jarrod Johnson
40c3f2da53
Actually display deployment state, when available
2023-01-13 13:02:17 -05:00
Jarrod Johnson
51e53405d8
Add attributes for profiles to report state
...
Profiles may want to report things
like success and error
2023-01-13 12:54:21 -05:00
Jarrod Johnson
d644d34b60
Add '-s' to nodeinventory
...
This allows a quick command to
get attributes into confluent
for manually added nodes,
without having to go through 'discovery' process.
2023-01-13 12:29:36 -05:00
Jarrod Johnson
7f31ae5b57
Fix syntax error
2023-01-13 11:15:51 -05:00
Jarrod Johnson
a09e1a3f8b
Handle IPv6 not set on IPMI nodes
2023-01-13 11:07:13 -05:00
Jarrod Johnson
50c073670d
Explicitly declare Textmode during autoconsole
...
This enables a workable console during text install,
while also allowing graphical to run
2023-01-13 10:54:29 -05:00
Jarrod Johnson
bc452b9b9a
Restore role-less group
...
If a group is missing a role,
coerce it to administrator
2023-01-13 10:01:52 -05:00
Jarrod Johnson
453d1f9ceb
Add IPv6 configuration support
...
For redfish and IPMI devices,
support new IPv6 static configuration
controls
2023-01-13 10:01:28 -05:00
Jarrod Johnson
feed125c86
Fix restoration of old confluent db
...
Old confluent DB may have None in role. This is no longer
allowed. Restore such entries by coercing them to 'Administrator'
which is how old confluent treated such users.
2023-01-12 08:38:55 -05:00
Jarrod Johnson
03fcd3f568
Fix indentation mistake in add_local_repositories
2023-01-11 09:53:01 -05:00
Jarrod Johnson
0e18a0c141
Fix routed nodeconfig in nodediscover
2023-01-09 08:55:46 -05:00
Jarrod Johnson
cc0962f5e5
Fix add_local_repositories in v6 environment
2023-01-06 15:35:36 -05:00
Jarrod Johnson
57b6d8677b
Fix syncfiles compatibility with IPv6
2023-01-06 09:33:06 -05:00
Jarrod Johnson
989066920d
Fix formatting of the confluent2hosts man page
2022-12-16 09:49:19 -05:00
Jarrod Johnson
d2a2383c92
Add man page for confluent2hosts
2022-12-16 09:44:52 -05:00
Jarrod Johnson
92a4b81247
Fix sample featuring non-existant attribute
2022-12-15 16:04:48 -05:00
Jarrod Johnson
130fce0320
Prevent bulk renames from stomping on itself
...
If multiple things try to renam to the same thing, block the action.
2022-12-15 15:42:10 -05:00
Jarrod Johnson
367854128a
Several fixes for imgutil
...
imgutil had a number of issues
contending with a distribution-less
image being packed/unpacked.
2022-12-14 16:51:39 -05:00
Jarrod Johnson
a5ee3a425f
Provide full path to DSA key for deletion
2022-12-14 16:15:30 -05:00
Jarrod Johnson
34741cfaf2
Clear terminal after full draw
...
A resize may need cleanup below
the output.
2022-12-14 16:14:34 -05:00
Jarrod Johnson
9dce7d31ea
Change screensqueeze to render in-line
...
Try to avoid clear screen and work within a logical
area under the command being run
2022-12-14 15:47:33 -05:00
Jarrod Johnson
f524114e56
Remove DSA key from install
2022-12-14 13:00:24 -05:00
Jarrod Johnson
511fbe987b
Suppress redundant output when writing to non-tty
2022-12-12 13:41:48 -05:00
Jarrod Johnson
7ccd1a42cd
Add r8152 driver to diskless/genesis
...
It is a popularly requested USB ethernet device for network booting
2022-12-12 12:59:37 -05:00
Jarrod Johnson
848e5acea1
Make nfs available to diskless
...
This allows nfs based flows to be built by users
2022-12-12 12:35:00 -05:00
Jarrod Johnson
e4dc57a810
Fix syntax of grep
2022-12-09 14:57:47 -05:00
Jarrod Johnson
0d5f48b116
Be more patient and more noisy about DHCP attempt over time
2022-12-09 13:05:10 -05:00
Jarrod Johnson
0a9fd8351b
Correct firstboot on remote media deployment
2022-12-09 11:19:06 -05:00
Jarrod Johnson
f55c25a52c
Avoid mangling ipv4 in url in media deployment
2022-12-09 10:59:50 -05:00
Jarrod Johnson
93f6641a16
Carry deployment hook through to firstboot
2022-12-09 10:33:23 -05:00
Jarrod Johnson
7e2ae4de62
Restore ipv4-only media based deployment
2022-12-09 10:11:09 -05:00
Jarrod Johnson
82fe68216a
Save deployer to mgr when media directed
...
Pre-empt the IPv4/v6 fallback designed.
2022-12-09 09:04:11 -05:00
Jarrod Johnson
fb98cbaa4a
Restore fallback to plain MANAGER specification
...
This is used in the media based deployment
2022-12-08 09:28:32 -05:00
Jarrod Johnson
2d5a016ad4
Tweak various issues for static analysis.
...
For autocons, though it's copying from a static source, use strncpy anyway,
despite the length being hardcoded already. This makes static analysis happier.
Terminate the buff with a NULL. This is superfluous as the strcpies that preceed
are guaranteed to null terminate, or exit the program.
In clortho, free(tmps), which is a valid leak, though clortho isn't long running.
Also, explicitly return 0, which is ultimately returned by main().
Static analysis could not figure out that padneeded implies that keylen is short of
chunk size, so change the check to be expressly the scenario that static analysis
was worried about directly, rather than indirectly.
Hint to static analysis that we don't care about the time as a time value by masking the
lower 32 bit explicitly. This was already happening, but static analysis was afraid
that we wanted this as time instead of just some mutating value.
2022-12-06 15:35:49 -05:00
Jarrod Johnson
0cb3e3d216
Add rebase to osdeploy man page
2022-12-02 11:35:10 -05:00
Jarrod Johnson
adbf96f23f
Use bytearray in PXE processing
...
Python 2 and 3 are inconsistent
with how they treat memoryview,
but they are consistent on bytearray
treatment
Since rqv is merely a cheaply sliceable view of rq, use rq directly
for functions where the difference
between 2 and 3 would matter.
2022-12-02 11:24:00 -05:00
Jarrod Johnson
c3576e4bd3
Enhance tab completion and extend some documentation and usage
2022-12-02 08:23:21 -05:00
Jarrod Johnson
84783c0c19
Add error check to noderange for nodedeploy
2022-12-01 14:09:25 -05:00
Jarrod Johnson
58a4c22aa2
Allow custom privilege levels through messages layer
...
If a user has created custom roles, designate custom. as
a prefix to indicate they really
mean what they say
2022-11-30 11:40:36 -05:00
Jarrod Johnson
dce80de9d5
Correct syntax error in sample script
2022-11-30 11:09:57 -05:00
Jarrod Johnson
c0f669cbdf
Add DHCP bringup to confluent= el8diskless
...
For routed, if user specifies confluent=, use that as a clue to
initiate a dhcp transaction to
facilitate routed requests.
2022-11-30 11:09:39 -05:00
Jarrod Johnson
2e20341ea0
Have imgutil exec attempt to provide source repos
2022-11-30 10:15:12 -05:00
Jarrod Johnson
57d01ddcaa
Base all web forwarding from 3901
...
This makes the web forwarding more predictable for
firewall rules
2022-11-28 15:17:59 -05:00
Jarrod Johnson
05bbd8f63a
Further refine pxe logging and fix external DHCP pxe
2022-11-22 11:08:45 -05:00
Jarrod Johnson
bb54ca0f8f
Fix mistake caused by erant paste
2022-11-22 09:31:39 -05:00
Jarrod Johnson
2c7b58d47a
Put brakes on configuration if no gateway and target is remote
...
This configuration would certainly destroy remote connectivity.
2022-11-22 09:24:18 -05:00
Jarrod Johnson
7341164f36
Have pure proxyDHCP trigger discovery and logs
...
For users that fully delegate core DHCP, provide discovery and
logging for PXE as it comes in.
2022-11-22 09:09:21 -05:00
Jarrod Johnson
626aca0691
Implement proxyDHCP remote operation
...
Provide means to function if we are
only the proxyDHCP service, delegated
from DHCP server.
2022-11-21 13:26:37 -05:00
Jarrod Johnson
132e40cdcb
Fix syntax mistak in attribute update
2022-11-21 10:18:58 -05:00
Jarrod Johnson
90a8d80b45
Rework trusted networks to attribute
...
This allows more flexibility and less oddity with how remote subnets are treated.
2022-11-21 09:57:27 -05:00
Jarrod Johnson
9eb2d25e37
Fix the subscribe/unsubscribe behavior in nodediscover client
2022-11-18 14:30:10 -05:00
Jarrod Johnson
963b35cd32
More aggressive timeout redfish checking
...
To make scans go faster, be more aggressive in
giving up on non-responsive targets.
2022-11-18 14:24:58 -05:00
Jarrod Johnson
9837ad7932
Add multi-address registration
...
This enables scanning a range or subnet
2022-11-18 14:14:31 -05:00
Jarrod Johnson
2c1e88d927
Provide usage when arguments omitted for nodegroupattrib
2022-11-17 14:04:16 -05:00
Jarrod Johnson
4af1dd5dd3
Omit extraneous related rpms
2022-11-15 11:46:52 -05:00
Jarrod Johnson
b6487df32a
Add missing ipmitool COPYING file to build
2022-11-14 16:20:42 -05:00
Jarrod Johnson
cee3943e4d
If node was found by key lookup, skip the sysdisco attempt
2022-11-14 15:26:52 -05:00
Jarrod Johnson
03e632b630
Add register to nodediscover command
...
This connects the remote registration
api to the usual CLI usage
2022-11-14 09:42:59 -05:00
Jarrod Johnson
6a9024d87e
Fix bad/unsupported targets in registration
2022-11-11 15:00:59 -05:00
Jarrod Johnson
9fa8a7124e
Pull the typical XCC scanning to remote registration path
2022-11-11 14:33:54 -05:00
Jarrod Johnson
c6079a1ee6
Add ability to register remote systems in discovery
...
To start with, support Lenovo XCC systems
2022-11-11 12:16:41 -05:00
Jarrod Johnson
ed94804b90
Change timezone substitution strategy
...
This uses a more self-evident breadcrumb to intuitively override
for users not wanting to use the confluent facility for timezone
adjustment.
There are other 'peculiar' substitutions that may prefer a breadcrumb
but they may require structure that would be tricky to implement
while also passing validation.
2022-11-10 08:57:04 -05:00
Jarrod Johnson
35abe0b9ad
Fix IPv6 address support in geist plugin
2022-11-09 15:11:25 -05:00
Jarrod Johnson
81c14db9dd
Pull EL8 IPv6 diskless to EL8
2022-11-08 16:37:00 -05:00
Jarrod Johnson
9179e02464
Fix diskless imgutil compatibility issues with EL9
2022-11-08 14:25:21 -05:00
Jarrod Johnson
48ac07e71d
Correct placement of initialization of the confluent_websrv variable
2022-11-08 11:33:43 -05:00
Jarrod Johnson
635b559c87
Fix IPv6 syntax for ssh certs in EL8 diskless
2022-11-08 10:51:31 -05:00
Jarrod Johnson
6865e3259e
Detect broken ipv4 and try ipv6
2022-11-08 09:45:08 -05:00
Jarrod Johnson
3d37692360
Add IPv6 to the imageboot script for EL profiles
2022-11-08 09:16:20 -05:00
Jarrod Johnson
20e6e1e521
Refresh functions to cope with v6-only usage
2022-11-08 08:52:29 -05:00
Jarrod Johnson
645abc2db7
Add [] to escape ipv6 prior to fetch of functions
2022-11-07 13:54:17 -05:00
Jarrod Johnson
578b05604b
Reject fe80:: as always not same
...
For our purposes, this same-subnet check doesn't
apply to link-local
2022-11-07 13:50:45 -05:00
Jarrod Johnson
e6e89bcee5
Steer v6 boot appropriately to v6 server
2022-11-07 13:25:26 -05:00
Jarrod Johnson
a21af719c2
Get ipv6 compatible deploycfg api call
2022-11-07 11:43:51 -05:00
Jarrod Johnson
13f3d4c1a6
First pass at adding ipv6-only boot for diskless el8
2022-11-07 11:07:45 -05:00
Jarrod Johnson
bd416f5000
Fix ipv4-free configuration in netutil
2022-11-03 14:43:49 -04:00
Jarrod Johnson
ca1f459364
Add remote scan to autosense startup
2022-11-03 13:59:14 -04:00
Jarrod Johnson
7e02987a8c
Extend rescan to cover remote switches
2022-11-03 13:31:57 -04:00
Jarrod Johnson
327a45ef33
WIP toward rescan hitting the renotify on subscripbed switches
2022-11-03 10:49:58 -04:00
Jarrod Johnson
f1a0d22fe5
Fix subscription handling for the discovery api
2022-11-03 09:58:57 -04:00
Jarrod Johnson
1e78f11c2b
Fix nodediscover CLI for subscribe/unsubscribe
2022-11-03 09:38:39 -04:00
Jarrod Johnson
7561b68b57
Rework subscriptions API
...
It's clear that the service will need
to explicitly track subscriptions
to enable rescan, for example,
and thus might as well restructure
the API around this information.
2022-11-03 09:21:15 -04:00
Jarrod Johnson
a6090877ff
Implement subscribe/unsubscribe in nodediscover
...
This provides a self-evident entry point from
CLI to extending the discovery to
affluent switches that support it.
This function will work with newer affluent
and Lenovo XCC2 systems.
2022-11-01 14:16:00 -04:00
Jarrod Johnson
eec20a6457
Rename discovery remote to subscription
...
This will implement a consistent vocabulary
2022-11-01 13:51:54 -04:00
Jarrod Johnson
52de243090
Merge pull request #116 from andywray/master
...
Update nodeconsole -w to work with arbitrary terminal types
2022-11-01 13:40:11 -04:00
Andrew Wray
9742a5d81b
Merge branch 'master' of https://github.com/lenovo/confluent
2022-11-01 13:30:18 -04:00
Andrew Wray
e20e978e04
Add xterm as default terminal for nodeconsole -w
2022-11-01 13:25:20 -04:00
Jarrod Johnson
299785a7b8
Add manifest data for diskless images
2022-11-01 13:01:14 -04:00
Andrew Wray
8a3105cd51
Update nodeconsole -w to work in arbitrary terminal programs.
2022-11-01 11:29:41 -04:00
Jarrod Johnson
4802c52854
If attempt to auto-restart service, reduce severity of result
...
Provide feedback as a warning rather than aborting the command entirely
2022-11-01 10:05:24 -04:00
Jarrod Johnson
4a3834b481
Add missing sample syncfiles to suse15 profiles
2022-11-01 09:26:17 -04:00
Jarrod Johnson
13065a3c9d
Add missing bits of suse 15 diskless profile
2022-11-01 09:10:17 -04:00
Jarrod Johnson
817038c6cf
Specify the valid values for apiarmed
...
Further, add more warning text around apiarmed, as it is a serious security
decision to take on continuous.
2022-11-01 08:37:03 -04:00
Jarrod Johnson
e0feb104ff
Add facilities to subscribe/unsubscribe from discovery agents
...
This connects the new affluent discovery facility
to local discovery view.
2022-10-28 16:58:30 -04:00
Jarrod Johnson
3afd6ecb5d
Temporarily enable IPv6
...
NetworkManage may go further out of it's way disabling ipv6, disable using proc to
overcome that
2022-10-28 12:10:03 -04:00
Jarrod Johnson
fd14221ab5
Avoid truncating console logging of firstboot
...
With significant firstboot output, there was a tendency
for tail to be killed before it relayed all the content.
Change to run the firstboot in a subshell in the background,
and have tail explicitly run until that subshell naturally
exits and then tail will cleanly exit
2022-10-28 09:30:12 -04:00
Jarrod Johnson
d534f29c57
Implement fastpath for delegated discovery
...
When an enlisted discovery agent
notifies, skip slow searches and use
the agents information directly.
2022-10-27 15:42:58 -04:00
Jarrod Johnson
f6d8294e83
Check IP viability before commencing configuration
...
This avoids a pointless partial configuration from proceeding.
2022-10-27 15:41:13 -04:00
Jarrod Johnson
6c806c8171
Fix tentative path for real path
2022-10-27 10:03:18 -04:00
Jarrod Johnson
8bf067cac8
Fix issues in the auth nets logic
2022-10-25 12:52:22 -04:00
Jarrod Johnson
0d2a1b856b
Fixes for the auth_nets configuration
2022-10-25 12:35:18 -04:00
Jarrod Johnson
4864d6abb0
Add mechanism to extend authentication to remote networks
...
This allows user to designate certain networks to be treated as
if they were local.
This enables the initial token grant to be allowed to a remote network.
This still requires that the api be armed (which should generally be a narrow window of
opportunity) and that the
request be privileged, it
just allows remote networks to be
elevated to be as trusted as local.
2022-10-25 11:26:44 -04:00
Jarrod Johnson
5794cd5d12
Modify firstboot to fall through to ipv6 if ipv4 failed
2022-10-25 08:21:42 -04:00
Jarrod Johnson
9964b33414
Fall back to v6 in more scenarios
2022-10-24 17:03:00 -04:00
Jarrod Johnson
be2959f365
Fall through to ipv6 if v4 is blank
2022-10-24 16:42:02 -04:00
Jarrod Johnson
31bf8f2a11
Numerous fixes for the cmdline directed deployment in EL8
2022-10-24 16:13:59 -04:00
Jarrod Johnson
6df9ca54ca
Ensure access to dracut utility funcitons in pre-trigger hook
2022-10-24 15:52:40 -04:00
Jarrod Johnson
c57090a670
Correct order of find and replace strings in by-mac boot
2022-10-24 13:26:06 -04:00
Jarrod Johnson
29ad1bd57e
Add various ways to look up boot file
2022-10-24 12:31:23 -04:00
Jarrod Johnson
f245f5cac5
Inject a hook for cmdline to specify confulent server
...
This enables a more manual approach
to indicate the deployment server.
This carries the assumption that a
normal OS autonetwork config
will get the node to the right network.
This is one step toward enabling a scenario where the target is remote and the DHCP is not going to relay, but instead the deployment feeds the DHCP a confluent URL entry point to get going.
Using this parameter precludes:
-Enhanced NIC auto selection. If the OS auto-selection fails to
identify the correct interface, the profile will need nic name baked in.
-Auto-select deployment server from several. This will mean that any
HA will require IP takeover be externally handled
This is of course on top of the manual process of
indicating confluent in kernelargs.
2022-10-17 13:07:18 -04:00
andywray
3da2ac61cc
Update nodeconsole man page with more -w examples
2022-10-15 21:52:14 -04:00
andywray
a25443c81d
Update help, check for null env variable
2022-10-15 21:29:56 -04:00
andywray
bd00059667
Update man page for -w with arbitrary terminal types
2022-10-15 21:09:31 -04:00
andywray
2c58320f32
Update nodeconsole -w to work with arbitrary terminal types
2022-10-15 21:03:35 -04:00
Jarrod Johnson
167ef0ae33
Merge pull request #87 from erderial/patch-5
...
Changed the Popen to skip the communication
2022-10-14 11:06:57 -04:00
erderial
8827e7efe8
Changed the Popen to skip the communication
...
Changed the Popen to skip the communication
added escape method
2022-10-14 18:03:51 +03:00
Jarrod Johnson
4ba0087c93
Close typo in edited attributes
2022-10-14 08:10:39 -04:00
Jarrod Johnson
c3afd45475
Normalize uid
...
python2 was crashing when getting unicode over the link.
2022-10-13 17:52:26 -04:00
Jarrod Johnson
730af73069
Correct open string in the attributes edit
2022-10-13 14:58:41 -04:00
Jarrod Johnson
84407e3d2b
Correct syntax error in pxe handler
2022-10-13 14:49:09 -04:00
Jarrod Johnson
a0702681da
Merge remote-tracking branch 'lenovo/master'
2022-10-13 12:14:41 -04:00
Jarrod Johnson
88b741e026
Add 'firmwarenone' ip method
...
Add a seting to allow user to suppress all DHCP offer during
PXE/HTTP activity. This enables configurations
where users want to externally manage filename explicitly in their own dhcp configuration.
2022-10-13 12:11:46 -04:00
Jarrod Johnson
4486fb5f81
Merge pull request #86 from erderial/patch-4
...
changed subprocess .run to Popen
2022-10-13 10:56:59 -04:00
Jarrod Johnson
8de7402b56
Add ability to get booturl redirect
...
In some environments, there's a desire to manually manage DHCP configuration.
In such a case, provide a url
that can be given to the dhcp server
to allow confluent to control the profile
without updating such a DHCP service.
With this change, a node can be told to boot:
http://confluentserver/confluent-api/booturl/by-node/n123/boot.ipxe
To be redirected to the currently applicable os profile.
2022-10-13 10:54:11 -04:00
erderial
dc62fc3f51
changed subprocess .run to Popen
...
changed subprocess .run to Popen to open separate subprocesses for simultaneous run of console windows.
2022-10-12 22:35:05 +03:00
Jarrod Johnson
23ec46bb8b
Add vlanid to the vmware deployment support
2022-10-12 13:08:57 -04:00
Jarrod Johnson
145be7ce31
Correct omission in private key access message during diskless boot
2022-10-07 16:47:48 -04:00
Jarrod Johnson
d5d0852890
Tighten redfish check timeout
...
The default timeout is overkill in the nodediscover scenario.
Notably, we can receive replies from unreachable IP addresses,
and those will extend rescan to the full timeout. The devices should
comfortably reply within 3 seconds, making scans exit in
a timely fashion.
2022-10-07 09:22:37 -04:00
Jarrod Johnson
4fed609050
Avoid enumerating members of a bond
...
Various parts of confluent that go to try to use
all the interfaces will now skip bond members.
One example problem is that joining the SSDP multicast
group for SSDP would cause the kernel to IGMPv6 out
on bond members as well as the bond itself. This change
ensures that the bond interface is only used and never
bypassed.
2022-10-07 08:52:02 -04:00
Jarrod Johnson
a77f211b8e
Fix json restore of users and groups
...
Defaults were erroneously used
do to oversight and mistake in teh json restore code.
2022-10-06 09:23:43 -04:00
Jarrod Johnson
3c29a5aa7f
Enable non-admin users for web gui
2022-10-06 08:49:00 -04:00
Jarrod Johnson
6eb4bf28e5
Another iteration to try to have IP adaptive syncfiles
...
It is likely that a client connects from fe80::, which
is explicitly omitted from ssh principals.
This time, have the client provide all currently set IP addresses
and the server will make a determination.
There remains the possibility it misconfigures a nic and tries to use that,
inducing failure. One strategy would be to filter the addresses and
only provide from the 'current' interface. Another is to just take
the hit as the node is likely going to suffer a lot from such a
misconfiguration anyway.
2022-10-05 12:23:47 -04:00
Jarrod Johnson
4cb222068f
Sync up EL7 syncfileclient
2022-10-05 11:53:59 -04:00
Jarrod Johnson
c612129d64
Have syncfiles attempt to use client ip, if feasible
...
When a node installs, it may not have it's node mapped address up,
or may not have one at all. Try to use the ip if it would be in the
same set that produced it's ssh certificate.
There remains a gap if a system has no static addressing *and* doesn't
map nodename to IP, but we have an impasse as the situation is too fuzzy
to grant a prinicpal in an SSH cert, and without that we can't securely
attempt rsync. For now, this scenario would still fail and I will
just hope that doesn't come up.
2022-10-05 08:31:37 -04:00
Jarrod Johnson
13ba95bb99
Give up on waiting for disks
...
Some profiles may have all disk support suppressed through blacklist until %pre comes
along to fix it. This avoids /dev/disk ever existing.
Wait up until 10 seconds before giving up. This gives disk subsystem a fair chance to
speed up and avoid a wait, with a fallback worst case of 10 seconds
2022-10-04 10:39:02 -04:00
Jarrod Johnson
75484db014
Fix macok incorrect value on finding the mac
2022-10-03 10:33:21 -04:00
Jarrod Johnson
0adfec0c44
Bump genesis version
2022-09-30 15:04:25 -04:00
Jarrod Johnson
4f67ed661d
Remove curl from genesis
...
It is redundant with python function, and drags
sasl along as a significant dependency.
2022-09-30 15:02:54 -04:00
Jarrod Johnson
763b157802
Fix syntax error
2022-09-30 12:36:12 -04:00
Jarrod Johnson
6e803e9fca
Add insecure protocol check
2022-09-30 12:22:39 -04:00
Jarrod Johnson
9ecd3e3ac7
Add API check
...
Particularly SELinux is a frequently missed configuration
facet, alert when the selinux is blocking.
2022-09-30 12:17:31 -04:00
Jarrod Johnson
ee3aef0a4c
Mark COPYRIGHT as legal in rpm
2022-09-30 11:02:55 -04:00
Jarrod Johnson
b7dfe20286
Add legal artifacts to confluent_server
2022-09-30 10:43:18 -04:00
Jarrod Johnson
28f4571c8e
Go for xCAT-neutral terminology
2022-09-29 16:09:46 -04:00
Jarrod Johnson
c647dec069
Add message on successful node attribute run
2022-09-29 15:45:07 -04:00
Jarrod Johnson
903de26dd8
Add node attribute checks to selfcheck
2022-09-29 15:27:12 -04:00
Jarrod Johnson
76491785db
Merge pull request #84 from erderial/patch-2
...
Adding wcons functionality for nodeconsole
2022-09-29 13:17:04 -04:00
Jarrod Johnson
b7a424f4cc
Merge pull request #85 from erderial/patch-3
...
Added -w flag for nodeconsole
2022-09-29 13:16:30 -04:00
erderial
e180ec0bc8
removed null from the flow
2022-09-29 20:15:55 +03:00
Jarrod Johnson
fcf342165c
Fix apiclient detection of default interface
...
It was failing to record the default interface in its checks.
2022-09-29 13:15:37 -04:00
erderial
d88207a468
Added -w flag for nodeconsole
...
Added -w flag for nodeconsole command, for xterm for now.
2022-09-29 19:24:57 +03:00
erderial
e09c594ffb
Adding wcons functionality for nodeconsole
...
Adding wcons functionality for nodeconsole for xterm first.
2022-09-29 18:58:06 +03:00
Jarrod Johnson
cf000d6872
Add node name resolution check
...
A common scenario for closed networks
is a misconfigured DNS situation.
Detect and report, as this can wreak havoc on a confluent instance.
2022-09-29 09:57:43 -04:00
Jarrod Johnson
04ee7a8c31
Add '-l' to nodersync command
2022-09-29 08:05:02 -04:00
Jarrod Johnson
5a62307d1e
Restore config by name
...
The change to allow CIDR syntax
broke for configurations that use name for
bmc 'address'.
Fix by letting getaddrinfo have a chance to process the ip before
trying to pton it.
2022-09-27 17:05:13 -04:00
Jarrod Johnson
e5360b3b2f
Have suse give up after a minute
...
If a network problem prevents the deployment nic from working,
give up eventually
2022-09-27 08:33:00 -04:00
Jarrod Johnson
484dbd9f74
Fix default interface detection
2022-09-23 16:10:55 -04:00
Jarrod Johnson
52626c56a8
Fix issues with the license restructure
2022-09-22 09:51:02 -04:00
Jarrod Johnson
885354f6b7
Rework license storage structure
2022-09-22 09:09:46 -04:00
Jarrod Johnson
0c08d8f6d3
Provide helpful error on bad user/password in delta pdu
2022-09-21 16:19:13 -04:00
Jarrod Johnson
25c66e163c
Some notes on TPM recovery
2022-09-21 10:50:05 -04:00
Jarrod Johnson
ba7832eb40
Fix restoring blocking on exit
...
When confetty/nodeconsole exits, correctly
clear NONBLOCK flag is an idempotent way.
2022-09-21 09:48:39 -04:00
Jarrod Johnson
440fcf2663
Further tweak el8 ident image support
2022-09-14 12:18:11 -04:00
Jarrod Johnson
0286b2e776
Further fixes to identity image in el8
2022-09-14 11:57:02 -04:00
Jarrod Johnson
aa2a8e2d5a
Adjust ported coreos ident image support to el8 install environment
2022-09-14 11:18:01 -04:00
Jarrod Johnson
65e97073e2
Add identity image support to EL8 scripted install profiles
2022-09-14 11:00:04 -04:00
Jarrod Johnson
5a935d99fc
Have SMM devices register cleanly
...
In remote discovery registration, the
SMM path was not fully implemented
2022-09-13 13:29:42 -04:00
Jarrod Johnson
785d7d40fa
Add COPYRIGHT notice
2022-09-09 12:50:38 -04:00
Jarrod Johnson
91f4ef9747
Attempt to fill in more missing metadata
2022-09-09 12:26:38 -04:00
Jarrod Johnson
9025918609
Fix missing information in packaging metadata
2022-09-09 12:10:32 -04:00
Jarrod Johnson
7cbd105ae3
Workaround TSM issue with redfish configuration
2022-09-09 12:04:38 -04:00
Jarrod Johnson
2bc2736da4
Fix neighutil invocation of ipn_is_local
2022-09-08 16:07:04 -04:00
Jarrod Johnson
4a8af0ad85
Fix assumptions about ip going into netutil
2022-09-08 14:35:16 -04:00
Jarrod Johnson
7b98b7dc00
Fix wrong uid after duplicate identity check
2022-09-08 09:51:21 -04:00
Jarrod Johnson
cde18bcd3a
Cap the number of deferred packets
...
Prevent deferred packets from growing endlessly
if activity is keeping the loop running.
2022-09-07 08:04:47 -04:00
Jarrod Johnson
60cfa1d3c5
Skip peer probe on remote
...
When remote ip is detected,
communicate by returning False
instead of None.
Use this indication to let ssdp
skip a transmit and growing
pending list in such a case.
2022-09-06 16:40:34 -04:00
Jarrod Johnson
596fcb0f4c
Implement mitigations for ovewhelming SSDP
...
First, for a given contiguous set of snoop activity, start ignoring a given peer during that contiguous chenk after it has been considered once.
Further, make get_hwaddr cheaper for attempts against
remote IPs.
To facilitate the above, create an efficient 'ip_is_local' to be
a relatively cheap function, with
potential to cache result in future
if it needs to be even cheaper.
2022-09-06 16:08:31 -04:00
Jarrod Johnson
7980534bad
Fix confluentdbgcli.py for python3
2022-09-02 15:11:30 -04:00
Jarrod Johnson
6c1f87aeb7
Add mechanism for copernicus to request any confluent
...
This can be used for network debug in a generic way, to identify vlan adjacency without regard to nodedoploy state or uuid matching.
2022-09-02 13:32:05 -04:00
Jarrod Johnson
1c811dbf3e
Fix python path automatically in confluent_selfcheck
2022-09-02 10:11:12 -04:00
Jarrod Johnson
503746131c
Add selfcheck to packaging
2022-09-02 09:53:06 -04:00
Jarrod Johnson
a0037a305c
Add confluent_selfcheck to server package
2022-09-02 09:44:13 -04:00
Jarrod Johnson
d1d15f29c1
Add facility to fix confluent uuid problem
2022-09-01 13:26:25 -04:00
Jarrod Johnson
b98759698a
Sync up getinstalldisk and add another m.2 model
2022-09-01 13:22:50 -04:00
Jarrod Johnson
20992b2d17
Add check for actual file download
2022-09-01 13:21:39 -04:00
Jarrod Johnson
67f0c8a81b
Add IPv6 and insecure boot checking
2022-09-01 13:17:17 -04:00
Jarrod Johnson
28331adced
Add TFTP and ssh key checks to checkconfluent
2022-08-31 17:30:41 -04:00
Jarrod Johnson
ed91e0f2f3
Have askpass delete itself
...
This causes ssh-add to give up, instead of endlessly rerunning
the askpass script.
2022-08-31 17:17:33 -04:00
Jarrod Johnson
99a5c454ba
Begin work on a sanity checker
...
Check various facets that are frequently not quite right, making
recommendations on how to correct.
2022-08-30 16:59:40 -04:00
Jarrod Johnson
908e51221c
Correct minor formatting mistake in warning
2022-08-29 12:22:14 -04:00
Jarrod Johnson
8277701af6
Rewrite site ssh even if
...
the /etc copy already exists.
IT may be that /var/lib/confluent is being repaired, in which
case just copy existng over while giving warning.
2022-08-29 12:16:35 -04:00
Jarrod Johnson
570611f22b
Have osdeploy initialize skip SSH regen
...
When generating new key materials, most people say 'yes' and cause problems
where they cycle valid keys without
realizing the significance.
Replace prompting with an emphasized warning instead.
2022-08-29 11:10:45 -04:00
Jarrod Johnson
2a3e6cd6f1
Change websocket dependency name in EL7
2022-08-26 08:16:22 -04:00
Jarrod Johnson
4e44188253
Ensure early existance of ca.pem
...
Prior to install, enable apiclient
to have the ca.pem where it would
expect it to be.
2022-08-25 16:45:00 -04:00
Jarrod Johnson
352da94005
Implement rebase feature ofr osdeploy
...
Permit user to opt into a rebase of a
profile, to pick up potential updates
from the confluent packaged stock
profiles for files the user has not yet
customized.
2022-08-25 15:21:49 -04:00
Jarrod Johnson
e774add916
Set timezone on diskless boots by default
...
During onboot, use confluent directed timezone
info to set the timezone if the
disk image is incorrect.
2022-08-24 16:09:05 -04:00
Jarrod Johnson
d72bac5faf
Add more to the SUSE profiles
...
Add exetensibility to pre and sample directories
2022-08-24 16:07:38 -04:00
Jarrod Johnson
93b7547c58
Enable IPMI for user if IPMI has been enabled globally elsewhere
...
Scenarios have come up with trying to repair partially
configured configuration, break
the global and per-account check
into separate concerns.
2022-08-24 10:13:53 -04:00
Jarrod Johnson
31b3d6ea06
Move manifest data into dedicated file
2022-08-24 09:29:48 -04:00
Jarrod Johnson
42b4944542
Fix build script for vtbufferd
...
Update for new licensing standard.
2022-08-23 16:08:25 -04:00
Jarrod Johnson
04526ae8cc
Update license to NOTICE file
...
Bundled third party license content is now described under NOTICE file.
2022-08-23 15:52:50 -04:00
Jarrod Johnson
d97c508d86
Add hash manifest of new os profiles
...
When importing an image and taking stock copy, mark the files to allow detection of stock
versus customized profile content.
This will be used by a rebase command to know when
to overwrite or when to leave a file alone.
2022-08-23 15:25:17 -04:00
Jarrod Johnson
801e43936c
Revise ESXi routed deployment
...
-Have apiclient set timeout on getting credential to avoid hang
-Change dcuiweasel to start shell earlier for better debug
-Do not expire the ident token if deployment is armed continuous anyway
2022-08-19 16:06:46 -04:00
Jarrod Johnson
a445107c7f
Fix setting privilege level alone for ipmi
...
The logic incorrectly had it depend on password also being present.
2022-08-19 09:10:52 -04:00
Jarrod Johnson
dde66c53c9
Dynamically ascertain name scheme for Delta pdu
...
Some delta pdus have different name schemes
than others, take the hit of
awkward parsing to autodetect.
2022-08-17 10:20:26 -04:00
Jarrod Johnson
57fcc8a243
Start SSH agent even on older ssh
...
The unusual path to automation key for syncfiles and ansbile
is most easily handled by ssh-agent, even if no passphrase
will be used
2022-08-16 15:06:26 -04:00
Jarrod Johnson
41c3c4fb5f
Handle metapackages
...
If a metapackage gets pulled in
as related, do not let it mess up
the license list.
2022-08-11 14:09:55 -04:00
Jarrod Johnson
7b3c1e5405
Capture license content from related packages
...
Some files that get gathered into genesis
have their license in a related rpm, but that related rpm does not otherwise get captured.
So pull all correlated license material
in the license capture process.
2022-08-11 13:42:36 -04:00
Jarrod Johnson
047cd6302a
Add wait for IP connectivity
...
After config, there may be a delay
before the configuration takes effect.
This delay can break nodeconfig.
Try to wait for the delay to pass.
2022-08-09 08:50:19 -04:00
Jarrod Johnson
f0c8eee956
Add facility to auto-exec nodeconfig on discovery
...
This permits more open ended node configuration when discovery happens.
2022-08-08 16:13:01 -04:00
Jarrod Johnson
1125e4c712
Advance concetpual debian support
2022-08-08 14:23:01 -04:00
Jarrod Johnson
2aed973a8b
Have apiclient check all hosts for connectivity
...
Further allow it to output the result and feed that to esxi startup.
2022-08-08 11:18:35 -04:00
Jarrod Johnson
078e755ec7
Actually feed preseed into config
...
It must be done to the live cdebconf state *and* preseed.cfg,
since one is referenced immediately and then discarded when
preseed read in.
2022-08-05 16:05:26 -04:00
Jarrod Johnson
e3ed54ebf3
Advance the bootstrap of debian installation concept
2022-08-05 14:05:27 -04:00
Jarrod Johnson
9cac0c1705
Amendments to confluent initialization
2022-08-04 16:51:33 -04:00
Jarrod Johnson
2fe852f122
Add draft of a debian-installer-startup script
...
This is a draft for use in debian profiles to get started
2022-08-04 16:27:58 -04:00
Jarrod Johnson
258c4970c0
Change makeksnet from yaml to json
...
Older vmware did just json, which is fine, just have to use
the json file that was there just in case something like this
came up.
2022-08-04 10:39:10 -04:00
Jarrod Johnson
610e7bf044
Constrain ip-less offers
...
PXE and HTTP client define a behavior for using non-address portion of an offer if the
offer has none. However, other clients, like
udhcpc will be confounded by such offers.
Ensure that client specifically sets VCI to indicate
it understand such an offer before replying.
This as yet generally doesn't matter as UUID is not sent by OS installers, however
some OSes can't do do API calls over LLA, and
thus we want to start allowing OS requests with
UUID and only offer when it makes sense.
2022-07-29 12:49:25 -04:00
Jarrod Johnson
6b95bc7932
Fix key name
2022-07-27 12:08:58 -04:00
Jarrod Johnson
35701cdf01
Allow ident net config to override deploycfg
...
In routed deployment, deploycfg will
be missing network info, use
the ident provided network if detected.
2022-07-27 11:41:29 -04:00
Jarrod Johnson
c1ad4357dc
Fix for loop variable name
2022-07-27 08:37:09 -04:00
Jarrod Johnson
9987cb5c03
Advance state of routed esxi deployment
2022-07-27 07:51:41 -04:00
Jarrod Johnson
e8d2f550b8
Draft work on ESXi identity image deployment
...
Prepare for routed deployment of ESXi
2022-07-25 17:05:30 -04:00
Jarrod Johnson
9fe156601b
Add netmask to net config data
...
Some clients may want to consume netmask
without going to the trouble of converting,
so provide the extra data a different way.
2022-07-25 15:54:07 -04:00
Jarrod Johnson
830c9e171f
Add IP detection on local segment from remote registration
...
If an ip address is missing, but linklocal is set, try to search the
local nics for a viable connection to use.
2022-07-22 17:17:35 -04:00
Jarrod Johnson
0ac2bce883
Have XCC use a null string for ipaddr
...
This avoids the remote discovery failure for now.
2022-07-22 13:31:11 -04:00
Jarrod Johnson
6f619bc896
Change ipaddr to a property for allowing logic
2022-07-22 13:23:47 -04:00
Jarrod Johnson
bdd5dddce0
Fix typo in log message
2022-07-21 11:20:31 -04:00
Jarrod Johnson
d61dcee4fa
Fix handling of explicit prefix
...
Switch to just ip in time and return prefix
length as int.
2022-07-21 11:06:01 -04:00
Jarrod Johnson
d385ad1a0a
Support explicit prefix in xcc discovery
2022-07-21 10:13:00 -04:00
Jarrod Johnson
ef2c7b5bbc
Fix errant reference
2022-07-21 09:57:29 -04:00
Jarrod Johnson
2256b341b9
Tolerate '/' in hardwaremanagement.manager
...
This paves the way to allowing CIDR syntax to
indicate prefix length for remote XCCs
2022-07-21 09:54:00 -04:00
Jarrod Johnson
79421a724f
Fix base64 decode of fingerprint
...
base64 was being done against wrong variable
2022-07-21 08:33:12 -04:00
Jarrod Johnson
7751a71851
Merge branch 'remote_discovery'
2022-07-20 16:22:01 -04:00
Jarrod Johnson
2d8bcb4c0f
Incorporate auto discovery for remote discovery
...
Avail ourselves of secure vouching to handle new and
replaced.
2022-07-20 16:21:25 -04:00
Jarrod Johnson
0dc7b532cc
Implement registration and retrieval
...
Remote discovery can now be registered by
switches.
2022-07-20 13:01:11 -04:00
Jarrod Johnson
97c520db10
Make error message more clear
2022-07-19 10:16:48 -04:00
Jarrod Johnson
480849640e
Make error message more clear
2022-07-19 10:16:18 -04:00
Jarrod Johnson
42055e2648
Merge branch 'master' into remote_discovery
2022-07-18 15:52:42 -04:00
Jarrod Johnson
789def17d1
Do not tail old content from firstboot
...
Tail only new content being fleshly logged
2022-07-18 09:35:40 -04:00
Jarrod Johnson
926f9e2cdd
Enable more plugins for collective routing
2022-07-13 08:58:31 -04:00
Jarrod Johnson
c627ac73ee
Make a specific error on nodesupport
2022-07-11 16:18:33 -04:00
Jarrod Johnson
2058d1fba8
Add ESXi 8 support
...
ESXi changes security policies, adapt
to navigate both old and new sorts of rules
2022-07-08 13:36:21 -04:00
Jarrod Johnson
beb4c66b65
Fix spelling in error message
2022-07-08 10:50:45 -04:00
Jarrod Johnson
f467cfe7c4
Add log message for mac interrogation of switch
...
Clarify when things go wrong due to certificate.
2022-06-30 13:28:26 -04:00
Jarrod Johnson
3bd11da807
Remove extraneous line from setupssh.sh
2022-06-30 13:27:39 -04:00
Jarrod Johnson
eaffac0433
Allow blanking a value to default a plugin attribute
2022-06-30 13:27:25 -04:00
Jarrod Johnson
500e083746
Enable ipmi user if required
...
If redfish models ipmi as an account type, and user wants ipmi, add it to the account.
2022-06-28 14:25:12 -04:00
Jarrod Johnson
29965f6ec9
Add a catch all to redfish for xcc
...
Newer xcc changes things yet again, but
we are comfortably in the firmware that can be bootstrapped
with redfish, so use that instead once we've cleared the
redfish incapable variants.
2022-06-28 14:24:48 -04:00
Jarrod Johnson
f65ff1268a
Add new state offline to confluent storage states
2022-06-28 12:15:54 -04:00
Jarrod Johnson
a54a9a5d09
Enable ipmi user if required
...
If redfish models ipmi as an account type, and user wants ipmi, add it to the account.
2022-06-27 14:34:37 -04:00
Jarrod Johnson
9b79da9522
Add a catch all to redfish for xcc
...
Newer xcc changes things yet again, but
we are comfortably in the firmware that can be bootstrapped
with redfish, so use that instead once we've cleared the
redfish incapable variants.
2022-06-27 14:12:51 -04:00
Jarrod Johnson
04c2b1a322
Provide an authenticated path for discovery registration
2022-06-22 16:47:40 -04:00
Jarrod Johnson
559a7ca7b8
Merge branch 'master' into remote_discovery
2022-06-21 14:56:56 -04:00
Jarrod Johnson
0a10311fea
Add more verbose ssh connection feedback
...
Make the nature of connecting more explicit and errors
more reliably holding the session up and asking for relog
2022-06-17 15:35:06 -04:00
Jarrod Johnson
715bcb2f50
Prevent shell session from playing console output
2022-06-17 14:54:41 -04:00
Jarrod Johnson
8d5ad0d4a6
Fix EL7 spec file syntax
2022-06-17 13:11:08 -04:00
Jarrod Johnson
1387a67b61
Correct spec syntax error
2022-06-17 12:37:20 -04:00
Jarrod Johnson
4b08273379
Move EL7 back to python2
...
EL7's python3 support is barren and would require a lot of dependency
work.
Move EL7 back to python2 and will deprecate EL7 support when we ditch
python2
2022-06-17 12:10:44 -04:00
Jarrod Johnson
e0c3232180
Fix syntax error in el7 prescript
2022-06-17 09:30:26 -04:00
Jarrod Johnson
bd95f00680
Fix EL7 typeo in postscript
2022-06-17 09:08:12 -04:00
Jarrod Johnson
bfecaa389d
Adjust to correct ntp for 9 and up
2022-06-17 09:06:33 -04:00
Jarrod Johnson
7aca7a19f9
Install apiclient in a normal location for EL7
2022-06-15 16:42:50 -04:00
Jarrod Johnson
c400671ad7
Add old profile compatible apiclient location
2022-06-15 16:39:55 -04:00
Jarrod Johnson
c96955b369
Add catch-all packaging for EL7
...
EL7 now precompiles and flags it in the packaging
2022-06-15 16:34:57 -04:00
Jarrod Johnson
2bb519c158
Fix EL7 deployment compatibility
2022-06-15 16:10:57 -04:00
Jarrod Johnson
e5c33cacd5
Change SuSE rpm name to pyyaml
2022-06-15 15:11:07 -04:00
Jarrod Johnson
03f0f16ed8
Change to dnspython for suse
2022-06-15 15:06:52 -04:00
Jarrod Johnson
0f815dc7d3
Switch to python3 for all builds
2022-06-15 15:00:19 -04:00
Jarrod Johnson
dbdc99905d
Update confluent server to python3 dependencies only
2022-06-15 14:31:32 -04:00
Jarrod Johnson
2d665fb816
Merge branch 'py2to3'
2022-06-15 12:42:04 -04:00
Jarrod Johnson
26e0fa8c91
Add swraid example to misc
2022-06-15 09:50:06 -04:00
Jarrod Johnson
83da1359df
Add a sample vroc 'pre' script for reference
2022-06-15 08:40:23 -04:00
Jarrod Johnson
0f1581f8f7
Add a sample script to fetch user/pass info from confluent db
2022-06-10 14:18:35 -04:00
Jarrod Johnson
13d4d1dd98
Ensure that python3 will execute before doing migrate
...
If python3 is not the executable name, prevent the restoration
attempt from happening.
2022-06-10 11:19:21 -04:00
Jarrod Johnson
db5c31030d
Migrate DB on start
...
If python2 db format detected, use python2 to
dump to text, then python3 to restore to
get the python3 native version
2022-06-09 16:23:35 -04:00
Jarrod Johnson
6f484aab53
Allow restore to replace unsupported format
...
Going from python 2 to python 3, the dbm format
goes from the default to unsupported.
This allows a python3 confluentdbutil restore to handle
a python2 dump of unsupported format.
2022-06-09 15:49:06 -04:00
Jarrod Johnson
44cf56857e
Add fallbacks to PyCrypto compatible names
...
Cryptodome is not always packaged with the
explicit form, fall back to the Crypto names
hoping that the user wouldn't be trying to use
PyCrypto is this day and age.
2022-06-09 10:48:12 -04:00
Jarrod Johnson
17e223e21c
Suppress stray fakecmdline output
2022-06-09 09:15:56 -04:00
Jarrod Johnson
5ee6d0ca5d
Fix ordering of arguments
...
The -text was between startdate and its argument
2022-06-09 08:30:03 -04:00
Jarrod Johnson
2825af19c4
Do not clutter the pem file with text
2022-06-09 08:04:15 -04:00
Jarrod Johnson
e9ac43f49e
Add autocons to bootloader config
...
In newer suse, the fake cmdline trick is fouled, so carry into
autoyast file
2022-06-09 07:55:42 -04:00
Jarrod Johnson
5ee0572f54
Change to using 'full' openssl ca
...
OpenSSL does not allow access to custom start
date without the full 'ca' facility, do the
work to set up the full CA and then
backdate certificates.
This does open the way for managed CA if required.
2022-06-08 17:10:11 -04:00
Jarrod Johnson
3da67db806
Fix early bailout of nodeconfig
...
Do not have nodeconfig bail out on first sign of trouble, attempt to continue.
2022-06-08 13:43:25 -04:00
Jarrod Johnson
826c9eedb0
Document -l in nodeconsole man page
2022-06-08 11:14:51 -04:00
Jarrod Johnson
af19e98ce8
Remove use of eventlet in client side
...
The client side does not use eventlet, so allow
fallback to the normal socket and select
to keep the client module whole in the
face of that missing.
2022-06-08 11:03:56 -04:00
Jarrod Johnson
0dcd1442c9
Avoid nodeshell/noderun getting stuck on stdin
...
Some applications will tend to hang on stdin if
stdin is readable. Provide /dev/null to suppress that behavior.
2022-06-08 10:21:08 -04:00
Jarrod Johnson
2f904d10e9
Fix identity yaml parsing
...
Switch to sed rather than trying to use head. There may or
may not be a second match, so need sed logic to understand
whether it's a match or not to keep or throw out.
2022-06-08 09:23:56 -04:00
Jarrod Johnson
fdaecf2cbc
Relay input errors to caller in dispatch
2022-06-07 13:36:31 -04:00
Jarrod Johnson
8bb565e938
Implement error on invalid attribute filter
...
This will cause noderange to probably error out.
Note that invalid attribute names starting with net, power, or custom are treated as always valid.
2022-06-07 11:45:06 -04:00
Jarrod Johnson
0b20e0b634
Fix confuent scan for python 3.9
...
Python 3.9 removes the scope from the string
address, put it back if missing since it's required
to actually be usable.
2022-06-07 10:55:56 -04:00
Jarrod Johnson
b32c343a0c
Switch to importlib for newer python
...
imp is deprecated, despite being much simpler,
so use importlib in python3.6+ distributions.
2022-06-07 10:35:08 -04:00
Jarrod Johnson
942121d73a
Remove unavaiable clear from el9 diskless
2022-06-07 09:48:52 -04:00
Jarrod Johnson
55f42bc909
Add el9 imgutil
2022-06-07 09:06:59 -04:00
Jarrod Johnson
84037420d1
Add el9 tree for diskless
2022-06-06 13:18:37 -04:00
Jarrod Johnson
e7bea0df45
Advance work on EL9 diskless support
2022-06-06 13:10:22 -04:00
Jarrod Johnson
94955dd091
Bring down track number
...
Use 2 heads with 4 sectors per track to get the track number down for
reasonable images.
Newer mtools forbids large track numbers.
2022-06-06 11:57:19 -04:00
Jarrod Johnson
739890471d
Support newer python that removes fromstring
...
Python 3.9 does not understand the fromstring function anymore.
2022-06-06 11:37:39 -04:00
Jarrod Johnson
0baa2eecab
Break out on deployment failure
2022-06-06 11:05:22 -04:00
Jarrod Johnson
46fec89460
Fix routed deployment api key usage
2022-06-06 10:15:54 -04:00
Jarrod Johnson
997bd3ac34
Implement outlet control for Eaton PDU
2022-06-03 17:06:37 -04:00
Jarrod Johnson
799050fea2
In-progress Eaton PDU support
2022-06-03 16:26:07 -04:00
Jarrod Johnson
80186f2c77
Add a delta pdu plugin
...
This has received limited testing, and the PDUs cannot be used with secure protocols
2022-06-03 10:24:44 -04:00
Jarrod Johnson
64b8893b80
Add a delta pdu plugin
...
This has received limited testing, and the PDUs cannot be used with secure protocols
2022-06-03 10:24:25 -04:00
Jarrod Johnson
ae4b5c5100
Amend nodeping behavior and documentation
2022-06-02 16:04:19 -04:00
Jarrod Johnson
f13df801fd
Merge branch 'master' into remote_discovery
2022-05-31 13:53:47 -04:00
Jarrod Johnson
83acdab216
Amend python 3.9 compatibility fix
...
Avoid checking None for is_alive or isAlive
2022-05-31 11:23:27 -04:00
Jarrod Johnson
b42dafb085
Fix python 3.9 compatibility
...
In python 3.9, the % is no longer included
in the first member of the address tuple.
Handle both scenarios by adding '%' in for versions
that seem to want to remove it.
2022-05-31 11:01:09 -04:00
Jarrod Johnson
b5f5ba69d2
Fix python 3.9 compatibility
...
Python 3.9 renamed an attribute on a threading object, try
both names to support old and new python
2022-05-31 10:18:42 -04:00
Jarrod Johnson
6d07dac46c
Fix ipmi missing logging state and trim el9 dependencies
2022-05-27 16:10:08 -04:00
Jarrod Johnson
e4e859c798
Fix invocation of monotonic_time
2022-05-26 18:07:19 -04:00
Jarrod Johnson
ff698ea06b
Merge branch 'webauthn'
2022-05-26 17:42:15 -04:00
Jarrod Johnson
9c7e23f29e
Add missing nodepower statuses
2022-05-26 17:41:54 -04:00
Jarrod Johnson
b638bb69f9
Change webauthn to use confluent user db
...
This allows persistence with the rest of the
configuration.
2022-05-26 17:41:16 -04:00
Jarrod Johnson
7072a85d79
Transition to multi-authenticator support
...
Provide a way to store a plurality of keys for a user.
This enables use of 'backup' authenticators.
2022-05-26 16:34:18 -04:00
Jarrod Johnson
9b6114f523
Break if stuck in loop for over a minute
2022-05-26 15:01:47 -04:00
Jarrod Johnson
3c3d6bb314
Fix auth handling of the session/info
2022-05-25 17:40:35 -04:00
Jarrod Johnson
f6a17b5f32
Have validate serve as session info request
...
This should facilitate login.
Further, provide a quick persistence for the
credential test backend
2022-05-25 15:58:20 -04:00
Jarrod Johnson
4773acb37d
Adapt geist to work with python2
2022-05-25 10:58:35 -04:00
Jarrod Johnson
e0079b5a86
Amend webauthn validation api
2022-05-25 10:58:02 -04:00
Jarrod Johnson
c93f09bc91
Provide hook to get registered credentials
...
This has to relax the session in getting and requesting validation.
2022-05-24 19:17:31 -04:00
Jarrod Johnson
9b39c96135
Begin work on webauthn support
...
Provide appropriate registration options as a first
step.
2022-05-24 10:22:34 -04:00
Jarrod Johnson
48d46bcfae
Add resolv setup to genesis
2022-05-24 08:27:36 -04:00
Jarrod Johnson
371942b0ce
Add myhostname to improve name resolution errors in genesis
2022-05-24 08:17:04 -04:00
Jarrod Johnson
a3cce144bc
Extend manager principals for ssh
...
When doing osdeploy initialize -l (not recommended usually),
add on more forms of the name and ip addresses
to be consistent with node ssh behavior.
2022-05-24 07:24:56 -04:00
Jarrod Johnson
f9d47bb0d3
Fix markingrequest as not implemented
...
The Geist PDU support inadvertently took down
unrelated parts of a request, fix by
properly showing not implemented in
a node specific way.
2022-05-20 08:35:43 -04:00
Jarrod Johnson
6068a29434
Merge branch 'master' of github.com:lenovo/confluent
2022-05-17 10:45:17 -04:00
Jarrod Johnson
8deadec7a6
Provide hook to override rungesis
...
Some applications may want much of the genesis
distribution, but want to have a bootstrap process
independent of confluent. Provide hooks either
through the identity image or the boot image itself.
2022-05-17 10:44:07 -04:00
Jarrod Johnson
da764fb99e
Merge pull request #83 from erderial/master
...
ndeping man page
2022-05-16 14:36:38 -04:00
erderial
56b112519d
Merge pull request #1 from erderial/Er-Nodeping
...
Adding nodeping man page
2022-05-16 21:25:39 +03:00
erderial
abb85d5034
Created nodeping file
2022-05-16 21:21:42 +03:00
Jarrod Johnson
eb99fbd8b2
Switch from clear buffer to sized memoryview
...
Use the recvmsg hint to mask out the buffer rather
than zeroing the entire buffer. This is more efficient
and further improves efficiency of parsing of the packet.
2022-05-14 18:35:15 -04:00
Jarrod Johnson
54741517f1
Clear DHCP buffer between recv
...
Very large PXE requests can leave residual
information that small, non-pxe requests will
interact poorly with, leading to spurious pxe-client
with cloned uuid of most recent large request.
Clearing between IO normalizes the state to avoid the bleed
over.
2022-05-14 18:12:19 -04:00
Jarrod Johnson
459c9a5210
Wait for a login attempt to run its course
...
If an existing session was not quite logged in, but
may be getting there, join in and wait for result
instead of starting over again.
2022-05-12 16:39:58 -04:00
Jarrod Johnson
c328fea49a
Cleaner output on cli
...
Based on feedback, remove the added 'inlet_' from pdu
output.
Also, fix geist plugin to block unsupported
features for now.
2022-05-11 16:01:43 -04:00
Jarrod Johnson
caba650143
Add nodepower arguments for PDU operations
2022-05-11 14:59:54 -04:00
Jarrod Johnson
e4d7be649a
Fix single inlet operations
2022-05-11 13:31:19 -04:00
Jarrod Johnson
d8a0f111db
Implement changing PDU state on set
2022-05-11 08:53:24 -04:00
Jarrod Johnson
8dbcc804ed
Pull outlets into the generic hierarchy
...
This will more easily facilitate adding pdus without dependent nodes.
2022-05-10 16:05:37 -04:00
Jarrod Johnson
6229cb23e8
Begin PDU implementation
2022-05-10 16:00:08 -04:00
Jarrod Johnson
0e879dc3de
Add el7 to alternat squashfs name
2022-05-09 09:57:59 -04:00
Jarrod Johnson
ee1a763c68
Add el7 to alternat squashfs name
2022-05-09 09:57:35 -04:00
Jarrod Johnson
f138b4513c
Merge branch 'master' into remote_discovery
2022-05-09 08:33:24 -04:00
Jarrod Johnson
2925c291cf
Increase ipmi concurrency
...
128 can be a bit limiting, try 512 for improved responsiveness
2022-05-05 09:28:09 -04:00
Jarrod Johnson
86891eb2e5
Rework resolv watcher
...
Handle symlinks better and do not trigger overly
eagerly
2022-05-05 09:26:55 -04:00
Jarrod Johnson
754cdfdd78
Fix rpm spec syntax for imgutil
2022-05-04 14:35:03 -04:00
Jarrod Johnson
ffadb9cc3a
Add squashfs dependency
...
It has been confusing when imgutil cannot pack by default
2022-05-04 14:23:41 -04:00
Jarrod Johnson
d3129847b4
Add recognition of Alma 9 and (presumably) rocky 9
2022-05-04 14:16:51 -04:00
Jarrod Johnson
548111f4d1
Fix executable status of the confluent casper hook
2022-05-04 12:11:24 -04:00
Jarrod Johnson
62b27b1fcc
Back off diskless profile for ubuntu 22.04, not yet done
2022-05-04 11:42:14 -04:00
Jarrod Johnson
bf37c05d71
Add ubuntu 22.04 to packaging
2022-05-04 11:31:03 -04:00
Jarrod Johnson
e2e4014db3
Make ubuntu case insensitive on import
...
Ubuntu changes their minds about case of some files.
2022-05-04 11:01:59 -04:00
Jarrod Johnson
b2feb62d8a
Add ubuntu22.04 profile
...
Ubuntu 22.04 makes some changes, notably removing the
custom-installation hooks.
Change to injecting our modifications more directly to where the
custom-installation hooks used to be.
2022-05-04 09:25:49 -04:00
Jarrod Johnson
0301f5ca68
Fix imgutil pack expecting addpackagelist
...
The attribute only populates on a different subcommand,
so only process if the attribute exists.
2022-05-04 06:44:07 -04:00
Jarrod Johnson
98d22ffabc
Add a utility to induce an inventory
2022-05-03 08:29:43 -04:00
Jarrod Johnson
ac762c7ad5
Note addition of enclosure uuid to nodediscover
...
This will help sort out dense invorenments more easily, particularly
if no switch or chained.
2022-05-02 17:04:13 -04:00
Jarrod Johnson
48fd496637
Fix discovery uuid cross-reference
...
The SSDP does an endian scramble of the smm uuid,
fix it, and also update the core to prefer the
processed enclosure.uuid attribute.
2022-04-27 15:09:40 -04:00
Jarrod Johnson
a738be3b53
Add license file to imgutil packaging
2022-04-26 08:18:31 -04:00
Jarrod Johnson
7da8a2ec4c
Properly stage the license file for osdeploy
2022-04-26 08:16:12 -04:00
Jarrod Johnson
e842c2ddc8
Add licensing to osdeploy package
2022-04-26 08:09:50 -04:00
Jarrod Johnson
46ffe3f5f2
Fix license directory name for confluent server
2022-04-26 08:00:13 -04:00
Jarrod Johnson
060f639ab3
Flag license files appropriately
2022-04-25 17:02:35 -04:00
Jarrod Johnson
69b3aca815
Remove errant copy of LICENSE file in client
2022-04-25 16:54:06 -04:00
Jarrod Johnson
9333c999c9
Adjust setup.py licensing for older setuptools
2022-04-25 16:48:31 -04:00
Jarrod Johnson
5538f99376
Support older setuptools for license packaging
2022-04-25 16:47:19 -04:00
Jarrod Johnson
6270d57729
Add tmt license terms to vtbufferd package
2022-04-25 16:31:51 -04:00
Jarrod Johnson
66f2ba98ec
Set up confluent licensisng in setupdist context
2022-04-25 16:15:49 -04:00
Jarrod Johnson
7234310519
Move licensing to files instead of rpm description for vtbuffer
2022-04-25 16:05:22 -04:00
Jarrod Johnson
2c058fe634
Properly mark license files as license
2022-04-25 15:46:29 -04:00
Jarrod Johnson
f009f6b8c2
Trim to appropriate content for the license
2022-04-25 15:18:27 -04:00
Jarrod Johnson
061d4217ff
Further amend license handling
2022-04-25 14:46:50 -04:00
Jarrod Johnson
5d03eb8863
Try to normalize license paths
2022-04-25 14:15:07 -04:00
Jarrod Johnson
4d218757f3
Amend license carry over logic
2022-04-25 14:02:08 -04:00
Jarrod Johnson
71a698f771
Carry over license content from donor rpms
2022-04-25 13:52:36 -04:00
Jarrod Johnson
2f8846ee75
Further change directory traversal
2022-04-25 13:14:02 -04:00
Jarrod Johnson
128cb61eaa
Fix directory traversal
2022-04-25 13:12:04 -04:00
Jarrod Johnson
d8a2671dd6
Fix directory traversal
2022-04-25 13:11:43 -04:00
Jarrod Johnson
8947ab08da
Add file to show the rpm versions at build time of genesis
2022-04-25 13:05:16 -04:00
Jarrod Johnson
14efec3603
Add file to show the rpm versions at build time of genesis
2022-04-25 13:04:45 -04:00
Jarrod Johnson
00589d06f5
Refactor relay and add to XCC/SMM
...
Extract relay versus direct determination and
inject into XCC and SMM handlers
2022-04-21 09:40:09 -04:00
Jarrod Johnson
334ce65919
Add facility for forwarding agent
...
Remote discovery will require that the reporting agent
provides port forwarding facility for https access, to
allow access without route to the managing confluent server.
This will allow the info reported to indicate use of this
forwarding facility and the base handler adds ability to
generically get the certificate.
2022-04-20 17:11:01 -04:00
Jarrod Johnson
f6a16a89f2
Prevent spaces in nodenames
2022-04-20 08:55:54 -04:00
Jarrod Johnson
3297667ef8
Prune out backspaces
...
Some utilities backspace prior to printing anything,
prevent such applications from encroaching on the node name space.
2022-04-19 09:13:18 -04:00
Jarrod Johnson
f4eec09a41
ADd a sample for converting mac to lla
2022-04-18 10:42:35 -04:00
Jarrod Johnson
f15802a9aa
Fix capture of non-selinux systems
2022-04-18 09:15:09 -04:00
Jarrod Johnson
449b2662fa
Provide addpkglist support for imgutil build
...
This allows packagelists to be supplied to addon to the basic list, without
having to duplicate and modify
2022-04-14 14:35:26 -04:00
Jarrod Johnson
fb9546cbd6
Kill redundant udevd prior to starting the root fs
...
Having multiple udevd produces ambiguity and confusing
2022-04-14 13:56:42 -04:00
Jarrod Johnson
193d37029f
Relabel target path if selinux disabled on build host
2022-04-14 12:47:14 -04:00
Jarrod Johnson
5285691344
Correct fix for the python3 compatibility
2022-04-13 17:32:43 -04:00
Jarrod Johnson
c533c973b1
Fix python3 compatibility with termhandler
2022-04-13 17:00:27 -04:00
Jarrod Johnson
212aa5c6e2
Add ability to unsubscribe from a terminal session
2022-04-13 16:44:01 -04:00
Jarrod Johnson
2bf9a6d415
Add support for consolidated term websocket
...
Since browsers can be stingy with websockets, have
the consoles all share a single websocket.
2022-04-13 16:08:13 -04:00
Jarrod Johnson
272398884c
Appl consistent name to apiclient for EL8
2022-04-13 11:27:30 -04:00
Jarrod Johnson
79bc27bc7a
Have el8 diskless systems add local repositories
...
This sets up local yum action by default.
2022-04-13 09:50:39 -04:00
Jarrod Johnson
8c54b6eaf8
Fix path to apiclient in add_local_repositories
2022-04-13 09:48:33 -04:00
Jarrod Johnson
1e77448b3a
Fix comment support in pkglist for imgutil
2022-04-12 09:57:06 -04:00
Jarrod Johnson
918658c2ac
Cleanup loop device allocation on image unpack
...
loop device was left configured after an unpack
2022-04-11 16:06:08 -04:00
Jarrod Johnson
dfc9b0901d
Improve feedback on no match found for log search
2022-04-08 12:59:36 -04:00
Jarrod Johnson
4b988e0633
Integrate logreader into nodeconsole as a feature
2022-04-08 12:29:45 -04:00
Jarrod Johnson
1ef0a61ed1
Move logreader to be a library in client
2022-04-08 12:12:02 -04:00
Jarrod Johnson
b42a4bd722
Pretty-ify search interaction
...
Have the search text and feedback at bottom of screen.
2022-04-08 12:09:40 -04:00
Jarrod Johnson
198d8b3e47
Add flag to disable expression expansion
...
Some scenarios that do not use the {} feature may
find it difficult to pre-format. Allow
such cases to opt out.
2022-04-08 10:28:11 -04:00
Jarrod Johnson
fc64d2d93f
Add a SLES variant to profiles for SUSE
2022-04-07 14:18:10 -04:00
Jarrod Johnson
4b8be913ee
Logreader enhancements
...
Highlight all visible matches on screen
Restore cursor visibility if trashed.
Backspace in search string works.
2022-04-06 15:28:48 -04:00
Jarrod Johnson
eba668b96c
First pass at a search function
...
Currently, the 'n' for next result fails to find the next result
if it is currently on screen. Also, the feedback on
failed search could use improvement.
2022-04-06 14:19:28 -04:00
Jarrod Johnson
ded3cc4467
Fix logreader for python2/3 compatibility
2022-04-06 09:32:03 -04:00
Jarrod Johnson
7a0dee8af8
Fix keepalive/logout behavior in ws async
...
Use the websocket liveness as the keepalive, so
the reaper is not scheduled for such sockets.
Additionally, register the async thread as to be killed on logout.
2022-04-05 16:56:36 -04:00
Jarrod Johnson
105536656e
Implement async session on websocket
...
This eliminates long polling and sets the stage to restore
socket sharing by terminals and shells.
2022-04-05 16:33:03 -04:00
Jarrod Johnson
8ef91c16c0
Do not let an existing /var/lib/confluent block the requisite chown
2022-04-05 09:35:05 -04:00
Jarrod Johnson
6fab77264c
Make paginate to handle multiple screen clear
...
Grub moves cursor and clears as two separate commands,
so recognize that sequence as clear screen as well
2022-04-02 07:33:50 -04:00
Jarrod Johnson
ab7f0e0528
Fix error checking in imginfo
...
imginfo was checking fread when it should
have been checking number of records.
2022-04-01 09:32:43 -04:00
Jarrod Johnson
777bdfac5c
Fix the incorrect parameter name in setting password policy
...
The mistake was keeping the requisite rule from applying
2022-03-30 11:16:33 -04:00
Jarrod Johnson
d651c29149
Add password expiration recovery to smm discovery
...
SMM discover can now also unexpire password during onboarding.
2022-03-30 08:50:08 -04:00
Jarrod Johnson
b4f021cfad
Fix omission in SSDP snoop
2022-03-30 08:24:25 -04:00
Jarrod Johnson
69a06a6923
Implement a password unexpiration mechanism in xcc
...
If the node has expired password, do what is necessary to unexpire the
password
to get through assignment.
2022-03-30 08:07:25 -04:00
Jarrod Johnson
d214e7e442
Normalize blank strings in cfgdata
...
In cfgdata, make '' replaced by None for
consistent behavior for cleared and blanked
attributes.
2022-03-25 08:59:46 -04:00
Jarrod Johnson
e4e15d87a7
Background redfish check on snoop
...
When snooping, if a redfish device comes along, background the
query so that it is unable to block the main SSDP receive routine.
2022-03-24 17:18:05 -04:00
Jarrod Johnson
21bfc29a89
Make more clear the default behavior when prompting
2022-03-24 11:18:37 -04:00
Jarrod Johnson
7a66567625
Add missing monotic dependency
2022-03-24 09:20:14 -04:00
Jarrod Johnson
b830a317f6
Change suse from team to bonding
...
Suse more naturally supports team, and the industry push to team
has evaporated
2022-03-24 09:10:42 -04:00
Jarrod Johnson
4e4fe03b62
Properly honor explicit interface_names
...
A mistake resulted in plural interface_names being treated as singular.
2022-03-24 07:44:13 -04:00
Jarrod Johnson
08264f277b
Fix location of apiclient in suse
2022-03-23 15:46:37 -04:00
Jarrod Johnson
ac1ba5cbc5
Correct mistakes in the first pass of routed deployment
2022-03-18 16:04:29 -04:00
Jarrod Johnson
acd8cb9055
First pass at media based routed deployment
2022-03-18 15:39:22 -04:00
Jarrod Johnson
8a3688c1d6
Fix mistake in pre.sh for relocation of apiclient
2022-03-18 12:09:43 -04:00
Jarrod Johnson
cd3d248a78
Add identimage to rpm build
2022-03-17 13:04:24 -04:00
Jarrod Johnson
2299ccc32f
Handle VROC devices in autoyast
...
At time of running pre, array is not assembled by default,
inject a scan to check for them.
VROC must not be specified by 'md' name, or yast thinks it
needs to own making it, and complains that the setup doesn't
specify members.
2022-03-17 12:19:42 -04:00
Jarrod Johnson
bfd40b51de
Correct name of ident_image api
2022-03-17 09:35:49 -04:00
Jarrod Johnson
94ab644f5c
Create mechanism to create node identity images
...
These images are used in the flow of routed deployment.
2022-03-16 15:41:07 -04:00
Jarrod Johnson
40a187d2aa
Reverse ordering of reboot and api arming.
...
Technically there's room for a race condition where boot is attempted
before the profile is ready, but it's highly unlikely.
Conversely, there is a potential confusing race condition today where
restarting a deploymennt without armed api causes
it to be disarmed before the boot is attempted.
2022-03-16 14:57:46 -04:00
Jarrod Johnson
fdd3ec4233
Fix check for confluent service having started
...
Give confluent full chance to set things up prior
to proceeding.
2022-03-16 10:28:44 -04:00
Jarrod Johnson
b2603aa1f8
Set ownership of /var/lib/confluent on installation
...
Some paths fail to initialize ownership earlier, give it
a head start
2022-03-16 10:26:16 -04:00
Jarrod Johnson
b6034f2e71
Update to fix new profiles and accomodate old profiles
...
/etc/confluent/apiclient is expected by older profiles
2022-03-16 09:40:55 -04:00
Jarrod Johnson
fe40d7c15e
Fix mispelling of confluent
2022-03-16 09:01:22 -04:00
Jarrod Johnson
32081edec8
Workaround ':' format specifier syntax
...
Older python will break by assuming that
: always means a format expression is coming.
Move the field value fetch to format_field, and ascertain if some of the
expression was shunted to format specification
by mistake.
2022-03-11 12:21:09 -05:00
Jarrod Johnson
dc0183fdf4
Add [] slicing/indexing to confluent attribute expression syntax
...
This permits expressions like:
node[:-3]
To say nodename, but leave out 3 chars.
Or:
node[3:]
To skip the first three characters.
2022-03-11 11:23:43 -05:00
Jarrod Johnson
f168c4be2b
Allow free ordering of noderange/arguments in nodeping
...
With nodeping, no concern about passing arguments to arbitrary subcommand, so
allow arguments to be anywhere.
2022-03-11 10:55:00 -05:00
Jarrod Johnson
2194ca9018
Create a nodeping script for quick ping wrapping
2022-03-11 10:23:11 -05:00
Jarrod Johnson
ceada3b7d9
Provide API for using one-time shared secret to register api key
...
This permits long haul node api key registration over a single port. It cannot validate that
the requester is privileged, but the auto-invalidation
offsets the risk of subsequent users having read access to the remote mount.
2022-03-10 16:06:02 -05:00
Jarrod Johnson
ad40c46509
Remove now-redundant genpasshmac.c file
2022-03-10 09:32:44 -05:00
Jarrod Johnson
301ed7a798
Fix mistake in b64e invocation
2022-03-10 09:15:26 -05:00
Jarrod Johnson
b42e2e4932
Change to b64 output for hmac
...
base64 utility is not always available, so natively
use base64 format for hmac output.
2022-03-10 09:00:54 -05:00
Jarrod Johnson
61d037ae31
Combine genpasshmac with clortho
...
This permits saving on addons size by using the same
binary for both networked api grant and hmac api
grant.
2022-03-09 13:36:47 -05:00
Jarrod Johnson
6a30afa31e
Have SSDP ignore multicast disabled interfaces
2022-03-09 11:01:01 -05:00
Jarrod Johnson
625434fcaf
Fix mistake in deploycfg parsing
...
More strictly match the field name.
2022-03-08 16:29:49 -05:00
Jarrod Johnson
a8c2f859e4
Add a genpasshmac utility
...
For far edge deployment, create utility
that can hmac a password for use in a REST
api call to skip need for tcp port 13001 access.
2022-03-08 16:27:37 -05:00
Jarrod Johnson
31dad09b0c
Update makefile to build in sh256 to clortho
2022-03-08 14:46:33 -05:00
Jarrod Johnson
0abe978bd9
Implement hmac of apikey
...
For routed deployment, we have to preshare some information.
Additionally, the API arm mechanism gets too open ended.
Add support for using a shared secret over another
channel to do HMAC of a key to authenticate peer,
which has an alternate api arming mechanism
that is hardened.
2022-03-08 14:46:00 -05:00
Jarrod Johnson
e67bab4f12
Place cap on api password length
...
No more than 48 characters should ever be in
an api token. Cap it to avoid outrageous crypt
behavior at large password length.
2022-03-08 09:15:13 -05:00
Jarrod Johnson
21c0372a5b
Support get_full_net_config without serverip
...
When trying to get a configuration
without a network context, it would fail.
Now, as intended, it generates network configuration without autosense in such a case.
2022-03-07 15:28:04 -05:00
Jarrod Johnson
98d8aaffe8
Merge branch '3.4'
2022-03-07 15:22:54 -05:00
Jarrod Johnson
ecd114ca5a
Add script for setting up ssh
...
A frequent scenario is to 'refresh' ssh configuration toward the
end of:
-changing trust nodes
-Adding a collective member
-Repairing a broken configuration
-As part of 'confluent-ifying' a node that wasn't confluent deployed
2022-03-03 12:34:37 -05:00
Jarrod Johnson
5fb766e62b
Move apiclient consistently to /opt/confluent/bin
...
It's more reasonable to have
it in a bin directory
2022-03-03 11:11:29 -05:00
Jarrod Johnson
76fdf59122
Change genesis functions location
...
Put it in a place consistent with more normal use.
2022-03-03 08:34:57 -05:00
Jarrod Johnson
003196bc9e
Allow -o with data file
...
This makes things like ssh key signing easier.
2022-03-03 08:25:04 -05:00
Jarrod Johnson
15e7e4464e
Keep known_hosts cleaner
...
When repeating osdeploy initialize
of local known_hosts, more
gracefeully avoid duplicate entries.
2022-03-02 16:04:01 -05:00
Jarrod Johnson
687136131e
Place Confluent CA certs into TLS anchors
...
When processes may update the certificate authorities, the confluent
CA trust would be lost. Place it appropriately so that
update-ca-trust will keep it in the appropriate place.
2022-03-02 08:41:47 -05:00
Jarrod Johnson
5f610b64b7
Place Confluent CA certs into TLS anchors
...
When processes may update the certificate authorities, the confluent
CA trust would be lost. Place it appropriately so that
update-ca-trust will keep it in the appropriate place.
2022-03-02 08:40:27 -05:00
Jarrod Johnson
6f194f26c0
Fix contents and permissions
...
NetworkManager demands specific
permissions
2022-02-25 16:18:54 -05:00
Jarrod Johnson
71c60be659
Fix el8 dns configuration
...
The modification to add dns search must only be suggested
if the respective ip version section is enabled.
2022-02-25 15:22:45 -05:00
Jarrod Johnson
58a9aa03ef
Add DNS domain to el8 network manager
2022-02-25 09:48:56 -05:00
Jarrod Johnson
19a370b0f5
Add explicit client version dependency
2022-02-25 07:31:12 -05:00
Jarrod Johnson
47a517aec1
Decrease retries to do https retries with bad TLS cert
2022-02-24 16:37:48 -05:00
Jarrod Johnson
1f7bd1a28a
Fix autoconsole output on diskless
2022-02-24 16:27:32 -05:00
Jarrod Johnson
89cc49c4fc
Add loginname to nodeshell man page
2022-02-24 16:08:50 -05:00
Jarrod Johnson
50da83b4f5
Fix api token message not being pushed
2022-02-24 15:56:29 -05:00
Jarrod Johnson
15f4cc085d
Aggressively flush out error output
2022-02-24 15:46:38 -05:00
Jarrod Johnson
d7df1e7891
Prevent users from dupe group memberships
2022-02-24 15:06:41 -05:00
Jarrod Johnson
1a5f5aea3a
Try an alternative approach to autoconsole errors
2022-02-24 12:18:41 -05:00
Jarrod Johnson
7068287ba3
Fix autocons spurious output
2022-02-24 10:25:59 -05:00
Jarrod Johnson
fb1f6b70bb
Improve error handling on bad TLS cert
...
Bad TLS cert is a common problem, provide better feedback.
2022-02-24 09:27:40 -05:00
Jarrod Johnson
2c9be7a4c4
Remove slp snoop of XCC
...
SSDP snoop catches XCC, and do only
SSDP for consistent format of
snoop info coming into the
xcc handler.
2022-02-24 08:08:50 -05:00
Jarrod Johnson
24ef12e029
Disable autoconf of ipv6 in el
...
If autoconf is allowed when link is brought up, it scan
confuse redhat network configuration when it already finds
an ipv6 address.
2022-02-23 16:58:29 -05:00
Jarrod Johnson
e390618dd9
Fix handling without olduuid in database
2022-02-23 10:13:06 -05:00
Jarrod Johnson
8f4846c248
Fix for partial returns
...
full_net_config may not always apply,
be sure to gracefully degrade.
2022-02-22 17:08:23 -05:00
Jarrod Johnson
ac8918c2b9
Add ips to ssh principals
...
For any static address, also grant
certificate for that.
2022-02-22 16:48:58 -05:00
Jarrod Johnson
fdc9d94408
Also register to run before coreos-ignition-setup-user
...
For coreos, make sure we preempt either name.
2022-02-22 14:30:48 -05:00
Jarrod Johnson
3cf9edeeb8
Stub out buffering for shell sessions
...
This is not yet handled anyway.
For future, establish norm of a nodeid
to prefix multiple distinct sessions.
2022-02-22 08:49:31 -05:00
Jarrod Johnson
8fab8238ed
Disambiguate console from shell buffer
...
There is room for the console replay to get confused,
fix by fully qualifying the console name.
2022-02-18 17:31:13 -05:00
Jarrod Johnson
80293efe57
Address coverity false-positives
...
Technically, the fread won't reach the
length index, but change the order
anyway to reassure coverity.
2022-02-17 17:09:21 -05:00
Jarrod Johnson
b463a53146
Cleanup per coverity
...
Fix a number of concerns that coverity reports
2022-02-17 17:05:00 -05:00
Jarrod Johnson
58b55b6ef6
Error on trying to double-add nodes or groups
...
Prevent user from repeatedly adding the
same group to a node or same node to a group.
2022-02-16 11:58:22 -05:00
Jarrod Johnson
33be75a9a2
Markup bandit exceptions
...
Apply bandit exceptions and explain
the rationale in each case
2022-02-16 09:10:33 -05:00
Jarrod Johnson
f10a27fd7a
Switch to mkstemp
...
Use mkstemp to more confidently reserve a filename as expected.
2022-02-15 17:13:04 -05:00
Jarrod Johnson
3f53cb939a
Add mkdir -p to build script for genesis
2022-02-15 10:32:39 -05:00
Jarrod Johnson
961398e34e
Bump version to cover 8.6 update
2022-02-15 10:29:18 -05:00
Jarrod Johnson
13b3b081cf
Update to new rdma version in el8.6
2022-02-15 10:28:19 -05:00
Jarrod Johnson
3e6b67f9a7
Error if user omits attributes for options
...
If user indicates manipulation of
attributes through -c, -p, or -e,
but none are specified, print an error
instead.
2022-02-14 09:24:15 -05:00
Jarrod Johnson
93a5496899
Reject reverse range noderange
...
It has been stated that no one would want to do this
on purpose, and thus it should reject. The rationale
being that if no one wants to do this, but did it
anyway, they presumably made a mistake.
So now such attempts will be blocked.
Keep the dead logic around for now
in case a future opinion changes things back.
2022-02-11 15:20:41 -05:00
Jarrod Johnson
bd428790ce
Try for more informative messoge an expression syntax error
2022-02-11 14:51:53 -05:00
Jarrod Johnson
f0c4943612
Merge branch 'master' of github.com:lenovo/confluent
2022-02-11 14:33:47 -05:00
Jarrod Johnson
f547071d38
Warn user of unworkable syntax
...
When used in {} expressions, attributes must obey python syntax rules,
try out the attribute name and report the issue when it would be a problem.
2022-02-11 14:32:52 -05:00
Jarrod Johnson
fbd3a442ac
Support numeric owner/group in syncfile list
2022-02-08 17:38:01 -05:00
Jarrod Johnson
b809514ef9
Fix osdeploy initialize dependency on master key
...
Make sure confluent has made /etc/confluent, and further always initialize the
encryption key, as it will almost certainly
be needed and easiest to just always
generate on first startup.
2022-02-08 16:40:41 -05:00
Jarrod Johnson
b1032d8c4c
Specify write mode for confluent_uuid file
2022-02-08 12:31:04 -05:00
Jarrod Johnson
00bedf6946
Shuffle confluenntuuid to earlier in copernicus
...
Currently, ssdp handler behavior needs confluentuuid first, if
it is to have any effect.
2022-02-08 12:06:52 -05:00
Jarrod Johnson
e7b1791df3
Modify input in bandit-friendly way
...
bandit erroneously flags 'input' based
on possible python2-ism. Avoid the
error by using 'getinput', making that
input or raw_input based on the python version.
2022-02-08 10:59:15 -05:00
Jarrod Johnson
6e03f6ee0a
Correct syntax typo
2022-02-08 10:49:42 -05:00
Jarrod Johnson
358b719cec
Implement deployment binding for new installs
...
When doing osdeploy initialize,
save the uuid and have deployment
targets specifically pair back with site via
uuid.
2022-02-08 10:41:27 -05:00
Jarrod Johnson
b0b8ee128b
Correct imgutil typo
2022-02-08 09:35:10 -05:00
Jarrod Johnson
094c97696f
Merge tag '3.3.5'
...
Fixes for esxi7 and el7
2022-02-07 13:07:36 -05:00
Jarrod Johnson
c2b66958d7
Update imgutil to not need rpm-python
...
EL7 does not have rpm for python3, use the cli instead for
such a case.
2022-02-07 12:23:44 -05:00
Jarrod Johnson
4a38a88136
Add recognition of RHEL9 media
2022-02-07 09:20:05 -05:00
Jarrod Johnson
b1cbca414a
Fix compatibility with CentOS7 for imgutil build -s
2022-02-07 08:39:45 -05:00
Jarrod Johnson
522d7e2b59
Fix configmanager issue witht more recent python3
2022-02-04 16:21:39 -05:00
Jarrod Johnson
7c169f635a
Actually correct deb builder for vtbufferd
2022-02-04 16:06:12 -05:00
Jarrod Johnson
82f85b8aef
Fix deb build of vtbuffered
2022-02-04 16:04:27 -05:00
Jarrod Johnson
97476f51da
Remove some el7-irrelevant ramfs content
2022-02-03 12:26:09 -05:00
Jarrod Johnson
6769c171c1
Fix confignet for python2
2022-02-03 11:58:44 -05:00
Jarrod Johnson
638a1b3587
Fix confignet for python2
2022-02-03 11:50:34 -05:00
Jarrod Johnson
5f4a565feb
Use python2-compatible apiclient load for el7 diskless
2022-02-03 10:10:23 -05:00
Jarrod Johnson
700fe1bc3b
Fix for EL7 compatibility
...
Some python 3 exclusive assumptions were made.
Unfortunately, EL7 is python2
centric.
2022-02-03 10:10:10 -05:00
Jarrod Johnson
e94d0a5236
Fix for EL7 compatibility
...
Some python 3 exclusive assumptions were made.
Unfortunately, EL7 is python2
centric.
2022-02-03 10:09:28 -05:00
Jarrod Johnson
4665fb96a2
Fix relative hostpath for mismatched build platform
...
Relative path was erroneously
resulting in the host system
being consulted rather than the target.
2022-02-03 09:07:02 -05:00
Jarrod Johnson
33761e8870
Exlicitly add AES and DRBG for EL7
2022-02-02 16:54:41 -05:00
Jarrod Johnson
0bca6e0852
Apply more fixes for EL7 diskless
2022-02-02 15:22:58 -05:00
Jarrod Johnson
c6816099f7
Add el7 diskless draft to packaging
2022-02-02 13:23:34 -05:00
Jarrod Johnson
71bcdc2e4e
Continuation of work on draft el7 diskless
2022-02-02 13:11:38 -05:00
Jarrod Johnson
eaa0921420
Draft EL7 diskless support
2022-02-02 13:09:26 -05:00
Jarrod Johnson
554e25d6cb
Assume libcrypt.so.1 if not 2 in more generic way
2022-02-02 11:17:08 -05:00
Jarrod Johnson
bc7d480a17
Use more widely known paths for libcrypt
2022-02-02 11:03:44 -05:00
Jarrod Johnson
92dea32dd4
Change to python 2/3 agnostic syntax
2022-02-02 11:03:12 -05:00
Jarrod Johnson
f346cae683
Use more widely known paths for libcrypt
2022-02-02 10:53:46 -05:00
Jarrod Johnson
1431f9ce13
Change to python 2/3 agnostic syntax
2022-02-02 08:37:22 -05:00
Jarrod Johnson
485c323608
Stage uploads in memory
...
The strategy of duping file descriptors
is inadequate. The copies share
identical offsets.
Fix this by reading the file once into
memory, and using BytesIO to fake a file.
This is relatively memory intensive in theory, but in practice
pyghmi library had been duping everything to memory
anyway, so it is a wash for now.
2022-01-27 17:29:17 -05:00
Jarrod Johnson
2bc080f4e0
Improve noderun message when command not found
...
Rather than raise an ominous looking trace, simply
state that thte command was not found and continue.
2022-01-26 11:35:43 -05:00
Jarrod Johnson
effaba9661
Fix adding nodes with uuid for pxe
...
When adding nodes, they wouldn't be tracked for PXE
until id.uuid changed, or service restarted.
Fix by explicitly remapping all added and new names.
2022-01-26 08:35:10 -05:00
Jarrod Johnson
fd00a70075
Merge branch 'master' of github.com:lenovo/confluent
2022-01-25 11:21:16 -05:00
Jarrod Johnson
daa6b8208c
Handle update being cancelled server side
...
The result may not be a nicely formed result, handle less
formed results.
2022-01-25 11:09:49 -05:00
Jarrod Johnson
9f071c1fdb
Provide more details in example syncfiles
2022-01-20 14:10:30 -05:00
Jarrod Johnson
3f90c35bc9
Raise error on missing piece of syncfiles entry
2022-01-20 13:13:04 -05:00
Jarrod Johnson
456b43eeb7
Correctly align rtattr and nlmsg
...
When advancing through messages,
must pad to nearest multiple of
4. This resolves erroneously landing on incorrect offsets.
2022-01-19 13:21:59 -05:00
Jarrod Johnson
2d13921d54
Amend deployment initialize for consistent ownership
...
Depending on the options selected/not selected, the
/var/lib/confluent directory may have been initialized
incorrectly. Have all the potential paths begin with
ensuring /var/lib/confluent is correct, and then
use seteuid consistently to take care of the rest.
2022-01-14 15:08:19 -05:00
Jarrod Johnson
8b95e8f507
Improve osdeploy import error handling
...
Before, conditions that were unexpected
would result in hangs. Now
transition to and report error state.
2022-01-14 09:23:54 -05:00
Jarrod Johnson
fdc3d1c457
Broaden scope of logging issues with connecting to a leader.
...
Notably, certificate mismatch should be caught.
2022-01-14 07:39:25 -05:00
Jarrod Johnson
8d5d8ef5ed
Have later syncfiles entries supersede earlier
...
This allows a vague entry to
be followed by a specific
entry to allow 'common' content
and then a specific override.
2022-01-13 16:52:10 -05:00
Jarrod Johnson
aa816c0f1d
Have attribute update support wildcards
...
This makes nodeattrib behave more like nodeconfig.
2022-01-13 13:27:07 -05:00
Jarrod Johnson
b7a786dc83
Choose more accurate description of ambiguous switch situation
...
Technically, it need not be an aggregation, but link between switches generically covers it.
2022-01-12 09:31:44 -05:00
Jarrod Johnson
f46fc9f7de
Provide error about in-use dhcp
...
The events will more clearly indicate
when dnsmasq is not adequately configured.
2022-01-12 09:27:49 -05:00
Jarrod Johnson
2d95fb1d74
Improve 'ambiguous' notification in macmap.
...
When two nodes are ambiguous, provide more
info (mac) and also a suggestion of
which of the two appears most
trunk-like if one of them looks
suspiciously like a trunk.
2022-01-12 08:31:13 -05:00
Jarrod Johnson
04b462712d
Tolerate redfish variations and fix loop
...
Some redfish omit the trailing /, and the correct move on non-redfish
is to continue to next candidate,
not break.
2022-01-11 16:53:46 -05:00
Jarrod Johnson
9c40569429
Add el9 to spec files
2022-01-11 16:02:47 -05:00
Jarrod Johnson
89187ef97d
Merge branch '3.3'
2022-01-11 09:57:27 -05:00
Jarrod Johnson
0186f002e0
Have configbmc stall on TSM
...
TSM will stall out for an extended
period of time after a network change.
Accomodate by forcing a pause
on detection of TSM.
2022-01-10 12:02:46 -05:00
Jarrod Johnson
8d80efec64
Correct configbmc misidentification of lan chan
...
The lan channel get mac address was incorrect, change
to correctly request.
2022-01-10 12:02:14 -05:00
Jarrod Johnson
dbaae417e9
Have configbmc stall on TSM
...
TSM will stall out for an extended
period of time after a network change.
Accomodate by forcing a pause
on detection of TSM.
2022-01-10 12:01:15 -05:00
Jarrod Johnson
181f704331
Correct configbmc misidentification of lan chan
...
The lan channel get mac address was incorrect, change
to correctly request.
2022-01-10 09:29:40 -05:00
Jarrod Johnson
6df73d88b3
If SSDP happens but HTTPS not ready, ignore
2022-01-07 10:45:10 -05:00
Jarrod Johnson
d5a8e881ab
Defer handler processing
...
This was done in slp, do it also for ssdp. This
hopefully does it's best to flush udp buffer more
quickly in at scale scenarios.
2022-01-07 09:55:49 -05:00
Jarrod Johnson
c475e4801f
Fix incorrect quotes in autocons.c
2022-01-07 09:28:24 -05:00
Jarrod Johnson
e54277f8f8
Fix ssdp snoop of XCC
...
SSDP was declaring victory too early, wait until
the right volume of information is confirmed available
before commiting to shared structures.
2022-01-07 09:00:44 -05:00
Jarrod Johnson
d18d7592d3
Suppress extraneous slp trace errors
...
If a half-behaving peer appears, suppress the error and permit a retry later.
2022-01-07 07:17:27 -05:00
Jarrod Johnson
60398bf8f7
Add passive detection of XCC via SSDP
...
Take ssdp alive packets to pick up
XCCs outside of active scans.
2022-01-06 16:48:39 -05:00
Jarrod Johnson
22024b23b8
Prefer shortname for collective
...
When a colleective begins, default
to using the shortname, even
if gethostname returns a long one.
2022-01-06 12:38:15 -05:00
Jarrod Johnson
8da513b152
Fix TSM to lower case uuid for discovery
...
TSM were inconsistent by presenting
all caps UUID sometimes.
2022-01-05 12:50:31 -05:00
Jarrod Johnson
6f272b9d50
Skip generic redfish check
...
For now, it won't do anything but waste
resources.
2022-01-05 12:35:42 -05:00
Jarrod Johnson
b3c0810574
Fix XCC preconfig with SSDP change
...
The SSDP unfortunately changes
some structure, change XCC
preconfig to expect the SSDP structure.
2022-01-05 12:10:34 -05:00
Jarrod Johnson
b90756d2a6
Move XCC detection to SSDP
...
XCC will be retiring SLP and to prepare
for that, move over to SSDP.
This required that the snoop be wired
up to detection correctly, that slp
no longer report XCC, that
the model/serial number be moved to xcc handler, and various fixes to SSDP.
2022-01-05 11:43:04 -05:00
Jarrod Johnson
978b52dbb6
Fix selection of suboptimal alias
...
When picking deploy server, stop on a close match if net.ipv4_address suggests
a same-subnet match rather than adding the last alias.
2021-12-28 09:47:47 -05:00
Jarrod Johnson
d47b088753
Fix mistake in error output
2021-12-22 23:29:21 -05:00
Jarrod Johnson
47a83f4628
Do not trace out if a packet can't be replied to
2021-12-20 12:37:18 -05:00
Jarrod Johnson
abec8c498c
Break netlink address fetch on invalid rta_len
...
It is considered valid for kernel to return a null rta_len
in the midst of data and expect the caller to terminate.
2021-12-20 12:28:35 -05:00
Jarrod Johnson
a8132d87a7
Blacklist the tianocore default uuid
...
If a platform doesn't have a uuid, Tiano hardbakes
yet another invalid uuid to ignore.
2021-12-17 09:13:49 -05:00
Jarrod Johnson
65d6ff13fa
Ignore and warn on bad gateway
...
If user specifies a bad gateway,
spare the firmware from seeing
it and log that the gateway is a problem.
2021-12-17 08:44:46 -05:00
Jarrod Johnson
9b178c0653
Provide nicer error message on existing name
...
Packing ontop of an existing profile is not presently supported,
provide a clearer indication of this.
2021-12-15 13:26:32 -05:00
Jarrod Johnson
016ee3ecb0
Fall back if timedatectl doesn't work
2021-12-15 12:34:28 -05:00
Jarrod Johnson
48ea6225aa
Remove stderr from subprocess error
...
it is not a supported keyword
2021-12-15 12:28:09 -05:00
Jarrod Johnson
c88f34d1e1
Merge tag '3.2.3'
...
Provide more reasonable hostname on install
2021-12-14 11:27:25 -05:00
Jarrod Johnson
e488560090
Induce probe by randomized port
...
Replying to SLP caused some SLP
software to have a bug.
Since we aren't looking for a reply,
instead just throw a byte randomly at a high numbered
port.
2021-12-14 07:49:09 -05:00
Jarrod Johnson
faa20660ed
Assure confluent myname file is owned correctly
...
A lot of osdeploy initialize (which runs as root)
may induce creation of 'myname' file. Fix by
becoming confluent user, if applicable.
2021-12-14 07:24:47 -05:00
Jarrod Johnson
ee950ca8a2
Skip directories in initramfs symlink
...
If part of a debug effort leaves stray directories,
ignore them as they can't possibly be initramfs content.
2021-12-13 15:43:12 -05:00
Jarrod Johnson
743f984b3d
Fix raw integer value support
2021-12-09 14:08:24 -05:00
Jarrod Johnson
ad33572290
Add debug information to coreos init
2021-12-09 11:55:12 -05:00
Jarrod Johnson
773be640f8
Fix for long hostname on CA node
2021-12-09 11:19:16 -05:00
Jarrod Johnson
624984b1c9
Do not assume SPCR until confluent confirms text console
...
TIOCCONS was called for users that did not want to use serial. This
makes the serial console delayeed when automatic, but avoids video
users from being confused.
2021-12-09 10:34:12 -05:00
Jarrod Johnson
c2de127947
Bring el8 completely over to prefer ipv4
2021-12-09 08:31:07 -05:00
Jarrod Johnson
cf686f8018
Prefer IPv4 deployment over IPv6 when both are available
...
Some older vintages of RHEL and clones do not support IPv4,
best to prefer ipv4 to avoid messing up on places that have ipv6
configured.
2021-12-08 17:04:04 -05:00
Jarrod Johnson
d258a2ae0d
Fix py2 compatibility of util
2021-12-08 12:12:39 -05:00
Jarrod Johnson
68bfb950f3
Correect which subprocess module is used by util
2021-12-08 11:26:08 -05:00
Jarrod Johnson
343e5eabe5
Utility function for running commands
...
Given the python2/3 differences, good to have a single run
that returns stdout and stderr.
This should trigger the same behavior as timeout did, but
in a manner consistent between 2 and 3.
2021-12-08 10:20:34 -05:00
Jarrod Johnson
02da50af8b
Tighter permissions on /var/log/confluent
2021-12-08 07:42:19 -05:00
Jarrod Johnson
77de3ab25b
Apply more restrictive permissions to /var/log/confluent/
...
While confluent shouldn't put anything sensitive in the log, custom
content may. To mitigate the risk, it will now lock down the
log permissions.
2021-12-07 07:21:04 -05:00
Jarrod Johnson
dcca844e9b
Refresh eventlet resolver on resolv.conf change
...
Eventlet holds on to stale resolv.conf. As a workaround,
monitor resolv.conf and explicitly reinitialize greendns
resolver.
2021-12-06 12:22:42 -05:00
Jarrod Johnson
1b21b9316c
Correct variable typo in imageboot scripts
2021-12-06 09:00:44 -05:00
Jarrod Johnson
4260db20b7
Make confluent contennt from initramfs avalibale to normal root system
2021-12-03 16:06:47 -05:00
Jarrod Johnson
496be816ff
Add exit 0 to avoid failed systemd unit
2021-12-03 12:50:03 -05:00
Jarrod Johnson
4e0a76d955
Fix typo in confluent name in coreos script
2021-12-03 12:47:05 -05:00
Jarrod Johnson
f2b2d8519c
Add onboot link to coreos relabel activity
2021-12-03 12:45:42 -05:00
Jarrod Johnson
d829db4407
Add onboot hook to coreos
2021-12-03 12:37:03 -05:00
Jarrod Johnson
0e1da6ebd6
Explicitly check for TPM 2.0 before trying to use TPM 2.0
2021-12-03 11:05:11 -05:00
Jarrod Johnson
d2435d315b
Schedule fetch of private data before ignition cares
2021-12-03 10:39:47 -05:00
Jarrod Johnson
4388399f78
Fetch config.ign file during rootfs setup in CoreOS
2021-12-03 09:34:46 -05:00
Jarrod Johnson
a146a54172
Move ignition to profile private data, extracted
2021-12-03 08:48:27 -05:00
Jarrod Johnson
4482b675b4
Wait for network to get ssh certificates
2021-12-03 08:32:25 -05:00
Jarrod Johnson
2b8c8e9af9
Add support for specifying login name in nodeshell
2021-12-03 08:03:09 -05:00
Jarrod Johnson
714a883d9c
Purge the conflucting default nmconnection if we have better
2021-12-02 17:00:10 -05:00
Jarrod Johnson
77865ba71c
Disable fakecmdline for now
2021-12-02 16:40:41 -05:00
Jarrod Johnson
3adb82370f
Specify correct filename for fakecmdline
2021-12-02 16:27:55 -05:00
Jarrod Johnson
7a95c3e64c
Set selinux context of fakecmdline
2021-12-02 16:17:04 -05:00
Jarrod Johnson
e3d5a058d6
Change nodestorage to interactive and alias it to be interactive by default
2021-12-02 14:52:16 -05:00
Jarrod Johnson
25b68665e0
Provide a bit more elaboration on some attribute descriptions.
2021-12-02 11:42:32 -05:00
Jarrod Johnson
42f766d5f4
Fix osdeploy initialize when only ssh or tls is done
...
ssh is technically opt-in, though strongly recommended, so
osdeploy should cope with that.
TLS is pretty much required, but perhaps not done immediately,
so it gets similar treatmennt.
2021-12-02 11:38:18 -05:00
Jarrod Johnson
0092915cab
Fix rerunning tls initialization
2021-12-02 10:19:47 -05:00
Jarrod Johnson
8ecbcb0f00
Fix coreos tendency to disable ipv6
2021-12-01 16:26:13 -05:00
Jarrod Johnson
e5a748f0a2
Fix coreos pre-pivot to work better
2021-12-01 16:00:36 -05:00
Jarrod Johnson
7f476d64b5
Update style of nodesetboot usage message
2021-12-01 15:33:21 -05:00
Jarrod Johnson
90f3d5f323
Fix syntax error in coreos pre-pivot
2021-11-30 09:14:51 -05:00
Jarrod Johnson
00e853130f
Fallback to other location for grub
2021-11-29 16:03:06 -05:00
Jarrod Johnson
a4b1f1d30a
Fix typo in fedora coreos signature
2021-11-29 15:54:38 -05:00
Jarrod Johnson
5718e07238
Treat empty attributes as unset
...
This fixes behavior when, for example, crypted.rootpassword
is explicitly blanked
2021-11-29 11:22:48 -05:00
Jarrod Johnson
d049934626
Add a breadcrum to distinfo.yaml to indicate where an image came from
2021-11-29 09:55:38 -05:00
Jarrod Johnson
425f5276b3
Merge pull request #82 from PenghuiCui/master
...
Support getting message extention in plugin
2021-11-29 07:17:36 -05:00
Penghui Cui
079a04b28b
Support getting message extention in plugin
2021-11-25 10:01:35 +08:00
Jarrod Johnson
2e10289807
Invoke mkinitrd after zypper runs
2021-11-22 10:46:23 -05:00
Jarrod Johnson
e1c15cca8e
Switch to secureboot signed grub for ubuntu
...
It was pulling an efi binary incompatible with secureboot before.
2021-11-19 11:34:06 -05:00
Jarrod Johnson
6e4c939cd9
Various ubuntu diskless fixes/improvements
...
Needed the real losetup to handle read-only file.
busybox wc is way too slow, use ls instead.
Explicitly make /sysroot and load xfs, as that doesn't happen implicitly.
Accept a dangling symlink as viable init, since this is the case in Ubuntu.
Update hostname and ca certificates consistent with
ubuntu standards
2021-11-19 11:00:50 -05:00
Jarrod Johnson
82a783fa55
Register CA certs in global location for ubuntu
2021-11-18 16:51:18 -05:00
Jarrod Johnson
6d623b046a
Fixes for imageboot.sh with ubuntu
2021-11-18 16:34:27 -05:00
Jarrod Johnson
398563df55
Add dirname to the ubuntu diskless
2021-11-18 16:14:44 -05:00
Jarrod Johnson
e653c5dff6
Switch to bash for running functions
...
functions is a bashified facility. Just use bash for it rather
than making it busybox friendly.
2021-11-18 14:56:38 -05:00
Jarrod Johnson
1b7d63da5d
Fix wrong sense of apikey
2021-11-18 13:12:56 -05:00
Jarrod Johnson
c02651b2de
Switch from fork to source for premount
2021-11-18 12:56:53 -05:00
Jarrod Johnson
4316b8690e
Make oscategory consistent for ubuntu
2021-11-18 12:38:11 -05:00
Jarrod Johnson
045caadff9
Add ubuntu scheme to boot assets in imgutil
...
This brings us to the redhat, suse, and ubuntu schemes being understood.
2021-11-18 12:12:55 -05:00
Jarrod Johnson
095339ed90
Have apt-get not prompt to install
2021-11-18 11:43:25 -05:00
Jarrod Johnson
5769cba3d1
Provide functions and update imageboot for ubuntu diskless
2021-11-18 11:25:51 -05:00
Jarrod Johnson
75c5151567
Add hook to hook the premount script
2021-11-18 10:42:22 -05:00
Jarrod Johnson
4a724f28bd
Package imgutil ubuntu content
2021-11-18 10:12:34 -05:00
Jarrod Johnson
ecb9a6633e
Ignore common malformed dhcpv6 request
2021-11-18 09:16:57 -05:00
Jarrod Johnson
bf4842baa9
Provide a starter profile for ubuntu diskless
2021-11-17 16:18:06 -05:00
Jarrod Johnson
172515a6e8
Add packaging of ubuntu20.04-diskless
2021-11-17 16:05:00 -05:00
Jarrod Johnson
dde9eebf92
Further advance ubuntu diskless implementation
2021-11-17 15:57:21 -05:00
Jarrod Johnson
6b8dec7764
Fix license save through collective
2021-11-17 15:56:36 -05:00
Jarrod Johnson
9e47c1cfed
Add mktemp to the confluent hook
2021-11-17 11:15:23 -05:00
Jarrod Johnson
4a13711972
Fix discovery of pre-nonce firmware
2021-11-17 09:39:34 -05:00
Jarrod Johnson
44cc580364
Correct handling of blank value in attribute
2021-11-17 09:24:26 -05:00
Jarrod Johnson
cc1b887c31
Allow blanking to disable a crypted password
2021-11-17 09:00:58 -05:00
Jarrod Johnson
ef324daf52
Advance ubuntu diskless
...
Add tpm2 and fuse dependecies that were missing.
Begin draft work on the init-premount script.
2021-11-16 17:03:48 -05:00
Jarrod Johnson
cd1dff7c42
Add tpm2-tools to pkglist and switch to apt
...
The debootstrap was inadequate to
cover tpm2-tools, switch to apt.
2021-11-16 13:15:18 -05:00
Jarrod Johnson
10c019df2a
Fix ordering of chmod arguments
2021-11-16 11:42:46 -05:00
Jarrod Johnson
bd9c261534
Implement initramfs customization for debian build
...
The initramfstools are extended
to naturally create the materials needed to do diskless.
2021-11-16 11:33:58 -05:00
Jarrod Johnson
c11da229b0
Amend draft ubuntu diskless
...
Have imgutil build work to call
debootstrap with a pkglist that appears to succeed.
2021-11-16 07:44:41 -05:00
Jarrod Johnson
2ef2e4d039
Fix gathered output with non-rectangular geometry
...
If we don't have a nice rectangular count of systems,
the last row must tolerate index error in column.
2021-11-16 06:37:59 -05:00
Jarrod Johnson
8ee3630aa1
Simplify get_nonce
...
Use the helper function, for example
to cope with the prospect of gzip response.
2021-11-15 16:09:17 -05:00
Jarrod Johnson
01a21ec248
Correct syntax error
2021-11-15 11:43:10 -05:00
Jarrod Johnson
218b914754
Fix relative pkglist includes
2021-11-15 11:42:15 -05:00
Jarrod Johnson
d59ac74f3a
Support relative path on < include
...
For pkglist and syncfile, detect
relative path and interpret relative
to the file that does the include.
2021-11-15 11:34:34 -05:00
Jarrod Johnson
7b23ee9c7c
Organize squeeze vertically
...
The web gui and ls on cli use organize output this way,
so squeezed node output should be same.
2021-11-15 10:25:00 -05:00
Jarrod Johnson
55fc3bda51
Fix nodersync with output redirection
...
Variables were left unitialized, use them only
in the tty path.
2021-11-15 09:20:31 -05:00
Jarrod Johnson
d5e4d1b90a
Add navigating nonce login for xcc discovery
...
The nonce login from newer firmware is now required.
2021-11-12 11:27:58 -05:00
Jarrod Johnson
cde45bb170
Commence draaft work on ubuntu diskless
...
Provide a initramfs hook (akin to dracut module) and
a potential pkglist to cover what debootstrap does not
provide by default.
2021-11-11 16:41:13 -05:00
Jarrod Johnson
524f0d460f
Have imgutil exec manifest / mount
...
When execing, make the environment see
the '/' normally in mount/df contexts.
2021-11-11 12:05:53 -05:00
Jarrod Johnson
2b6418bc33
Script to walk identify light along a noderange
2021-11-10 15:19:37 -05:00
Jarrod Johnson
9a6d422fd8
Fix the python3 of rsp read
2021-11-09 16:01:45 -05:00
Jarrod Johnson
ef10237cfe
Update smm rules to relax
2021-11-09 15:58:17 -05:00
Jarrod Johnson
94761ba7c6
Refresh SMM fix expiration sample
2021-11-09 15:54:27 -05:00
Jarrod Johnson
b59c88beed
Explain more about need for -c versus =''
...
The concept of inherited and blank override is confusing
and warrants more documentation.
2021-11-09 08:26:35 -05:00
Jarrod Johnson
cbed20bb7f
Fix suse15 firstboot.sh
...
It was stripping the wrong value from the path.
2021-11-09 07:10:38 -05:00
Jarrod Johnson
61eecd672c
Add confignet to default firstboot/onboot as appropriate for el8 and
...
suse15
2021-11-08 16:34:26 -05:00
Jarrod Johnson
8df1c5b8e4
Make confignet available as a 'common' script
2021-11-08 16:23:56 -05:00
Jarrod Johnson
766230bcd3
Fix loop extending pkgs
...
The attempt at include support modified incorrect
list.
2021-11-06 14:38:44 -04:00
Jarrod Johnson
f1bc82cd08
Fix logic of websocket handling
...
Do not fall through to non-websocket path after handling the websocket
2021-11-05 14:15:39 -04:00
Jarrod Johnson
b139f9cd2c
Consistently return string from consume_termdata
...
If None is allowed to return, it can mess up caller.
2021-11-05 11:30:43 -04:00
Jarrod Johnson
a23d5b9b55
Provide both v4 and v6 in deploycfg
...
When implicitly working by lookup, both v4 and v6
were provided, but first match only
on explicit specification.
Correct this discrepency.
2021-11-04 17:20:49 -04:00
Jarrod Johnson
df7d34dc28
Add attribute support for confluent2hosts
...
Implement something akin to makehosts
from xCAT.
2021-11-04 14:44:06 -04:00
Jarrod Johnson
e749f8f8d5
Prioritize columns over rows
...
Do not make columns when the noderange is too small
to warrant them
2021-11-04 12:44:47 -04:00
Jarrod Johnson
5ceaa0e4fe
Change logreader to python3
2021-11-04 10:53:50 -04:00
Jarrod Johnson
5270f604eb
Fix missing el9 from spec install section
2021-11-04 08:00:37 -04:00
Jarrod Johnson
ce1d89c741
Set nodename as hostname prior to post for el class distros
2021-11-04 07:56:04 -04:00
Jarrod Johnson
4e9020c3a7
Add SUSE support for confignet
2021-11-02 14:04:11 -04:00
Jarrod Johnson
366a2feaaf
Provide api for node to just fetch all it's attributes
2021-11-02 11:21:19 -04:00
Jarrod Johnson
db7cb6450b
Temporarily stop firewalld and add pause to try to wait for address assignment
2021-11-02 09:43:42 -04:00
Jarrod Johnson
ea310e472a
Improve preservation of existing connections/settings
...
When teaming up nics, salvage
things like dns settings from members.
When a connection already seems to exist, modify it rather than delete and replace,
for less disruption.
Running repeatedly should now be safer.
2021-11-01 12:34:37 -04:00
Jarrod Johnson
a5f96ccc5d
Correct whitespace mistake in previous commit
2021-11-01 11:09:45 -04:00
Jarrod Johnson
5e0aced2ea
Merge branch 'master' of github.com:lenovo/confluent
2021-11-01 07:01:56 -04:00
Jarrod Johnson
28a13da118
Fix non-noderange alert specification.
...
The change in to accomodate nodarange without per-node
distinct input claimed the single input data exclusively
for multimode.
Correct by pulling the singleton code to be common if the
check breaks from the for loop.
2021-11-01 06:59:54 -04:00
Jarrod Johnson
6df8170401
Draft confignet implementation
...
This will team and set up additional interfaces,
but, for one, no dns. Need to merge with deploycfg info, since
networkmanager is intent on making dns a
connection oriented thing.
2021-10-29 17:16:16 -04:00
Jarrod Johnson
224663d0c8
Fix execution of confluent functions after run_remote_python
2021-10-29 13:50:04 -04:00
Jarrod Johnson
729408a0cb
Fix run_remote aafter the cleanup was added
...
The removal of the temp dir needed to be linked with
whether the script was dedicated or shared tmp with a run_remote_parts.
2021-10-29 13:01:59 -04:00
Jarrod Johnson
b1ee751c7b
Add newline to error output
2021-10-29 09:43:52 -04:00
Jarrod Johnson
9428c1fb8e
Merge pull request #77 from vmaneagit/patch-80
...
Update nodelicense.ronn
2021-10-29 09:40:39 -04:00
Jarrod Johnson
391963e3f3
Merge pull request #78 from vmaneagit/patch-79
...
Update nodelicense
2021-10-29 09:40:25 -04:00
Jarrod Johnson
78163f1d09
Correct issue in parameter rename for apiclient
2021-10-29 07:23:26 -04:00
Jarrod Johnson
8ef70d463f
Draft client for net configuration
...
Common code to struction networks into structure for configuration.
This organizes and autodetects
overlap, in prep for auto-teaming.
2021-10-28 17:09:09 -04:00
Jarrod Johnson
aff0c82b0b
Fix apiclient with explicit host
2021-10-28 16:15:21 -04:00
Jarrod Johnson
925ea3e95a
Refactor apiclient and allow specific host
...
For getnetcfg, will need to select
spsecific interfaces. While
tocuhing that anyway, simplify the
v4/v6 paths to be more agnostic.
2021-10-28 15:48:58 -04:00
Jarrod Johnson
5b128238e7
Fix netcfg self api call
2021-10-28 15:47:07 -04:00
Jarrod Johnson
6f967a3afa
Bind apiclient search to make for viable firewall rule
2021-10-28 12:55:42 -04:00
Jarrod Johnson
a2a9a38147
Fix mistaken sort
2021-10-28 12:30:06 -04:00
Jarrod Johnson
7eeba4e42a
Rdeuce netlink traffic to get net config
...
Avoid superfluous calls to
get addresses and reuse
result through the lifetime
of a reply.
2021-10-27 17:25:54 -04:00
Jarrod Johnson
5a7f0db899
Fix use of autodetected plen
2021-10-27 17:19:22 -04:00
Jarrod Johnson
00b22bb18b
Improve autosense of other nics
2021-10-27 17:12:03 -04:00
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
8eb6ce0b69
Specify absolute path for mktemp
...
mktemp defaults to relative, to produce the correct
behavior, must be absolute template.
2021-10-25 12:03:26 -04:00
Jarrod Johnson
0d53612e9c
Fix variable yielded when not including
2021-10-25 11:57:18 -04:00
Jarrod Johnson
81675faec1
Avoid clearing disk if autopartition is not to be used
2021-10-25 10:05:15 -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
219ad8f56b
Fixes for confluent2hosts
...
python2 compatibility and various scenarios not handled.
2021-10-22 16:07:20 -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
6550d584a2
Give scan callers a context for tracking local interface
...
When trying to leverage autodetect strategy for net config,
will need to keep track of receiving interface. For now
only use ipv6 for this capability, as getting the incoming nic
for ipv4 would be more work.
2021-10-20 14:10:59 -04:00
Jarrod Johnson
8a01a0bbdc
Use the scan_confluent for getting apikey, if relevant
2021-10-20 14:03:03 -04:00
Jarrod Johnson
484a3f8c64
Have apiclient priotize based on responsiveness
2021-10-19 17:09:52 -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
decee2ed93
Add fallback to apiclient
...
When apiclient fails using deploycfg, add
a multicast scan looking for replacements.
2021-10-19 15:39:47 -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
6e7b6188dd
Fix api client attempts and speed up checking connections
2021-10-18 16:31:59 -04:00
Jarrod Johnson
ae7e69d73d
Fix mistake in the apiclient
2021-10-18 15:52:22 -04:00
Jarrod Johnson
0f80b4a019
Change apiclient to embed apikey request
...
No longer require the clorthto utility
to request a token if we are already in
python.
2021-10-18 12:28:59 -04: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
957679db3c
Update syncfile examples and el7 support
2021-10-15 16:24:22 -04:00
Jarrod Johnson
98a6ffd9b6
Update more profiles with the APPENDONCE support
2021-10-15 16:16:11 -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
f33ed9b4d9
Cleanup after script execution
...
Leave cleaner tmp directories when functions are ran.
2021-10-15 12:16:48 -04:00
Jarrod Johnson
04dd374bfb
Synchronize functions across the supported OSes
2021-10-15 12:10:24 -04:00
Jarrod Johnson
980c3dbcb3
Make functions common between redhat and suse
2021-10-15 12:07:00 -04:00
Jarrod Johnson
08f61e9391
Fix syntax mistake in the previous commit
2021-10-15 10:06:54 -04:00
Jarrod Johnson
653c0bd695
Bring up both IPv4 and IPv6 in EL8
...
If both are configured, then enable both as early as possible.
2021-10-15 09:30:08 -04:00
Jarrod Johnson
52549ec563
Fix module autoloading in diskless profiles
...
The initramfs has a reduced set of modules to boot and then
in diskless mode hands over to the 'real' OS for all userspace
to use the more substantial root filesystem with all of the modules.
However one exception is kernel module autoload, which induces modprobe
to run in the initial mount namespace unconditionally.
Thus, preserve the ramfs drivers (just in case) but have the autoloading
pivot
to the normal root filesystem to get the full complement of modules.
2021-10-13 11:37:48 -04:00
Jarrod Johnson
351d6a85ee
Fix firstboot with ipv6 deployment in el8
2021-10-12 17:23:18 -04:00
Jarrod Johnson
fda61bd354
Attempt to extend the v6 deployment support in el8
2021-10-12 16:58:42 -04:00
Jarrod Johnson
d06e130af5
Fix ipv6 address specification in el8 scripted install
2021-10-12 16:42:07 -04:00
Jarrod Johnson
5ca3b68b8a
Attempt to support ipv6 deployment in el8
2021-10-12 16:06:37 -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
b96e9f4f70
Provide better feedback on missing key and skip tpm when not present
2021-10-12 11:39:18 -04:00
Jarrod Johnson
58cf220203
Mask spurious output on disk cleanup
2021-10-11 13:30:31 -04:00
Jarrod Johnson
a0dfd3f42d
Move scripted install to pre-trigger
...
In Stream 9, initqueue is too late to pre-empt the auto dhcp,
move up to pre-trigger and manually trigger to get network
ready for pre-emption.
2021-10-11 13:28:55 -04:00
Jarrod Johnson
57f346fa4c
Implement syncfiles parameters
...
chmod and chown as directed
by the syncfiles file if present
2021-10-08 10:27:57 -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
3b7e7afc24
Fix inconsistent handling of marginal id in syncfileclient
...
Also, resynchronize syncfileclient across the distributions.
2021-10-07 12:36:52 -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
6222883188
Syncronize syncfileclient for el8 diskless and diskful
2021-10-07 11:10:56 -04:00
Jarrod Johnson
a4fc64ea56
Move el9bin build out of spec
...
Since the rpm itself is built in an el7 container, build
binary before spec driven build to be compatible.
2021-10-07 09:18:24 -04:00
Jarrod Johnson
d23f9db6e0
Syncronize diskfull and diskless el8 and el9 functions
2021-10-07 08:38:29 -04:00
Jarrod Johnson
d5bbda9e00
Extend el8 to el9 diskless
2021-10-07 08:22:38 -04:00
Jarrod Johnson
23ff788f09
Fix target for el9 binaries
2021-10-07 08:20:51 -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
2ef41fedf6
Add el9 compatible build
...
CentOS Stream 9 is not backwards compatible enough to run the
same confluent utilities that the other distributions use.
For now, use fedora to build.
2021-10-06 15:51:12 -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
1c69700e1d
Fix missing port 22
...
Either this was overlooked or the sshd_config stopped including
Port 22. Fix by putting in port 22. If port 22 already existed,
sshd is fine with the configuration being configured twice.
2021-10-01 08:34:51 -04:00
Jarrod Johnson
92949f012f
Merge tag '3.2.2'
...
Fix collective mode
2021-10-01 08:03:50 -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
d899cfbf1a
Clean disk to install in pre
...
Installers frequently fail if there's a derelict lvm on disk.
Explicitly remove the on-disk content and deactive lvm to let
anaconda work reliably.
2021-09-29 14:31:18 -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
42038048da
Drop PC from the speed prefix
2021-09-22 10:52:29 -04:00
Jarrod Johnson
d08d597818
Properly show DCPMM in nodeinventory
2021-09-22 10:50:32 -04:00
Jarrod Johnson
3869dd6918
Fix imgutil capture
...
Adding options for oshandler
broke fingerprinting for capture.
Fix by passing None and triggering the AttributeErrors.
2021-09-22 08:17:18 -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
3a911acb81
Fix the efibootmgr override logic
...
Fully realize the chroot invocation of efibootmgr and also
bail out if no new boot number is detected.
2021-09-21 15:50:45 -04:00
Jarrod Johnson
1cb5efae75
Call efibootmgr in chroot for ubuntu
2021-09-21 11:21:13 -04:00
Jarrod Johnson
861c0230c7
Reorder ubuntu to first in post
...
Ubuntu tends to install itself as behind network
device. Amend to match other OSes and avoid network
boot.
2021-09-21 10:03:29 -04:00
Jarrod Johnson
3b3fffb36b
Note workaround for 'No data available'
...
In a diskless boot, sometimes the build system
might not label the scratch contents
correctly. setfiles can be used to fix it.
Notably, this seems to cause the overlay+squashfs to
return 'no data available' on select
calls even with selinux disabled, so it may be another
gap with overlay and/or limitation of squashfs when
queried about modification without a label.
2021-09-21 08:13:06 -04:00
Jarrod Johnson
dd89c48b9a
Fix problem where syncfiles could fail on certan hosts
...
If the set of oldhosts and newhosts were just so,
targlines or sourcelines could be all
null and cause index errors.
2021-09-20 08:01:41 -04:00
Jarrod Johnson
6acd3c2b7d
Add ability to execute functions as a command
...
This gives easier access over nodeshell and similar to run functions by executing the
functions as a script with arguments.
2021-09-20 08:00:35 -04:00
Jarrod Johnson
fdc9b3c283
Add confluent2hosts utility
...
Add utility to help add/modify /etc/hosts for a noderange.
Also fix buggy code in syncfileclient noticed while
reusing it for confluent2hosts.
2021-09-17 12:57:18 -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
f881f955d4
Correct typo in ubunut initramfs scripts
2021-09-15 12:20:08 -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
Jarrod Johnson
5276618b73
Actually remove group on split
2021-09-13 14:09:07 -04:00
Jarrod Johnson
38669ddbbc
Have nodegroupremove accept comma delimited groups
2021-09-13 14:01:46 -04:00
Jarrod Johnson
2dcd0f769a
Support defining multiple groups in one go
2021-09-13 13:48:56 -04:00
Jarrod Johnson
d254cb08ac
Default to None for second arg to get_apikey
...
In some context, we don't need to check both, we have a confirmed manager. Just take
one argument for that scenario.
2021-09-13 11:48:36 -04:00
Jarrod Johnson
66ddcfc194
Separate connection check from connection
...
Messing with connect corrupted
the http client too much,
have a separate helper function to evaluate
the candidate deployers,
then pass only the winner on.
2021-09-13 11:21:38 -04:00
Jarrod Johnson
95ea913108
Have genesis opt into ipv6 deploycfg
2021-09-13 10:26:50 -04:00
Jarrod Johnson
52bebe41d1
Provide ipv6 only for deploycfg2
...
Older profiles may trip over new network
lines, spare them 'v6' entries until
they opt into deploycfg2.
2021-09-13 10:26:17 -04:00
Jarrod Johnson
06e32c53cc
Fix overly vague extraction of deploy_server
...
If deploy_server appears anywhere, it confuses
the scripts
2021-09-13 10:23:13 -04:00
Jarrod Johnson
7ba10e559e
Correct ipv4/v6 handling in get_apikey
2021-09-13 10:03:32 -04:00
Jarrod Johnson
cf097b153e
Fix typo in genesis network bringup
2021-09-10 12:50:06 -04:00
Jarrod Johnson
269d9c79d1
Let functions set confluent_mgr
...
The better logic in functions is used instead of the simplistic logic.
2021-09-10 12:28:00 -04:00
Jarrod Johnson
1c3c54a35b
Update functions to be more thorough
...
confluent_mgr could be ipv6 or
may need to be updated from a
link local or may need to go to copernicus data to work.
2021-09-10 11:40:17 -04:00
Jarrod Johnson
66d378a007
Simplify the ipv6 support and fix invocation before deploycfg
2021-09-10 09:16:08 -04:00
Jarrod Johnson
35b74764bf
Amend apiclient to support v4/v6
2021-09-09 17:15:29 -04:00
Jarrod Johnson
11796cda81
Correct the ipv6 prefix name
2021-09-09 16:51:27 -04:00
Jarrod Johnson
8eb242cba0
Add ipv6 support to genesis
2021-09-09 16:27:59 -04:00
Jarrod Johnson
a4de3b93ec
Merge branch 'master' into ip6
2021-09-08 12:44:05 -04:00
Jarrod Johnson
a3486c5e68
Skip calling localectl when possible
...
localectl can sometimes be unworkable,
prefer sourcing the relevant configuration files directly
when possible.
2021-09-08 12:43:56 -04:00
Jarrod Johnson
465b973f79
Add unencrypted option to pack and rework multi-repo support
...
Support skipping encryption if a user does not want it. Further support mulitple '-r'
arguments and fix builds when
no -r is specified.
2021-09-08 12:43:50 -04:00
Jarrod Johnson
20f607f49e
Skip calling localectl when possible
...
localectl can sometimes be unworkable,
prefer sourcing the relevant configuration files directly
when possible.
2021-09-08 12:42:43 -04:00
Jarrod Johnson
3c7034edf2
Add unencrypted option to pack and rework multi-repo support
...
Support skipping encryption if a user does not want it. Further support mulitple '-r'
arguments and fix builds when
no -r is specified.
2021-09-08 12:17:30 -04:00
Jarrod Johnson
3762a37243
Provide advertise and reply
...
Since the packets are the same, just need to handle the
request type.
2021-09-07 16:50:55 -04:00
Jarrod Johnson
f3d7a949e6
Fix ipv6 netboot support to get to request
...
A number of mistakes were in
netutil and the advertise needed
to be complete and transmitted.
2021-09-07 16:13:27 -04:00
Jarrod Johnson
10e408559b
Merge branch 'master' into ip6
2021-09-07 11:10:25 -04:00
Jarrod Johnson
6465203918
Add ability to pack and combine with a previous baseprofile
...
For example, this is a good complement to unpack in a tethered environment:
unpack profile-v1 /root/scratch
#modify /root/scratch
pack /root/scratch profile-v2 -b profile-v1
2021-09-03 16:14:44 -04:00
Jarrod Johnson
de5350ca6e
Fix additional repository argument for suse build
2021-09-03 15:12:06 -04:00
Jarrod Johnson
5422f904f9
Add a breadcrumb for scripts to detect exec context
2021-09-03 12:11:10 -04:00
Jarrod Johnson
57a8149844
Fix adding repositories to rhel-style diskless
2021-09-03 09:16:22 -04:00
Jarrod Johnson
558139d654
Fix bug around pulling in img build info
2021-09-02 12:11:48 -04:00
Jarrod Johnson
63d9aea218
Support relative paths for build scratchdir and pkglist
2021-09-02 12:10:07 -04:00
Jarrod Johnson
5d1d527e09
If reasonable, provide a 'distribution' link for diskless
...
If the user uses '-s', then
preserve that in distribution like a diskful one would.
2021-09-02 11:58:22 -04:00
Jarrod Johnson
19685b7a4e
Accept relative path for unpack
2021-09-02 11:38:09 -04:00
Jarrod Johnson
adcc2f0aa9
Add some usage to the volume flag for now '-'
2021-09-02 11:30:51 -04:00
Jarrod Johnson
fbef6442d5
Add a shorthand '-' to say 'mount to same path as outside'
2021-09-02 11:29:40 -04:00
Jarrod Johnson
bf017b55e1
Have unpack more intuitively target the specific directory
...
This makes it symmetric witht pack/unpack.
2021-09-02 11:22:45 -04:00
Jarrod Johnson
bcc278e4d8
Add losetup for new suse support
2021-09-02 10:30:30 -04:00
Jarrod Johnson
0d2ecd460d
Merge changes from EL8 imageboot
2021-09-02 10:17:11 -04:00
Jarrod Johnson
ac45d6e578
Support non-interactive request to exec command
...
Make outside scripting easier by accepting an optional command
to run in exec environment.
2021-09-02 09:06:57 -04:00
Jarrod Johnson
237670e9b1
Rework gpg key import for suse build
...
Only pull in host keys when not using a source.
When using source(s), pull in all normal gpg keys from local filesystem sources.
2021-09-02 08:39:45 -04:00
Jarrod Johnson
f65056a047
Fix Suse image fingeprinting
2021-09-02 08:05:11 -04:00
Jarrod Johnson
6264dc1ed1
Add host pubkeys to build root
2021-09-01 16:17:34 -04:00
Jarrod Johnson
a7d894007f
Treat netgroup entries differently
2021-09-01 11:00:53 -04:00
Jarrod Johnson
27a1649d94
Add more in-context stateless documentation
...
Specify what default behavior is and reason to choose one over
the other.
2021-09-01 10:44:25 -04:00
Jarrod Johnson
96f50519d8
Fix typo in imgutil
2021-09-01 10:38:49 -04:00
Jarrod Johnson
925cca1733
Add some commentary
2021-09-01 10:28:49 -04:00
Jarrod Johnson
9afa33d0cc
Assisted redfish bmc setup
...
This is a quick example script of using
confluent switch scanning in conjunction with
checking dhcp leases to handle some generic redfish
bmc.
2021-09-01 10:23:43 -04:00
Jarrod Johnson
6c32630bd9
Fix multi-server reply processing
...
The stateless code could get confused by multiple offers,
fix the mistake.
2021-08-30 11:24:57 -04:00
Jarrod Johnson
aaea5bcaeb
Make sure the netlink socket closes on the way out
2021-08-30 09:01:42 -04:00
Jarrod Johnson
3d4462d788
Fix support for newer XCC firmware
...
Newer XCC firmware requires more parameters for usermodify
2021-08-27 18:29:38 -04:00
Jarrod Johnson
d69de62077
Amend setinitalpwd
2021-08-27 16:37:26 -04:00
Jarrod Johnson
c48f3a8b59
Sample script to navigate first password change
2021-08-27 16:13:14 -04:00
Jarrod Johnson
ce98ff6b3d
Fix suse imgutil build function
2021-08-27 09:03:35 -04:00
Jarrod Johnson
e35ce77bc7
Fix SUSE imgutil
2021-08-27 08:46:47 -04:00
Jarrod Johnson
c2de5fa580
Fix SUSE imgutil
2021-08-27 08:46:23 -04:00
Jarrod Johnson
a9044238ba
Further the IPv6 support
2021-08-26 17:44:30 -04:00
Jarrod Johnson
dd1615b4a7
Fixes for imgutil
2021-08-26 16:03:38 -04:00
Jarrod Johnson
f2fcbc887d
Fixes for imgutil
2021-08-26 16:03:17 -04:00
Jarrod Johnson
d4a846e786
Merge branch 'master' into ip6
2021-08-26 12:23:29 -04:00
Jarrod Johnson
7c617a160b
Close socket in relay_data
...
Closing the socket outside of relay_data causes relay_data
to stay alive, causing eventlet to think a filehandle is open that is not.
A reasonable question would be why eventlet fails to error that read
when the filehandle is closed, but for now, move the close activity
to the relay_data handler.
This resolves "Second simultaneous read on fileno" conditions introduced
by the fix for leaking filehandles.
2021-08-26 11:52:22 -04:00
Jarrod Johnson
d0c23e490b
Tolerate delays in crypt-dm completion for imgutil
2021-08-26 10:38:34 -04:00
Jarrod Johnson
6bf51a20b2
Set nodename as hostname prior to post for el class distros
2021-08-26 09:33:16 -04:00
Jarrod Johnson
3e21587f22
Update error text for redfish to cover completely unsupported redfish
...
systems
2021-08-26 08:58:02 -04:00
Jarrod Johnson
1b3231377c
Draft work to update pxe and netutil for ipv6 support
2021-08-25 17:58:36 -04:00
Jarrod Johnson
ba7ccaa7f2
Document the netlink data in neighutil
2021-08-25 17:57:52 -04:00
Jarrod Johnson
093e961613
Merge branch 'master' into ip6
2021-08-25 15:59:06 -04:00
Jarrod Johnson
b4ee1ab6af
Fix imgutil build
2021-08-25 15:58:48 -04:00
Jarrod Johnson
3eb9ef720b
Fix imgutil build
2021-08-25 15:58:17 -04:00
Jarrod Johnson
597db2138f
Begin work on ipv6 netboot support
2021-08-25 09:21:12 -04:00
Jarrod Johnson
6bb6b362ab
Provide support for merging multiple sources to single destination
2021-08-24 17:39:06 -04:00
Jarrod Johnson
0cfd18d84e
Add a little main to experiment with neighutil
2021-08-24 17:18:10 -04:00
Jarrod Johnson
51a73737a7
Fix new neigh behavior
...
It would sometimes miss a lookup.
2021-08-24 17:15:56 -04:00
Jarrod Johnson
4f4d02d68f
Refactor neighutil
...
Stick to bytes in the expensive part, only convert to and from
presentation form on lookup need.
Convert all external calls to a unified lookup logic.
2021-08-24 16:19:41 -04:00
Jarrod Johnson
797465b3eb
Handle some intra-collective errors better
2021-08-24 15:50:03 -04:00
Jarrod Johnson
69b58836f6
Change to built in neigh fetch
...
Rather than outsource, slowly,
to ip neigh for this frequent task,
call netlink directly.
2021-08-24 11:54:33 -04:00
Jarrod Johnson
06cfd408fc
Fix handling of abrupt client close
2021-08-24 07:57:14 -04:00
Jarrod Johnson
b367d8ea50
Fix ntpcfg handling in autoyast
2021-08-20 11:12:22 -04:00
Jarrod Johnson
30e901ef19
Attempt -p and -r arguments to add repos and speciy alternate pakagke list.
2021-08-18 17:34:27 -04:00
Jarrod Johnson
b44ac19723
Provide some info on image progeny on pack
2021-08-18 15:50:03 -04:00
Jarrod Johnson
f855dda70f
Sort list of distributions and profiles
...
The default sort order of listdir
isn't particularly helpful to anyone.
2021-08-18 15:40:58 -04:00
Jarrod Johnson
b07ca72a8b
Close stray filehandles
...
Proxied terminals and dispsatched
requests would leak filehandles.
2021-08-17 17:18:10 -04:00
Jarrod Johnson
d3b6326673
Fix incorrect variable name for starting tmux
2021-08-12 16:47:03 -04:00
Jarrod Johnson
216a390229
Further refine TERM for tmux
2021-08-12 16:33:46 -04:00
Jarrod Johnson
93c52c6981
Improve tmux draw behavior in genesis
2021-08-12 16:31:26 -04:00
Jarrod Johnson
ef43d91164
Have diskless environment prefer 'primary' interface too
2021-08-12 15:20:43 -04:00
Jarrod Johnson
130e3adbc6
Add uuid fill-in for pxe when policy allows
...
If permissive or open, and xcc is known, but uuid missing,
fill it in.
If open or pxe, and can know node through XCC fingerprint,
then accetp that as a clue.
Also, do not search ethernet switches when xcc cert helps identity.
2021-08-12 14:17:57 -04:00
Jarrod Johnson
0f543c80e9
Add a more specific error if we have a guess about nodename
...
If a manual add procedure has not
specified a mac or uuid, but
the discovery framework has a guess about it,
have that guess appear
in events with suggestion on
how to proceed.
2021-08-12 13:07:57 -04:00
Jarrod Johnson
e9bc7ebe8d
Finish conversion of imgutil to argparse
2021-08-12 09:15:15 -04:00
Jarrod Johnson
8a8e9718f9
Begin migration of imgutil to argparse
...
We no longer support python 2.6, we can use argparse for better subcommand handling.
2021-08-11 17:01:32 -04:00
Jarrod Johnson
865021beff
Unack to rootfs
...
This keeps things neutral and leaves the door open for multipart
support
2021-08-11 16:14:46 -04:00
Jarrod Johnson
034eca3bb0
Refine PXE/HTTP log
...
Add logs for ignored boot requests, suppress discovery warning for known uuids,
and generally throttle logging these to once per mac address per minute.
2021-08-11 08:14:32 -04:00
Jarrod Johnson
6b28877828
Add iputils to have ping in suse
2021-08-11 07:31:58 -04:00
Jarrod Johnson
71342272bf
Add imgutil unpack
...
Provide capability to unpack previously packed diskless images.
2021-08-10 09:04:30 -04:00
Jarrod Johnson
1e418e1bcf
Stub to drive unpack feature
2021-08-09 16:47:27 -04:00
Jarrod Johnson
225618ef75
Add stall in firstboot for deployer to be available
2021-08-09 15:19:36 -04:00
Jarrod Johnson
2a0491ef0c
Add ability to specify custom increment in []
...
Often, it's desired to target odd or even, provide custom increment/step syntax,
but only in the [] context.
Perhaps one day can add n1-n12:2 support, but for now, this is easier to handle.
2021-08-09 11:19:07 -04:00
Jarrod Johnson
db9df97fa0
Check and error if user request non-existant profile
...
This provides nice and immediate feedback for a common mistake.
2021-08-09 09:49:10 -04:00
Jarrod Johnson
f9846cb564
Fix inability to delete a completed servicedata event
2021-08-05 08:31:13 -04:00
Jarrod Johnson
91caf76cae
Fix ownership problems with build and capture
...
Some parent directories were never given to confluent user
2021-08-04 12:12:57 -04:00
Jarrod Johnson
9bfdd20919
Add sanity check to confluent start
...
Refuse to start if /etc/confluent is in bad shape that
may create issues later.
2021-08-04 10:54:21 -04:00
Jarrod Johnson
c3e342a8c0
Fix ordering of python path discovery
2021-08-03 16:48:30 -04:00
Jarrod Johnson
54fde4af21
Fix pessimistic error on apikey
...
Actually make sure that the apikey retrieval failed before erroring.
2021-08-03 16:44:03 -04:00
Jarrod Johnson
fc22c87ce9
Fix typo in informational message
2021-08-02 16:03:37 -04:00
Jarrod Johnson
48d84a5422
Fix get_json
...
Some handlers may work in bytes or str,
normalize to str on the way out.
2021-08-02 14:35:59 -04:00
Jarrod Johnson
b604ec4773
Fix detection of missing sync source
...
Rather than just assume we want a directory when glob
finds no matches, just take the empty result.
2021-08-02 11:33:08 -04:00
Jarrod Johnson
2219297afc
Fix simple password support
...
Simple password was broken during the MFA addition, restore
the most common authentication mechanism.
2021-07-29 13:16:33 -04:00
Jarrod Johnson
08f226a3bf
Recognize Ubuntu 20.04.2
2021-07-28 14:31:04 -04:00
Jarrod Johnson
a25a10cb86
Add firstboot/post directories to ubuntu
2021-07-28 08:52:05 -04:00
Jarrod Johnson
af9676ee6f
Improve appearance of imgutil capture
...
Provide more feedback with less worrisome normal output.
2021-07-27 08:36:48 -04:00
Jarrod Johnson
4c96735b6d
Add ssh to post phase of cloning
2021-07-26 13:51:36 -04:00
Jarrod Johnson
ac86961e24
Perform syncfiles on clone deployment post
2021-07-26 13:29:33 -04:00
Jarrod Johnson
6adc736450
Relocate syncfiles path to correct location
2021-07-26 13:22:31 -04:00
Jarrod Johnson
8ab6fef632
Fix kernel selection on pack
...
Make a specialized sort
for kernel versions to more reliably identify the latest version.
2021-07-26 13:03:26 -04:00
Jarrod Johnson
065d0585ea
Make search for grub.cfg more specific
...
grub.cfg outside of /boot can easily exist, be more specific about where it can be.
2021-07-26 12:17:15 -04:00
Jarrod Johnson
ca8f6fa52c
Bash completion for imgutil capture
2021-07-26 11:59:04 -04:00
Jarrod Johnson
a720ccdbc8
Set ownership/permissions of private section
...
Fix confluent being unable to read, and make the permissions more consistent.
2021-07-26 11:12:59 -04:00
Jarrod Johnson
0ad59436ec
Mitigate scratch consumption
...
As an old file is copied in for future disposale, delete
it as we go by fallocate
to punch holes in it.
2021-07-26 09:19:33 -04:00
Jarrod Johnson
663f8fc085
Add nodename to set_confluent_vars
...
It is expected that nodename would also be set.
2021-07-23 19:08:06 -04:00
Jarrod Johnson
a7b9e72589
Fixes and update umage2disk to new multipart format
2021-07-23 19:06:14 -04:00
Jarrod Johnson
9eb6f38bf1
Various fixes to imageboot.sh
2021-07-23 18:43:57 -04:00
Jarrod Johnson
4928f50332
Create private directiories and correct key format
2021-07-23 17:43:47 -04:00
Jarrod Johnson
7f468c3a91
Correct offset to be in sectors, not bytes
2021-07-23 17:32:42 -04:00
Jarrod Johnson
81b4da6a95
Add encrypted stateless pack
2021-07-23 17:11:33 -04:00
Jarrod Johnson
4bde1b963f
Transfer encryption key on capture
2021-07-23 16:54:57 -04:00
Jarrod Johnson
1e44deecf6
Add support to retrieve private key and crypt mount diskless/cloning
2021-07-23 16:49:02 -04:00
Jarrod Johnson
1e653851fe
Add syncfiles to el8 diskless
2021-07-23 16:23:15 -04:00
Jarrod Johnson
54667570bd
Create encrypted image and private profile data
...
Prepare for securing os profile witht custom images
2021-07-23 16:13:24 -04:00
Jarrod Johnson
364085801a
Fix apikey variable
2021-07-21 17:44:43 -04:00
Jarrod Johnson
8171d461ea
Another selinux fixup
...
systemctl enable firstboot
produces invalid selinux context, fix aafter enabling.
2021-07-21 17:34:53 -04:00
Jarrod Johnson
3690dda177
Actually enable firstboot execution
2021-07-21 16:48:38 -04:00
Jarrod Johnson
365b81e7e1
Prune all .gitignore files, not just blessed profiles
2021-07-21 13:57:06 -04:00
Jarrod Johnson
b3fee922f9
Try to speed up selinux labelling
...
There's only a couple of places
where the imaging should need fixup, be more selective in relabel.
2021-07-21 13:26:31 -04:00
Jarrod Johnson
29d0dd6678
Add missing profile content for cloning
2021-07-21 12:47:43 -04:00
Jarrod Johnson
7d31e22447
Add post/firstboot to os cloning
2021-07-21 12:28:03 -04:00
Jarrod Johnson
4ddfa192ba
Remove sticky bit from profile directory
2021-07-21 12:16:22 -04:00
Jarrod Johnson
fa45ea8ad3
Finalize a captured image
2021-07-21 11:56:15 -04:00
Jarrod Johnson
f4281e115b
Fix permissions on generated profile.
2021-07-21 11:53:51 -04:00
Jarrod Johnson
5dfbeef79c
Advance state of cloning
...
Have imgutil complete the capture process, splitting work
between target and repository.
Provide hook through kcmdline to induce installtodisk.
Have installimage reboot system cleanly when done.
Have new /etc/confluent in cloned system.
Hook for post scripts to execute.
2021-07-21 11:15:42 -04:00
Jarrod Johnson
cd8a1dfe5e
Draft work to flesh out profile and pull back
...
Fingerprint the target and prepare for more effort.
Will have another imgutil primitive for post-capture prep to get the
initramfs, kernel, rootimg, and bootloader content ready for copy.
2021-07-20 17:02:08 -04:00
Jarrod Johnson
2257a67420
Begin wiring imgutil for remote capture
...
Will be having to run on remote
system and local system
and combining the results
as well as cleaning up after ourselves on target.
2021-07-20 15:56:47 -04:00
Jarrod Johnson
55302b74d9
Have prototype cloning implemented
...
Go ahead and relabel all selinux content, ssh keys, grub, and efiboot entry.
2021-07-20 14:07:55 -04:00
Jarrod Johnson
22008f9dc9
Image cloning changes
...
Refactor and try to mask ssh
keys for root user.
Try to preserve selinux context for masked files.
Add progress indicator for writing to disk.
2021-07-19 17:30:26 -04:00
Jarrod Johnson
db735a654d
Aggregate vt buffer feeds
...
If we start developing a backlog
of content to feed to the buffer manager,
aggregate updates to batch submit them more efficiently.
2021-07-19 11:16:12 -04:00
Jarrod Johnson
cbee00d3bb
Fix initial collective join
...
Initial collective join combined
with the orderly collective startup
hit a chicken and egg problem.
Disable initting on first enrollment
to let enrollment drive
that specific initialization to
restore behavior.
2021-07-19 10:26:05 -04:00
Jarrod Johnson
a8b54ff434
Fix initial collective join
...
Initial collective join combined
with the orderly collective startup
hit a chicken and egg problem.
Disable initting on first enrollment
to let enrollment drive
that specific initialization to
restore behavior.
2021-07-19 10:25:35 -04:00
Jarrod Johnson
fada9336ee
Fix swapsize float in image install
...
If it undergoes float arithmetic, it must be made int again.
2021-07-16 17:23:21 -04:00
Jarrod Johnson
bda51d2106
Start fixup, first up is the fstab
...
Provide an fstab consistent
with redhat strategy, but with
the new uuids from imaging.
2021-07-16 17:02:53 -04:00
Jarrod Johnson
88d49c9f40
Start image2disk
...
This marks having written out
the partitions verbatim.
2021-07-16 16:29:56 -04:00
Jarrod Johnson
c92b2f4255
Stage for python application to actually execute the install
2021-07-16 12:03:11 -04:00
Jarrod Johnson
ece525c2e2
Begin work on install and filter small devices from install candidacy
2021-07-16 11:11:13 -04:00
Jarrod Johnson
386dc2348c
Mount multiple partitions in diskless mode
2021-07-16 10:39:11 -04:00
Jarrod Johnson
da44738e00
Generalize more of an OS on capture
...
/etc/fstab, hostname, and networnk-scripts are masked
for the image.
2021-07-15 17:30:50 -04:00
Jarrod Johnson
e43e5ac167
Add confluent_imgutil to addons
2021-07-15 14:42:26 -04:00
Jarrod Johnson
9458d33cc5
Add multipart image support to diskless
2021-07-15 14:39:17 -04:00
Jarrod Johnson
831b129899
Correct syntax error in confluent client
2021-07-15 12:39:38 -04:00
Jarrod Johnson
1570d3dbe3
Add c utility for reading confluent multipart images
2021-07-15 12:39:19 -04:00
Jarrod Johnson
46c0852b6f
Add more non-json data to image format
2021-07-15 12:38:50 -04:00
Jarrod Johnson
e3bd1d6cac
Correct format of confluent multipart magic
2021-07-15 11:24:49 -04:00
Jarrod Johnson
597faecc04
Change error for nodefirmware with present, but empty noderange
2021-07-15 11:24:23 -04:00
Jarrod Johnson
85643d82e8
Add losetup to el8 stateless
...
For multipart support, need to manually
set up loop mount and dmsetup.
2021-07-15 10:45:38 -04:00
Jarrod Johnson
7e07ec96a2
Combine json and images into a single multi-part file
...
This will facilitate urlmount use for mounting without
downloading.
2021-07-15 09:12:17 -04:00
Jarrod Johnson
eb3dd0f10a
Begin work on imgutil capture
...
Provide mechanism to capture for cloning purposes.
2021-07-14 17:36:55 -04:00
Jarrod Johnson
a953a6afba
Provide clearer error when osdeploy initialize is not done
...
osdeploy import needs to have things prepared by
osdeploy initialize. Check for it having run and error if needed.
2021-07-14 15:40:38 -04:00
Jarrod Johnson
f7a80c6ac0
Fix nodeattrib when a list member is 'broken'
...
If 'broken' was used as a group name, it would behave incorrectly.
Only check 'broken' for dict types.
2021-07-14 08:06:52 -04:00
vmaneagit
5728e141a4
Update nodelicense.ronn
...
Man page clarification - file as license file, name as license feature name.
2021-07-14 13:46:08 +03:00
vmaneagit
f531c1b856
Update nodelicense
...
Usage clarification - file as license file, name as license feature name.
2021-07-14 13:43:57 +03:00
Jarrod Johnson
101b5685d1
Move kickstart.custom fetch to before pre.d
...
Allow custom scripts to further customize kickstart.custom
by modifying /tmp/kickstart.custom
2021-07-12 09:23:01 -04:00
Jarrod Johnson
71d8b89a57
Fix profile name not being set in time
2021-07-09 16:22:57 -04:00
Jarrod Johnson
ea26478714
Add needed dependency for OFED
2021-07-08 11:54:14 -04:00
Jarrod Johnson
175f9317ac
Skip 32bit portion of mofed
2021-07-08 11:45:43 -04:00
Jarrod Johnson
b291dee68c
Add bind-utils, skip iwl*-firmware, and alphabatize packages
2021-07-08 11:38:50 -04:00
Jarrod Johnson
4f77615161
Provide a sample container build
2021-07-08 09:39:36 -04:00
Jarrod Johnson
430428eba2
Add missing dependencies to the confluent server package
2021-07-08 09:33:35 -04:00
Jarrod Johnson
4dee174bee
Merge pull request #64 from vmaneagit/patch-64
...
Update nodeconfig.ronn
2021-07-08 09:25:11 -04:00
Jarrod Johnson
766a5e0fd2
Merge pull request #61 from vmaneagit/patch-62
...
Update confluentdbutil.ronn
2021-07-08 09:23:54 -04:00
Jarrod Johnson
90a3839353
Merge pull request #65 from vmaneagit/patch-65
...
Update nodeeventlog
2021-07-08 09:23:32 -04:00
Jarrod Johnson
ce17015baf
Merge pull request #68 from vmaneagit/patch-68
...
Update nodelicense.ronn
2021-07-08 09:22:41 -04:00
Jarrod Johnson
360ff0798c
Merge pull request #69 from vmaneagit/patch-69
...
Update noderemove
2021-07-08 09:22:24 -04:00
Jarrod Johnson
c2bd12234b
Merge pull request #70 from vmaneagit/patch-70
...
Update nodersync.ronn
2021-07-08 09:22:03 -04:00
Jarrod Johnson
51f1c67a64
Merge pull request #63 from vmaneagit/patch-63
...
Update nodeconfig
2021-07-08 09:21:50 -04:00
Jarrod Johnson
c3634fe75c
Merge pull request #66 from vmaneagit/patch-66
...
Update nodelicense
2021-07-08 09:21:34 -04:00
Jarrod Johnson
8f394f230c
Merge pull request #71 from vmaneagit/patch-71
...
Update nodersync
2021-07-08 09:21:20 -04:00
Jarrod Johnson
b21d462acf
Merge pull request #72 from vmaneagit/patch-73
...
Update noderun.ronn
2021-07-08 09:20:51 -04:00
Jarrod Johnson
dc32813882
Merge pull request #73 from vmaneagit/patch-72
...
Update noderun
2021-07-08 09:20:38 -04:00
Jarrod Johnson
c8ead7bb6d
Merge pull request #74 from vmaneagit/patch-74
...
Update nodepower.ronn
2021-07-08 09:19:56 -04:00
Jarrod Johnson
f352a10000
Merge pull request #75 from vmaneagit/patch-78
...
Update nodepower
2021-07-08 09:19:39 -04:00
Jarrod Johnson
dd4f329139
Finish changes to builddeb script for vtbufferd
2021-07-01 16:45:20 -04:00
Jarrod Johnson
90bde09c82
Fix make clean without binary existing
2021-07-01 16:39:36 -04:00
Jarrod Johnson
2d2e8114b3
Add install section for Makefile in debian packaging
2021-07-01 16:34:06 -04:00
Jarrod Johnson
b87580466e
Add debian packaging for vtbuffered
2021-07-01 16:31:59 -04:00
Jarrod Johnson
08cf1bbf48
Fix the sed syntax for LEAP import
2021-07-01 14:07:43 -04:00
Jarrod Johnson
e565a1752f
Fix LEAP initprofile behavior
2021-07-01 13:43:31 -04:00
Jarrod Johnson
ef1649208e
Switch to using separate CA for TLS
...
This allows regenerating TLS cert
without updating boot images.
For example, if ip address changes need a new cert, no
longer should the nodes need new certs to trust
just due to that.
2021-06-30 14:25:46 -04:00
Jarrod Johnson
35b9635840
Clear armed API if current node token is used
...
If a node is armed, but instead unseals the prior key from TPM,
implicitly clear the armed state to avoid leaving it armed.
2021-06-28 13:30:09 -04:00
Jarrod Johnson
9c43dbff47
Rework MFA handling
...
Avoid calling PAM in the parent process, as
this seems to cause problems with some PAM
configurations.
2021-06-28 11:34:11 -04:00
Jarrod Johnson
f830514d10
Implement support for additional pam prompts
...
For example, if PAM has OTP, then support it.
2021-06-25 17:26:32 -04:00
Jarrod Johnson
f2eba22b9b
Fix TLS certs for el8 diskless
...
Properly place and process
the TLS certs for a site.
2021-06-25 13:06:35 -04:00
Jarrod Johnson
1fcab688dd
Fix connection name in networkmanager diskless
2021-06-25 10:56:35 -04:00
Jarrod Johnson
abfa2c4f7c
Switch back to default curl output
...
The terminal size on console is a challenge.
2021-06-24 17:01:35 -04:00
Jarrod Johnson
3be73af07e
Change style of download progress in curl
...
Use a simpler progress bar.
2021-06-24 16:46:10 -04:00
Jarrod Johnson
a2b2c8a995
Remove extraneous '/' output
...
Suppress output of cd -, as
it's a bit odd during boot.
2021-06-24 15:57:03 -04:00
Jarrod Johnson
42f8056d56
Fix apiclient with TPM managed token
...
The retry mechanism is amended
to clear out the useless key
and start trying to get a network grant again.
2021-06-24 14:53:54 -04:00
Jarrod Johnson
2ef695324a
Migrate genesis to new TPM strategy
...
Have addons for genesis
implement the same TPM usage
model as the suse/redhat stateless.
2021-06-24 14:35:21 -04:00
Jarrod Johnson
4c6f0843f9
Remove microcode from genesis
...
Should not be needed for genesis level activity, and consumes a large
amount of storage.
2021-06-24 14:00:19 -04:00
Jarrod Johnson
c19ae8a451
Add tpm2 tools to genesis
...
Follow the design of the stateless usage of TPM
2021-06-24 13:20:47 -04:00
Jarrod Johnson
a8e152cc4a
Switch TPM strategy on RedHat diskless
...
Switch to thte same approach as used in suse:
-Try to unseal any persistent handles
-If that works, try to use it on network
-If it didn't work, clear that handle
-When an api key is retrieved, then seal it to pcr 15
-When it's all done, extend pcr15 to prevent the OS from being able to
unseal
2021-06-24 12:04:10 -04:00
Jarrod Johnson
c92b3aea9d
Mitigate error output from extraneous handles
...
Unrelated handles in use will no longer result in misleading console
output.
2021-06-24 11:41:34 -04:00
Jarrod Johnson
5be4a5ab73
Add missing TPM utilities to suse boot
2021-06-24 11:22:41 -04:00
Jarrod Johnson
3c41c52d77
Rework TPM usage in SUSE diskless
...
For one, need to detect stale
TPM value and clear them.
For another, seal to PCR 15 and extend after unlock, so that the booted
system is unable to retrieve
the data from the TPM (e.g.
a plain user by default is allowed
to unseal data if there's no
policy, so use a policy and
extend the state away before boot)
2021-06-24 11:09:37 -04:00
Jarrod Johnson
e24a3a7231
Change media_url
...
Have autoyast file pass validation and adapt
the processing to work with it.
2021-06-24 08:27:55 -04:00
Jarrod Johnson
bffb7a8cac
Correct typo in suse install autoconsole message
2021-06-23 17:52:21 -04:00
Jarrod Johnson
feb418ac59
Store TPM unsealed apikey in usual location
2021-06-23 17:22:18 -04:00
Jarrod Johnson
ee5ea4263f
Add curl to suse15 pkglist
2021-06-23 17:16:13 -04:00
Jarrod Johnson
b30fabd55d
Enable TPM2 on SUSE diskless for apikey
...
Rather than remote sealed copy, store it in the TPM2
Will convert genesis and EL diskless for this to be the new preferred
mechanism.
2021-06-23 17:01:27 -04:00
Jarrod Johnson
b8c9e9c535
Begin work to support complex PAM conversations
...
For example, TOTP setups need
more prompts, this will pass
the info to the client for the client to adjust.
2021-06-23 16:31:42 -04:00
Jarrod Johnson
d86fc664e9
Handle space delimiting in nameservers
...
If multiple dns servers, then need to quote to preserve
the list.
2021-06-23 12:35:54 -04:00
Jarrod Johnson
6862d9e580
Correct formatting of nameserver list in suse
2021-06-23 12:26:49 -04:00
Jarrod Johnson
dc8cb1b13f
Correct syntax in imageboot for suse
2021-06-23 12:24:36 -04:00
Jarrod Johnson
f10d2af59f
Specify netconfig file location
2021-06-23 12:16:08 -04:00
Jarrod Johnson
172bb12885
Modify Suse diskless for suse networking
...
Suse doesn't use network manager, populate sysconfig
instead.
2021-06-23 12:07:13 -04:00
Jarrod Johnson
4445b8cc78
Fix name resolution for suse hosts/containers
...
Suse uses a strategy with symlinks, adapt
the resolv.conf target based on findings from
symlink chasing.
2021-06-23 11:49:16 -04:00
Jarrod Johnson
b2fa2d92c5
Correct formatting mistake in os profile label in diskless
2021-06-23 11:32:43 -04:00
Jarrod Johnson
fc19ca4e36
Change to pythton-dnspython for dependency
...
Multiple compatible packages exist that provide same name, accept
either.
2021-06-23 08:37:00 -04:00
Jarrod Johnson
23231e2b75
Have Suse15 diskless prep initrd and enable sshd
2021-06-22 16:59:12 -04:00
Jarrod Johnson
9ad5f52eed
Package up suse diskless support
2021-06-22 16:37:04 -04:00
Jarrod Johnson
76f3537a79
Further advance SUSE15 diskless support
2021-06-22 16:18:32 -04:00
Jarrod Johnson
b26b46dc41
Crate dracut module for suse15
2021-06-22 14:49:15 -04:00
Jarrod Johnson
deec9b111a
Initial phase of suse diskless support
2021-06-22 14:29:28 -04:00
Jarrod Johnson
59e6dc80b3
Remove commented, non-working concept code
...
The code was going to replace XInclude with something more manual
from sed and xml comments, but yast strips the comments.
So we instead manually make hooks for the replacement items.
2021-06-22 12:21:18 -04:00
Jarrod Johnson
e34d76f7eb
OpenSUSE 15.3 support
...
A number of changes in opensuse 15.3 require modifying our
strategy.
No more XInclude. This seems to be unintentional, but it released
and so we will work around it.
Some somewhat incorrect values, as pointed out by new validation.
2021-06-22 12:19:54 -04:00
vmaneagit
7f74476e5a
Update nodepower
...
Updated line 35 to address the syntax mismatch between usage and man page SYNOPSIS
2021-06-16 18:25:10 +03:00
vmaneagit
d201358c78
Update nodepower.ronn
...
Updated lines 6 and 30 to address the syntax mismatch between usage and man page SYNOPSIS
2021-06-16 18:19:49 +03:00
vmaneagit
902f9831cd
Update noderun.ronn
...
Updated line 6 to address the syntax mismatches between usage output and man page SYNOPSIS
Line 18 has been updated to address the options listed differently between usage output and man page
2021-06-16 17:36:56 +03:00
vmaneagit
3723eadcfc
Update noderun
...
Syntax mismatches between usage output and man page SYNOPSIS
Updated line 42:
usage="Usage: %prog [options] <noderange> <command expression>",
2021-06-16 17:33:26 +03:00
vmaneagit
52d7bcbdb9
Update nodersync
...
Updated line 43:
usage="Usage: %prog <file/directorylist> <noderange>:<destination>",
Syntax mismatch between usage output and man page SYNOPSIS
2021-06-16 17:23:18 +03:00
vmaneagit
f33e35cebf
Update nodersync.ronn
...
Updated line 15:
* `-f COUNT`, `-c COUNT`, `--count=COUNT`:
Options on SYNOPSIS page different than usage options
2021-06-16 17:23:03 +03:00
vmaneagit
2f00b31eb0
Update noderemove
...
Updated line 36:
usage='''\n %prog <noderange>
SYNOPSIS has < > around noderange whereas usage output does not
2021-06-16 17:11:11 +03:00
vmaneagit
bbad704f43
Update nodelicense.ronn
...
Updated the syntax mismatch between usage output and man page SYNOPSIS
Line 6 was modified:
`nodelicense <noderange> [list][install <filename>|save <directory>|delete <license>]`
2021-06-16 16:58:21 +03:00
vmaneagit
a05a95433d
Update nodelicense
...
Fixing syntax mismatch between usage output and man page SYNOPSIS
Updated line 39
"%prog <noderange> [list][install <filename>|save <directory>|delete <name>]")
2021-06-16 16:49:53 +03:00
vmaneagit
15d4247cf1
Update nodeeventlog
...
usage output doesn't have < > around noderange were as SYNOPSIS on man page does
Usage: nodeeventlog [options] noderange [clear]
SYNOPSIS: nodeeventlog [options] <noderange> [clear]
Line 40 has been updated:
usage="Usage: %prog [options] <noderange> [clear]")
2021-06-16 16:17:08 +03:00
vmaneagit
4b45c148c8
Update nodeconfig.ronn
...
Updated the Syntax mismatch between usage output and man page SYNOPSIS
Options -b settings.batch, --batch=settings.batch and
-r COMPONENT, --restoredefault=COMPONENT
were only shown as -b, --batch and -r, --restoredefault
2021-06-16 15:30:01 +03:00
vmaneagit
47a8da5ed0
Update nodeconfig
...
updated line 46:
argparser = optparse.OptionParser(usage="Usage: %prog [options] <noderange> [setting|setting=value]")
to match the man SYNOPSIS
nodeconfig [options] <noderange> [setting|setting=value]
2021-06-16 15:26:28 +03:00
Jarrod Johnson
f0693f6ee5
Correct typo in imgutil
2021-06-15 13:45:27 -04:00
Jarrod Johnson
84634afc9c
Improve imgutil brevity
...
Allow it to take only the basename and
default to likely /var/lib/confluent locations
Draft work on tab completion for imgutil.
Technically the tab completion should be in the imgutil package,
but for now bundle with server.
2021-06-15 13:30:30 -04:00
Jarrod Johnson
5621d48ffa
Fix syntax error with new check
2021-06-15 12:23:45 -04:00
Jarrod Johnson
55a4211e71
Fix imgutil volume mounting
2021-06-15 12:12:27 -04:00
vmaneagit
03b644be7f
Update confluentdbutil.ronn
...
Man page is missing part of the password option as shown under usage
from usage output:
-p PASSWORD, --password=PASSWORD
2021-06-15 17:28:30 +03:00
Jarrod Johnson
802ba9c708
Merge pull request #60 from vmaneagit/patch-61
...
Update collective.ronn
2021-06-15 09:42:48 -04:00
Jarrod Johnson
490827fe3a
Allow memory reclamation through deletion
...
When going to zram, things were solid for space reduction as
data was written, however memory could no longer be reclaimed.
It turns out that zram supports TRIM, and by telling xfs discard,
we have it do trim-on-demand. It is by default off out of performance
concerns, but I don't think that applies to a zram backed filesystem.
2021-06-15 09:36:44 -04:00
vmaneagit
85568091fa
Update collective.ronn
...
Added correction for:
"collective gencert collective delete" should be on 2 separate lines.
correction should be:
collective gencert
collective delete
2021-06-15 16:25:26 +03:00
Jarrod Johnson
2ecab0432c
Fix imageboot.sh issues for diskless boot
2021-06-15 08:58:21 -04:00
Jarrod Johnson
dee03e1359
Attempt to updateboot at end of pack
2021-06-15 08:41:33 -04:00
Jarrod Johnson
3f87696978
Fix typo in imageboot.sh script
2021-06-15 08:38:27 -04:00
Jarrod Johnson
38a4e20b9a
Fix issues around imageboot and source in functions
2021-06-15 08:31:45 -04:00
Jarrod Johnson
1d8d0699bc
Fix ability to copy profiles during pack
2021-06-15 08:11:31 -04:00
Jarrod Johnson
62ac393721
Fix imgutil profile path and osdeploy diskless layout
2021-06-15 08:00:09 -04:00
Jarrod Johnson
1d148afd70
Add sourcing of functions to dracut hook
2021-06-14 18:46:36 -04:00
Jarrod Johnson
e6550d8160
Fix use of label in profile.yaml
2021-06-14 16:55:32 -04:00
Jarrod Johnson
0079e5c437
Change imgutil packaging and pkglist path
2021-06-14 16:46:23 -04:00
Jarrod Johnson
cce2c6d6db
Add missing Release and remove stale binaries from git
2021-06-14 16:16:19 -04:00
Jarrod Johnson
e32e40f451
Correct build script typo
2021-06-14 16:14:13 -04:00
Jarrod Johnson
e50423881d
Correct spec name in imgutil build script
2021-06-14 16:12:43 -04:00
Jarrod Johnson
82b94e3ff9
Add build script for imgutil
2021-06-14 16:12:01 -04:00
Jarrod Johnson
03cb065342
Fix inconsistency with naming of profiles
2021-06-14 16:09:48 -04:00
Jarrod Johnson
cb4b8ab06f
First pass at packaging imgutil
2021-06-14 16:02:52 -04:00
Jarrod Johnson
ac2474f43e
Attempt to fixup ownership, if applicable on the output
2021-06-14 15:17:54 -04:00
Jarrod Johnson
e678ca24f9
Attempt to pull in osdeploy profile information
2021-06-14 14:59:59 -04:00
Jarrod Johnson
60aef0767c
Pull in the diskless profile content for os deploy
2021-06-14 14:38:38 -04:00
Jarrod Johnson
15f5ec9362
Rename common to 'default'
2021-06-14 14:37:40 -04:00
Jarrod Johnson
870c8255f4
Move diskless to el8-diskless
...
The code so far is EL8 specific, properly
organize it.
2021-06-14 14:36:23 -04:00
Jarrod Johnson
795645f90a
Extract boot logic from 'addons.cpio'
...
Make it easier to see and customize image boot script
behavior, leaving addons.cpio only to bring up network
and set up ssh.
2021-06-14 14:33:35 -04:00
Jarrod Johnson
99a42af907
Add zram module to stateless images
2021-06-14 14:31:57 -04:00
Jarrod Johnson
24d33256ca
Fix typo in dracut configuration
2021-06-14 13:45:44 -04:00
Jarrod Johnson
334ec3a74f
Refactor for multi-os support and improve initramfs experience
...
Organize el8 specific content to separate spaces for future
development of other OS support
Also, make the diskless initramfs a natural result of
dracut activity, so that normal rpm updates and oob driver
installs produce the expected initramfs without further
intervention.
2021-06-14 13:09:25 -04:00
Jarrod Johnson
261def8de2
Rename and refactor imgutil to separate rpm
2021-06-14 07:39:01 -04:00
Jarrod Johnson
25f65a278f
Notation on untethered option
2021-06-11 16:18:59 -04:00
Jarrod Johnson
f565030087
Switch to zram for overlay
...
Further mitigate unevictable memory penalty
for written files in stateless.
2021-06-11 16:16:17 -04:00
Jarrod Johnson
8edd2a28e4
Merge branch '3.2'
2021-06-10 18:51:56 -04:00
Jarrod Johnson
7122c17ce0
Remove pyte requirement
...
We no longer use pyte, remove the requirement.
2021-06-08 16:43:06 -04:00
Jarrod Johnson
14bb841b2d
Fix nodebmcreset partial success
...
The error handling is improved, to
catch both noderange global issues as well
as partial completions.
2021-06-08 09:13:56 -04:00
Jarrod Johnson
f5f16dac7a
Fix nodebmcreset partial success
...
The error handling is improved, to
catch both noderange global issues as well
as partial completions.
2021-06-08 09:12:33 -04:00
Jarrod Johnson
fa3220f3d1
Actually fix up the osdeploy build
...
For now, stub out the diskless profile dir, which doesn't quite
exist yet.
2021-06-04 17:45:52 -04:00
Jarrod Johnson
14bc4df92e
Fix path mistake in osdeploy build script
2021-06-04 17:33:14 -04:00
Jarrod Johnson
1645d47b73
Fix clortho
...
The suggested correection for clortho was in fact
incorrect. Revert back and cast it.
2021-06-04 17:19:19 -04:00
Jarrod Johnson
bbe9bc3e06
Constrain plugin collections to flat by default
...
When asking for a path that exceeds the plugincollection,
thten provide generic 'not found' behavior.
2021-06-04 14:48:31 -04:00
Jarrod Johnson
03a75ec67d
Error if noderange includes too many )
...
By default, pyparsing consumes only as much of the
input as matches the grammar. Tell it to consume all
of the noderange and error if there's more string than
matches our grammar.
2021-06-04 14:21:45 -04:00
Jarrod Johnson
58157b23d7
Error if noderange includes too many )
...
By default, pyparsing consumes only as much of the
input as matches the grammar. Tell it to consume all
of the noderange and error if there's more string than
matches our grammar.
2021-06-04 14:19:06 -04:00
Jarrod Johnson
269300119a
Skip newer agent behaviors with incompatible old ssh
...
The previous attempt to support older ssh failed to completely
enact old behavior when needed.
2021-06-04 13:41:47 -04:00
Jarrod Johnson
b8ddf149bd
Skip newer agent behaviors with incompatible old ssh
...
The previous attempt to support older ssh failed to completely
enact old behavior when needed.
2021-06-04 13:40:39 -04:00
Jarrod Johnson
bf158bc5aa
Prep for diskless specific profile categories
2021-06-03 18:20:47 -04:00
Jarrod Johnson
8228c345bc
Fix the build path of the stateless path
2021-06-03 18:12:18 -04:00
Jarrod Johnson
8eecd03d4b
Correct path name in build process
2021-06-03 17:50:01 -04:00
Jarrod Johnson
044ae53ae3
Add symlink for site, and placeholder for addons
...
Will need to detect the proper 'category' for
the addons link.
2021-06-03 17:20:41 -04:00
Jarrod Johnson
1a30876a2d
Begin work to package diskless support
...
First will work on the 'addons' portion of the needed
work.
2021-06-03 17:17:42 -04:00
Jarrod Johnson
e0c59cc341
Fixup c utilities and add start_root
...
The diskless will use start_root to boot the 'main' OS as a container.
2021-06-03 17:06:10 -04:00
Jarrod Johnson
93c21d4148
Commit to python3 ofr imgutil
...
The imgutil will never be supported with python2,
so we will go ahead and commit to python.
2021-06-03 16:52:22 -04:00
Jarrod Johnson
e23a88a4c3
Have resolv.conf more reliably work
...
Also, make sure it is read-only in the exec case
2021-06-03 15:47:17 -04:00
Jarrod Johnson
1289f95584
Merge branch '3.2'
2021-06-03 14:22:38 -04:00
Jarrod Johnson
db965f133e
Add a 'pack' and attempt to bind /etc/resolv.conf on exec
...
This facilitates custom manual image work
2021-06-02 17:26:46 -04:00
Jarrod Johnson
a2edf46b8a
Improve ctrl-c and other behaviors of osdeploy import
...
More reliably delete an import attempt to avoid odd behaviors.
2021-05-27 16:10:55 -04:00
Jarrod Johnson
2073926256
Improve ctrl-c and other behaviors of osdeploy import
...
More reliably delete an import attempt to avoid odd behaviors.
2021-05-27 16:10:06 -04:00
Jarrod Johnson
734e12f0f1
Amend long wait to only apply to shutdown
...
The previous 30 seconds was a good amount to
wait for everything but a graceful shutdown.
The new 5 minute wait is too long to wait to
find out a system can't turn on.
Apply the 5 minute wait only on clean shutdown
request.
2021-05-27 09:57:07 -04:00
Jarrod Johnson
deb2b98e7f
Merge pull request #59 from zhougj4/master
...
[merge-LXCA] pull request
2021-05-27 09:54:44 -04:00
Zhou Guangjun
32c84993b0
[merge-LXCA] fix problem in merge with upstream - htmlify the dict
...
Details:
Revision: d9cc888e68abe7794ade82a251c4dffe9108a014
Author: Michael Du <duxd2@LENOVO.COM >
Date: 2017/8/2 21:06:22
2021-05-27 09:58:05 +08:00
Jarrod Johnson
48ff1fd12c
Fix background mode of urlmount
...
Need the recheck thread managed in the background process if using
urlmount the normal way.
2021-05-26 18:21:06 -04:00
Jarrod Johnson
bca5d9497f
Implement failback facility
...
Treat the url list as an ordered list of priority. Occasionally check
the more preferred paths for health if they had been detected as bad.
2021-05-26 17:54:33 -04:00
Jarrod Johnson
9be039b8e5
Continue advancing the img build and exec utility
2021-05-26 15:18:01 -04:00
Jarrod Johnson
a3266ad01c
Begin next draft of genimage
...
Write in python and support sourcing
only from local directories if desired.
2021-05-25 17:27:07 -04:00
Jarrod Johnson
74e011e964
Implement node name subtitution in nodeshell
...
If wanting to ssh to 'altenative interfaces', provide -s to facilitate that
behavior, with added flexibility
compared to previous incarnations.
2021-05-25 15:46:49 -04:00
Jarrod Johnson
e1a4f370b2
Implement node name subtitution in nodeshell
...
If wanting to ssh to 'altenative interfaces', provide -s to facilitate that
behavior, with added flexibility
compared to previous incarnations.
2021-05-25 15:46:22 -04:00
Jarrod Johnson
66372bea0c
Fix hang on ctrl-e,c,p,o
...
Leave the function to
consume termdata if data
is available.
2021-05-25 14:27:37 -04:00
Jarrod Johnson
a7e7e647f3
Fix hang on ctrl-e,c,p,o
...
Leave the function to
consume termdata if data
is available.
2021-05-25 14:26:49 -04:00
Jarrod Johnson
9bdef5bbb9
Fix typo in confetty
2021-05-25 11:58:20 -04:00
Jarrod Johnson
d250a3e850
Fix typo in confetty
2021-05-25 11:58:01 -04:00
Jarrod Johnson
49b69a2e19
Explicitly provide content-length 0 on 204
...
For some vintages of eventlet+apache, this is required
to avoid invalid responses from the server.
2021-05-25 10:19:11 -04:00
Jarrod Johnson
af10e0ea91
Explicitly provide content-length 0 on 204
...
For some vintages of eventlet+apache, this is required
to avoid invalid responses from the server.
2021-05-25 10:18:13 -04:00
Jarrod Johnson
8455d30687
Disable selinux for now in a built image
2021-05-24 18:30:48 -04:00
Jarrod Johnson
903160f748
Fix the draft genimage script
2021-05-24 17:37:47 -04:00
Jarrod Johnson
52005dd6ae
Further flesh out diskless profile
2021-05-24 16:20:54 -04:00
zhougj4
7363af866f
Merge branch 'lenovo:master' into master
2021-05-24 10:46:50 +02:00
Jarrod Johnson
9ca42081de
Try to add onboot service to diskless
...
It didn't quite work yet, but commit the progress so far.
2021-05-21 17:07:32 -04:00
Jarrod Johnson
6c6b766f37
Fix non-root node to node ssh in diskless
2021-05-21 13:18:29 -04:00
Jarrod Johnson
a9b412fb81
Add node to node ssh to diskless
2021-05-21 12:41:58 -04:00
Jarrod Johnson
7c4b500e92
Add boot.img function to CoreOS
2021-05-21 11:11:01 -04:00
Jarrod Johnson
31ca787380
Register the service as needed for startup in CoreOS init
2021-05-21 07:50:50 -04:00
Jarrod Johnson
0ee67b8584
Mak the script executable for coreos bringup
2021-05-21 07:48:25 -04:00
Jarrod Johnson
19874d8032
Add coreos support to build
2021-05-21 07:32:47 -04:00
Jarrod Johnson
086def0bb8
Updates to the coreos support
...
Bring in and let ignition do the driving if the import had one.
2021-05-20 17:33:22 -04:00
Jarrod Johnson
9ac4cf0641
Rename generically to coreos
...
We should be able to support either RH or Fedora
flavors.
2021-05-19 17:28:05 -04:00
Jarrod Johnson
52b39e632d
Draft CoreOS support
...
Preliminary work toward supporting CoreOS
2021-05-19 17:12:56 -04:00
Jarrod Johnson
e167949db2
Fix comments and improve randomness
...
Since the granularity on time could cause a boot to
select the same 'random' entry, use better seed
for rand()
2021-05-19 11:05:58 -04:00
Jarrod Johnson
4ed9219704
Fix overruning the urls buffer
...
Technically, MAX_URL_PATHS would be one past the
buffer allocated, so it needs to stay under
that value.
2021-05-19 09:22:13 -04:00
Jarrod Johnson
5e1c366e0b
Publish urlmount.c as 'misc'
...
It hasn't been packaged yet, but make it public while getting
ready to package.
2021-05-19 09:03:06 -04:00
Jarrod Johnson
85c3ca8c75
Pass root password onto diskless if set
...
This honors the administrator
setting the password in the
confluent database for the diskless node.
2021-05-18 15:25:26 -04:00
Jarrod Johnson
a1ddb2323a
Have networkmanager be content with diskless
...
Create an .nmconnection file
that sastisfies networkmanager
about the interface that confluent brought up.
2021-05-18 15:24:43 -04:00
Jarrod Johnson
93d4847763
Conditionally apply agent to sshutil
...
Older OSes (RHEL7/SLES12) cannot
do ssh-keygen with an agent.
Degrade to classic confluent behavior when that happens.
2021-05-18 12:28:42 -04:00
Jarrod Johnson
efd7f1de63
Conditionally apply agent to sshutil
...
Older OSes (RHEL7/SLES12) cannot
do ssh-keygen with an agent.
Degrade to classic confluent behavior when that happens.
2021-05-18 12:28:22 -04:00
Jarrod Johnson
b283b50cc6
Improve error on nodeconfig parse errors
...
The current error is vague and confusing, clarify with
more data showing what went wrong.
2021-05-18 10:34:09 -04:00
Jarrod Johnson
b63565972b
Improve error on nodeconfig parse errors
...
The current error is vague and confusing, clarify with
more data showing what went wrong.
2021-05-18 10:33:27 -04:00
Jarrod Johnson
bb1559c8a2
Add support for Intel E810 (ice) to confluent genesis
2021-05-18 09:56:02 -04:00
Jarrod Johnson
a93a8d5cd1
Add ice driver to default diskless images
2021-05-18 09:55:27 -04:00
Jarrod Johnson
1f320af8e5
Add error message for long profile names
...
If a profile name pushes the filename field of dhcp
beyond what it can support, log an event and
do not offer a corrupted
dhcp offer packet.
2021-05-18 09:44:27 -04:00
Jarrod Johnson
af06c150b0
Add error message for long profile names
...
If a profile name pushes the filename field of dhcp
beyond what it can support, log an event and
do not offer a corrupted
dhcp offer packet.
2021-05-18 09:44:02 -04:00
Jarrod Johnson
7e14b41ef4
Fix typo in the genimage script
2021-05-14 16:40:48 -04:00
Jarrod Johnson
9c8529e9b4
Fix network interface names in confluent diskless
2021-05-14 16:36:43 -04:00
Jarrod Johnson
90daf5d5e3
Further advance the confluent diskless support
2021-05-14 15:58:57 -04:00
zhougj4
a28cd1055f
Merge branch 'lenovo:master' into master
2021-05-14 08:07:23 +02:00
Jarrod Johnson
103b398629
Begin work to use urlmount
2021-05-13 18:58:37 -04:00
Jarrod Johnson
5fea265dc8
Change CSV to have unix style line endings
...
The excel dialog has nice minimal quoting, but DOS line endings.
Unix dialog has good line endings, but excessive quoting.
Create a hybrid dialect and use it for nodesensors output.
2021-05-13 10:39:03 -04:00
Jarrod Johnson
cc9bb0533d
Change CSV to have unix style line endings
...
The excel dialog has nice minimal quoting, but DOS line endings.
Unix dialog has good line endings, but excessive quoting.
Create a hybrid dialect and use it for nodesensors output.
2021-05-13 10:38:02 -04:00
Zhou Guangjun
32db72e38f
[merge-LXCA] (138083) [ipmi] Restart Normally and Power off Normally job failed with the message Ensure that the endpoint is reachable on the network from LXCA
...
Details:
Revision: d02e5b653f764aeca44efd108acaabc8b173b482
Author: Zhou Guangjun <zhougj4@lenovo.com >
Date: 2018/10/17 17:26:39
2021-05-13 14:34:02 +08:00
Jarrod Johnson
51dece94ab
Add draft for what will be genimage
...
Still very much prototype, but put it in github
to prepare to bring it together.
2021-05-12 18:13:55 -04:00
Jarrod Johnson
689418c8f1
Merge remote-tracking branch 'lenovo/master'
2021-05-12 17:32:51 -04:00
Jarrod Johnson
b74d648e7f
Fix refactored inline command run
...
This addresses the mistake in
refactoring the inline command
shortcut
2021-05-12 13:49:06 -04:00
Jarrod Johnson
df2604291d
Fix refactored inline command run
...
This addresses the mistake in
refactoring the inline command
shortcut
2021-05-12 13:48:44 -04:00
Jarrod Johnson
9b7a40a358
Merge pull request #58 from zhougj4/master
...
[merge-LXCA] Add support for graphical consoles
2021-05-12 07:31:50 -04:00
Zhou Guangjun
9648f1c8ac
[merge-LXCA] Add support for graphical consoles
...
Details:
Revision: a0f0309ee0bc731463794da9d685fa56bc62bc6f
Author: Allan Vidal <avidal@lenovo.com >
Date: 2015/11/26 3:50:31
2021-05-12 10:49:13 +08:00
Jarrod Johnson
9f45b0ed56
Draft support for stateless images
...
Aim is to support a few modes of operation:
-tar.xz, extracted to memory (most inefficient, least dependency)
-nfs read-only (less secure, more efficient, depends on getting nfs
export just right)
-nfs image read-only (same as above, but using squashfs to make overlay
more easily happily)
-gocryptfs on nfs (this provides encryption and integrity check)
2021-05-11 17:05:12 -04:00
Jarrod Johnson
380f21853c
Merge branch 'master' into 3.2
2021-05-11 08:10:41 -04:00
Jarrod Johnson
9900d76b0c
Merge remote-tracking branch 'lenovo/master'
2021-05-11 08:09:57 -04:00
Jarrod Johnson
aa7701ea3c
More usefully indicate unfound interfaces
...
Rather than no data, provide
not found error when requesting a currently unsupported name.
2021-05-11 08:02:19 -04:00
Jarrod Johnson
3044c662ad
Merge pull request #55 from vmaneagit/patch-45
...
Update nodesupport.ronn
2021-05-11 07:59:24 -04:00
Jarrod Johnson
7e02d1d008
Merge pull request #57 from vmaneagit/patch-43
...
Update collective.ronn
2021-05-11 07:56:55 -04:00
Jarrod Johnson
f321e06e6e
Merge pull request #51 from vmaneagit/patch-49
...
Update nodersync.ronn
2021-05-11 07:50:47 -04:00
Jarrod Johnson
5c0af9ebc7
Merge pull request #50 from vmaneagit/patch-50
...
Update nodersync.ronn
2021-05-11 07:50:18 -04:00
Jarrod Johnson
c146b50b5b
Merge pull request #49 from vmaneagit/patch-51
...
Update nodereseat.ronn
2021-05-11 07:49:37 -04:00
Jarrod Johnson
cae8b2d0f8
Merge pull request #48 from vmaneagit/patch-52
...
Update noderemove.ronn
2021-05-11 07:49:24 -04:00
Jarrod Johnson
2664adefa4
Merge pull request #47 from vmaneagit/patch-53
...
Update nodepower.ronn
2021-05-11 07:49:10 -04:00
Jarrod Johnson
c5f03ee62d
Merge pull request #46 from vmaneagit/patch-54
...
Update nodelicense.ronn
2021-05-11 07:49:00 -04:00
Jarrod Johnson
a932e91b17
Merge pull request #45 from vmaneagit/patch-56
...
Update nodegroupattrib.ronn.tmpl
2021-05-11 07:48:45 -04:00
Jarrod Johnson
1c00aa3c4e
Merge pull request #44 from vmaneagit/patch-57
...
Update confetty.ronn
2021-05-11 07:48:35 -04:00
Jarrod Johnson
bd889f4c78
Merge pull request #43 from vmaneagit/patch-58
...
Update collate.ronn
2021-05-11 07:48:17 -04:00
Jarrod Johnson
409a0796a1
Merge pull request #42 from vmaneagit/patch-59
...
Update nodesupport.ronn
2021-05-11 07:48:04 -04:00
Jarrod Johnson
70ffef6b06
Merge pull request #41 from vmaneagit/patch-55
...
Update nodelicense.ronn
2021-05-11 07:47:53 -04:00
Jarrod Johnson
77a043faa6
Change apiclient to append if outputting to existing file
2021-05-05 17:45:39 -04:00
Jarrod Johnson
d69eb6ef12
Change apiclient to append if outputting to existing file
2021-05-05 17:45:04 -04:00
Jarrod Johnson
984c3044fe
Invalidate sealed token on new token
...
If a new token grant occurs, do not
retain stale token sealed, as it can be misleading.
2021-05-05 09:18:28 -04:00
Jarrod Johnson
8543129fb9
Invalidate sealed token on new token
...
If a new token grant occurs, do not
retain stale token sealed, as it can be misleading.
2021-05-05 09:17:42 -04:00
Jarrod Johnson
257edff3a7
Redo ssh certs on firstboot for SUSE
...
For whatever reason, SUSE loses the certificate during firstboot.
2021-05-03 16:47:24 -04:00
Jarrod Johnson
763feda63b
Fix missed references to old variable names
2021-05-03 15:54:39 -04:00
Jarrod Johnson
508e5b4a46
Fix suse run_remote_parts
...
Behave more consistently
2021-05-03 15:36:27 -04:00
Jarrod Johnson
7676c4fd26
Restore EL8 treatment
...
The changes caused EL8 to lose some required special treatment.
2021-05-03 15:18:33 -04:00
Jarrod Johnson
c3b954a743
Move suse15 to log like rhel
2021-05-03 14:50:04 -04:00
Jarrod Johnson
a94a341582
Fix ansible path compatibility.
2021-05-03 14:31:28 -04:00
Jarrod Johnson
08dfd55ea0
Rename variables in the ubuntu initramfs portion
2021-05-03 13:28:28 -04:00
Jarrod Johnson
cf6975ded3
Fix python2/3 handling in el8 pre.sh
2021-05-03 13:11:52 -04:00
Jarrod Johnson
d17b1d060c
Prepend confluent_ to vars and switch to explicitly requesting directory
...
The 'profile' variable notably induces dracut to be excruciatingly slow,
mitigate chance by putting confluent before apikey, mgr, and profile.
Further, it has been requested to have the scripts use same name on
server for directory moving forward. Implement this request while
allowing existing OS profiles to keep working.
2021-05-03 12:48:08 -04:00
Jarrod Johnson
fcb4b33e8e
Include stderr in the script execution logs
2021-05-03 08:57:59 -04:00
Jarrod Johnson
121e0727cf
Add Rocky linux recognition
2021-05-03 08:36:57 -04:00
Jarrod Johnson
b5b9631b3f
Correct typo in pre script
2021-04-30 16:27:16 -04:00
Jarrod Johnson
c09f96b8c9
Remove pivot_root from genesis
...
It is not used (if we did use something, it would be switch_root).
2021-04-30 16:20:58 -04:00
Jarrod Johnson
196ed31bee
Retry node api token retrieval, with message
2021-04-30 15:17:02 -04:00
Jarrod Johnson
bb05f72583
Add source_remote_parts
...
This function will enable a script to invoke multiple
pieces in same variable/function context
2021-04-30 14:33:02 -04:00
Jarrod Johnson
68b4f83627
Have firstboot script be logged better
...
Also show on screen firstboot script execution.
2021-04-30 14:08:42 -04:00
Jarrod Johnson
672bc4f754
Amend postscript logging strategy
...
This adjusts to avoid hangs in
anaconda
2021-04-30 13:38:31 -04:00
Jarrod Johnson
4df3fda8ea
Change logging/display for RH oses
...
The pre and post phases are
desirable to see both in logs and consoles.
Unfortunately, anaconda cheaps out by using communicate(), which means
the logs are unwritten until the end.
Change by using bash's redirectiors
to create a dynamically updated logfile
and tail -f that.
2021-04-30 09:39:00 -04:00
Jarrod Johnson
f32619aa3e
Allow firstboot to reboot in RH postscripts
...
Sometimes firstboot scripts want to reboot.
In such a case, start firstboot once, and if reboot prevents completion,
then next boot will updatestatus, but not run firstboot scripts and
deregister itself.
2021-04-29 09:20:24 -04:00
Jarrod Johnson
dd7b9f0244
Bump genesis version
2021-04-28 16:44:24 -04:00
Jarrod Johnson
def534e73f
Fixes for boot by DHCP and by MAC
2021-04-28 16:43:11 -04:00
Jarrod Johnson
2cb641e734
Fix PXE based on mac
...
We normally use UUID, on a broken platform with bad UUID,
user may need to use hwaddr. This was supposed to work, but
didn't. Fix it to work correctly.
2021-04-28 15:36:12 -04:00
Jarrod Johnson
ca78b664c9
Get rid of minor warning about RSAAuthentication
2021-04-28 14:06:57 -04:00
Jarrod Johnson
0e55d390e3
Fix up post output to console
2021-04-28 13:46:26 -04:00
Jarrod Johnson
002146b2f7
Try to output pre/post content to console during install
2021-04-28 13:27:34 -04:00
Jarrod Johnson
917a51a406
Error if bind to privileged port fails
2021-04-28 08:37:23 -04:00
Jarrod Johnson
d3fa08d78b
Amend syncfiles to handle directory targets better
...
Rather than using symlinks for directories, recursively recreate tree
and symlink only the non-directory
entries.
This improves mixing and matching
files and directories to target a directory.
2021-04-27 12:48:27 -04:00
Jarrod Johnson
38eb88249e
Permit wildcard in syncfiles
...
This was a supported and used feature in xCAT
syncfiles, carry it into confluent syncfiles.
2021-04-27 09:12:11 -04:00
Jarrod Johnson
c333c3eb9c
Fix missing data on XCC discovery
...
The XCC scan now calls the
imm scan to fill out the lost data.
2021-04-26 08:57:52 -04:00
Jarrod Johnson
f32a9a2f08
Rework inline command handling
...
Previously, if hotkey entry
had text data come in, it
would corrupt the state of
the client.
Minimize the corruption and request the server to pause.
2021-04-23 14:22:24 -04:00
Jarrod Johnson
f584b9bc11
Protect against binary sealed data
...
It was detected that binary sealed data
could happen. Ensure that it is str
before passing to configuration.
2021-04-23 14:17:54 -04:00
Jarrod Johnson
affbbcc89b
Fix syncfiles for el7
2021-04-23 12:27:42 -04:00
Jarrod Johnson
45cc4b7788
Add documentation syncfiles examples
...
Also, check to make sure a syncfiles has actual
work to do before triggering a greenthread and
the client to start polling.
2021-04-23 11:09:35 -04:00
Jarrod Johnson
945f108548
Fix inconsistencies between el7 and el8
...
While there are still differences, minimize
the ones that aren't for specific reasons
2021-04-23 09:08:50 -04:00
Jarrod Johnson
1f9c440525
Handle non-utf8 console data
...
Sometimes console uses non-utf8.
Fallback to cp437 when utf8 fails us.
2021-04-22 15:14:52 -04:00
Jarrod Johnson
8397c5defc
Only close datfile if datfile is a file
...
If going by filename alone, there will be
no file handle to close. Correct by not
attempting a close in such a case.
2021-04-22 13:55:10 -04:00
Jarrod Johnson
b7af6b5c27
Add model name to discovery info
...
Sometimes the model name is
useful criteria for evaluating systems,
and the model number isn't
quite that handy.
For XCC, we can provide this data too. Provide it in xcc scan
method and then offer it up to clients.
2021-04-22 13:38:51 -04:00
Jarrod Johnson
c38aac88df
Avoid overwriting customized installdisk or partitioning
2021-04-22 12:12:58 -04:00
Jarrod Johnson
6d1348f5fa
Add pre.d to EL8 profiles
2021-04-22 12:08:25 -04:00
Jarrod Johnson
c05f18d865
Remove abortive custom names for pre.sh.custom
2021-04-22 11:48:05 -04:00
Jarrod Johnson
bf00c75f43
Specify supported protocols to be confluent.console
...
Eventlet will return no supported protocols if
none are specified. Firefox doesn't care, but
chrome rejects such a reply.
2021-04-22 07:44:18 -04:00
Jarrod Johnson
2e04647c95
Add xz to confluent genesis
...
xz provides better compression than gzip, handy
to have as an option.
2021-04-21 16:59:33 -04:00
Jarrod Johnson
479ddd582e
Induce python2 to unicode
...
eventlet will treat str as binary,
correct by forcing unicode.
For python3, it is a no-op, but
python2 needs it to pass the 'text_type' check in eventlet.
2021-04-21 15:33:27 -04:00
Jarrod Johnson
d82690f0d9
Fix python3-ism
...
python2 doesn't understand how to return
an iterator from within an iterator.
2021-04-21 13:31:11 -04:00
Jarrod Johnson
34cfd99fd8
Periodic reassimilation
...
Have leader periodically try to
assimilate offline members.
This will recover from some scenarios
where a rogue non-quorum collective
or a stray non-collective state
persists.
2021-04-21 10:30:54 -04:00
Jarrod Johnson
9009f63b2d
Implement websocket based terminal access
2021-04-20 15:49:07 -04:00
Jarrod Johnson
ab6bf82da6
Begin draft work to support websocket
...
First use case will be consoles.
Then we can consider the async case
for smoother async operation as well
though that is less critical.
2021-04-19 17:04:26 -04:00
Jarrod Johnson
0fae615756
Have nodediscover properly set exitcode
...
It was not propogating error to the caller in script context
2021-04-19 08:58:08 -04:00
Jarrod Johnson
37dca72579
Allow managercandidates to limit switch interrogation
...
If a switch is a node and has denoted allowed managers,
do not interrogate that switch if this member is not
permitted.
2021-04-16 14:19:51 -04:00
Jarrod Johnson
1aea406852
Restore error handling to SNMP
...
Properly carry and reconstitute exceptions
used to drive the specific errors.
2021-04-16 14:09:44 -04:00
Jarrod Johnson
374b87e2d7
Offload macmap SNMP activity to an auxillary process
...
This doesn't make the code more efficient, but it
keeps it from slowing down the main process
and allows it to leverage an additional core
to do the work.
Still needs work to restore the error reporting.
2021-04-15 17:22:15 -04:00
Jarrod Johnson
3469c8ab2b
Fix affluent communication
...
Affluent would hang on error, particularly
certificate problem. Fix by catching and being
explicit about the error, and generically
fixing the arguments for 'get' to have
the inntended timeout.
2021-04-14 15:51:18 -04:00
Jarrod Johnson
e08ca5fb7e
Have confetty show correct trace more easily
...
In some scenarios, the quitconfetty will overwrite the
stack trace.
Get the relevant trace before trying the quitconfetty, then print
the saved trace.
2021-04-14 10:10:44 -04:00
Jarrod Johnson
23dffe882e
Do a keepalive to track idle, but alive collective
...
When relaying a command, use a keepalive to indicate that
the connection is alive, just not sending data.
2021-04-09 17:27:00 -04:00
Jarrod Johnson
b6fb91b228
Have follower thread avoid killing self
2021-04-09 15:36:35 -04:00
Jarrod Johnson
ac4d1fa8e1
More collective startup/recovery cleanup
...
If assimilated during startup, stop doing startup.
2021-04-09 13:32:32 -04:00
Jarrod Johnson
1d902c4d90
Backoff if trying to find a currently live server
2021-04-09 11:49:56 -04:00
Jarrod Johnson
f11687998f
Fix typo in cosmetic message
2021-04-08 20:48:46 -04:00
Jarrod Johnson
153956b2cd
Further refine collective startup behavior
2021-04-08 18:26:59 -04:00
Jarrod Johnson
64d5081be3
Fix collective retry logic
...
It erroneously treated a thread as a bool, need
to check if None to know if it is scheduled.
2021-04-08 15:56:33 -04:00
Jarrod Johnson
8d16b412ae
Further refine collective start process
...
Serialize assimilation, do not induce activity that may have been
aborted by an earlier chain.
Further, accelerate initial startup by making potential timeouts
occur concurrently, rather than sequentially.
2021-04-08 13:44:20 -04:00
Jarrod Johnson
c5ec34d5a5
Actually hook in new assimilation behavior
...
Additionally, use collective member name as
tiebreaker if txcount and follower count is
identical.
2021-04-07 13:15:36 -04:00
Jarrod Johnson
6a4086679c
Rework collective assimilation logic
...
Followers will only depart if their current leader
is assimilated.
Leaders with quorum will refuse assimilation and instruct
member trying to assimilate to join it.
Leaders without quorum will either follow the assimilation leader
or refuse, depending on who has highest transaction count, and if
a tie, which has the larger set of followers
2021-04-07 13:05:02 -04:00
Jarrod Johnson
3d2422ded3
Coerce iterator to list for length check
2021-04-07 08:40:18 -04:00
Jarrod Johnson
7d0f47bbcb
Correct syntax for measuring collective size
2021-04-07 08:31:29 -04:00
Jarrod Johnson
9a779f2dd2
Improve collective startup behavior
...
Have confluent focus on establishing quorum before
initiating headless console and discovery activity.
2021-04-07 07:58:10 -04:00
Jarrod Johnson
4724d9e45b
Eliminate one source of stale data leaking
...
If nodes are swapped, then clearing the attributes
did not clear some mappings.
2021-04-06 18:19:13 -04:00
Jarrod Johnson
8404ddf3a2
Fix import of sortutil
2021-04-06 10:43:37 -04:00
Jarrod Johnson
872a13589c
Sort collective members
...
Improve consistency of output by sorting the output.
2021-04-06 09:35:34 -04:00
Jarrod Johnson
433a22e6e7
Finish rename of variable
2021-04-06 08:22:51 -04:00
Jarrod Johnson
1f238a3f8b
Fix variable that was not declared after refactor
2021-04-06 08:20:10 -04:00
Jarrod Johnson
670fc87e1d
Address several collective issues
...
When a stream has been deleted from cfgstreams, contiue exception
handling since the desired result.
For connections to a manager, institute a 15 second socket level timeout.
This avoids an abandoned server conversation from locking a colleective member startup.
When scheduling the failover check, first block any redundant attempts to schedule.
Wrap the collective startup in an exception
handler, so that a retry is
more well guaranteed.
2021-04-05 16:39:41 -04:00
Jarrod Johnson
3be3d4a588
Always send null byte out stdout
...
If the buffer doesn't exist or if it does,
either way make sure to write out a null
byte to let the caller know that it
is done.
2021-04-02 14:01:25 -04:00
Jarrod Johnson
14d13749ad
Guarantee consoleserver init before use
...
During a restart, a client may aggressively trigger
console reconnect before the consoleserver starts.
Make sure that the daemon is running and globals
ready before API could possible ask for console.
2021-04-02 13:57:45 -04:00
Jarrod Johnson
92a10ede11
Pull in tmt fixes from Martin Hughes fork
...
Fix SGR being applied and fix default fg/bg color situation.
2021-04-02 13:13:19 -04:00
Jarrod Johnson
d9051e80d3
Fix console buffer interaction
...
In some environments, the read method on the pipe object fails
to work, os.read should be the same, but seems to work better and
is happy to perform the opportunisticly large reads I want.
2021-04-02 12:29:41 -04:00
Jarrod Johnson
2d43fac1b5
Add a contingency for temporary read error
2021-04-02 11:54:38 -04:00
Jarrod Johnson
4a0d419f85
Improve behavior on python2 systems
2021-04-02 11:47:14 -04:00
Jarrod Johnson
7fb5f9756d
Explictly request newer C version
...
C99 is needed for tmt, might as well go GNU11
2021-04-02 10:36:56 -04:00
Jarrod Johnson
b482410072
Have server pull in vtbufferd
2021-04-01 17:31:52 -04:00
Jarrod Johnson
4d47f58e53
Make tar creation less verbose
2021-04-01 17:22:10 -04:00
Jarrod Johnson
c5bb55e8f2
Fix name in the rpm spec
2021-04-01 17:21:33 -04:00
Jarrod Johnson
2320718618
Fix build issues with the vtbuffer daemon
2021-04-01 17:17:34 -04:00
Jarrod Johnson
d64b3e6a4e
Fix up build process for vtbufferd
2021-04-01 17:15:35 -04:00
Jarrod Johnson
637e0f0a81
Draft RPM spec for vtbufferd component
2021-04-01 16:44:40 -04:00
Jarrod Johnson
e26218eb92
Implement SGR recreation and fix ECH
...
The tmt library had a bug with ECH with cursor position.
Flesh out the dump_vt to translate the attributes to VT codes
for the buffer to look the same as the attributes indicate.
2021-04-01 16:28:28 -04:00
Jarrod Johnson
03eb026b61
Improve VT dump behavior
...
Ensure the resultant dump has consistently long lines. This
will matter when we start rendering attributes on blanks.
Additionally, simplify the code
significantly taking advantage
of first loop.
2021-04-01 12:51:32 -04:00
Jarrod Johnson
beab6a3c02
Migrate VT buffering to c
...
C implementation to improve memory and cpu utilization.
Forked off to further move the work off the main process.
Still needs attribute rendition and packaging before merging to main
branch.
2021-03-31 17:28:26 -04:00
Jarrod Johnson
5e0ebce300
Add logs for offering boot
...
Make it easier to debug a failure
to boot due to misconfiguration.
2021-03-29 16:58:03 -04:00
Jarrod Johnson
85c4ec5654
Skip fqdn in cert generation
...
There are scenarios where getqfdn can induce a hang.
The certificate having FQDN isn't that useful anyway,
since confluent never uses it and external use of it
may need more carefully crafted certificate to have
a good chance of matching it anyway.
Also, the chances a user would import our cert as a
CA to something like a browser are low.
2021-03-29 14:29:42 -04:00
Jarrod Johnson
7957a6abd4
Add invoking syncfile activity to the default profiles
2021-03-29 14:03:11 -04:00
Jarrod Johnson
39a7d8d131
Move the syncfileclient into scripts
...
This does not need to be in initramfs,
so do not grow addons.cpio.
2021-03-29 13:55:44 -04:00
Jarrod Johnson
54c5bf128e
Finish syncflieclient
2021-03-29 13:50:07 -04:00
Jarrod Johnson
ca0c592044
Commence work on syncfileclient
...
This will be used to wait for deployer
to finish, then execute handlers
for 'MERGE' entries.
2021-03-25 16:55:56 -04:00
Jarrod Johnson
829d1316b2
Remove 'APPEND:'
...
If possible, we wannt to stick to 'MERGE', since the handlers
are designed to make that
idempotent for repeat.
APPEND: would not be idempotent...
2021-03-25 12:37:21 -04:00
Jarrod Johnson
c2c1c85651
Increase verbosity of syncfiles
2021-03-25 08:59:16 -04:00
Jarrod Johnson
c5833f1417
Reserve some characters for special syntax
...
May need to modify some behaviors in future, provide
a healthy supply of reserved characters toward that end.
2021-03-25 08:57:48 -04:00
Jarrod Johnson
07ae3593c3
Syncfiles fixes
2021-03-24 17:33:26 -04:00
Jarrod Johnson
8ab35b11cd
Add -a notation about syncfiles relevance
2021-03-24 16:01:48 -04:00
Jarrod Johnson
35ef6170ba
Implement syncfiles server side
2021-03-24 16:00:54 -04:00
Jarrod Johnson
d650f11255
Begin work on syncfiles concept for confluent
2021-03-23 17:32:45 -04:00
Jarrod Johnson
b4926b39fe
Fix CA in installer env in ubuntu
2021-03-22 12:16:32 -04:00
Jarrod Johnson
53ccee734f
Add more lvm dependencies
2021-03-22 11:00:21 -04:00
Jarrod Johnson
fe9d0e84d3
Ubuntu firstboot ansible and scripts directory support
2021-03-22 10:36:14 -04:00
Jarrod Johnson
4e7e12f90f
Add ansible to ubuntu post and scripts/post.d
2021-03-22 10:35:11 -04:00
Jarrod Johnson
8ae68cd34a
Merge pull request #40 from vmaneagit/patch-60
...
Update nodesetboot.ronn
2021-03-22 08:05:59 -04:00
vmaneagit
607d69b1e1
Update nodesetboot.ronn
...
Changes made for Option chapter:
- updated -m command
- added -h command
Description chapter was updated
2021-03-22 13:47:04 +02:00
vmaneagit
75e13239c2
Update nodesupport.ronn
2021-03-22 13:40:49 +02:00
vmaneagit
c88d8d047a
Update collate.ronn
...
OPTIONS chapter has been updated to match the output from confetty -h
2021-03-22 13:38:13 +02:00
vmaneagit
304fbba2bb
Update confetty.ronn
...
OPTIONS chapter has been updated to match the output from confetty -h
2021-03-22 13:31:54 +02:00
vmaneagit
d2f35ccbde
Update nodegroupattrib.ronn.tmpl
...
Changes made for Option chapter:
- added -h command
2021-03-22 12:40:46 +02:00
vmaneagit
273c32d4a7
Update nodelicense.ronn
...
Changes made for Option chapter:
- updated -m command
- added -h command
Update typo in Description chapter: "Using delete will remove the specified license name from th eBMC."
2021-03-22 12:38:55 +02:00
vmaneagit
1616999cb9
Update nodelicense.ronn
...
Changes made for Option chapter:
- updated -m command
- added -h command
2021-03-22 12:36:24 +02:00
vmaneagit
195db5c6e8
Update nodepower.ronn
...
Changes made for Option chapter:
- added -m command
2021-03-22 12:34:23 +02:00
vmaneagit
fa0e216c7e
Update noderemove.ronn
...
Changes made for Option chapter:
- updated -m command
- added -h command
2021-03-22 12:29:35 +02:00
vmaneagit
1605169b92
Update nodereseat.ronn
...
Changes made for Option chapter:
- updated -m command
- added -h command
2021-03-22 12:28:17 +02:00
vmaneagit
7fa0016536
Update nodersync.ronn
...
Changes made for Option chapter:
- updated -m command
- added -h command
2021-03-22 12:26:51 +02:00
vmaneagit
b4d26c3c4e
Update nodersync.ronn
...
Changes made for Option chapter:
- updated -m command
- added -h command
2021-03-22 12:21:28 +02:00
vmaneagit
7470d9b55c
Update nodesupport.ronn
...
Changes made for Option chapter:
- updated -m command
- added -h command
2021-03-22 12:06:57 +02:00
vmaneagit
aaf1fb8c94
Update collective.ronn
...
Changes made for Option chapter:
- added -h command
2021-03-22 12:01:24 +02:00
Jarrod Johnson
50e62c7b73
Bump release to pick up new lvm content
2021-03-19 19:24:31 -04:00
Jarrod Johnson
363eff831f
Add devicemapper modules to genesis
...
This enables at least common lvm access for rescue purposes.
2021-03-19 18:52:18 -04:00
Jarrod Johnson
31820ddfd7
Fix ansible support of suse15
...
Must install python3 and we must have the python apiclient
intact with appropriate CA certs to proceed
2021-03-19 16:07:59 -04:00
Jarrod Johnson
153749aebe
Change ssh duringe suse 15 post
...
Have port 22 be inside the target environment, and
2222 point to the installer. This improves ansible
experience.
2021-03-19 15:13:37 -04:00
Jarrod Johnson
7c5dd85e74
Copy in ansible to genesis profiles
...
Make it clearer that there could be ansible support in genesis
2021-03-19 13:09:21 -04:00
Jarrod Johnson
7a5bf8a06f
Merge pull request #23 from vmaneagit/patch-25
...
Update noderun.ronn
2021-03-19 11:04:28 -04:00
Jarrod Johnson
9c05057deb
Merge pull request #24 from vmaneagit/patch-26
...
Update nodemedia.ronn
2021-03-19 11:04:22 -04:00
Jarrod Johnson
8b1902601f
Merge pull request #28 from vmaneagit/patch-30
...
Update nodepower.ronn
2021-03-19 11:04:17 -04:00
Jarrod Johnson
d94d9d0a78
Merge pull request #32 from vmaneagit/patch-35
...
Update nodefirmware.ronn
2021-03-19 11:04:09 -04:00
Jarrod Johnson
457b0851c9
Merge pull request #33 from vmaneagit/patch-36
...
Update nodeeventlog.ronn
2021-03-19 11:04:05 -04:00
Jarrod Johnson
d2cae9faca
Merge pull request #34 from vmaneagit/patch-37
...
Update nodedeploy.ronn
2021-03-19 11:02:24 -04:00
Jarrod Johnson
e27739eafd
Merge pull request #37 from vmaneagit/patch-40
...
Update nodebmcreset.ronn
2021-03-19 11:02:16 -04:00
Jarrod Johnson
874302537d
Merge pull request #36 from vmaneagit/patch-39
...
Update nodeboot.ronn
2021-03-19 11:01:56 -04:00
Jarrod Johnson
cd3b67d4cc
Merge pull request #38 from vmaneagit/patch-41
...
Update nodeattrib.ronn.tmpl
2021-03-19 11:01:41 -04:00
Jarrod Johnson
7aacac2fb7
Merge pull request #39 from vmaneagit/patch-42
...
Update confluentdbutil.ronn
2021-03-19 11:01:27 -04:00
Jarrod Johnson
a69fb3fec3
Merge pull request #35 from vmaneagit/patch-38
...
Update nodeconfig.ronn
2021-03-19 11:01:13 -04:00
Jarrod Johnson
2d9cbe4f33
Merge pull request #22 from vmaneagit/patch-24
...
Update nodesupport
2021-03-19 11:00:57 -04:00
vmaneagit
e33ed0afc8
Update confluentdbutil.ronn
...
Changes made for Option chapter:
- added -h command
2021-03-19 16:55:09 +02:00
vmaneagit
ace6544444
Update nodeattrib.ronn.tmpl
...
Changes made for Option chapter:
- updated -m command
- added -h command
2021-03-19 16:50:59 +02:00
vmaneagit
1468c56e1f
Update nodebmcreset.ronn
...
Changes made for Option chapter:
- updated -m command
- added -h command
2021-03-19 16:48:40 +02:00
vmaneagit
b36756ebbc
Update nodeboot.ronn
...
Changes made for Option chapter:
- updated -m command
- added -h command
Synopsis chapter was reduced to single line
2021-03-19 15:28:33 +02:00
vmaneagit
a8f378deb7
Update nodeconfig.ronn
...
Changes made for Option chapter:
- updated -m command
- added -h command
Synopsis chapter was reduced to single line
2021-03-19 15:22:14 +02:00
vmaneagit
cb4e53c459
Update nodedeploy.ronn
...
Changes made for Option chapter:
- updated -m command
- added -h command
Synopsis chapter was reduced to single line
2021-03-19 15:20:08 +02:00
vmaneagit
3e0b283593
Update nodeeventlog.ronn
...
Changes made for Option chapter:
- updated -m command
- added -h command
Synopsis chapter was reduced to single line
2021-03-19 15:17:41 +02:00
vmaneagit
3b4e9fd2e4
Update nodefirmware.ronn
...
Changes made for Option chapter:
- updated -m command
- added -h command
Synopsis chapter was reduced to the same line as the usage:
nodefirmware <noderange> [list][update [--backup <file>]]|[<components>]
2021-03-19 15:06:14 +02:00
vmaneagit
6af6195798
Update nodepower.ronn
...
Changes made for Option chapter:
- added -h command
2021-03-19 14:22:47 +02:00
vmaneagit
a8d1f484b5
Update nodemedia.ronn
...
Changes made for Option chapter:
- added -h command
- removed -c command
2021-03-19 13:17:30 +02:00
vmaneagit
619c60533d
Update noderun.ronn
...
Changes made for Option chapter:
- added -h command
- updated -m command
2021-03-19 13:13:03 +02:00
vmaneagit
c6fd760006
Update nodesupport
...
Updated line 119 with to show "<filename or directory>"
2021-03-19 11:49:46 +02:00
Jarrod Johnson
03f88c6e3e
Swap ssh during post phase to installed image
...
Preserve installer access on 2222
This enables easier ansible usage.
2021-03-18 15:53:30 -04:00
Jarrod Johnson
697b33ae80
Put a lower bound on autocons geometry
...
If some glitch happens during the read, do not end up with
absurdly low geometry.
2021-03-18 15:48:25 -04:00
Jarrod Johnson
79ef1c4811
Correct typo in functions update
2021-03-18 14:58:53 -04:00
Jarrod Johnson
f442e949aa
Add firstboot/post ansible play support to SUSE15
2021-03-18 14:37:54 -04:00
Jarrod Johnson
8050d3f69a
Add playbook examples for default genesis
2021-03-18 14:30:18 -04:00
Jarrod Johnson
66efa1da5c
Implement remote config for EL8
2021-03-18 14:12:19 -04:00
Jarrod Johnson
df97e808c6
Wire up client retrieval of remoteconfig
...
remoteconfig can now watch for completion and return
data to client
2021-03-17 17:46:27 -04:00
Jarrod Johnson
98d14344ce
Have runansible complete execution
...
It now completes runs and stores results for retrieval by deploying node.
2021-03-17 16:54:37 -04:00
Jarrod Johnson
a149b0bcd0
Merge branch 'master' into ansibleplay
2021-03-17 10:25:57 -04:00
Jarrod Johnson
0be1e350e9
Merge pull request #21 from vmaneagit/patch-23
...
Update stats
2021-03-17 10:24:41 -04:00
Jarrod Johnson
4818bd57bb
Advance state of runansible
...
Begin work to wire the results back to the supervisor and ultimately
back to the node affected.
2021-03-16 17:19:23 -04:00
Jarrod Johnson
7763327a63
Skip confluent import on exec
...
In main context, we don't need
sshutil, and python path is not
cooperative, so just skip it.
2021-03-16 16:23:27 -04:00
Jarrod Johnson
dac957364f
Merge branch 'master' into ansibleplay
2021-03-16 14:54:53 -04:00
Jarrod Johnson
528dd4c3e8
Merge branch '3.1'
2021-03-16 14:54:42 -04:00
Jarrod Johnson
e40c362743
Fix network configuration changes through collective
2021-03-16 14:54:26 -04:00
Jarrod Johnson
7fdb4dccca
Fix network configuration changes through collective
2021-03-16 14:53:55 -04:00
Jarrod Johnson
a3c8c305c1
Add ansible supervisory code
2021-03-16 14:19:44 -04:00
Jarrod Johnson
aeb1b704b3
Add mechanism to supply data from argv
...
Some POST calls may want body from CLI, make this
easier by no longer requiring a file to do so.
2021-03-16 11:18:46 -04:00
Jarrod Johnson
f2cb6ea535
Merge branch 'master' into ansibleplay
2021-03-16 10:46:54 -04:00
Jarrod Johnson
5a81279b9d
Fix servicedata fetch
...
In the new framework with
filehandle passing, the provided
callback must accept a data
argument. get_diags can't
actually use it, but does have
to accept a token value.
2021-03-15 16:45:43 -04:00
vmaneagit
9954bf5b51
Update stats
...
Updated stats script with lines 40-41
Added:
if gui and mpl.get_backend() == 'agg':
sys.stderr.write('Error: No GUI backend available and -g specified!\n')
2021-03-15 13:57:29 +02:00
Jarrod Johnson
309ea00f10
Merge branch 'master' into ansibleplay
2021-03-13 12:54:01 -05:00
Jarrod Johnson
cafbc1d1c2
Have tty2 also run a shell
...
Some may find switching VTs to be more intuitive
than tmux session management. Provide one extra
on tty2 for such a scenario.
2021-03-13 12:50:44 -05:00
Jarrod Johnson
797e197bc7
Have tmux keep reattaching
...
If someone accidentally detaches, then intervene and
reattach.
2021-03-13 12:50:37 -05:00
Jarrod Johnson
19d4a3a83f
Have autocons attempt sizing of serial console
...
If a terminal is open during autocons, that terminal
will be the size of the console.
Otherwise, fallback to 100x31.
2021-03-13 12:50:21 -05:00
Jarrod Johnson
df328d6812
Have tty2 also run a shell
...
Some may find switching VTs to be more intuitive
than tmux session management. Provide one extra
on tty2 for such a scenario.
2021-03-13 12:49:26 -05:00
Jarrod Johnson
7da0dfa0bb
Have tmux keep reattaching
...
If someone accidentally detaches, then intervene and
reattach.
2021-03-13 12:47:48 -05:00
Jarrod Johnson
d3a699a8fb
Have autocons attempt sizing of serial console
...
If a terminal is open during autocons, that terminal
will be the size of the console.
Otherwise, fallback to 100x31.
2021-03-13 12:33:53 -05:00
Jarrod Johnson
82598d02d8
Merge branch 'master' into ansibleplay
2021-03-12 13:56:02 -05:00
Jarrod Johnson
874947076d
Fix local console behavior in genesis
...
This will have the vga console be less concerning.
2021-03-12 13:55:33 -05:00
Jarrod Johnson
8032ea36be
Fix local console behavior in genesis
...
This will have the vga console be less concerning.
2021-03-12 13:55:14 -05:00
Jarrod Johnson
8ad130e14c
Fix local console behavior in genesis
...
This will have the vga console be less concerning.
2021-03-12 13:54:36 -05:00
Jarrod Johnson
ffe0754dd9
Fix typo in confluent profile.yaml
...
The quiet argument was missed due to typo in parameter name.
2021-03-12 12:44:19 -05:00
Jarrod Johnson
5aa6fbc019
Fix typo in confluent profile.yaml
...
The quiet argument was missed due to typo in parameter name.
2021-03-12 12:42:57 -05:00
Jarrod Johnson
7026fdfa3a
WIP change to enhance selfservice api for ansible
...
Begin work on extending selfservice to allow nodes
to request the deployer run ansible plays.
2021-03-12 12:23:58 -05:00
Jarrod Johnson
9dbecd4c95
Merge branch 'master' into ansibleplay
2021-03-12 12:23:48 -05:00
Jarrod Johnson
d85219d5fa
Merge branch 'master' of github.com:lenovo/confluent
2021-03-12 12:22:20 -05:00
Jarrod Johnson
bbb8e50c3e
Fix configbmc gateway check
...
It erroneously linked to prefix to check gateway or not.
2021-03-11 16:28:01 -05:00
Jarrod Johnson
26782811d6
Fix configbmc gateway check
...
It erroneously linked to prefix to check gateway or not.
2021-03-11 16:27:17 -05:00
Jarrod Johnson
e38dbc4470
Pull in the automation key into default profiles
2021-03-10 15:41:01 -05:00
Jarrod Johnson
a26624a614
Use ssh-agent to store keys
...
Also add the 'automation' key for ansible to
take advantage of.
2021-03-10 15:41:01 -05:00
Jarrod Johnson
4f246e6a41
Fix compatibility with some switch configurations
...
While some implementations mess up portid and need portdescr instead, others are
just the opposite.
Tolerate match either by description or name.
2021-03-10 13:41:59 -05:00
Jarrod Johnson
c53e758170
Workaround non-cisco switch crash
...
Querying Cisco MIB on certain
firmware levels of non-cisco switches
causes a crash. Tolerate and
wait a bit to give SNMP a chance to restart.
2021-03-10 13:41:52 -05:00
Jarrod Johnson
1a7c238b54
Handle malformed json data more gracefully
2021-03-10 13:41:45 -05:00
Jarrod Johnson
6a88f35fc2
Fix compatibility with some switch configurations
...
While some implementations mess up portid and need portdescr instead, others are
just the opposite.
Tolerate match either by description or name.
2021-03-10 13:40:47 -05:00
Jarrod Johnson
7a27fba94b
Workaround non-cisco switch crash
...
Querying Cisco MIB on certain
firmware levels of non-cisco switches
causes a crash. Tolerate and
wait a bit to give SNMP a chance to restart.
2021-03-10 09:51:05 -05:00
Jarrod Johnson
94a4a7e20b
Fix missing exit code in nomededia
...
nodemedia was not setting return code on exit properly.
2021-03-08 08:01:30 -05:00
Jarrod Johnson
2a87c32800
Handle malformed json data more gracefully
2021-03-08 02:55:58 -05:00
Jarrod Johnson
d99bc37ed3
Fix missing exit code in nomededia
...
nodemedia was not setting return code on exit properly.
2021-03-08 08:01:19 -05:00
Jarrod Johnson
2c40d2fd0d
Merge pull request #14 from vmaneagit/patch-22
...
Update nodesupport.ronn
2021-03-08 07:49:13 -05:00
Jarrod Johnson
611927d2ff
Merge pull request #15 from vmaneagit/patch-16
...
Update nodelicense.ronn
2021-03-08 07:49:03 -05:00
Jarrod Johnson
eb9ae61e75
Merge pull request #16 from vmaneagit/patch-17
...
Update noderemove.ronn
2021-03-08 07:48:51 -05:00
Jarrod Johnson
4ae102018a
Merge pull request #17 from vmaneagit/patch-18
...
Update nodereseat.ronn
2021-03-08 07:48:42 -05:00
Jarrod Johnson
4f01545328
Merge pull request #18 from vmaneagit/patch-19
...
Update nodersync.ronn
2021-03-08 07:48:25 -05:00
Jarrod Johnson
762fb8259d
Merge pull request #19 from vmaneagit/patch-20
...
Update noderun.ronn
2021-03-08 07:48:00 -05:00
Jarrod Johnson
2ca146c1aa
Merge pull request #20 from vmaneagit/patch-21
...
Update nodesetboot.ronn
2021-03-08 07:47:38 -05:00
vmaneagit
16f40efb69
Update nodesupport.ronn
...
OPTIONS section has been added to match the output from nodesupport -h
2021-03-08 10:46:37 +02:00
vmaneagit
a51a428761
Update nodesetboot.ronn
...
OPTIONS section has been updated to match the output from nodesetboot -h
2021-03-08 10:30:21 +02:00
vmaneagit
a5261cc1da
Update noderun.ronn
...
OPTIONS section has been added to match the output from noderun -h
2021-03-08 10:23:47 +02:00
vmaneagit
c8166b7cce
Update nodersync.ronn
...
OPTIONS section has updated to match the output from nodersync -h
2021-03-08 10:14:17 +02:00
vmaneagit
a11317c994
Update nodereseat.ronn
...
OPTIONS section has been added to match the output from nodereseat -h
2021-03-08 10:06:08 +02:00
vmaneagit
279f622026
Update noderemove.ronn
...
OPTIONS section has been updated to match the output from noderemove -h
2021-03-08 09:58:33 +02:00
vmaneagit
32fa07d9ce
Update nodelicense.ronn
...
OPTIONS section has been addeed to match the output from nodelicense -h
2021-03-08 09:51:42 +02:00
Jarrod Johnson
c9157b90eb
Close other places that may be false negative
...
Have checks for neightable be preceeded by an attempt to refresh,
to mitigate false negatives.
2021-03-05 13:15:37 -05:00
Jarrod Johnson
2e63ff3aca
Close other places that may be false negative
...
Have checks for neightable be preceeded by an attempt to refresh,
to mitigate false negatives.
2021-03-05 13:14:41 -05:00
Jarrod Johnson
5d0423c38b
Attempt refresh of neigh table on miss
...
When an address is new it may not be in the last
captured neighbor table. Induce refresh before deciding
that neighbor is unavailable.
2021-03-05 13:09:54 -05:00
Jarrod Johnson
e3c17491e5
Attempt refresh of neigh table on miss
...
When an address is new it may not be in the last
captured neighbor table. Induce refresh before deciding
that neighbor is unavailable.
2021-03-05 13:08:25 -05:00
Jarrod Johnson
da7b7c8923
Add a script to filter passwd/shadow/group for replication
2021-03-05 10:52:25 -05:00
Jarrod Johnson
5861af799c
Merge pull request #13 from vmaneagit/patch-13
...
Update nodegroupattrib.ronn.tmpl
2021-03-05 09:21:33 -05:00
Jarrod Johnson
2b0353c771
Merge pull request #12 from vmaneagit/patch-12
...
Update nodefirmware.ronn
2021-03-05 09:21:16 -05:00
Jarrod Johnson
bc6c3c5e68
Merge pull request #11 from vmaneagit/patch-11
...
Update nodeeventlog.ronn
2021-03-05 09:20:53 -05:00
Jarrod Johnson
37ec16058f
Merge pull request #10 from vmaneagit/patch-10
...
Update nodedeploy.ronn
2021-03-05 09:20:32 -05:00
Jarrod Johnson
b3efd2f31d
Merge pull request #9 from vmaneagit/patch-9
...
Update nodeconfig.ronn
2021-03-05 09:20:16 -05:00
Jarrod Johnson
357ebfca3f
Merge pull request #8 from vmaneagit/patch-8
...
Update nodeboot.ronn
2021-03-05 09:19:52 -05:00
vmaneagit
7e0cd9d709
Update nodegroupattrib.ronn.tmpl
...
OPTIONS section has been updated to match the output from nodegroupattrib -h
2021-03-05 15:56:27 +02:00
vmaneagit
ba321551e4
Update nodefirmware.ronn
...
OPTIONS section has been added to match the output from nodefirmware -h
2021-03-05 15:51:52 +02:00
vmaneagit
d96026ef5f
Update nodeeventlog.ronn
...
OPTIONS section has been added to match the output from nodeeventlog -h
2021-03-05 15:46:11 +02:00
vmaneagit
08aa667b13
Update nodedeploy.ronn
...
OPTIONS chapter has been updated to match the output from nodedeploy -h
2021-03-05 11:49:24 +02:00
vmaneagit
0cb93c4bea
Update nodeconfig.ronn
...
OPTIONS chapter has been updated to match the output from nodeconfig -h
2021-03-05 11:44:02 +02:00
vmaneagit
7b3ecc6e4f
Update nodeboot.ronn
...
OPTIONS chapter has been updated to match the output from nodeboot -h
2021-03-05 11:37:42 +02:00
Jarrod Johnson
5a5b3f9927
Correct incorrect function call on image import
2021-03-04 16:55:26 -05:00
Jarrod Johnson
4455226ee0
Merge pull request #7 from vmaneagit/patch-7
...
Update nodebmcreset.ronn
2021-03-04 16:25:36 -05:00
Jarrod Johnson
0881d74731
Merge pull request #6 from vmaneagit/patch-6
...
Update nodeattrib.ronn.tmpl
2021-03-04 16:25:26 -05:00
Jarrod Johnson
55d7191573
Merge pull request #5 from vmaneagit/patch-5
...
Update confluentdbutil.ronn
2021-03-04 16:25:19 -05:00
Jarrod Johnson
bc9d0a9d3b
Merge remote-tracking branch 'lenovo/master'
2021-03-04 14:05:48 -05:00
Jarrod Johnson
866f138652
Fix mistakes in sample mofed post script
2021-03-04 13:30:00 -05:00
vmaneagit
ee8ad66959
Update nodebmcreset.ronn
...
OPTIONS chapter has been added to match the output from nodebmcreset -h
2021-03-04 18:52:10 +02:00
vmaneagit
be0e47142b
Update nodeattrib.ronn.tmpl
...
OPTIONS chapter has been updated to match the output from nodeattrib -h
2021-03-04 18:45:29 +02:00
vmaneagit
4131f1ba4f
Update confluentdbutil.ronn
...
OPTIONS chapter has been updated to match the output from confluentdbutil -h
2021-03-04 18:36:48 +02:00
Jarrod Johnson
f2966bfeaf
Merge pull request #4 from vmaneagit/patch-4
...
Update confetty.ronn
2021-03-04 11:16:38 -05:00
Jarrod Johnson
eee6330aaf
Merge pull request #3 from vmaneagit/patch-3
...
Update collective.ronn
2021-03-04 11:15:52 -05:00
Jarrod Johnson
aa9ece529f
Merge pull request #2 from vmaneagit/patch-2
...
Update collate.ronn
2021-03-04 11:15:36 -05:00
Jarrod Johnson
865d18d367
Back off progress update on file copy
...
The output was too frenzied, cool it down to fewer
updates.
2021-03-04 11:01:17 -05:00
Jarrod Johnson
e583d34555
Fix nic index map with bonding
...
The assumption that /sys/class/net is interfaces is incorrect,
when encountering entries that are not interfaces, do not
mess up the call.
2021-03-04 10:49:23 -05:00
Jarrod Johnson
b27d07f304
Fix nic index map with bonding
...
The assumption that /sys/class/net is interfaces is incorrect,
when encountering entries that are not interfaces, do not
mess up the call.
2021-03-04 10:47:28 -05:00
vmaneagit
50e60a5a17
Update confetty.ronn
...
OPTIONS chapter has been added to match the output from confetty -h
2021-03-04 17:33:59 +02:00
vmaneagit
8bf7e045d5
Update collective.ronn
...
SYNOPSIS chapter has been updated to match the output from collective -h
2021-03-04 17:05:50 +02:00
vmaneagit
f0f4427dc3
Update collate.ronn
...
SYNOPSIS and OPTIONS chapters have been updated to match the output from collate -h
2021-03-04 16:52:30 +02:00
Jarrod Johnson
b1f1f15ba8
Fix filecopy and enhnance
...
shutil was copying from wrong
index. Stop using shutil and
bring it in, and instrument the
percentage.
2021-03-04 09:29:31 -05:00
Jarrod Johnson
09ca449eab
Fix iso import distinfo.yaml
...
If a copy method (e.g. ubuntu) is used, then distinfo.yaml is not
written. Fix by not overwriting the directory name.
2021-03-04 09:02:43 -05:00
Jarrod Johnson
d08ce9e563
Correct fd used in libarchive
...
Actually use the cloned file descriptors
2021-03-04 08:43:17 -05:00
Jarrod Johnson
ce92ea4084
Separate buffered and raw operation on filehandle
...
python and libarchive need different seek behaviors
with default file objects.
2021-03-04 08:30:05 -05:00
Jarrod Johnson
0695f8e827
Change seek method
...
The wrapper around seek would sometimes change offsets before
passing to lseek. Directly call lseek since python appears
to be making some sort of mistake in some cases.
2021-03-04 07:55:18 -05:00
Jarrod Johnson
7609a46594
Merge remote-tracking branch 'lenovo/master'
2021-03-03 14:46:51 -05:00
Jarrod Johnson
247838f70c
Redirect non-enclosure reseat to nodes
...
This allows new PSU AC cycle functionality to work.
2021-03-03 13:01:25 -05:00
Jarrod Johnson
594d419ca0
Merge pull request #1 from vmaneagit/patch-1
...
Update nodeshell.ronn
2021-03-02 15:57:09 -05:00
vmaneagit
da0c83513a
Update nodeshell.ronn
...
Updated SYNOPSIS and OPTIONS chapters
2021-03-02 22:51:48 +02:00
Jarrod Johnson
5ed0b50110
Fix non-client fallback
...
If client doesn't provide file,
then we need to open by name.
2021-03-02 15:15:54 -05:00
Jarrod Johnson
e01a7cf4fb
Merge branch 'master' into passfilehandle
2021-03-02 14:05:54 -05:00
Jarrod Johnson
ad92ab13f3
Correct mistake in nodediscover correction
2021-03-02 14:05:28 -05:00
Jarrod Johnson
236e5466cb
Merge branch 'master' into passfilehandle
2021-03-02 13:22:16 -05:00
Jarrod Johnson
cc16e58c3a
Merge branch '3.1'
2021-03-02 11:13:44 -05:00
Jarrod Johnson
0ff9d5dc7e
Merge branch 'master' into passfilehandle
2021-03-01 10:32:39 -05:00
Jarrod Johnson
95466392f9
Fix typo in confluentdbutil
...
The restore function would fail
to chown directories due to typo
2021-03-01 10:32:13 -05:00
Jarrod Johnson
b3857f8d33
Fix chained discovery of DWC SMMv2
...
SMMv2 for DWC has more ports. Make the code
not care about which port is which for checking
for matching smm fingerprints.
2021-03-01 10:32:05 -05:00
Jarrod Johnson
f176ebe4c2
Fix typo in confluentdbutil
...
The restore function would fail
to chown directories due to typo
2021-03-01 10:31:28 -05:00
Jarrod Johnson
e24852c480
Fix chained discovery of DWC SMMv2
...
SMMv2 for DWC has more ports. Make the code
not care about which port is which for checking
for matching smm fingerprints.
2021-02-27 20:53:33 -05:00
Jarrod Johnson
008089c4c0
license install through passed fd
...
Allow install of licenses that confluent cannot read.
2021-02-26 16:37:34 -05:00
Jarrod Johnson
f34e184d31
Restore libc access to sockapi
...
Cleanup went too for in python2 port.
2021-02-26 16:25:51 -05:00
Jarrod Johnson
814257fbf8
Fix leaking file descriptors
...
When passing a filehandle for update, clean it up on end
of the update/upload.
2021-02-26 16:18:58 -05:00
Jarrod Johnson
83d92ecfcc
Make file descriptor passing python2 friendly
...
python 2 did not have recvmsg/sendmsg,
so have to use ctypes to access
them through the c library.
2021-02-26 16:17:43 -05:00
Jarrod Johnson
7eb06f2722
Improve concurrency of SLP
...
During a scan, unicast TCP
interrogation of candidates
was done serially. Do this
concurrently so that poorly
behaving targets do not prolong
a scan.
2021-02-26 13:31:07 -05:00
Jarrod Johnson
0fbe39690e
Improve concurrency of SLP
...
During a scan, unicast TCP
interrogation of candidates
was done serially. Do this
concurrently so that poorly
behaving targets do not prolong
a scan.
2021-02-26 13:30:36 -05:00
Jarrod Johnson
ec2ad9861a
Improve concurrency of SLP
...
During a scan, unicast TCP
interrogation of candidates
was done serially. Do this
concurrently so that poorly
behaving targets do not prolong
a scan.
2021-02-26 12:39:13 -05:00
Jarrod Johnson
16096ad745
FD passing for firmware and media upload
...
Extend use of client side file descriptors to
media and firmmware upload.
2021-02-25 12:55:38 -05:00
Jarrod Johnson
481a70c304
Fix traceback when multiple criteria have no matches
...
When a parent criteria has no match, then the api
returns a 404 as there is no parent. Handle this
by only listing positively matched items.
2021-02-24 16:39:01 -05:00
Jarrod Johnson
facd501100
Merge branch 'master' into passfilehandle
2021-02-19 15:44:55 -05:00
Jarrod Johnson
4c6f41ffb2
Have nodeconfig error on missing attributes per node
2021-02-19 14:36:51 -05:00
Jarrod Johnson
3e93ab1966
Have OS import work for unreadable input
2021-02-18 16:33:14 -05:00
Jarrod Johnson
0b5c4f6f0f
Progress client managed filedescriptor
2021-02-18 14:58:45 -05:00
Jarrod Johnson
e8778cb992
Merge branch 'master' into passfilehandle
2021-02-18 10:57:25 -05:00
Jarrod Johnson
2fae35b2c4
Be more consistent between man page and -h
2021-02-18 10:56:37 -05:00
Jarrod Johnson
08c7bd4e42
Merge branch 'master' into passfilehandle
2021-02-18 10:52:09 -05:00
Jarrod Johnson
1a17bf8fbb
Further correct formatting discrepency
2021-02-18 10:51:30 -05:00
Jarrod Johnson
f21b0570e8
Further amend formatting discrepencies
2021-02-18 10:50:21 -05:00
Jarrod Johnson
9cac77cac7
Correct minor formatting discrepency
2021-02-18 10:49:17 -05:00
Jarrod Johnson
3831d409f5
Merge branch 'master' into passfilehandle
2021-02-18 10:48:09 -05:00
Jarrod Johnson
10fcb5fa6d
Add missing options to nodestorage man page
2021-02-18 10:35:37 -05:00
Jarrod Johnson
ff00f48e58
Add missing [options] from -h on nodestorage
2021-02-18 10:31:54 -05:00
Jarrod Johnson
225a49f05e
Merge branch 'master' into passfilehandle
2021-02-18 09:12:47 -05:00
Jarrod Johnson
d3c9c90f35
Implement simple address scanning for SLP
2021-02-18 09:04:46 -05:00
Jarrod Johnson
78592bfe2a
Merge branch 'master' into passfilehandle
2021-02-18 07:46:47 -05:00
Jarrod Johnson
1b2f5b6019
Add a misc slpscan.py
2021-02-18 07:35:11 -05:00
Jarrod Johnson
3c6511a0e7
Actually have a file handle pass
...
Rely upon python 3 for now. When the dust settles, either convert to
python 2 friendly use of ctypes, or alternatively just block using
the pass filehandle function in older python.
2021-02-17 17:04:16 -05:00
Jarrod Johnson
c525a08c17
Correct a number of mistakes in the draft commit
2021-02-17 14:34:45 -05:00
Jarrod Johnson
edaaafa059
Begin work on passing filehandles for local cli
...
This would enable files to be uploaded/downloaded
using the client filehandles, overcoming awkward
difference in file privilege between client and
server.
2021-02-17 13:54:18 -05:00
Jarrod Johnson
f16e84de32
Fix group display of crypted attributes
2021-02-12 13:32:36 -05:00
Jarrod Johnson
4c99bc142b
Bump genesis build number
2021-02-11 16:43:01 -05:00
Jarrod Johnson
8e4f5fcae6
Register sftp in genesis by default
2021-02-11 16:42:30 -05:00
Jarrod Johnson
c4d3cb409d
Also add sftp, to make ansible not complain
2021-02-11 16:41:24 -05:00
Jarrod Johnson
9eed1378f6
Enable ansible to target genesis
2021-02-11 16:39:17 -05:00
Jarrod Johnson
5f282dd40a
Attempt removing needless cache from python
...
Try to shrink image by removing duplicate
cached modules.
2021-02-11 15:39:25 -05:00
Jarrod Johnson
6e88a44399
Update name of tpm2 utility
...
pcrlist became pcrread
2021-02-11 15:37:38 -05:00
Jarrod Johnson
94e731274a
Add debug in case where ESXi has no network
...
Do away with appearance of mysterious hang
2021-02-11 11:44:53 -05:00
Jarrod Johnson
50c150f4b4
Fixup issues in esxi deployment
...
When installer boots, the autonic behavior it tries is discarded
by default. Explicitly preserve the autonic behavior into
the install phase and the installed system.
2021-02-11 11:06:02 -05:00
Jarrod Johnson
a46810ca29
Merge branch '3.1'
2021-02-08 09:39:55 -05:00
Jarrod Johnson
76cdd958ec
Add AlmaLinux recognition
...
This imports ALmaLinux
2021-02-08 09:24:46 -05:00
Jarrod Johnson
e72292f989
Update status at end of esxi install
2021-02-05 14:03:41 -05:00
Jarrod Johnson
8cf264602d
Update status at end of esxi install
2021-02-05 14:02:28 -05:00
Jarrod Johnson
a2f5b11185
Add Usb to nodesetboot
...
Particularly for redfish, this is a more specific target
2021-02-01 08:43:47 -05:00
Jarrod Johnson
ed4db91383
Add Usb to nodesetboot
...
Particularly for redfish, this is a more specific target
2021-02-01 08:42:35 -05:00
Jarrod Johnson
a9e39eab96
Fix path mistake in mofed.post script
...
mofed.post had incorrect path to mofed.tgz after
fetch. Correct the path mistake.
2021-01-28 16:50:50 -05:00
Jarrod Johnson
209430ed35
Fix path mistake in mofed.post script
...
mofed.post had incorrect path to mofed.tgz after
fetch. Correct the path mistake.
2021-01-28 16:45:39 -05:00
Jarrod Johnson
d29d2bf683
Implement workaround for install over infiniband
...
8.3 implemented networkmanager to manage the install time
networking, but didn't correctly generate infiniband
network manager configuration.
Workaround by checking for infiniband install, and
then checking if the configuration is wrong, and
adding an infiniband section if missing.
2021-01-28 13:49:10 -05:00
Jarrod Johnson
3d2b579f1a
Implement workaround for install over infiniband
...
8.3 implemented networkmanager to manage the install time
networking, but didn't correctly generate infiniband
network manager configuration.
Workaround by checking for infiniband install, and
then checking if the configuration is wrong, and
adding an infiniband section if missing.
2021-01-28 13:47:28 -05:00
Jarrod Johnson
c99ab2ac73
Improve nodestorage local documentation.
...
Include clearer information about the `diskset` facility
in particular in usage and man page.
2021-01-27 13:02:57 -05:00
Jarrod Johnson
e4591eaf57
Update nodeconfig man page with more information
2021-01-27 09:04:24 -05:00
Jarrod Johnson
695bb3757b
Merge pull request #111 from brianfinley/osdeploy-list
...
Add 'list' option to osdeploy command
2021-01-27 08:55:17 -05:00
Jarrod Johnson
4e2767ce9d
Update osdeploy
2021-01-27 08:51:03 -05:00
Brian Elliott Finley
8cdc9c9479
Add 'list' option to osdeploy command
2021-01-26 16:17:56 -06:00
Jarrod Johnson
6458eac93b
Tolerate multiple forms of 'stringy'
...
The fromstring needs to accept either, so
amend it to do so.
2021-01-22 12:43:15 -05:00
Jarrod Johnson
8df15b3a54
Tolerate different SR635/SR655 response
...
Some SR635/SR655 behave differently. Adjust by adapting as possible,
but never making an assumption about data being present.
2021-01-22 10:30:19 -05:00
Jarrod Johnson
b4f9bb78ae
Address irrelavent call to yaml.load
2021-01-21 17:48:56 -05:00
Jarrod Johnson
c8e1efecdb
Mitigate XML parse risks
...
The intended xml never has !entity tags and
thus we can reject any such XML outright and
avoid billion laughs and similar abuses.
2021-01-21 17:46:21 -05:00
Jarrod Johnson
22dc852277
Remove now redundent errors
...
printerror now searches for deeper errors,
no longer need to call it as much.
2021-01-21 16:38:35 -05:00
Jarrod Johnson
784ac5ecba
Fix gitignore to track ronn files
2021-01-21 11:52:22 -05:00
Jarrod Johnson
66c9777b3c
Add man page for stats command
2021-01-21 11:36:08 -05:00
Jarrod Johnson
dba4c40f0e
Fix collective join with empty config
...
Collective join without a key set would fail on
first try.
2021-01-21 11:19:13 -05:00
Jarrod Johnson
6997508a0c
Fallback to forced utf8 on unicodeerror
...
If LC_ALL is set to C, then unicode can be a problem.
2021-01-21 08:41:35 -05:00
Jarrod Johnson
203253e05f
Fix mispelling of exception name in confetty
2021-01-20 11:19:24 -05:00
Jarrod Johnson
edc4804146
Discover larger SMMv2 based chassis
...
SMMv2 can support 12 servers, so increase the limit.
2021-01-20 09:08:56 -05:00
Jarrod Johnson
7cfdf11bf2
Fix collective name return
...
It inadvertently would return None when
rereading from file.
2021-01-19 17:34:28 -05:00
Jarrod Johnson
a3bd21d605
Cleanup confetty/nodeconsole exit
...
Unexpected exit from nodeconsole/confetty is now
handled better for feedback and terminal usefulness
2021-01-19 16:24:36 -05:00
Jarrod Johnson
6d8474a16a
Fix node errors being swalled by print_error
...
Node specific errors were not processed, correct
that oversight.
2021-01-19 12:16:22 -05:00
Jarrod Johnson
5736c41daa
Add more data to discovery
...
Some applications may
want to source more information
from systems to help
identify things, particularly with
partially preconfigured systems.
2021-01-15 10:34:43 -05:00
Jarrod Johnson
a5c4b64c60
Have Genesis better work with BMC install
...
In a BMC install, the certificate may fail and we may
have ability to port forward 3389 but not 22.
Support normal and enhanced certificate behavior
when possible, but degrade to cert-less ssh and
also port 3389
2021-01-15 08:25:12 -05:00
Jarrod Johnson
f7a940227d
Move sixel under opportunistic import
...
Do not require sixel
to run stats.
2021-01-14 15:49:30 -05:00
Jarrod Johnson
ebf50359f0
Fix file descriptor leak by web forwarder
...
It failed to close the two sockets when a socket was
done.
2021-01-13 16:50:17 -05:00
Jarrod Johnson
5160023cc4
Update nodedeploy error message
...
We can't tell which argument was omitted,
so warn that both are needed.
2021-01-13 16:43:41 -05:00
Jarrod Johnson
a738b761b4
Fix XCC discovery with Whitley changes
2021-01-12 11:47:02 -05:00
Jarrod Johnson
d27ef81e32
Fix PXE handling of candidate managers
2021-01-11 13:33:26 -05:00
Jarrod Johnson
f5344fabaa
Correct typo in new attribute text
2021-01-11 13:13:03 -05:00
Jarrod Johnson
fa1c2f5c1e
Only offer deployment if a candidate manager
...
If candidate managers are defined, and this node is not in
that set, ignore PXE and SSDP requests to opt out of
deployment.
2021-01-08 16:32:41 -05:00
Jarrod Johnson
25c3f40559
Cache manager name
...
Since the get_myname() may be called much much more
frequently now that it is in the deployment flow,
have it cache results to save a lot of disk I/O
2021-01-08 16:30:51 -05:00
Jarrod Johnson
5812a0eef6
Have a rebalance shortly after becoming leader
...
This will handle startup and takeover when the current leader dies.
2021-01-08 16:15:11 -05:00
Jarrod Johnson
086ce9823b
First phase of collective manager candidate implementation
...
This implements recovery on loss of collective member to
the least loaded candidates for the node.
2021-01-08 16:00:24 -05:00
Jarrod Johnson
2d6bdffebe
Finalize the ssh.trustnodes facility
...
This is the confluent approach to handling the same
problem that xCAT SSH Zones do.
2021-01-08 14:05:37 -05:00
Jarrod Johnson
efdbeeae0d
Fix SNMPv2 on non-cisco switches
...
The cisco change was causing problems elsewhere.
2021-01-08 09:16:40 -05:00
Jarrod Johnson
a2a1142f18
Draft implementation of ssh trust segmentation
...
Have equiv optionally be restricted to a subset of nodes
so that node to node ssh may be enabled within subsets
without enabling across the board.
This is akin to 'zones' in xCAT, albeit a bit more flexible
and covering both users and administrative access.
2021-01-06 11:52:43 -05:00
Jarrod Johnson
8c89deaa95
Further defer use of deploycfg as normal
...
In ESXi flow, it is highly likely that IPv4 cannot
be ready yet, delay a bit more.
2021-01-05 15:32:46 -05:00
Jarrod Johnson
1ec5231ebe
Do not reply to mismatched IP in confluent search
...
If an OS queries for confluent, but will not have a viable address,
avoid replying to let more usable network paths prevail.
For example, one OS was coming up with 169.254 with no dhcp server,
and being told it could do well to talk to 172.29, which obviously
would not work.
2021-01-05 15:17:23 -05:00
Jarrod Johnson
674e2887f3
Fix ESXi deployment without working DHCP
...
apiclient was instructing itself to use IPv4 prematurely. Change
the dcuiweasel hook to delay that change until after all data has been
fetched.
2021-01-05 11:55:30 -05:00
Jarrod Johnson
4768bc257a
Handle API change for setting user name
...
The web api now requires the word Administrator instead of
the number 4.
2020-12-15 16:44:55 -05:00
Jarrod Johnson
7610f9b963
Clean out .gitignore files
...
Don't leave them laying around installed package.
2020-12-15 15:53:41 -05:00
Jarrod Johnson
b29e7bc94a
Add new requirement in newer ESXi versions
...
New ESXi versions use a new efi executable during
boot.
2020-12-15 14:39:15 -05:00
Jarrod Johnson
04d63a269d
Fix detection of CentOS 8.3
...
They changed their package name to be consistent with
their focal shift.
2020-12-15 12:59:48 -05:00
Jarrod Johnson
e1bf22911b
Try to have example directories obvious
...
git can't do empty directories, try a .gitignore
to have directories appear in the profiles
2020-12-15 12:52:57 -05:00
Jarrod Johnson
d6642f1bde
Fix omitted directory for firstboot
...
firstboot being in /opt requires a mkdir
2020-12-15 12:51:16 -05:00
Jarrod Johnson
36f027ac71
Implement support for Cisco switches
...
Cisco bridge mib requires to be instanced by vlan.
Detect through proprietary mibs and use it to
guide bridge mib walking.
2020-12-15 10:46:14 -05:00
Jarrod Johnson
c025f4d2fc
Fix firstboot.sh with selinux enabled
2020-12-14 15:06:04 -05:00
Jarrod Johnson
1238babe60
Notate future development requirements
2020-12-14 13:09:02 -05:00
Jarrod Johnson
f9a82bde00
Fix arch detection in CentOS stream
2020-12-14 10:42:52 -05:00
Jarrod Johnson
48c868e935
Detect architecture for CentOS stream
...
CentOS stream changed the release rpm to be noarch.
2020-12-14 10:23:05 -05:00
Jarrod Johnson
caf9115439
Fix CentOS stream support
2020-12-14 10:04:31 -05:00
Jarrod Johnson
8b11acbcf2
Recognize CentOS Stream
...
Allow installation of CentOS stream as a profile.
2020-12-14 09:47:56 -05:00
Jarrod Johnson
db0f91c160
Comment to show how to opt out of UEK
...
For users that use the distribution with UEK, but do
not want UEK at all.
2020-12-14 08:33:58 -05:00
Jarrod Johnson
cbb46dec3a
Allow firstboot to run with root access
...
Being it /etc is unusual, and restorecon treats it
as such. Manually use chcon to explicitly allow
it in /etc/
2020-12-12 14:57:02 -05:00
Jarrod Johnson
0afa4c217c
Add directory based post/firstboot capability
...
el8 profiles gain post.d/firstboot.d capability
2020-12-11 16:29:12 -05:00
Jarrod Johnson
47f04c8462
Provide guidance if the user tries to use defaults
...
Default username/password is no longer a
viable long term credentiol for XCC, have user
clearly be told to change and that they
shouldn't have to worry about the default
user and password.
2020-12-11 10:37:00 -05:00
Jarrod Johnson
5b0e23b8d4
Provide better feedback on XCC security lockouts
...
Rather than 'NoneType' error about grab_json_response,
provide actual recognizable feedback
2020-12-11 10:21:21 -05:00
Jarrod Johnson
14d9284cc5
Fix older Oracle Linux 7
...
Older OL has another release file thtat
was tripping the fingerprinting code.
2020-12-10 13:48:51 -05:00
Jarrod Johnson
cd251fa5d6
Add support for OL7 and older other EL7 flavors
...
Older EL7 didn't have platform-python in installer,
change to fallback to old /usr/bin/python if
needed.
2020-12-10 10:54:30 -05:00
Jarrod Johnson
8d47395e53
Add fetch of '<script>.d' scripts
...
This can be used by firstboot/post scripts to
get modularized scripts.
2020-12-09 16:46:58 -05:00
Jarrod Johnson
d19b5e4376
Have apiclient preserve server response verbatim
...
Do not add extra \n to output that server would
have already terminated.
2020-12-09 16:37:12 -05:00
Jarrod Johnson
7a9276300a
Have apiclient reach out to deploycfg server
...
If we already have deploycfg, use that to indicate the
target server rather than copernicus data.
2020-12-09 16:20:02 -05:00
Jarrod Johnson
87ef68e26a
Add 'memory' console.logging
...
If console.logging is not desired, but reconstituting the screen is,
provide 'memory' as a method to do that.
On slow disks this can significantly improve performance.
2020-12-09 13:47:46 -05:00
Jarrod Johnson
55b97793fd
Lower concurrency limit of ipmi actions
...
IPMI actions can be a bit sensitive. Introduce some serialization
for improved robustness in liue of better parallelism.
The ideal would be to have 128 per core/process in the end, but for now,
a pool for 128 concurrent operations in flight at a time.
2020-12-08 18:23:13 -05:00
Jarrod Johnson
fa823510b6
Pretty-ify Oracle Linux name in profile.yaml
...
Give it a nicer looking automatic label when
Oracle Linux is detected.
2020-12-07 15:09:30 -05:00
Jarrod Johnson
99609aa669
Add Oracle Linux signature check to osimage
...
Oracle Linux was being misidenntified as RHEL,
fix so that oracle linux is treated differently.
2020-12-07 15:08:28 -05:00
Jarrod Johnson
906011a80b
Support 8.3 install
...
In 8.3, they refactored how network configuration is
managed early in install. Fix by detecting the presence
of the nm-lib and calling it's function again to
re-read the new cmdline.
2020-12-07 12:35:33 -05:00
Jarrod Johnson
ff7f5daac6
Parallelize and timeout ssdp queries
...
Badly behaving 'desc.tmpl' servers exist in the world,
do not get tripped up or slowed down too much by
having aggressive timeout and making it parallel.
2020-12-04 17:14:35 -05:00
Jarrod Johnson
2d58741f15
Fix PXE/HTTP boot UUID and Mac case sensitivity
...
Like the SSDP code, PXE too had case sensitivity issues
2020-12-04 12:42:14 -05:00
Jarrod Johnson
57b74d59af
Force uuid to lowercase in uuid mapping
...
Most of the codebase presumes lower case uuid, but
the uuid mapping was preserving whatever case the
attribute was in, making it case sensitive.
In the normal discovery process, this was filled in
as lower case. However if id.uuid is filled in manually
with uppercase, this broke the node lookup by uuid.
2020-12-04 07:41:40 -05:00
Jarrod Johnson
191cd8192a
Add example installedargs to new ubuntu profiles
2020-12-03 10:55:39 -05:00
Jarrod Johnson
475eaca56b
Add installedargs support to ubuntu profiles
2020-12-03 10:44:14 -05:00
Jarrod Johnson
f33ddf3ab9
Move fetch of profile.yaml
...
Need to use thte copernicus network setup,
as the 'final' setup will depend on subsequent autoyast
activity.
Therefore, move it up to when mgr is probably IPv6
2020-12-02 09:12:14 -05:00
Jarrod Johnson
3422f3cdc5
Add and comment use of the installedargs in SUSE
...
With the support in addons, hook it in the
profile.
2020-12-02 09:05:36 -05:00
Jarrod Johnson
4c74581f0c
Try to add installedargs to suse profiles
2020-12-01 16:57:26 -05:00
Jarrod Johnson
674d32e9e5
Correct mistake in previous pre scripts
2020-12-01 12:55:41 -05:00
Jarrod Johnson
666059c8bf
Ignore more extraneous material
2020-12-01 12:55:26 -05:00
Jarrod Johnson
0137f99636
Add installedargs to rhel family
...
Provide a profile.yaml line that can be used to add arguments to
installed kernel as well as install kernel.
2020-12-01 10:53:26 -05:00
Jarrod Johnson
0c66021d3e
Add tagged vlan support to el8 deployment
2020-11-30 08:16:04 -05:00
Jarrod Johnson
014727d355
Label boot.img with profile name
...
This allows for easier
search should an image want it
2020-11-09 15:45:44 -05:00
Jarrod Johnson
dc262c366c
Fix false positive in affluent detection
...
Make sure we don't receive
a redirect or other
when asking for mac tables.
2020-11-09 11:23:54 -05:00
Jarrod Johnson
8f99d87fda
Reduce calls to update_neigh
...
On a mostly stable system, update_neigh will
continue to drive a significant portion of
background activity. Mitigate to only call if
circumstances suggest a need, or once every
30 seconds.
2020-11-09 09:00:57 -05:00
Jarrod Johnson
edaaa2393d
Hook up apiclient to TPM2 persistence, when available
2020-11-06 16:38:05 -05:00
Jarrod Johnson
1ecef6f251
Be a bit paranoid about string boundary
2020-11-06 13:57:35 -05:00
Jarrod Johnson
31c2c5f6f7
Fix errors in the TPM2 support
2020-11-06 13:38:37 -05:00
Jarrod Johnson
c8747ac369
Merge branch '3.0'
2020-11-06 12:51:15 -05:00
Jarrod Johnson
f7e7d05729
Add TPM2 support to node api key handling
...
This is an optional capability that image payloads may use
to use the TPM2 to protect an apikey as an alternative to
arming a weak authentication invocation
2020-11-06 10:00:36 -05:00
Jarrod Johnson
40c74699f0
Check for some issues in a manual assign request
...
One is to provide clear feedback when a nodename is requested
that was not previously defined, to make it more clear that
it is a requirement and/or guard against going too far while
the config function will be missing data it needs to complete
onboarding.
Another is to break if the request is trying to assign a node
to a different definition when it already exists under a different
name.
2020-11-03 09:32:55 -05:00
Jarrod Johnson
3903cda789
Do not clear the entire nodes lookup on remap
...
remap may only amend part of the map,
do not cause that to clear out the good data.
2020-11-03 09:32:48 -05:00
Jarrod Johnson
72049657d7
Fix issues with leftover ssh sessions
...
Upon connection loss, even though confluent internally
decides it is done with it, it fails to close the session.
Catch a number of these scenarios and ensure the connection closes.
2020-11-02 13:20:55 -05:00
Jarrod Johnson
71cc0adadd
Bump genesis to build more packages
...
Also notate src.rpm retrieval procedure
2020-10-30 12:34:42 -04:00
Jarrod Johnson
b4e6e7caa8
Check for some issues in a manual assign request
...
One is to provide clear feedback when a nodename is requested
that was not previously defined, to make it more clear that
it is a requirement and/or guard against going too far while
the config function will be missing data it needs to complete
onboarding.
Another is to break if the request is trying to assign a node
to a different definition when it already exists under a different
name.
2020-10-30 08:18:27 -04:00
Jarrod Johnson
10ac1756f1
Do not clear the entire nodes lookup on remap
...
remap may only amend part of the map,
do not cause that to clear out the good data.
2020-10-29 15:49:31 -04:00
Jarrod Johnson
95659db00a
Stop trying to use generic cookie parsing
...
Trying to do so while guarding against errors and sanitizing input was more code and slower
than targeting the one possible cookie we might care about.
So the code is simpler and
the performance is better, and the effect of stray cookies are mitigated.
2020-10-29 11:36:26 -04:00
Jarrod Johnson
bddbc37e8e
Fix incorrect length of random strings
2020-10-29 10:57:49 -04:00
Jarrod Johnson
7a2b295945
Change default label for ESXi to be more clear
2020-10-26 12:35:37 -04:00
Jarrod Johnson
af8429ebf9
Fix esxi updateboot
...
Updateboot was confounded by a normal of 'file exists'
problems.
2020-10-26 12:22:56 -04:00
Jarrod Johnson
3ac6677d2d
Sanitize cookies
...
If an invalid cookie from another site breaks the cookie jar,
then sanitize it.
https://bugs.python.org/issue31456
Performance enhancement through setting a header in javascript in
lieu of cookie parsing seems a wise move for the future.
2020-10-24 11:10:52 -04:00
Jarrod Johnson
8b5744b7eb
Drop attempts to restore cursor key mode
...
It would corrupt F1 setup menu. This may cause problems for
ESXi TUI, but F1 in UEFI is more commonly on serial
2020-10-23 15:32:16 -04:00
Jarrod Johnson
7fcfc05205
Fix syntax problem in processing common nameserver
2020-10-22 12:48:01 -04:00
Jarrod Johnson
4b42bbda7e
Fix spelling error
...
firmware is now spelled correctly
2020-10-22 12:11:10 -04:00
Jarrod Johnson
ed41d93de5
Add remote authentication configuration
...
While our security guidelines preclude allowing host to know the password,
it is considered acceptable to do the out-of-band authentication configuration.
Have configbmc request a unicast remote configuration. This should handle authentication
as well as ensuring ongoing consistency between out of band and in-band configuration
methods.
2020-10-20 15:51:46 -04:00
Jarrod Johnson
d36712d014
Refactor scripting to custom for suse
...
This makes it marginally easier to modify safely.
Further, it moves progress to after custom scripting
2020-10-16 11:34:43 -04:00
Jarrod Johnson
21cc9d66db
Correct execution of post.sh
...
post.sh was not retrieved correctly, workaround
by prefecting it to the expected place rather than
letting yast do it.
2020-10-16 11:07:35 -04:00
Jarrod Johnson
4508cfa364
Update suse15 message with fixed autocons
2020-10-16 09:04:14 -04:00
Jarrod Johnson
05e84f2a7c
Fix double-console out in genesis
...
With fixed autocons,
genesis was double outputting to serial console.
Let rungenesis pick
the console instead.
2020-10-14 16:49:10 -04:00
Jarrod Johnson
184727408a
Have configbmc wait for settings to complete
...
There has been some confusion when configbmc changes
are deferred until later.
Reduce confusion by waiting for the settings to take effect,
but avoiding checking each parameter
to preserve most of the speedup.
2020-10-13 12:24:04 -04:00
Jarrod Johnson
e7fbbe2737
Fix issues with leftover ssh sessions
...
Upon connection loss, even though confluent internally
decides it is done with it, it fails to close the session.
Catch a number of these scenarios and ensure the connection closes.
2020-10-12 09:47:24 -04:00
Jarrod Johnson
9a0c4ce4ce
Fix function handling of subdirs of scripts
2020-10-09 14:07:58 -04:00
Jarrod Johnson
247a7f5d8a
Fix problem when domain was not set
...
domain was checked even if domain not defined,
make sure domain is defined before trying
to use it.
2020-10-08 13:38:43 -04:00
Jarrod Johnson
745b82a603
Add examples for MOFED in EL7 distros
2020-10-08 13:37:19 -04:00
Jarrod Johnson
504bee2d2a
Fix problem when domain was not set
...
domain was checked even if domain not defined,
make sure domain is defined before trying
to use it.
2020-10-08 10:39:29 -04:00
Jarrod Johnson
8285f2a3de
Incorporate convenience for Mellanox OFED install
2020-10-07 15:27:06 -04:00
Jarrod Johnson
cfa97f7a9a
Cover Mellanox ethernet adapters for mofed
...
Some elect to use MOFED with ethernet as well
2020-10-07 14:27:11 -04:00
Jarrod Johnson
cbf42469c3
Add a sample script to install mofed
...
This is an example install script to use in post.custom for mofed
2020-10-07 14:12:31 -04:00
Jarrod Johnson
61f793040e
Avoid setting uuid and mac in pxe if already set
...
Notably the uuid change can end up recursing. Fix the behavior that will cause never ending
loops, which in some IO situations
can end in recursion limits.
2020-10-06 17:14:48 -04:00
Jarrod Johnson
8dd66211b7
Avoid setting uuid and mac in pxe if already set
...
Notably the uuid change can end up recursing. Fix the behavior that will cause never ending
loops, which in some IO situations
can end in recursion limits.
2020-10-06 17:14:20 -04:00
Jarrod Johnson
5a24619560
Recognize a different m.2 name
2020-10-06 10:37:20 -04:00
Jarrod Johnson
d466595828
Recognize a different m.2 name
2020-10-06 09:36:12 -04:00
Jarrod Johnson
b0b965db98
Use newer functions in genesis and el7
2020-10-05 16:57:46 -04:00
Jarrod Johnson
9e73979b5b
Enhance the EL script enhancements
...
Make them easier to use ad-hoc and add some capability
2020-10-05 16:55:37 -04:00
Jarrod Johnson
f4395abade
Deprecate attempts to use default password with SMM
...
This is removed in some level of the product
2020-10-05 16:54:58 -04:00
Jarrod Johnson
a194e2293e
Fix syntax error on discovery core
2020-10-02 15:35:14 -04:00
Jarrod Johnson
d27577d2b7
Fix missing close parenthesis
2020-10-02 14:57:59 -04:00
Jarrod Johnson
1113c2a849
Improve duplicate switch attribute errors
2020-10-02 13:36:45 -04:00
Jarrod Johnson
587197e934
Refresh chained SMM discovery for SMMv2
...
Additionally, amend overall
discovery to force chain validation
rather than theoretically
accepting a low mac count match.
2020-10-02 11:45:50 -04:00
Jarrod Johnson
ef901f64af
Merge branch '3.0'
2020-09-30 10:04:21 -04:00
Jarrod Johnson
2ba05fb7b1
Enable IPMI on SMMv2
2020-09-29 11:21:53 -04:00
Jarrod Johnson
e186eb7319
Fix problem with autocons
...
autocons needed to open the devnode earlier
to have the correct name. Fixes TSM autocons
behavior
2020-09-24 08:31:20 -04:00
Jarrod Johnson
a263851614
Fix problem with autocons
...
autocons needed to open the devnode earlier
to have the correct name. Fixes TSM autocons
behavior
2020-09-24 08:26:37 -04:00
Jarrod Johnson
4b7d042f2d
Have a clause for redfish not yet ready
...
We need redfish, but redfish is slow to boot on TSM..
2020-09-23 08:24:18 -04:00
Jarrod Johnson
99f533b4cb
Implement redfish resilient discovery for TSM
...
TSM redfish stack has an issue where it refuses to recognize any
non-redfish password change. Use redfish to change.
Regretably, it takes about 10 seconds for that change to propogate
to the practical API, so we have a discovery delay now.
2020-09-23 08:24:07 -04:00
Jarrod Johnson
eeb3a3fa65
Have a clause for redfish not yet ready
...
We need redfish, but redfish is slow to boot on TSM..
2020-09-22 14:33:58 -04:00
Jarrod Johnson
56f8ca0982
Implement redfish resilient discovery for TSM
...
TSM redfish stack has an issue where it refuses to recognize any
non-redfish password change. Use redfish to change.
Regretably, it takes about 10 seconds for that change to propogate
to the practical API, so we have a discovery delay now.
2020-09-22 14:31:28 -04:00
Jarrod Johnson
8f94149627
Have batch files optionally not need quotes
2020-09-22 12:25:25 -04:00
Jarrod Johnson
ed842fcc1a
Add mods to adapt an xcat stateless image to a confluennt payload
2020-09-17 14:23:37 -04:00
Jarrod Johnson
9828ea5898
Fix chained smm discovery on cumulus
2020-09-14 11:02:00 -04:00
Jarrod Johnson
7bdf7afb80
Fix another mistake in chained SMM discovery
2020-09-14 08:04:41 -04:00
Jarrod Johnson
cd20a69eb6
Fix typo in function name in chained smm discovery
2020-09-14 08:03:18 -04:00
Jarrod Johnson
c3d14977f2
Update attributes documentation
2020-09-11 09:56:35 -04:00
Jarrod Johnson
31d19e9398
Fix deployment.useinsecureprotocols
...
If explicitly set to 'never', it would behave as 'firmware'.
2020-09-11 09:44:09 -04:00
Jarrod Johnson
ea533e64c6
Fix more issues found in configbmc
2020-09-09 13:01:01 -04:00
Jarrod Johnson
4fe84ca6dc
Fix various issues in 3.0.0 release
...
If the kernel is new enough to do SKU, but the firmware doesn't have it,
fallback to model.
Fix outright mistakes in the config_port_tsm code
Up mac count from 2 to 3. If querying cumulus switches using SNMP
the switch will add its own mac to the list bringing the
total for a shared port to 3.
2020-09-09 10:58:37 -04:00
Jarrod Johnson
6f55a4ffe0
Python 3.7 fix for ipv6 lla handling
...
Python 3.7 changes behavior of recfrom (because.. why not apparently...)
Use getnameinfo to normalize the printable version.
2020-09-02 12:12:10 -04:00
Jarrod Johnson
5e01d9c97b
Handle unresolvable switches gracecfully
...
Rather than a trace log,
keep it to only the event log.
2020-09-02 11:50:50 -04:00
Jarrod Johnson
46396247bb
Fix remote passphrase authentication
...
For python 3 platforms, the
db hosted hash
needed the str changed
to bytes explictly.
2020-09-02 08:54:29 -04:00
Jarrod Johnson
b9fffad1f8
Fix post.sh comment documentation
2020-08-28 17:08:36 -04:00
Jarrod Johnson
37f60ea647
fix wrap on osdeploy man page
2020-08-28 16:38:28 -04:00
Jarrod Johnson
a72ff7a0b0
Add osdeploy man page.
2020-08-28 12:52:42 -04:00
Jarrod Johnson
c955b714a5
Add a nodedeploy man page
2020-08-28 12:48:05 -04:00
Jarrod Johnson
a737ee7622
Correct incorrect quotes
2020-08-28 10:45:54 -04:00
Jarrod Johnson
971187b006
Handle 'unknown' health
...
Sometimes health may be 'unknown' and warrants more investigation.
2020-08-28 10:21:02 -04:00
Jarrod Johnson
616d0bd23e
Amend language of attribute help
2020-08-28 09:49:25 -04:00
Jarrod Johnson
b8ffdfbf74
Add more text to deployment.encryptboot
2020-08-28 09:45:55 -04:00
Jarrod Johnson
f6c144ae16
Amend to work more cleanly installed after xCAT
...
xCAT intervenes on tftp a lot, so we need to stay away
and clearly indicate that we are.
2020-08-28 09:43:21 -04:00
Jarrod Johnson
6ab57b8669
Add a friendlier message if tftp service is running
...
The socket activation may fail due to tftp already running.
2020-08-28 09:38:10 -04:00
Jarrod Johnson
ffe0144b2c
Amend osdeploy missing tftp warning
2020-08-28 09:19:38 -04:00
Jarrod Johnson
2aa2402b73
Change to emprint from raise
...
The exception stack trace is offputting.
2020-08-28 07:18:07 -04:00
Jarrod Johnson
49eccaf68b
Fix behavior on existing directory
2020-08-27 17:06:10 -04:00
Jarrod Johnson
e8eaddf375
Fix for HTTP API browser
...
Python 3 had data coming in as bytes.
2020-08-27 13:11:21 -04:00
Jarrod Johnson
bf1019c497
Have -p by itself not generate new site cpio
...
It is not needed for just -p
2020-08-27 11:43:55 -04:00
Jarrod Johnson
aaff8d281c
Add warning if someone tries to -n without a profile name.
2020-08-26 16:10:59 -04:00
Jarrod Johnson
24a3cbc133
Fix non-collective quorum check
2020-08-26 13:54:18 -04:00
Jarrod Johnson
46fc4d626d
Fix quorum check in configmanager.py
2020-08-26 13:35:19 -04:00
Jarrod Johnson
b12a5f6ec6
Fix osdeploy local on older system
...
Also add short name to principals if user has used FQDN as their name.
2020-08-26 13:04:12 -04:00
Jarrod Johnson
c3403f339e
Per request, change -p
...
The request was for -p to modify -n behavior rather than replace it. New
syntax always needs -n to
do deploymennt, with -p opting out of BMC interaction.
2020-08-26 12:04:00 -04:00
Jarrod Johnson
463584f301
Warn that -n and -p are exclusive
2020-08-26 11:05:27 -04:00
Jarrod Johnson
4348d9160b
Provide ability for config file to specify cipher list
...
The default set of TLS 1.3 and TLS1.2 restricted ciphers are
generally considered strong today, but for future or special
circumstances, provide ability to override the defaults.
2020-08-26 09:43:55 -04:00
Jarrod Johnson
53f317fc09
Enhance nodedeploy status text
2020-08-25 16:01:50 -04:00
Jarrod Johnson
4b75f958ff
Add function of nodedeploy to query current profile.
2020-08-25 15:47:44 -04:00
Jarrod Johnson
264b0be853
Use correct argument parsing
2020-08-25 14:29:23 -04:00
Jarrod Johnson
ff0955d6be
Final fix for nodedeploy without profile
2020-08-25 14:28:14 -04:00
Jarrod Johnson
14767e2909
Fix nodedeploy -c
2020-08-25 14:05:43 -04:00
Jarrod Johnson
f5f7643734
Change -c to a store_true
2020-08-25 09:58:58 -04:00
Jarrod Johnson
3256899acf
Add a nodedeploy clear
...
This will allow a pendingprofile to be cleared.
2020-08-24 16:05:58 -04:00
Jarrod Johnson
e52556affb
Fix certificate watch hang
...
If no certificate present, then once a day confluent could hang. Fix by
doing a non-blocking
read on the watcher.
2020-08-24 14:00:47 -04:00
Jarrod Johnson
59e739a143
Further tweaks to postscript library functions
2020-08-21 17:42:02 -04:00
Jarrod Johnson
2e2a34b470
Reduce curl verbosity
...
Hard to follow with so much extra output
2020-08-21 17:07:02 -04:00
Jarrod Johnson
b8aa54fb8e
Make output consistent for shell/python remote exec
2020-08-21 17:03:12 -04:00
Jarrod Johnson
67920980c8
Fix syntax error in functions library for pre/post/firstboot scripts
2020-08-21 16:39:37 -04:00
Jarrod Johnson
d6158c9061
Add support for a future SMM to discovery
2020-08-21 16:09:05 -04:00
Jarrod Johnson
e9dabdf51b
Add clearer delineation between scripts in output
2020-08-21 10:35:28 -04:00
Jarrod Johnson
18f4c76730
Fix end code for run_remote
...
Output was missing due to shift. Save cmdline before
shifting and use it on way out.
2020-08-21 10:33:56 -04:00
Jarrod Johnson
13636097f5
Add more verbosity to remote functions
2020-08-20 16:20:02 -04:00
Jarrod Johnson
814857a706
Update client side aliases to match configmanager
2020-08-20 10:53:21 -04:00
Jarrod Johnson
5b0389000e
Fix handling of password through TLS socket
2020-08-20 08:28:06 -04:00
Jarrod Johnson
77adcde52f
Change version of confluent genesis.
2020-08-19 13:19:27 -04:00
Jarrod Johnson
22171828a7
Add nvme to genesis
2020-08-19 13:08:10 -04:00
Jarrod Johnson
b847aacfc0
Add more documentation to deployment.apiarmed
...
Since nodedeploy is expected to be used to make
it less annoying, mention the expectation of nodedeploy
in its documentation.
2020-08-19 10:30:23 -04:00
Jarrod Johnson
1eb4b0f682
Copy all of scripts for genesis init
2020-08-18 17:25:15 -04:00
Jarrod Johnson
6c2cde7924
Give up on linking configbmc, just copy it for now
2020-08-18 15:53:04 -04:00
Jarrod Johnson
46ca9115a0
Fix configbmc in genesis
2020-08-18 15:43:23 -04:00
Jarrod Johnson
97b8beee76
Expound upon crypted.rootpassword documentation
2020-08-18 15:01:59 -04:00
Jarrod Johnson
d956893104
Have EL8 ifup wait for tentative to go away
2020-08-17 15:06:38 -04:00
Jarrod Johnson
5bdd59bc67
Add configbmc to el8 and genesis script examples
2020-08-17 14:23:21 -04:00
Jarrod Johnson
584f6dc458
Handle no-argument invocation
...
apiclient is used to process confluent.info
2020-08-17 13:40:00 -04:00
Jarrod Johnson
53363905dd
Add ability to call apiclient to configbmc
...
Next to put it into various profiles
and genesis.
2020-08-17 12:33:13 -04:00
Jarrod Johnson
1e445ad526
Have configbmc actually consume bmcconfig data
...
/usr/libexec/platform-python /opt/confluent/bin/apiclient /confluent-api/self/bmcconfig -j > /tmp/whatever.json
/usr/libexec/platform-python configbmc.py -i /tmp/whatever.json
2020-08-14 17:42:49 -04:00
Jarrod Johnson
a126270570
Fix scope of hm attributes in bmcconfig
2020-08-14 16:05:46 -04:00
Jarrod Johnson
dd4d7ded74
Fix syntax error in attributes.py
2020-08-14 15:48:52 -04:00
Jarrod Johnson
997b43045a
Make preparations for a configbmc for inband config
2020-08-14 15:29:55 -04:00
Jarrod Johnson
1e59a710e7
Add json to genesis python
2020-08-14 14:55:22 -04:00
Jarrod Johnson
e6b134419b
Add argparse to genesis
2020-08-14 10:09:02 -04:00
Jarrod Johnson
ece6903a04
Add fcntl to genesis python
2020-08-14 08:26:00 -04:00
Jarrod Johnson
ec42a2aad8
Fix confluentdbrestore in non-root environments
2020-08-14 07:16:04 -04:00
Jarrod Johnson
aab27ccc4b
Fix typo in osdeploy code
2020-08-13 15:29:45 -04:00
Jarrod Johnson
5e33e45dbd
Notes on a strategy to retrieve the appropriate src.rpms
2020-08-13 07:55:28 -04:00
Jarrod Johnson
d0b0306eb2
Add floppy to man page synopsis for nodesetboot
2020-08-12 11:15:34 -04:00
Jarrod Johnson
64945662ac
Add local CA to curl trust in genesis
2020-08-12 09:43:29 -04:00
Jarrod Johnson
c02a482601
Add serial hint to console=ttyS users
2020-08-12 09:35:24 -04:00
Jarrod Johnson
823c9656ac
Fix target path of osdeploy initialize -g
2020-08-12 09:26:04 -04:00
Jarrod Johnson
d4b21ed5b9
Be sure to updateboot on g
...
If not generating a new site
archive, generate a new boot.img anyway for genesis.
2020-08-12 09:12:29 -04:00
Jarrod Johnson
6bbbf92613
Add genesis initialize to osdeploy
2020-08-12 08:59:25 -04:00
Jarrod Johnson
866cd85bd0
Add a profile description to genesis
2020-08-12 07:51:38 -04:00
Jarrod Johnson
d88e33677e
Fix typo in confluent in rungenesis
2020-08-11 18:40:57 -04:00
Jarrod Johnson
43ce1b17a7
Rework genesis with more output and an onboot.sh
2020-08-11 18:11:48 -04:00
Jarrod Johnson
1ceb588ad4
Just wait for ssh-keygen, just in case
2020-08-11 17:09:31 -04:00
Jarrod Johnson
e2ff9163bc
Remove the wait for ssh-keygen
...
By this point, it should be done and we accidentally wait on wrong
thing.
2020-08-11 17:08:00 -04:00
Jarrod Johnson
060d8093e6
Fix sshd_config generation
2020-08-11 16:51:42 -04:00
Jarrod Johnson
679f2cbf1c
Extend timeout waiting for 'right' device
...
Some devices come up very slowly.
2020-08-11 16:29:30 -04:00
Jarrod Johnson
4cd7714099
Modify apiclient to rewrite ifidx if stale
2020-08-11 15:41:44 -04:00
Jarrod Johnson
32fe6b2fff
Fix 'matchesnodename' behavior if ip manually specified
2020-08-11 15:34:55 -04:00
Jarrod Johnson
bae4e448d9
Load umad driver
2020-08-11 15:19:09 -04:00
Jarrod Johnson
9d55d413fd
Do not put fabric managers into genesis
...
It's getting too crowded...
2020-08-11 15:03:51 -04:00
Jarrod Johnson
3dd7611dc2
Try to enable high speed fabrics during genesis start
2020-08-11 15:00:41 -04:00
Jarrod Johnson
9291037e87
Add libibverbs dependencies
2020-08-11 14:51:11 -04:00
Jarrod Johnson
4404a1bed2
Put in more infiniband stack pieces
2020-08-11 14:44:58 -04:00
Jarrod Johnson
74e85289ac
Add ib diag utilities
2020-08-11 14:28:05 -04:00
Jarrod Johnson
95f9854630
Fix missing data for apiclient
2020-08-11 13:40:55 -04:00
Jarrod Johnson
f6343a1aa6
Fix the static ip configuration in genesis
2020-08-11 13:37:16 -04:00
Jarrod Johnson
db8047318e
Add missing dependencies for socket getaddrinfo
2020-08-11 13:23:31 -04:00
Jarrod Johnson
8b1193a6ff
Setup authorized_keys in a useful way
2020-08-11 12:24:01 -04:00
Jarrod Johnson
8277679be4
Add spec file to git tracking
2020-08-11 12:11:48 -04:00
Jarrod Johnson
2132ae7003
Fixes for issues in genesis addons
2020-08-11 12:08:02 -04:00
Jarrod Johnson
9c758dafbf
Add mlx5 drivers to genesis
2020-08-11 12:07:49 -04:00
Jarrod Johnson
f8f1350403
Add ascii codec
...
A python without ascii could be of limited use
2020-08-11 12:06:28 -04:00
Jarrod Johnson
0960a23765
Change location of rungenesis
...
The bin as a directory conflicts with
bin as a symlink, keep to opt to avoid the whole mess
2020-08-11 11:17:46 -04:00
Jarrod Johnson
6aaeb9b910
Have a genesis profile to latch onto
2020-08-11 10:14:34 -04:00
Jarrod Johnson
644433fa5d
Refactor genesis to have addons.cpio
...
This makes an easier division between pure CentOS
contributions and 'genesis-scripts' type output.
Do so in a manner consistent with how 'real'
operating systems get this added.
2020-08-11 09:54:53 -04:00
Jarrod Johnson
31dcea46af
Fix permissions on dracut installkernel script
2020-08-10 14:49:30 -04:00
Jarrod Johnson
7fc2786ba5
Add TPM2 support to confluent genesis
2020-08-10 11:39:03 -04:00
Jarrod Johnson
bd7d0ba42c
Add updateboot to osdeploy command
2020-08-07 14:12:13 -04:00
Jarrod Johnson
468f9758e5
Fix update boot
...
update boot would leave
leftover content, truncate to
get rid of it.
2020-08-07 13:45:10 -04:00
Jarrod Johnson
022ba77298
Fix dhcp configuration
...
dhcp method was not accurately fed into os deployment
2020-08-07 11:42:13 -04:00
Jarrod Johnson
1d6a5fc329
Have add_local_repositories by python2/3 agnostic
...
RHEL7 is still python2
2020-08-07 09:55:37 -04:00
Jarrod Johnson
d08ca5a114
Add local repositories to EL7 installs
2020-08-07 08:29:20 -04:00
Jarrod Johnson
d12272eccc
Support current directory in repo path
2020-08-07 08:26:42 -04:00
Jarrod Johnson
86c0d79d73
Fix RHEL 7 support
...
It was not correctly fingerprinting RHEL 7.
2020-08-06 20:40:31 -04:00
Jarrod Johnson
8aabdcc454
Fix name of rpm gpg keys
2020-08-06 19:32:47 -04:00
Jarrod Johnson
9c079a4203
Generate ifidx file
...
Use apiclient to generate ifidx for nmcli c u
2020-08-06 18:56:23 -04:00
Jarrod Johnson
f55dc8104b
Bring up the nic correctly during pre
...
nmcli can bring up the link with proper lla like confluent.info
indicates.
2020-08-06 18:15:27 -04:00
Jarrod Johnson
3812fc93ff
Have EL8 family add repositories manually
2020-08-06 16:37:18 -04:00
Jarrod Johnson
972dc9780c
Fix creation of distinfo.yaml
2020-08-06 09:07:41 -04:00
Jarrod Johnson
1d436d68ee
Fix initprofile
...
initprofile was not being pointed to the specific
directory, which is required
for multi-disk sets like
older SUSE.
2020-08-06 08:43:11 -04:00
Jarrod Johnson
8d48fc3273
Fix osdeploy initialize in no-domain environment
...
If no domain is defined, then do not try to append
2020-08-05 16:31:08 -04:00
Jarrod Johnson
0a3936164e
Fix role management for users and groups
2020-08-05 15:02:30 -04:00
Jarrod Johnson
a9497b16e8
Fix handling of unset crypted attributes
2020-08-05 14:17:58 -04:00
Jarrod Johnson
c8cda426be
Fix crossed wires between user and usergroup
...
The requests were not being routed correctly
2020-08-05 12:57:35 -04:00
Jarrod Johnson
2b963ce854
Address typo in RHVH 4.3 support
...
This prevented 4.3 from deploying
2020-08-05 12:35:16 -04:00
Jarrod Johnson
ae7ce2033b
Handle more differences between 4.3 and 4.4
2020-08-05 12:14:29 -04:00
Jarrod Johnson
aed96a2711
Add RHV4.4 support to RHV4
...
Again, we need to handle the drastic differences
in python between *minor* versions of RHVH
2020-08-05 09:45:38 -04:00
Jarrod Johnson
b796d19a4c
Add ifidx to bash path
...
The shell based apiclient alternative should write ifidx
as well.
2020-08-05 09:21:16 -04:00
Jarrod Johnson
55a6e3a1e2
Support RHV 4.4
...
Unfortunately, RHV considers rebasing from RHEL7 to RHEL8
to be a 'minor' change. So we have to have a sloppily
complicated iniqueue to serve either RHEL7 or RHEL8.
2020-08-05 09:15:02 -04:00
Jarrod Johnson
bf706f82cf
Fix a typo in httpapi
2020-08-05 08:28:30 -04:00
Jarrod Johnson
b2731325f6
Refactor image copy
...
Break up image import into three phases, for breaking out the separate
phases to indpendent commands.
2020-08-04 13:09:34 -04:00
Jarrod Johnson
2e8d002876
Preserve distribution fingerprint
...
Useful for breaking out the
profile copy over stage.
2020-08-03 14:21:30 -04:00
Jarrod Johnson
8fca5d23c0
Correct scope of ipmethod
...
ipmethod was trying to be set outside the useful scope.
2020-08-03 12:01:40 -04:00
Jarrod Johnson
704e8379f0
Have firmwaredhcp become static to OS
2020-08-03 11:43:22 -04:00
Jarrod Johnson
585988b22a
Add firmwaredhcp method
...
In a case where static is
desired for the OS, but
PXE or HTTP boot will
receive an IP address from
a DHCP server, offer firmwaredhcp.
This tells confluent to refrain from offering an IP during firmware, but still telling the OS to use static.
2020-08-03 11:42:27 -04:00
Jarrod Johnson
c7b8d05930
Fik initialize -k without other actions
2020-08-03 11:06:45 -04:00
Jarrod Johnson
0758611481
Add '-l' to interactive initialize
2020-08-03 09:34:18 -04:00
Jarrod Johnson
755e97ca9a
Fix SELinux context on local init
...
Files generated during osdeploy -l need to have correct context.
2020-07-30 15:41:27 -04:00
Jarrod Johnson
2ade557b3e
Amend local osdeploy initialize behavior
...
Do not bother the site cpio and correctly avoid duplicate config lines.
2020-07-30 15:20:53 -04:00
Jarrod Johnson
ac19f093fd
Fixes to the previous draaft
2020-07-30 15:03:36 -04:00
Jarrod Johnson
2f4f9a39a6
Add osdeploy function to trust nodes
...
osdeploy initialize -l will
endeavor to do to the local
management node the same thing the deployment does to the nodes.
2020-07-30 14:44:02 -04:00
Jarrod Johnson
d204eedb76
Have osdeploy -p enable tftp
...
This makes the procedure shorter.
2020-07-30 13:57:42 -04:00
Jarrod Johnson
fa934ce334
Fix insertion of manager
...
The manager insertion failed
with the domain from nodes removed.
2020-07-29 13:52:28 -04:00
Jarrod Johnson
dd91213969
Fix mistakes in the hostname support
2020-07-29 13:39:48 -04:00
Jarrod Johnson
e93c3241ed
Provide for more hostnames
...
This permits ssh infrastructure
to have multihomed nodes
handled more effeectively.
2020-07-29 13:08:03 -04:00
Jarrod Johnson
b4d7812926
Add some likely customizations examples
...
RedHat family is likely to be customized with firewall and selinux,
use those as examples to get things going for users.
2020-07-29 12:19:44 -04:00
Jarrod Johnson
c75a433ff8
Reduce trace activity around common connectivity issue
...
If the target has a resolution or other common socket issues,
do not make large trace logs.
2020-07-29 08:49:42 -04:00
Jarrod Johnson
56a6f24350
Merge branch '2.5'
2020-07-28 11:16:54 -04:00
Jarrod Johnson
908c566b73
Allow deletion of blank volume names
2020-07-28 11:16:38 -04:00
Jarrod Johnson
99f9e852da
Allow deletion of blank volume names
2020-07-28 11:15:48 -04:00
Jarrod Johnson
6ab176218e
Add '..' to range operators
...
The perl-style range operator exists in some tools, we
might as well support that alongside the usual '-'
operator and ':' python style operator.
2020-07-28 08:08:35 -04:00
Jarrod Johnson
8225a2297e
Add '..' to range operators
...
The perl-style range operator exists in some tools, we
might as well support that alongside the usual '-'
operator and ':' python style operator.
2020-07-27 11:54:24 -04:00
Jarrod Johnson
b09631fcbf
Correct mistake in chcon path
2020-07-24 16:07:15 -04:00
Jarrod Johnson
eb7791b884
Add missing example custom files
2020-07-24 16:00:16 -04:00
Jarrod Johnson
cbc25c17c4
Revise customization across RH family
2020-07-24 15:45:19 -04:00
Jarrod Johnson
235c07063c
Adjust SELinux context on remote exec
...
To facilitate firstboot, context must be changed
before execing remote content.
2020-07-24 15:32:13 -04:00
Jarrod Johnson
9304b41a12
Generic tab completion after generic noderange
...
Commands that go further than the noderange should
switch to generic completion for lack of a better
idea.
2020-07-24 14:35:54 -04:00
Jarrod Johnson
d2f1ea6cec
Tweak the customizations.
2020-07-24 11:10:01 -04:00
Jarrod Johnson
d7c219f2a8
Add a new strategy for custom content
...
This allows a profile to more easily isolate customizations
from the base profile
2020-07-24 10:59:15 -04:00
Jarrod Johnson
eabb212e58
Fix setupssh.sh without ssh_config.d
...
It was modifying the installer ssh_config
rather than the target ssh_config
2020-07-24 08:12:53 -04:00
Jarrod Johnson
33dd5e8315
Remove redundant call to nodectl
2020-07-23 15:10:30 -04:00
Jarrod Johnson
02ba6df421
Do not try to sign unsupported key
2020-07-23 14:41:59 -04:00
Jarrod Johnson
e28f6b87fc
Fix RHVH apikey location
2020-07-23 14:39:17 -04:00
Jarrod Johnson
bbab1cb949
Adjust EL7 package list
...
Packages in EL8 do not apply to EL7
2020-07-23 13:05:24 -04:00
Jarrod Johnson
232e6c34c5
Add el7 to build
2020-07-23 12:42:34 -04:00
Jarrod Johnson
ac622d84b2
Add EL7 support
2020-07-23 12:29:43 -04:00
Jarrod Johnson
c81daba66f
Merge branch '2.5'
2020-07-22 15:12:52 -04:00
Jarrod Johnson
2483f07c89
Add tar dependency for osdeploy
2020-07-22 15:11:58 -04:00
Jarrod Johnson
5f1ba49a12
Fix behavior with unspecified domain name
...
Ensure string is only checked if it is a string.
2020-07-22 13:56:55 -04:00
Jarrod Johnson
92018c725f
Fix ssdp python3 issue
...
Attempt to use str to split bytes.
2020-07-17 13:58:00 -04:00
Jarrod Johnson
fd46bae24f
Fix for removing groups providing multiple values
...
I don't know how this was missed for so long,
but removing a group providing multiple values would produce an error and fail.
2020-07-17 11:48:49 -04:00
Jarrod Johnson
9f429f5af9
Adapt EL8 change to RHVH
2020-07-16 15:23:45 -04:00
Jarrod Johnson
ded4762baf
Go to internalizing driver disk load
...
Trying to let the dd happen naturally was evidently a mistake,
load the drivers manually.
2020-07-16 15:09:24 -04:00
Jarrod Johnson
de7b83cbb4
Correct the spec file
...
It incorrectly omitted correct license.
2020-07-16 08:25:15 -04:00
Jarrod Johnson
767e65455f
Apply reset of cmdline to RHVH
2020-07-15 17:24:19 -04:00
Jarrod Johnson
9661d4d6fb
Clear cmdline between runs
2020-07-15 17:13:07 -04:00
Jarrod Johnson
8fc475a678
Fix mistakes in the initqueue hooks
...
Syntax errors were present.
2020-07-15 15:55:29 -04:00
Jarrod Johnson
99cb4748a7
Also amend the RHVH4 dracut hook
...
In addition to RHEL8, also have RHVH4 have the workaround.
2020-07-15 15:29:30 -04:00
Jarrod Johnson
d49f018981
Correct functions in profiles
...
Use functions correectly.
2020-07-15 15:22:27 -04:00
Jarrod Johnson
6dadac498f
Try another strategy for confluent initqueue
...
We want to have each iteration try not much.
But we also want to have a 'good' (primary network) match
supersede a less successful guess.
But we also want to keep guessing.
So the first 'vague' guess gets to run full hook.
If a future good guess happens, rerun the hook to update the data.
2020-07-15 15:20:17 -04:00
Jarrod Johnson
ac308fbd9c
Fix python3 issues in ssdp code
...
In the ssdp code, there were python3 specific issues.
2020-07-15 13:06:54 -04:00
Jarrod Johnson
d792822f4b
Go back to copy
...
tftp tends to chroot itself, making symlinks out of
the tftp data directory infeasible.
2020-07-15 12:53:41 -04:00
Jarrod Johnson
dfc289b154
Allow osdeploy initialize -p by itself
...
It seems a rational thing to do.
2020-07-15 11:12:27 -04:00
Jarrod Johnson
77cfa7b45c
Revise tftp initialization
...
For one, if the xCAT /tftpboot is present, roll with that.
For another, use a symlink to /opt instead of copy, to make upgrades
easier.
2020-07-15 10:59:30 -04:00
Jarrod Johnson
5ccfa36da6
Fix ssh disconnect handling in python 3
...
In python 3, '' will never match b''. Just
use the value as a boolean to catch either ''
or b''.
2020-07-15 10:34:23 -04:00
Jarrod Johnson
81835d66be
Fix ssh disconnect handling in python 3
...
In python 3, '' will never match b''. Just
use the value as a boolean to catch either ''
or b''.
2020-07-15 10:33:28 -04:00
Jarrod Johnson
3b121cdb4b
Have initqueue hook give up faster
...
Since the hook itself will get retried, we can be more aggressive
in giving up in each individual attempt.
2020-07-15 08:45:41 -04:00
Jarrod Johnson
fba82f9379
Change el8 addons to retry confluent handler
...
If DD is in play, drivers may appear later, and
we have to wait for them in a future invocation.
2020-07-14 16:43:37 -04:00
Jarrod Johnson
dad68bdf63
Conditionally include clevis-dracut
...
If not using LUKS, don't bother with clevis-dracut.
In 8.1, clevis-dracut will cause problems with network
in initrd time.
2020-07-14 14:40:05 -04:00
Jarrod Johnson
5b1e144d32
Fix python3 problem with backspace
...
In python3, a single element reference of a bytes
is an int, not equal to a b'' of the same length and
value. Change to use slices to have python2 and python3
act the same.
2020-07-14 09:13:37 -04:00
Jarrod Johnson
74af077651
Fix python3 problem with backspace
...
In python3, a single element reference of a bytes
is an int, not equal to a b'' of the same length and
value. Change to use slices to have python2 and python3
act the same.
2020-07-14 09:03:38 -04:00
Jarrod Johnson
910490cc74
Add arguments to the run_remote functions
...
This will help provide flexibility in invoking remote scripts
without hardcoding arguments into the scripts
2020-07-13 17:08:38 -04:00
Jarrod Johnson
2ec0c1366e
Fix a couple of genesis issues
2020-07-10 10:06:35 -04:00
Jarrod Johnson
7f044c45de
Revert "Have osdeploy require apache/ssl and provide config"
...
This reverts commit ea6155b2a1 .
This rpm is built under centos7 for maximum C compatibility
of the addon utility. For now move the dependency back
to lenovo-confluent
2020-07-10 09:27:38 -04:00
Jarrod Johnson
1d596736f3
Tolerate : without a space
...
E.g. grep does not space delimit.
2020-07-10 08:53:57 -04:00
Jarrod Johnson
4a23ca3db1
Have blank values end with :
...
This is a bit more obvious for grep.
2020-07-10 08:28:28 -04:00
Jarrod Johnson
b112cb0f16
Have unset and blank values look similar
...
This looks weird in collate otherwise
2020-07-09 17:00:44 -04:00
Jarrod Johnson
eb8144214f
Add NTP to RHVH profile
2020-07-09 16:02:53 -04:00
Jarrod Johnson
64f57dceaf
Fix ubuntu NTP configuration
2020-07-09 15:51:19 -04:00
Jarrod Johnson
5051ab4bf5
Add NTP support to ubuntu profile
2020-07-09 15:21:48 -04:00
Jarrod Johnson
439859e4fc
Implement suse ntp and correct redhat ntp
2020-07-09 15:05:20 -04:00
Jarrod Johnson
b42e447e34
Fix NTPCFG replacement in suse pre.sh
2020-07-09 14:13:46 -04:00
Jarrod Johnson
d2c999b01c
Add NTP to suse15 profile
2020-07-09 13:37:50 -04:00
Jarrod Johnson
50661b7dee
Fix multiple ntp servers in EL8 profile
2020-07-09 13:30:13 -04:00
Jarrod Johnson
ea6155b2a1
Have osdeploy require apache/ssl and provide config
...
Have osdeploy pull in requirements itself
2020-07-09 13:18:42 -04:00
Jarrod Johnson
f8affe99db
Add ntp to EL8 profile prescript
2020-07-09 12:11:32 -04:00
Jarrod Johnson
ca9655cd5e
Cover the more common use case
...
With confluent running as non-root, it is now very much more
likely that it is a directory permission issue.
Since the root user is commonly asking a lesser privileged service to do the operation.
2020-07-09 11:46:06 -04:00
Jarrod Johnson
2bfbfeb4d3
Add ntp to deploycfg data
2020-07-09 11:35:11 -04:00
Jarrod Johnson
771c3a2984
Rework error message to look nicer
2020-07-09 11:12:00 -04:00
Jarrod Johnson
55ee203974
Improve error handling in pxe
...
If a name resolution error happens,
put an event in events for the
cleaner error.
2020-07-09 10:56:09 -04:00
Jarrod Johnson
d5ff9b4cb5
Add missing traceback import to pxe
...
This concludes fixing the
susceptability to total
loss of pxe thread.
2020-07-09 10:44:05 -04:00
Jarrod Johnson
48804ed23f
Initialize needed tracelog
...
pxe was trying to use tracelog
without actually initializing it
2020-07-09 10:25:28 -04:00
Jarrod Johnson
d80a58304c
Fix incorrect indentation
...
The exception was incorrectly
over indented.
2020-07-09 10:10:20 -04:00
Jarrod Johnson
994c53191c
Improve resience of snoop threads
...
slp could crash in active_scan,
removing it's ability to passively scan.
pxe snoop could crash and go away persistently.
2020-07-09 09:53:25 -04:00
Jarrod Johnson
68c4652662
Fix per-collective globals
...
set_global is explicitly not
collective enabled, however
collective was causing partial
propagation.
Fix by removing the global carry over and having
commit_clear restore the non-key globals.
2020-07-09 09:10:24 -04:00
Jarrod Johnson
2c151caae7
Add a sample script for making uefi netboot entries
...
This may be handy for manually configuring uefi network
boot entries locally
2020-07-08 16:01:27 -04:00
Jarrod Johnson
c9e1ecb616
Fix use of touch when touch is not present
2020-07-02 16:34:50 -04:00
Jarrod Johnson
4ecae144d9
Attempt to have both short and long names
...
In ssh, long or short name may matter and user may use short
or long names as node names.
Try to make ssh equipped to be apathetic about the choice.
2020-07-02 12:40:30 -04:00
Jarrod Johnson
f70a3daf9a
Clear both appropriate profile attributes
...
When setting a pending profile. clear any staged or established profile.
2020-07-01 15:39:12 -04:00
Jarrod Johnson
fa6d42b1b3
Clear stagedprofile
...
staged profile should be cleared on completion.
2020-07-01 15:35:17 -04:00
Jarrod Johnson
2c30d4069c
Correct syntax error in selfservice
2020-07-01 15:20:06 -04:00
Jarrod Johnson
2481759d44
Correct syntax error in nodedeploy
2020-07-01 15:16:39 -04:00
Jarrod Johnson
f157ab1ef3
Use the 'staged' profile in some linux
...
The staged was added to control netboot mostly,
and is mostly optional but change some default
profiles to use it.
2020-07-01 14:20:40 -04:00
Jarrod Johnson
78e5d343e7
Implement a 'staged' phase of profile
...
This allows a limbo where remote deployment is blocked
but final deployment is not yet flagged.
2020-07-01 14:01:28 -04:00
Jarrod Johnson
22085e38f5
Change bound to 'tpm2'.
...
This is a bit more logical and flexible for the future.
2020-07-01 13:33:59 -04:00
Jarrod Johnson
8976ed9625
chmod is not available in rhvh initramfs
2020-07-01 12:26:02 -04:00
Jarrod Johnson
c28578caf7
Fix variable name in RHV-H initramfs
2020-07-01 12:12:54 -04:00
Jarrod Johnson
649299fa82
Fix SUSE prechroot script
2020-07-01 11:38:33 -04:00
Jarrod Johnson
9d806010c8
Further fix issues with RHV-H deployment
2020-07-01 11:36:25 -04:00
Jarrod Johnson
004e609635
Fix apikey strip for python2
...
Strip after any conversions, whether it is bytes or str.
2020-07-01 11:29:31 -04:00
Jarrod Johnson
85241a488a
Fix up RHVH support
2020-07-01 11:13:14 -04:00
Jarrod Johnson
3fdcecb8c6
Suppress spurious error output
...
Have the process start cleaner in EL8 deployments
2020-07-01 10:43:24 -04:00
Jarrod Johnson
b372a15c33
Strip newline after decode
...
strip on bytes in python3 does not remove newlines.
Call after decode to have strip handle the newline.
2020-07-01 10:32:11 -04:00
Jarrod Johnson
dfa636ac4c
Coerce binary to text
...
In subprocess, since we get binary, need to
coerce to text.
2020-07-01 10:15:35 -04:00
Jarrod Johnson
e863edfe3f
Correct a number of mistakes
2020-07-01 09:52:17 -04:00
Jarrod Johnson
159d01b690
Update client for floppy
...
Update documentation and tab completion.
2020-07-01 09:00:33 -04:00
Jarrod Johnson
b407fef988
Normalize path to confluent files
...
After going through tmp and etc, settle on /etc/confluent/
as the generally relevant directory when possible.
Additionally, move apikey and ifidx logic into apiclient where
possible
2020-07-01 08:57:08 -04:00
Jarrod Johnson
4cf34056e4
Correct mistakes in previous commit
2020-06-30 19:34:13 -04:00
Jarrod Johnson
32ba37a858
Extract default nic to the index in el8
2020-06-30 19:30:09 -04:00
Jarrod Johnson
0c3888441d
Add the check for primary nic to suse
2020-06-30 18:48:10 -04:00
Jarrod Johnson
27a2a58ea1
Try more aggressively to get to 'default' network.
...
If a 'default' network is going to eventually link up,
wait for it.
2020-06-30 18:39:29 -04:00
Jarrod Johnson
8f9e4ea205
Build confluent CA cert for EL8
2020-06-30 17:02:21 -04:00
Jarrod Johnson
94f2b618bd
Also copy api key to usable location.
2020-06-30 16:59:52 -04:00
Jarrod Johnson
8d3374b1e7
Move confluent.info to correct location
2020-06-30 16:55:01 -04:00
Jarrod Johnson
1e6f5c6da2
Update Ubuntu with the extendined info changes
2020-06-30 16:15:01 -04:00
Jarrod Johnson
ea54007806
Have SuSE use extended info
...
SuSE does not have python this early, so use
shell utilities instead.
2020-06-30 16:00:47 -04:00
Jarrod Johnson
2f4dd240dd
Change EL8 initramfs to use apiclient
...
This is a richer client that provides
the extended information required
for more accurate network autodetect.
2020-06-30 15:02:10 -04:00
Jarrod Johnson
1a664f669c
Use client provided hint for net selection
...
More precise then trying to do by IP subnet
2020-06-30 14:58:04 -04:00
Jarrod Johnson
8ab9c14d45
Do not surpress if scope index is distinct
...
This allows vetting multiple peers when vlan tagging
is used with LLA.
2020-06-30 14:18:54 -04:00
Jarrod Johnson
03008f76e5
Remove stale copy of apiclient
2020-06-26 16:24:35 -04:00
Jarrod Johnson
b4e8daaebe
Incorporate common copy of apiclient into build
2020-06-26 16:23:51 -04:00
Jarrod Johnson
3733057852
Move apiclient to common location
2020-06-26 16:22:27 -04:00
Jarrod Johnson
7b21cc829f
Incoporate extended info to apiclient
2020-06-26 16:21:48 -04:00
Jarrod Johnson
31aeb2552c
Have copernicus outut extended info
...
This will help profiles select
the most appropriate interface.
2020-06-26 16:13:15 -04:00
Jarrod Johnson
df503464d7
Tighten permissions on /etc/confluent on deployed target
2020-06-26 15:50:15 -04:00
Jarrod Johnson
cadb222904
Add missing bit from last commit
2020-06-26 15:21:00 -04:00
Jarrod Johnson
3fed7ea075
Implement more context data in discovery
...
Let the client know the management
interface and whether that subnet has the nicest match
for a primary network.
2020-06-26 15:15:13 -04:00
Jarrod Johnson
86e944b3a4
Correct typo in function call
2020-06-26 14:11:50 -04:00
Jarrod Johnson
05fb763200
Try to auto-restart httpd on initialize
...
During setup process, restart
the service on behalf of user
if appropriate service file is found.
2020-06-26 12:49:28 -04:00
Jarrod Johnson
1896b51f82
Add emphasis to the HTTPS cert
...
This is a particularly significant
step that warrants highlighting.
2020-06-26 12:40:07 -04:00
Jarrod Johnson
a704c0cdab
Be more verbose in osdeploy initialize
...
Output was a tad terse.
2020-06-26 08:19:22 -04:00
Jarrod Johnson
283cd6318e
Fix osdeploy -u
...
If running osdeploy -u by itself,
we did in fact do something.
2020-06-26 08:11:30 -04:00
Jarrod Johnson
7ec7dd4449
Add ssl module to python in confluent genesis concept
2020-06-25 12:50:45 -04:00
Jarrod Johnson
98008e409f
Fix osdeploy tab completion
2020-06-25 10:41:58 -04:00
Jarrod Johnson
250a39bfef
Change name of libarchive dependency
...
SLES12 builds without the '2', and other distros provide
both.
2020-06-25 10:29:27 -04:00
Jarrod Johnson
8fc3cc586d
Begin work on a genesis for confluent
...
Have a genesis edition for confluent os deploy. While the need
for genesis is mitigated and many functions should be available
through pre script, provide a more assured environmennt as a
fallback, if the OS isn't going to be imported or using something
like ESXi.
2020-06-23 17:02:48 -04:00
Jarrod Johnson
c7a8f524bd
Add -s to nodesensors man page
2020-06-22 13:29:27 -04:00
Jarrod Johnson
32dff34f29
Add floppy to setboot options
...
'floppy' is used for small
hard disk boot in some scenarios.
2020-06-22 12:13:14 -04:00
Jarrod Johnson
6a272d17c5
Amend python2 dependencies for osdeploy
...
We use yaml and libarchive-c, have python2 rpms also pull them in.
2020-06-22 09:14:32 -04:00
Jarrod Johnson
785d8a7c1c
Fix a couple of problems
...
In RHV, tmux was unable to attach because of TMUX variable.
Unset it to allow tmux to work normally.
Clortho didn't specify family, which worked in linux but not
in ESXi.
2020-06-19 10:24:51 -04:00
Jarrod Johnson
fd82c584d3
Rename osimage in template to osdeploy
2020-06-19 09:24:26 -04:00
Jarrod Johnson
6c920206e7
Fixup image retrieval code for RHV-H
2020-06-19 09:13:19 -04:00
Jarrod Johnson
e8d00bf229
Rename osimage command to osdeploy
...
Do not imply 'imaging' when it's a more generic deployment
facility, that might not even implement imaging.
2020-06-19 08:43:28 -04:00
Jarrod Johnson
d86aaaf013
Add required nodectl init
...
Documentation states this is required.
2020-06-19 08:32:12 -04:00
Jarrod Johnson
03e3497d20
Use the image rpm for install
...
The image must be extracted from an rpm, for
some reason or another.
2020-06-19 08:28:25 -04:00
Jarrod Johnson
17ec74dcf8
Add binary output to apiclient
...
It is convenient to use apiclient as
a downloader, it's shorter and to the point
than curl.
2020-06-19 07:49:05 -04:00
Jarrod Johnson
e7b93dba50
Have apiclient use first rather than last
...
apiclient was preferring the slowest rather than
the fastest respondant, inconsistent with intent
and everything else.
2020-06-19 07:29:14 -04:00
Jarrod Johnson
5bc9cb57d1
Amend RH initqueue
...
We may be called before drivers have manifested interfaces.
On each iteration make sure all nics are up before proceeding.
2020-06-18 16:45:24 -04:00
Jarrod Johnson
889b6a9930
Keep yum repo away from RHV
...
It must not think it has a yum repo to consider
2020-06-18 15:33:38 -04:00
Jarrod Johnson
5b605aa9d7
Further address EL7/RHV peculiarities
...
EL7 tends to skip the initqueue. Hook finished to
prevent that.
2020-06-18 15:26:35 -04:00
Jarrod Johnson
ad5faf144e
Fix more RHV4 issues with the profile
2020-06-18 14:28:44 -04:00
Jarrod Johnson
b6c017ef1a
Adjust some paths for compatibility
...
The profile expectations were not being met
2020-06-18 13:50:27 -04:00
Jarrod Johnson
095a831c0b
Fix source of abnormal console exit
...
If using ctrl-e, c, then a delay while
there is console output to do,
console would crash.
Fix by catching the flush problem
and ignoring it.
2020-06-18 13:09:48 -04:00
Jarrod Johnson
9cc5b5f98c
Add rhvh4 to profile list
2020-06-18 12:49:05 -04:00
Jarrod Johnson
ac2e41bd78
First pass at RHV4 support
...
Derive from EL8 with some EL7 vintage accomodations
2020-06-18 12:36:00 -04:00
Jarrod Johnson
d40426ff54
More cleanly error on unknown media
...
Rather than raise ugly unexpected
errors and pollute trace log,
cleanly handle the likelihood
of unknown media.
2020-06-18 11:11:53 -04:00
Jarrod Johnson
4722c3ec92
Check current SMM IP before pushing config
...
If the user requests the same ip address that
is already present, leave the network configuration
alone.
2020-06-18 09:23:30 -04:00
Jarrod Johnson
1c579723cc
Check current SMM IP before pushing config
...
If the user requests the same ip address that
is already present, leave the network configuration
alone.
2020-06-18 09:02:09 -04:00
Jarrod Johnson
e1270b2926
Do not seal to PCR 7
...
At least without secureboot, PCR 7 is not defined.
This would potentially be worth a conditional to
check on secureboot.
2020-06-17 16:23:13 -04:00
Jarrod Johnson
d4736e0aad
Do not respond to deployment calls without quorum
2020-06-17 11:09:05 -04:00
Jarrod Johnson
86de9ce276
Do not answer deploy solicit without quorum
...
If we are not in quorum, we cannot provide
credible answers to deployment.
2020-06-17 11:07:54 -04:00
Jarrod Johnson
231582dd0f
Workaround mtools on cluster fs
...
When a lock is acquired by mtools,
it does not ensure it releases the
lock before exit.
Workaround this by doing a blocking
lock and unlock after any
invocation of mtools.
2020-06-16 16:36:02 -04:00
Jarrod Johnson
895430a89c
Remove systemd management of /var/lib/confluent
...
systemd was too easily confused by the state
directory, remove it.
2020-06-16 09:16:01 -04:00
Jarrod Johnson
e1de56f19b
Correct typo in osimage.py
...
Wrong variable name...
2020-06-12 14:43:00 -04:00
Jarrod Johnson
fc7ad4b028
Generate different boot.cfg for esxi
...
media boot and pxe boot need
two different strategies for module
location. Print the two cfg files
with the respectively useful
values.
2020-06-12 14:27:37 -04:00
Jarrod Johnson
ab04ad85e8
Correct filename typo
2020-06-12 12:13:31 -04:00
Jarrod Johnson
cb19425435
Import media world-readable
...
In the absence of extensions,
libarchive assumes ISO content
is private. Always make content
world readable for the sake of
confluent-public serving.
2020-06-12 11:54:37 -04:00
Jarrod Johnson
b8dcfbae45
Move esxi customization back to include
...
This makes modding the template a bit safer and
more powerful.
It seems it was incorrect that the issue in esxi6
was not due to %include and is just a fact of life.
2020-06-12 11:36:56 -04:00
Jarrod Johnson
92913e1119
Fix path to kernel in boot.cfg
...
esxi was pointed to the wrong
location.
2020-06-12 11:12:57 -04:00
Jarrod Johnson
76f256a344
Fix missing quote that broke build
2020-06-12 10:36:06 -04:00
Jarrod Johnson
207065aab3
Fix more permission problems
...
Some ESXi contents that need to
be world readable are fixed.
2020-06-12 09:55:25 -04:00
Jarrod Johnson
5129b9fe9b
Write more useful boot.cfg
...
ESXi should access using relative
path, rather than going to root
for everything.
2020-06-12 09:34:52 -04:00
Jarrod Johnson
458d6284d1
Dulpicate esxi7 to esxi6
2020-06-11 17:18:28 -04:00
Jarrod Johnson
db7c5adf8d
Add PXE to esxi os images
...
This will attempt to use
ipxe correctly when PXE
initiates the deployment.
2020-06-11 17:14:14 -04:00
Jarrod Johnson
68f000838e
Relocate boot.ipxe
...
It looks a bit weird in the linux and outright bizarre
in the vmware case.
2020-06-11 15:28:45 -04:00
Jarrod Johnson
0849f20d60
Add stub initprofile.sh
...
While not needed, stub it out for code to
be extended if needed.
2020-06-11 13:58:01 -04:00
Jarrod Johnson
85b01ccec5
Switch to overwrite vmfs
...
esxi installs frequently fail unless overwritevmfs is
specified
2020-06-11 13:45:07 -04:00
Jarrod Johnson
198d6a795f
Add runweasel to esxi
...
Early boot behavior is influenced by the
real kernel command line. Without /bootmodules things
fail.
2020-06-11 13:33:15 -04:00
Jarrod Johnson
09db9f5a25
Pull ks.cfg manipulation into scripts
...
This make it easier to customize rather than being
in addons.tgz
2020-06-11 10:29:22 -04:00
Jarrod Johnson
654932efb6
Modify the correct line for ks manipulation
2020-06-11 10:26:16 -04:00
Jarrod Johnson
f78b358cd7
Try to adapt for esxi6.7
...
ESXi 6.7 had further restrictions
2020-06-11 09:26:40 -04:00
Jarrod Johnson
8e203723ef
Further tweak esxi deployment support
...
Try removing the exec, as memory seems
constrained in exec case for some reason.
Specify behavior when dealing with existing
vmfs.
2020-06-10 14:01:07 -04:00
Jarrod Johnson
0a1409ffcf
Amend esxi update
...
Some mistakes were made in the profile
2020-06-10 12:34:46 -04:00
Jarrod Johnson
873190cae9
Fix tgz generation
...
Previous attempt was duplicating files in the
archive, which caused vmware kernel to
fail to unpack them.
2020-06-10 12:17:51 -04:00
Jarrod Johnson
783c6ce7b6
Revise the esxi tar strategy
...
Finally, it has been ascertained
that ESXi rejecting the tar
was due to not having directories
explicitly listed, not because of
forbidding new paths or compression.
2020-06-10 10:37:14 -04:00
Jarrod Johnson
facba645c5
Revert "Switch to tar"
...
This reverts commit c6d0c121d4 .
2020-06-10 10:17:54 -04:00
Jarrod Johnson
c6d0c121d4
Switch to tar
...
esxi seems to be inconsistent with working with
gz compressed tar, see if plain tar fares better
2020-06-10 09:44:44 -04:00
Jarrod Johnson
d4f46a53e0
Fix tar generation of site
...
site content was nat being
correctly packed to tgz.
2020-06-10 09:42:44 -04:00
Jarrod Johnson
3b940b6194
Rename site contents in tgz
...
This moves location of site data for esxi
2020-06-09 16:40:29 -04:00
Jarrod Johnson
ca91e10941
Numerous changes to esxi deployment
2020-06-09 16:12:22 -04:00
Jarrod Johnson
32ff75c86a
Add profile to esxi
2020-06-09 10:28:16 -04:00
Jarrod Johnson
006db24591
Fix more mistakes in the esxi deploy
2020-06-09 09:51:48 -04:00
Jarrod Johnson
6bbe1a49e0
Fix typo in spec file
2020-06-09 08:50:54 -04:00
Jarrod Johnson
197f9950cb
Add ESXi contents to OS deploy
2020-06-08 17:24:48 -04:00
Jarrod Johnson
0bd6aae76f
Construct tgz for site
...
This is needed for vmware
deployment support.
2020-06-08 14:03:58 -04:00
Jarrod Johnson
fa9f9c1d99
Tolerate certain HTTP clients
...
Some HTTP clients put the port
number into the host header.
We don't care about port number.
2020-06-08 11:29:31 -04:00
Jarrod Johnson
0a2ab341a8
Increase root directory size
...
ESXi demands a lot of files, increase
the root directory by a large amount
to fit esxi.
2020-06-04 15:16:45 -04:00
Jarrod Johnson
58e7a1f0b4
Recognize ESXi media
...
Fingerprint ESXi media, at
least tested with ESXi 7 media.
2020-06-04 14:58:52 -04:00
Jarrod Johnson
0016c31fef
Fix encrypted boot on 8.1
...
8.1 requires -f or it will fail.
2020-06-04 13:41:00 -04:00
Jarrod Johnson
f505b3ad16
Fix grub hash bytes
...
In python3, need to coerce the strings
to str or else end up with invalid grub password.
2020-06-04 10:27:55 -04:00
Jarrod Johnson
d17a2054d4
Add warning about encryptboot to Ubuntu
2020-06-03 16:22:41 -04:00
Jarrod Johnson
97e7dbc936
Improve the SUSE encryption error
2020-06-03 16:18:24 -04:00
Jarrod Johnson
7da29c17e1
Try to add error on encryptboot for SUSE
...
We don't support under suse, so let the user know if they try.
2020-06-03 15:33:10 -04:00
Jarrod Johnson
942685b48d
Amend confetty fix
...
shlex.join is not widely
available, switch to just
skipping the split if pre-split
by the calling process.
2020-06-03 14:58:30 -04:00
Jarrod Johnson
21e97689bc
Fix handling of complex embedded args
...
If pulling from argv, it has already been
shell split. Use shlex to join to correctly
requote anything that needs quoting.
2020-06-03 13:52:14 -04:00
Jarrod Johnson
8ddcdf625b
Fix SSDP issue in python3
...
A bytes was split by str, fix this.
2020-06-03 13:05:40 -04:00
Jarrod Johnson
427a518673
Fix Ubuntu prescript
...
Forgot a hyphen
2020-06-03 11:26:34 -04:00
Jarrod Johnson
8797189d5c
Reduce sensing responses
...
Do not respond to a node
if we do not have any expectation
of deploying to that system.
Mitigates troubles of having multiple
confluent servers with the same
nodes.
2020-06-03 10:11:46 -04:00
Jarrod Johnson
762685459c
Add confluent CA to installed EL8
...
Needed to continue boot process during install
2020-06-02 17:44:19 -04:00
Jarrod Johnson
f86429c83c
Fix credserver
...
The grubhash should only fill in if there is a value to fill in.
2020-06-02 16:47:50 -04:00
Jarrod Johnson
82ab56ebb4
Add boot encryption support to EL8
...
The stock profile should now encrypt if requested
2020-06-02 16:05:44 -04:00
Jarrod Johnson
9f4c02dc83
Fix grub hash storage of password
2020-06-02 12:47:47 -04:00
Jarrod Johnson
033903f712
Fix typo in configmanager
2020-06-02 11:38:03 -04:00
Jarrod Johnson
cf9f4a9691
Add grub password to attributes
...
This permits opting into using
a password to block editing
of grub configuration.
2020-06-02 10:59:30 -04:00
Jarrod Johnson
77586c7f4d
Add comment to SUSE
2020-06-01 16:03:53 -04:00
Jarrod Johnson
886aade5dc
Refactor SUSE installs
...
Apply same comment principles to suse as was
applied to redhat.
2020-06-01 16:01:26 -04:00
Jarrod Johnson
d8266ea6c9
Update firstboot to have some comments
...
Make it clearer how it would be edited.
2020-06-01 12:25:30 -04:00
Jarrod Johnson
e326671057
Add python3-yaml to requires
...
Ensure yaml support installs in EL8.
2020-06-01 12:02:21 -04:00
Jarrod Johnson
700afc6606
Fix function definition
...
Sourcing the functions was causing a hang.
2020-06-01 11:12:28 -04:00
Jarrod Johnson
e7cb3f9a0c
Add the refactored files
...
The refactoring put the files in new places,
add those to tracking.
2020-06-01 10:52:38 -04:00
Jarrod Johnson
0254963432
Add some commentary to help users
...
Embed comments to help users understand
how to customize a bit better.
2020-06-01 10:52:01 -04:00
Jarrod Johnson
110fb27b2a
Refactor the kickstart for EL8 a bit
...
Based on early feedback, working towards a less
intimidating script set for the sake of not
needing a 'postscripts' facility.
2020-06-01 09:08:41 -04:00
Jarrod Johnson
116682082a
Fix reply on nonfunctional nic
...
If a nic was up but without IPv4,
do not reply even if the kernel is
'helping' us to be in the ballpark.
2020-05-29 17:32:45 -04:00
Jarrod Johnson
2c1ca170e5
Fix python3 issues in ssdp
...
In python2, they are already bytes.
In python 3, we need to check and convert if not already bytes.
2020-05-29 16:12:23 -04:00
Jarrod Johnson
e648c9c065
Fix typo in pxe handler
2020-05-29 12:58:14 -04:00
Jarrod Johnson
c1576e9787
Handle blank lines without error
...
Do not trigger syntax error on a blank expression.
2020-05-29 12:23:57 -04:00
Jarrod Johnson
6ee9ccbc27
Fix python3 idxtoname
...
python3 needs it to be str, not
bytes as C would return.
Accomodate only for python3, leave
python2 the same.
2020-05-29 12:06:00 -04:00
Jarrod Johnson
2a9d4e8079
Avoid breaking net config with '' DNS server
...
The node is probably misconfigured, but tolerate it
and carry on so that networking will at least
come up.
2020-05-29 08:58:33 -04:00
Jarrod Johnson
335d06ea4c
Default to US if management node is n/a
...
localectl can be n/a for some scenarios,
default to US for such cases.
2020-05-28 17:07:17 -04:00
Jarrod Johnson
17b8000c0f
Fix ethernet support
...
In accomodating the 20 byte
IB hwaddr, it could no longer
accept the 6 byte.
Adapt to all destination addresses up to 20.
2020-05-28 16:49:59 -04:00
Jarrod Johnson
5f170585c5
Adjust SUSE logic to work
...
Finding the apache configured
TLS cert location now works in
an easy configuration.
2020-05-28 16:47:36 -04:00
Jarrod Johnson
356de251ee
Boot over IB support
...
IB is a bit different in broadcast
and certainly address length. Be
adaptive for those values.
Further, OPA port addr can get
mangled in the middle of a
transaction, recognize both the
full and mangled variant.
2020-05-28 15:37:30 -04:00
Jarrod Johnson
405bd84ce2
OS import fixes for python 2
...
Python 2 does not have some
of the tricks we were using, replace with python 2 friendly tricks.
2020-05-28 11:09:24 -04:00
Jarrod Johnson
e9a14bd180
Have PXE content adapt to OS
...
Detect the respective paths
of tftp servers in the three supported distributions.
2020-05-27 17:05:04 -04:00
Jarrod Johnson
c3fedf7309
Fix missing import isn osimage
2020-05-27 12:16:24 -04:00
Jarrod Johnson
da8baa2ccb
Fix missing libarchive dep
...
confluent now requires
libarchive to run.
2020-05-27 11:46:54 -04:00
Jarrod Johnson
4480d0418e
Fix permissions of SSH CA key
...
It was creating CA as root, which
blocked confluent functionality.
2020-05-27 08:58:10 -04:00
Jarrod Johnson
987ac22b4e
Fix permission issues with sshutil
...
uid management was done incorrectly
2020-05-22 18:13:00 -04:00
Jarrod Johnson
6471599bb2
Fix public/os permissions
...
When using osimage import,
the permissions on os directory
were too strict. Relax permissions
on public/os
2020-05-22 17:55:22 -04:00
Jarrod Johnson
05983201ee
Fix mistaken use of $proto variable
...
Always use https to fetch the script
2020-05-22 15:59:19 -04:00
Jarrod Johnson
b20517bd82
Add missing mtools dependency
2020-05-22 15:47:57 -04:00
Jarrod Johnson
4e8e44605a
Merge branch 'master' into osdeploy
2020-05-22 15:47:04 -04:00
Jarrod Johnson
d75867050c
Fallback when pyte contains unknown colors
...
This allows nodeconsole to connect to Ubuntu
installer, for example.
2020-05-22 15:46:16 -04:00
Jarrod Johnson
b4374817f5
Move getinstalldisk into profiles
2020-05-22 15:27:25 -04:00
Jarrod Johnson
968400d72b
Update ssh known hosts and tftp
...
This is also required to get install going.
2020-05-22 15:03:56 -04:00
Jarrod Johnson
88436ff129
Merge branch 'master' into osdeploy
2020-05-22 13:56:59 -04:00
Jarrod Johnson
213d440052
Fix certificate watch
...
In python3, it was not working.
If another file got added, it could go
with a busy loop.
2020-05-22 13:55:24 -04:00
Jarrod Johnson
eabf2073c1
Fix construction of site cpio
...
It must include directory names in correct
order for it to unpack correctly
2020-05-22 12:49:33 -04:00
Jarrod Johnson
906855ecf7
Fix cpio generation
...
It needed to be relative path, and also
fix use of bytes fed into cpio.
2020-05-22 11:40:54 -04:00
Jarrod Johnson
59e9ef2215
Create initramfs.cpio
...
This actually enables the site for
booting with site addons.
Use of a temporary name mitigates
problem if multiple collective members
try to init at same time.
2020-05-22 11:05:35 -04:00
Jarrod Johnson
021591017c
Fix osimagetab completion
2020-05-22 09:03:02 -04:00
Jarrod Johnson
ba0d600bf7
Prepare osimage initialize
...
Provide a helper for the various
setup steps required for
getting ready for OS deployment.
2020-05-21 17:07:58 -04:00
Jarrod Johnson
eda645b792
Freshen up ssh and tls helpers
...
TLS will now work from scratch
SSH user key management updated to final design
2020-05-21 16:26:01 -04:00
Jarrod Johnson
8ce8f18f56
Change certutil to be a module
...
This allows it to be used from within
osimage command.
2020-05-21 15:56:16 -04:00
Jarrod Johnson
0af9db5eb7
Autodetect TLS key/cert locations
...
This facilitates easier getting started when possible.
2020-05-21 15:55:22 -04:00
Jarrod Johnson
22d5da3ae9
Rename certs to pem
...
There are contexts where the .cert name is not
recognized, go for .pem name instead.
2020-05-21 14:37:17 -04:00
Jarrod Johnson
6246d9e0a4
Default to never allowing insecure protocol
...
It erroneously used http rather than https
without user intervention.
2020-05-21 14:29:58 -04:00
Jarrod Johnson
726cb198c1
Actually list partitions in the HPC template
...
Without listing, autoyast fails to honor the disk somehow.
This causes disk to be honored. Additionally, use xfs instead of
btrfs and get rid of /home.
2020-05-21 10:57:19 -04:00
Jarrod Johnson
b34f308c8a
Merge branch 'master' into osdeploy
2020-05-21 08:48:27 -04:00
Jarrod Johnson
0800290c8e
Fix checking colleective status
...
In a few contexts, the result of list_collective
was used directly in a boolean context. As an iterator,
it is always true unless coerced into a potentially empty
list explicitly.
2020-05-21 08:47:07 -04:00
Jarrod Johnson
51bc7dc88f
Add nodedeploy command
...
This is akin to rinstall, but with
better tab completion and such
2020-05-20 16:21:08 -04:00
Jarrod Johnson
76952e774b
Add more verbose autoconsole text
...
Point users towards screendump for Ubuntu and
SuSE.
2020-05-20 14:46:26 -04:00
Jarrod Johnson
8bff5c272b
Actually modify meaningful grub config
2020-05-20 14:26:22 -04:00
Jarrod Johnson
c587cd34ac
Check correct location for deploycfg
...
This should fix the autocons behavior in
ubuntu.
2020-05-20 14:10:06 -04:00
Jarrod Johnson
f8b27f1f8d
Add autoconsole to ubunntu install
...
Have the installed system use serial console.
2020-05-20 13:24:05 -04:00
Jarrod Johnson
60453973cb
Actually use the domain name in rhel deploy
2020-05-20 12:48:05 -04:00
Jarrod Johnson
c48b023236
Inject DNS domain to suse deploy
2020-05-20 12:20:58 -04:00
Jarrod Johnson
c0bd9f8bfb
Insert domain into EL deploy
...
This hopefully sets search path up well.
2020-05-20 12:08:05 -04:00
Jarrod Johnson
c4379e3fd2
Null domain becomes blank for ubuntu
2020-05-20 09:40:16 -04:00
Jarrod Johnson
b0be352134
Correct target for TLS certs in ubuntu
2020-05-20 09:33:38 -04:00
Jarrod Johnson
7d4ce55127
Fix firstboot on Ubuntu
...
Correctly update deployment attributes upon completion.
2020-05-19 17:38:25 -04:00
Jarrod Johnson
9506817a00
Add DNS to DOMAINSEARCH, as ubuntu igores domain..
2020-05-19 17:09:26 -04:00
Jarrod Johnson
0a79307cc5
Fix scope of keymap
2020-05-19 17:05:43 -04:00
Jarrod Johnson
442902ecd8
Fix mistake in selfservice api
2020-05-19 16:49:07 -04:00
Jarrod Johnson
5540896ab1
Convert Ubuntu to netconf syntax
...
The ipconfig syntax can't take domain. See how
it works using the same hooks that dhcp would have.
2020-05-19 16:23:36 -04:00
Jarrod Johnson
e696566b42
Add dns domain to deployment
...
This permits the deployment profiles
to pull in specified DNS domain.
2020-05-19 15:07:10 -04:00
Jarrod Johnson
eec7236110
Rename dns server attribute
2020-05-19 14:45:06 -04:00
Jarrod Johnson
ebd41d3e53
Merge branch 'master' into osdeploy
2020-05-19 14:19:26 -04:00
Jarrod Johnson
c5c5b36536
Fix reverse noderange in python 3
...
python3 environments do not natively know the word 'unicode',
in such a case, make unicode an alias for 'str'.
2020-05-19 14:18:35 -04:00
Jarrod Johnson
26caffab76
Have Ubuntu report deployment completion
2020-05-19 13:36:49 -04:00
Jarrod Johnson
9093a6e80a
Rework ubuntu profile to break scripts into profile
...
This makes the pre/post/firstboot scripts more accessible
and consistent with the other distributions.
2020-05-19 12:22:46 -04:00
Jarrod Johnson
66f0e8225e
Tighten permissions on confluent config files
...
Prior to copying them, make sure only root can interact.
The directory should protect them as well, but best to
not have anything controversial.
2020-05-19 10:51:32 -04:00
Jarrod Johnson
5f63875cae
Finally fix SuSE certificate handling
...
It was targeting a symlink that went out of chroot,
target the underlying directory instead.
2020-05-19 10:38:31 -04:00
Jarrod Johnson
92f8acab7a
Fix target path of tls anchors
2020-05-18 22:07:03 -04:00
Jarrod Johnson
540d0e1795
Fix SUSE certificate handling
...
SUSE requires things go through update-ca-certificates,
update the generated certs and the post to do that.
2020-05-18 19:37:54 -04:00
Jarrod Johnson
b9cdf0d941
Move TLS certs into correct locations for SuSE
2020-05-18 17:00:05 -04:00
Jarrod Johnson
dcb9f60ade
Modify suse autocons logic
2020-05-18 16:13:16 -04:00
Jarrod Johnson
d12ac8a1ba
Try to adjust suse autoconsole behavior
2020-05-18 16:07:38 -04:00
Jarrod Johnson
14ba48da1f
Add keymap to EL install
2020-05-18 14:55:35 -04:00
Jarrod Johnson
ceefb936c2
Add keymap from donor system
...
RHEL requires this to autoinstall graphically.
2020-05-18 14:17:57 -04:00
Jarrod Johnson
9caf8056ec
Correct split
...
bytes need bytes to split
2020-05-18 13:50:48 -04:00
Jarrod Johnson
317a1c572b
Fix startswith parameter
...
Needed to be bytes for subprocess
2020-05-18 13:30:22 -04:00
Jarrod Johnson
2b39b9b5a6
Correct string in locale defaulting
2020-05-18 13:02:50 -04:00
Jarrod Johnson
5dee338d50
Fix lang in EL8 install
...
While text mode does not care, if user goes down graphical
path, it pauses installer.
2020-05-18 12:52:31 -04:00
Jarrod Johnson
c459990457
Change EL8 to use autoconsole less
2020-05-18 11:46:47 -04:00
Jarrod Johnson
485b5e0dce
Add textconsole to deploycfg
...
It turns out that the SPCR is
not automatically populated.
Provide a hint via deploycfg
as to whether the user has
configured confluent for text
console access.
2020-05-18 10:41:04 -04:00
Jarrod Johnson
188467ccf0
Correct order of EL post script
...
Actually try to fetch the file before copying it.
2020-05-16 12:12:30 -04:00
Jarrod Johnson
dcda6a1080
Fix EL host based authentication
2020-05-16 11:43:38 -04:00
Jarrod Johnson
0c575456e3
Fix SuSE host authentication
...
curl was failing to get allnodes
2020-05-16 11:42:19 -04:00
Jarrod Johnson
2211755bf7
Have SUSE profile work for LEAP and SLE
...
Add a directive to comment out the superfluous autoyast
content from SLE when dealing with the more
straightforward LEAP.
2020-05-16 10:14:23 -04:00
Jarrod Johnson
bf5727cab1
Disable yast self-update in suse
...
It slows down installs and shouldn't be needed.
2020-05-16 10:04:44 -04:00
Jarrod Johnson
a05bfcec80
Fix suse15 firstboot
...
It was not using correct CA path nor was it filling in
authentication headers.
2020-05-15 20:13:06 -04:00
Jarrod Johnson
5ebe127db2
Fix Suse deployment
...
It missed the rename of the deploy_server attribute.
2020-05-15 19:11:22 -04:00
Jarrod Johnson
b67140248e
Change ipv4_server to deploy_server
...
Use a more neutral name for the deployment server target.
It is still ipv4 only for the moment, but easier to pull in
ipv6 support when not having to change paths that don't care.
2020-05-15 16:06:57 -04:00
Jarrod Johnson
a5adcbd496
Add firstboot to EL
...
Also add 'mgt_server' rather than 'ipv4_server'. Will move to this.
The server should be able to dictate the right address without the
deploymennt image having to keep track.
2020-05-15 16:03:25 -04:00
Jarrod Johnson
cab2310f35
Fix SLES Full Media
...
SLES can have Full media set,
support that as well as the
Installer/Packages split.
2020-05-15 14:54:34 -04:00
Jarrod Johnson
4d5ec98525
Correct SELinux context for firstboot
...
This permits the script to actually run at firstboot, even
if SELinux is on.
2020-05-14 18:24:35 -04:00
Jarrod Johnson
008bf33be3
Fix el8 prescript retrieval
...
Mistakenly was using the deployer
ip as profile.
2020-05-14 17:16:26 -04:00
Jarrod Johnson
b52568dc10
Refactor RedHat/CentOS class profile
...
Again, break things up for more approachable layout.
2020-05-14 15:47:08 -04:00
Jarrod Johnson
24288f988a
Call updatestatus upon completion of suse install
2020-05-14 14:49:53 -04:00
Jarrod Johnson
408d0a8673
Refactor SUSE to have external scripts
...
Try to improve readability of portions of install by
refactoring.
2020-05-14 13:36:23 -04:00
Jarrod Johnson
579e05972f
Rename 'default' to hpc for suse
...
Since the profile is oriented toward installing
HPC template, name it more appropriately.
2020-05-14 13:05:38 -04:00
Jarrod Johnson
f85693b7e3
Fix Headers in new replies
...
Needs to be a nested tuple.
2020-05-13 16:53:36 -04:00
Jarrod Johnson
7dcad26002
Add hook for registering install completion
...
This will allow watching the
profile for changes to know
when install is utterly complete.
2020-05-13 16:29:10 -04:00
Jarrod Johnson
393c3ac38e
Fix distribution link for SUSE
...
SUSE needs to be pointed at the
parent directory, not the media
specific path.
2020-05-12 15:51:08 -04:00
Jarrod Johnson
b73c561ca9
Support relative path import
...
Have osimage import correct to absolute
path for import.
2020-05-12 15:02:18 -04:00
Jarrod Johnson
1ba2386b82
Provide keyname to importer
...
This allows client to reliably make association
between import request and tracking
the import activity.
2020-05-12 14:47:00 -04:00
Jarrod Johnson
8a48909ae3
Relax permissions on osimage
...
Public content has to be world
readable for the web server
to provide it. Mitigate by only
temporarily relaxing umask.
Note that the known sensitive
portions are already doing an
explicit specification of permissions, so umask
relaxing won't affect those.
2020-05-12 13:41:54 -04:00
Jarrod Johnson
0b01ca59d2
Add osimage script to package
2020-05-12 12:14:27 -04:00
Jarrod Johnson
69d14564b0
Stop trying to modify the confluent lib
...
The confluent lib may be shared and not modifiable. This is fine.
2020-05-12 11:58:18 -04:00
Jarrod Johnson
ccd94fb0cf
Actually fix centos profiles
2020-05-12 11:50:45 -04:00
Jarrod Johnson
bd91c58768
Fix CentOS profile generation
...
CentOS checker did not provide
category for profile population.
2020-05-12 11:26:04 -04:00
Jarrod Johnson
72c22939ad
Merge branch 'master' into osdeploy
2020-05-12 10:32:40 -04:00
Jarrod Johnson
87a7e65b42
Add missing dependencies to deb package
...
A number of python packages were missing.
2020-05-12 10:31:36 -04:00
Jarrod Johnson
1beed070fd
Add help text to usage
2020-05-12 09:53:46 -04:00
Jarrod Johnson
5addc7519d
Rename osdeploy to osimage
2020-05-12 09:48:57 -04:00
Jarrod Johnson
7a68d1444b
Extend osdeploy to have a config
2020-05-12 09:48:27 -04:00
Jarrod Johnson
b5ccf9446a
Fix importing task on existing folder
...
Allow deletion of a failed task.
2020-05-11 16:37:21 -04:00
Jarrod Johnson
807c68890d
Fix import error
...
Attempted to make the same
directory twice.
2020-05-08 14:43:54 -04:00
Jarrod Johnson
ee2f80b5d2
Merge branch 'master' into osdeploy
2020-05-08 14:27:25 -04:00
Jarrod Johnson
a017c5460f
Have confluent server able to import OS media
...
This wires up osimage to the API
such that it can work.
2020-05-08 14:27:04 -04:00
Jarrod Johnson
51c09d844f
Fix broken expressions
...
Fix mistake in the {} password fix.
2020-05-08 13:29:33 -04:00
Jarrod Johnson
b7c830b041
Fix mistake in listing profiles
...
Additionally, remove redundant
function definition.
2020-05-07 17:06:23 -04:00
Jarrod Johnson
853318feba
Merge branch 'master' into osdeploy
2020-05-07 16:27:12 -04:00
Jarrod Johnson
2c4f8dfceb
Fix backup/restore with python3
...
backup/restore with password
was having problems with python3
2020-05-07 16:27:00 -04:00
Jarrod Johnson
6fa863e8f9
Begin wiring up osimage to core
2020-05-07 16:26:27 -04:00
Jarrod Johnson
d90e87e153
Fix backup/restore with python3
...
backup/restore with password
was having problems with python3
2020-05-07 16:22:56 -04:00
Jarrod Johnson
b80647a36e
Move osimport and tidy up
...
Tidy up a few issues with
osimage as it gets moved into place.
2020-05-07 14:08:38 -04:00
Jarrod Johnson
2c74cb18b0
Fix stray letter in file
2020-05-07 13:42:10 -04:00
Jarrod Johnson
8fe1cea2ed
Quote sed argument
2020-05-07 12:13:44 -04:00
Jarrod Johnson
471f3bd1cf
Fix ubuntu profile name
...
It was erroneously changed by
initprofile.sh
2020-05-07 12:10:27 -04:00
Jarrod Johnson
f10bbdc33d
Fix ubuntu missing osprofile
...
osprofile argument needed to
find path to install image.
2020-05-07 11:57:52 -04:00
Jarrod Johnson
d6df9db229
Change efi/boot to lowercase
...
Consitently use lowercase for
efi/boot for easier grub handling.
2020-05-07 11:12:24 -04:00
Jarrod Johnson
d5cab22f41
Add boot configuration generation
...
On osimport prototype, generate
boot media and config file
2020-05-07 11:08:28 -04:00
Jarrod Johnson
72d52c56b7
Fix build problem for osdeploy
...
addons.cpio was erroneously
stepping on itself.
2020-05-07 09:35:32 -04:00
Jarrod Johnson
4f2d4a7709
Move media content out of subdirectory
...
This paves the way for a consistent organization of boot
media
and network based boot.
2020-05-07 09:32:11 -04:00
Jarrod Johnson
dcdd453112
Delete trailing whitespace
2020-05-07 09:30:31 -04:00
Jarrod Johnson
5a22168657
Touch up profile label for SUSE
2020-05-07 08:57:15 -04:00
Jarrod Johnson
e18ca3dd94
Merge branch 'master' into osdeploy
2020-05-07 08:31:50 -04:00
Jarrod Johnson
3f53c55a66
Add custom port to nodeshell
...
Permit use of an alternative
port in nodeshell.
2020-05-07 08:27:16 -04:00
Jarrod Johnson
3e02e8bf85
Fix LEAP media detection
...
LEAP was incorrectly detected as SLE.
2020-05-06 16:56:35 -04:00
Jarrod Johnson
cda0f439d3
Fix name replacement of Red Hat distributions
2020-05-06 15:55:31 -04:00
Jarrod Johnson
e4bea785c3
Fix RHEL osimport init script
2020-05-06 15:31:29 -04:00
Jarrod Johnson
404041e226
Bring over disk boot content
...
This allows construction of remote media and httpboot payloads.
2020-05-06 14:33:45 -04:00
Jarrod Johnson
9180bab761
Example for XCC cert scripting
2020-05-06 14:23:54 -04:00
Jarrod Johnson
6d2918ed45
Extend osimport
...
Prepare osimport for inclusion in confluent server,
by making it break off intense activity to a subprocess.
Additionally, get it ready to track long running
task in a way that can map to api.
Finally, have it combine osdeploy
stock profiles with image
into install profiles.
2020-05-06 14:22:25 -04:00
Jarrod Johnson
dd2dca5837
Add more profile contents
...
More parts of OS image profiles.
2020-05-06 14:03:53 -04:00
Jarrod Johnson
16b3bc44a0
Fix filename in ubuntu osdeploy
2020-05-05 09:53:03 -04:00
Jarrod Johnson
e1e34f9f31
Adjust ubuntu architecture name
...
x86_64 is the confluent convention
for 64 bit x86.
2020-05-05 09:26:42 -04:00
Jarrod Johnson
e4a4bdf317
Fix clortho mistake
...
In attempting to correct clortho,
a mistake was made in the printf
formats.
2020-05-04 17:27:22 -04:00
Jarrod Johnson
a4f9fdec3d
Correctly target profile content in osdeploy build
2020-05-04 15:57:11 -04:00
Jarrod Johnson
c3b295a4a2
Fix omitted prefix on variable
2020-05-04 15:55:22 -04:00
Jarrod Johnson
5539a6a1e8
Fix mistakes in the rpm template file
2020-05-04 15:53:29 -04:00
Jarrod Johnson
bdd982e2ed
Correct incorrect rpm build in osdeploy
2020-05-04 15:51:05 -04:00
Jarrod Johnson
1db9282058
Fix buildrpm script
2020-05-04 15:49:46 -04:00
Jarrod Johnson
f7dcabc1ab
Add buildrpm script to confluent_osdeploy
2020-05-04 15:47:39 -04:00
Jarrod Johnson
efe936a93d
Further build process for confluent_osdeploy
2020-05-04 15:45:35 -04:00
Jarrod Johnson
4619c466e5
Further rearrange osdeploy content
2020-05-04 15:25:04 -04:00
Jarrod Johnson
65797abfbb
Move ubuntu into the deploy directory
...
Also get started on a spec file
2020-05-04 13:49:48 -04:00
Jarrod Johnson
2929e18413
Organize SUSE15 content
2020-05-04 12:53:05 -04:00
Jarrod Johnson
cae75dbccf
Rearrange EL8 content
...
Sort the samples into appropriate
locations.
2020-05-04 11:15:44 -04:00
Jarrod Johnson
de201c9a3b
Add clean to makefile
...
Additionally correct a small mistake
in copernicus.c
2020-05-04 10:39:07 -04:00
Jarrod Johnson
f619b5933c
Add makefile for compilation
...
The C utilities are easy enough to build
with a Makefile.
2020-05-04 10:22:59 -04:00
Jarrod Johnson
cb1d5ebd13
Move compiled utilities and fix clortho
...
clortho had a number of compiler
warnings, make it compile cleanly.
2020-05-04 10:22:04 -04:00
Jarrod Johnson
bbb4f5a0ec
Add Ubuntu media to osimport
2020-05-03 19:18:12 -04:00
Jarrod Johnson
14192a6c21
Disable cloud-init and remove double-console line
2020-05-02 11:55:37 -04:00
Jarrod Johnson
530be7a508
Setup host based authentication in ssh in ubuntu
2020-05-02 10:58:06 -04:00
Jarrod Johnson
00eb72a627
Have ssh_known_hosts ready post install for ubuntu
2020-05-01 22:17:27 -04:00
Jarrod Johnson
fa40793dfa
Add install disk detection to ubuntu
2020-05-01 22:04:32 -04:00
Jarrod Johnson
3f8d825540
Add hook for installing disk
...
This will be used by pre.sh and getinstalldisk
to direct the install.
2020-05-01 19:33:47 -04:00
Jarrod Johnson
924102fa32
Add the cloud-init script
...
Still needs storage section, but surprisingly
not going to use much of this and instead lean
in on the scripts.
2020-05-01 16:47:07 -04:00
Jarrod Johnson
f3747025ff
Further the ubuntu prototype
...
Switch to using firstboot mechanism as cloud-init
fights us too hard on ssh keys and root password.
2020-05-01 16:41:01 -04:00
Jarrod Johnson
2ac139934e
Add console to ubuntu
2020-05-01 10:10:31 -04:00
Jarrod Johnson
b3b68774ab
Add prototype ubuntu initrd additions
...
This sets the stage for Ubuntu deployment
2020-04-30 17:28:40 -04:00
Jarrod Johnson
f27e6dfdda
Rearrange OS content in a more orderly fashion
2020-04-30 17:27:25 -04:00
Jarrod Johnson
45eba14b10
Add some content from exploring suse15/el8 install
2020-04-28 19:43:47 -04:00
Jarrod Johnson
598ec4a294
Change ubuntu package names
2020-04-28 11:29:41 -04:00
Jarrod Johnson
501ab64e18
Revert "Add a utility to select disks"
...
This reverts commit 2936c7e8fd .
2020-04-27 17:37:21 -04:00
Jarrod Johnson
3437b8b03c
Actually write out dhcp conf in initquee
...
dhcp was not written out during initqueue phase
2020-04-27 16:08:05 -04:00
Jarrod Johnson
2936c7e8fd
Add a utility to select disks
...
Use python to enable a bit
more flexibility and still be
readable.
2020-04-24 09:40:55 -04:00
Jarrod Johnson
68251ffbb8
Fix dhcp mistake in the rhel initqueue
...
This prevented dhcp from ever being attempted
2020-04-22 16:12:33 -04:00
Jarrod Johnson
051b8259fd
Update certutil to update site tls
...
This puts the certificate in a location
to be picked up by installers,
complete with subject_hash
so that SuSE can easily pull
them in.
2020-04-22 13:33:31 -04:00
Jarrod Johnson
d691bcd306
Merge branch 'master' into osdeploy
2020-04-22 09:47:32 -04:00
Jarrod Johnson
4f85ba2bff
Fix nodeattrib set of password
...
This path happens in nodeattrib.
2020-04-22 09:46:38 -04:00
Jarrod Johnson
36911c0d2e
Merge branch 'master' into osdeploy
2020-04-22 09:01:02 -04:00
Jarrod Johnson
5232b7c9c4
Fix passwords with {} in them
...
The input handler erroneously
tried to make an expression out
of values that did not support
expressions.
2020-04-22 08:58:38 -04:00
Jarrod Johnson
59aabb0e69
Fix apikey storage
...
Adapt to how crypted. values are handled.
2020-04-21 09:01:42 -04:00
Jarrod Johnson
931c7f25d1
Change apikey to crypted
...
Since it will be crypted, makes sense
for it to be presented same way as rootpassword.
2020-04-21 08:24:01 -04:00
Jarrod Johnson
149e41c33c
Add DNS information
...
Enable setting DNS servers in
the deployment.
2020-04-20 14:27:14 -04:00
Jarrod Johnson
21327af140
Fix typo in the iniqueue script
...
gateway was not being honored.
2020-04-20 13:05:10 -04:00
Jarrod Johnson
c21ae64f06
Fix PXE with static gateway
...
It was not working when gateway was set.
2020-04-20 12:45:13 -04:00
Jarrod Johnson
eb2301b22e
Add nodelist to selfservice
...
This permits a node to get list of nodes,
for example to build shosts.equiv
2020-04-20 11:11:29 -04:00
Jarrod Johnson
06d0e05dbb
Set rootfs to have ssh ready
...
Get the CA and user key into the
right places to use in the target system.
2020-04-20 09:39:36 -04:00
Jarrod Johnson
bfac51ba12
Prototype getinstalldisk
...
This script supersedes the bash script, hopefull
2020-04-17 16:37:04 -04:00
Jarrod Johnson
49a523ca5e
Add timezone to deploycfg
...
This is generally needed to install
an operating system.
2020-04-17 13:21:15 -04:00
Jarrod Johnson
6798e4e848
Increase precision of copernicus time
...
While it is going to be off by some number of milliseconds,
it's better than being off by 250ms on average.
2020-04-17 12:07:48 -04:00
Jarrod Johnson
690c871d29
Merge branch 'master' into osdeploy
2020-04-17 10:01:55 -04:00
Jarrod Johnson
f964fd8ce1
Add some information to man page
...
If the user consults the man page for help after a
HOSTUNREACH, give some text.
2020-04-17 10:00:56 -04:00
Jarrod Johnson
198b26245b
Move hashing before collective
...
This results in consistent hash
using the initial random, rather
than equivalent, but odd looking
crypted hashes across collective.
2020-04-16 20:51:14 -04:00
Jarrod Johnson
4fb7924015
Fix invalid salts
...
base64 standard alphabet doesn't
quite map to salt alphabet. Use
. and / instead.
2020-04-16 20:11:17 -04:00
Jarrod Johnson
e4a9216683
Add root password to selfservice
...
This allows installers to set the
requested root password, or
not.
2020-04-16 17:07:31 -04:00
Jarrod Johnson
dc2df09c4e
Fix for crypted handling
...
Crypted attributes were not
handled well, fix the mistakes.
2020-04-16 16:54:59 -04:00
Jarrod Johnson
16667ed41c
Add SSH cert to self api
...
This allows nodes to get a cert from
confluent.
2020-04-16 13:11:05 -04:00
Jarrod Johnson
b37c034d6f
Also carry in confluent.info
...
The installer needs this information to continue.
2020-04-16 12:40:35 -04:00
Jarrod Johnson
32038baa75
Carry deploycfg into installer
2020-04-16 12:23:45 -04:00
Jarrod Johnson
dcdc8e4d5a
Merge branch 'master' into osdeploy
2020-04-16 12:10:03 -04:00
Jarrod Johnson
f97fd3105f
Prevent GET from indicating a non-idempotent opreation
...
This could bypass CSRF protection in theory.
2020-04-16 12:08:47 -04:00
Jarrod Johnson
4e8cc3d801
Carry API key past initramfs
...
This enables api calls during
the installer.
2020-04-16 11:54:40 -04:00
Jarrod Johnson
86a68bf7f9
Rework CA layout to file-per-CA
...
Have the deployed system combine
into known_hosts. This simplifies
potential contention.
2020-04-16 10:08:27 -04:00
Jarrod Johnson
84988031a2
Move sshutil to a more practical place
...
This makes the keysigning function available to the server.
2020-04-16 09:49:30 -04:00
Jarrod Johnson
211b8ab7e8
Actually print message to serial
...
When console detected, actually notify
the relevant console.
2020-04-15 18:25:16 -04:00
Jarrod Johnson
23e8642950
Improve autocons
...
Provide more feedback and have
a proper cmdline style argument
2020-04-15 17:27:52 -04:00
Jarrod Johnson
76f7c12ca5
Incorporate autocons
...
This should permit skipping
it on kernel command line.
2020-04-15 16:50:33 -04:00
Jarrod Johnson
e2aaa2afb4
Support proper readback of crypted
...
crypted attributes should be
treated about the same as
passwords.
2020-04-15 16:34:54 -04:00
Jarrod Johnson
890793068c
Have prepivot stage accounts
...
Carry forward the ssh key and
disable passwords so that ssh
may safely be enabled during
install.
2020-04-15 16:19:23 -04:00
Jarrod Johnson
09700626b5
Add attribute to store root password
...
We want a non-recoverable form,
so hard code it to force it that way.
2020-04-15 16:18:39 -04:00
Jarrod Johnson
709ace4c92
Fix CA bundle in install
...
Once transitioning to install,
the CA bundle was lost, because
the symlink lead out of sysroot.
Fix by prepending sysroot if symlink
2020-04-15 13:30:47 -04:00
Jarrod Johnson
2c1ddabf32
Rename api.* attributes
...
Gather them into the deployment
category.
2020-04-15 11:50:10 -04:00
Jarrod Johnson
24bc1210d0
Numerous fixes to the OS deploy
...
Most notably, change to safe_dump for yaml.
For the various initrd items, changes
to actually trigger the relevant bits
of the RH installer.
2020-04-14 16:34:50 -04:00
Jarrod Johnson
276e01434d
Remove example output from script
2020-04-10 16:49:14 -04:00
Jarrod Johnson
58fd760698
Implement begins of self api
...
This paves the way to get deployment started
in earnest.
2020-04-10 16:46:41 -04:00
Jarrod Johnson
c76a0cfa16
Merge branch 'master' into osdeploy
2020-04-10 12:12:31 -04:00
Jarrod Johnson
bc03da47af
Fix another python3 syntax problem
...
async can't even be a member of
a class, evidently.
2020-04-10 12:12:17 -04:00
Jarrod Johnson
2575e32209
Fix another python3 syntax problem
...
async can't even be a member of
a class, evidently.
2020-04-10 12:11:45 -04:00
Jarrod Johnson
989ae614c9
Merge branch 'master' into osdeploy
2020-04-10 12:09:41 -04:00
Jarrod Johnson
bd39171611
Fix another use of async name
...
For better python 3 compatibility,
stop using async as a variable name.
2020-04-10 12:09:27 -04:00
Jarrod Johnson
814209385c
Fix another use of async name
...
For better python 3 compatibility,
stop using async as a variable name.
2020-04-10 12:08:55 -04:00
Jarrod Johnson
3b3475e073
Merge branch 'master' into osdeploy
2020-04-10 11:59:04 -04:00
Jarrod Johnson
ed050b37e1
Fix httpapi with python3
...
async is now particularly special,
rename variable to fix it
2020-04-10 11:58:45 -04:00
Jarrod Johnson
331d10140a
Fix httpapi with python3
...
async is now particularly special,
rename variable to fix it
2020-04-10 11:57:59 -04:00
Jarrod Johnson
2bd2946e9f
Add time sync option to copernicus
...
Since we are dealing in TLS certificates,
the easiest thing is to have copernicus sync
time. It is not as robust as ntp,
but it'll do as a stopgap
until the real time utilities
kick in.
2020-04-10 11:23:12 -04:00
Jarrod Johnson
a3f7fc12b5
Include fe80 in cert
...
fe80 is needed and a valid
thing to assert.
2020-04-10 09:59:53 -04:00
Jarrod Johnson
5fb4f2b36c
Add CAs from site to install
...
Preserve the CA situation into the installer
2020-04-09 16:18:39 -04:00
Jarrod Johnson
3ddeb4bcd0
A basic hook to force network bringup
...
initqueue must be satisfied by a udev rule. We don't
know which network until iniqueue phase, but the hook
needs to install earlier. This change induces
udev rule generation.
2020-04-09 16:14:30 -04:00
Jarrod Johnson
1722ad941b
Add a starting sample of initqueue dracut hook
...
For rhel8, this initqueu hook is useful
2020-04-09 16:13:33 -04:00
Jarrod Johnson
d18c0a576d
Fix ProxyDHCP reply
...
Use the memoryview instead
of the bytearray for correct
use.
2020-04-09 09:20:34 -04:00
Jarrod Johnson
acda061710
Merge branch 'master' into osdeploy
2020-04-09 08:21:24 -04:00
Jarrod Johnson
8d1d19d9a8
Fix nodelicense save with expansion
...
Client side checking will not suffice. Move it server side.
Additionally ,fix ownership of downloaded files.
2020-04-09 08:20:55 -04:00
Jarrod Johnson
fdd9c0953c
Fix numerous python2 issues
...
python2 needs tobytes rather
than bytes of a memoryview.
2020-04-08 17:28:29 -04:00
Jarrod Johnson
137e35217b
Implement UDP checksum
...
Properly implement checksum
on ACK.
2020-04-07 17:36:51 -04:00
Jarrod Johnson
fe3d9da5aa
Have a workable static PXE behavior
...
All but the checksum is now
functioning.
2020-04-07 17:07:07 -04:00
Jarrod Johnson
d76c576b4e
Merge branch 'master' into osdeploy
2020-04-07 11:35:03 -04:00
Jarrod Johnson
017f3fb372
Switch CP storage to SSDP from SLP
...
The SLP behavior on CP storage BMC is problematic.
Switch to SSDP to see if that provides more robust
behavior.
2020-04-07 11:32:52 -04:00
Jarrod Johnson
f58b943cfe
Fix mistakes in pxe handler
...
stringify was passed a string, fix
that input.
Fix mispelling of isinstance.
2020-04-06 17:11:23 -04:00
Jarrod Johnson
86628929de
Merge branch 'master' into osdeploy
2020-04-06 14:51:01 -04:00
Jarrod Johnson
46518f890b
Fix nodediscover assign
...
The feature request for -n was
implemented in a way that broke
nodediscover assign.
2020-04-06 14:50:24 -04:00
Jarrod Johnson
b0a0bad635
Merge branch 'master' into osdeploy
2020-04-03 12:34:05 -04:00
Jarrod Johnson
7e86a72872
Pass along unavailable info to client
2020-04-03 12:33:55 -04:00
Jarrod Johnson
1cfeed3f9d
Merge branch 'master' into osdeploy
2020-04-03 11:02:14 -04:00
Jarrod Johnson
2567503662
Handle both types of CP reply
...
The CP storage may reply with
one of two distinct forms. Recognize
either and treat them the same.
2020-04-03 11:01:55 -04:00
Jarrod Johnson
061e12beeb
Merge branch 'master' into osdeploy
2020-04-02 11:43:32 -04:00
Jarrod Johnson
6b56181a52
Fix attrib add code
...
It was failing due to automatic pathing in python3
2020-04-02 11:42:54 -04:00
Jarrod Johnson
323be19f21
Fix typo in the legacy boot support
2020-04-02 11:34:42 -04:00
Jarrod Johnson
0983cacb20
Merge branch 'master' into osdeploy
2020-04-02 11:01:57 -04:00
Jarrod Johnson
c18ce50138
Integrate attributes into man pages
2020-04-02 11:01:42 -04:00
Jarrod Johnson
b3c878462f
Integrate attributes into man pages
2020-04-02 11:00:45 -04:00
Jarrod Johnson
8e8e17a34e
Merge branch 'master' into osdeploy
2020-04-02 10:26:28 -04:00
Jarrod Johnson
a0684520d8
Add documentation for some parameter default
2020-04-02 10:25:57 -04:00
Jarrod Johnson
e78b4e9f17
Merge branch 'master' into osdeploy
2020-04-02 10:18:11 -04:00
Jarrod Johnson
374aa49016
Add man page for nodersync
2020-04-02 10:17:44 -04:00
Jarrod Johnson
ea537b1a1f
Add branch to support legacy
...
Legacy boot gets into ipxe
through a kkpxe executable.
2020-04-02 09:41:17 -04:00
Jarrod Johnson
bc7dc50388
Switch filename for iPXE
...
This offers the real iPXE script to
ipxe.
2020-04-01 17:19:23 -04:00
Jarrod Johnson
2da5bebf46
Fix iPXE recognition of our offer
...
iPXE requires that next-server
be set, unlike UEFI firmware
which did not care.
2020-04-01 16:59:43 -04:00
Jarrod Johnson
0fe136d4ee
Extend a proxydhcpack
...
This is one stage of actually
providing download over
PXE.
2020-04-01 16:40:47 -04:00
Jarrod Johnson
b573ffa897
Reduce log noise
...
Stop logging frequently occuring
events that are generally ignored.
2020-04-01 10:33:42 -04:00
Jarrod Johnson
0986853e6e
Merge branch 'master' into osdeploy
2020-03-30 10:59:56 -04:00
Jarrod Johnson
0b95daa30d
Add msgpack to explicit dependencies
...
This will pull in msgpack for debian derivatives.
2020-03-30 10:58:08 -04:00
Jarrod Johnson
96b5d3aa91
Actually populate the file field
...
Thankfully, it turns out that HTTPBoot carries the same flexibility
as PXE with respect to no-ip answer being merged with an IP answer.
As a bonus, it actually is simpler than PXE, allowing skipping of udp
port 4011. Of course, we still want to support PXE boot, so that will
need to be implemented.
2020-03-27 16:17:51 -04:00
Jarrod Johnson
6cc0fd20a0
Merge branch 'master' into osdeploy
2020-03-27 12:14:56 -04:00
Jarrod Johnson
d33365195b
Have nodediscover list filter by -n
...
It is a reasonable expectation and useful feature to provide.
2020-03-27 12:14:41 -04:00
Jarrod Johnson
85c648925f
Merge branch 'master' into osdeploy
2020-03-27 11:05:38 -04:00
Jarrod Johnson
3429173c27
nodeconsole changes to specifically target tmux
...
tmux needs more direction to avoid ambiguous results.
2020-03-27 10:57:14 -04:00
Jarrod Johnson
44836cabbe
Prepare for http boot
...
HTTP boot does not seem to support proxy dhcp.
2020-03-27 10:56:38 -04:00
Jarrod Johnson
92e657b987
Fix UDP checksum of odd-length packets
...
Odd length packets were incorrectly handled, fix
the packet construction.
2020-03-26 16:59:58 -04:00
Jarrod Johnson
16209bc3d6
Merge branch 'master' into osdeploy
2020-03-26 14:11:03 -04:00
Jarrod Johnson
f6c44922f8
Add support for forced password change
...
ThinkAgile CP storage BMC firmware now requires
a password change be navigated prior to operation.
2020-03-26 14:10:17 -04:00
Jarrod Johnson
41aa9e1cd2
Optimize chown
...
chown does not need to be called recursively every update/install.
2020-03-24 18:08:34 -04:00
Jarrod Johnson
0c96882fda
Restore Python 3 compatibility for pxe
...
The changes accidentally broke python 3, make a
bytes explicit to fix.
2020-03-24 17:54:07 -04:00
Jarrod Johnson
00681489c7
Add python2 compatibility to pxe
...
Various facets of pxe.py were python3-only,
make it compatible with python2 for now.
2020-03-24 17:26:39 -04:00
Jarrod Johnson
8c2336b8fa
Implemennt static when no DHCP
...
This permits an offer for a nominally static
node, unless it either doesn't map to an IP or
has dhcp method explicitly declared.
2020-03-24 15:09:28 -04:00
Jarrod Johnson
a1bb603570
Fix multinet support and prefix
2020-03-24 10:31:19 -04:00
Jarrod Johnson
96cbfa5568
Prepare get_nic_config for servicing pxe
...
Ability to retrieve node network information according to context
of interface index that receives the packet.
2020-03-23 17:18:17 -04:00
Jarrod Johnson
f0e5572b05
Remove filename from DHCP reply
...
filename is ignored if pxeclient anyway. This will provide a
consistent approach for boot file for dhcp-elsewhere and
fixed ip clients alike.
Also add some TODO about how to enable DHCPREQUEST
processing when the time comes, as today the code skipping
option parsing for DISCOVER packets trips up the ability
to continue. We must make sure we don't call discovery
handler again for REQUEST after doing so for DISCOVER.
2020-03-20 17:57:04 -04:00
Jarrod Johnson
895216d94f
Setting PXEClient in option 60
...
This trigges the proxyDHCP sequence to follow up.
2020-03-20 17:40:29 -04:00
Jarrod Johnson
1c7c897267
Add option 97 (UUID) to OFFER
...
Per PXE specification, this is among the required fields.
2020-03-20 17:23:33 -04:00
Jarrod Johnson
20a26e6fdb
Implement the UDP checksum
...
As long as we are doing UDP and IP in house, might as well do the
optional UDP checksum.
2020-03-20 16:55:20 -04:00
Jarrod Johnson
433f67730c
Add RAW capability to the service
...
This is required for the new PXE support
2020-03-20 14:59:30 -04:00
Jarrod Johnson
fcd73399fa
Add IP and UDP header to OFFER attempt
...
It d oesn't quite work, but it looks convincing. UDP checksum may
need to be added, and beyond that explore changes to the payload since
it is likely not enough DHCP was provided.
2020-03-19 18:39:32 -04:00
Jarrod Johnson
b7d85b2166
Switch to ctypes for sendto
...
First, IP level sendto doesn't give the freedom to send 25.255.255.255
out of the interface desired. So have to go link layer.
Second, while python can do sendto, we have the interface index number
from recvmsg (which was ctypes). python expects the name instead
(wwhich it promptly turns... back into the index we start with). I
could have added code to get the name using some syscalls which would
have been work and produced more system calls, or added the code to
directly use sendto, which would also be efficient at runtime.
So I chose to use ctypes for both recvmsg and sendto here.
2020-03-19 16:20:47 -04:00
Jarrod Johnson
22de1153c2
Continue draft of PXE support
...
It is able to vaguely construct a DHCPOFFER now, though it doesn't go
the right way for starters.
2020-03-18 17:12:26 -04:00
Jarrod Johnson
e0223706b0
Add a sample CentOS/RH handler snippet
...
Begin work to prepare profiles for booting.
2020-03-16 18:03:07 -04:00
Jarrod Johnson
451ff6b5a3
Fix geometry in dir2img
...
The geometry was incorrect in dir2img, ensure the file is
a multiple of 512 bytes.
2020-03-16 14:47:21 -04:00
Jarrod Johnson
b3c49c532c
Rewrite dir2img in python
...
It is a good measure to prep for more heavy usage in
OS deployment.
While changes were being made anyway, also cut time to make
an image in half.
2020-03-16 12:52:18 -04:00
Jarrod Johnson
8fb206b1f7
Fix cert util on pythoen3
...
python 3 had bytes and not str and need to be
decoded before string operations.
2020-03-16 09:27:34 -04:00
Jarrod Johnson
1bf7c6970f
Merge branch 'master' into osdeploy
2020-03-13 11:06:26 -04:00
Jarrod Johnson
a86d962984
Fix missing pwd import
...
The pwd module was accidentally omitted, fix the mistake.
2020-03-13 11:04:16 -04:00
Jarrod Johnson
6ade0952c7
Workaround incorrect TLS clients
...
Standards compliant TLS clients require
that IP addresses be compared against
IP type SAN fields.
However, some firmware ignores IP fields and only checks DNS fields.
Workaround and provide compatibility
by duplicating the IP as DNS and IP fields.
Also, clean up the temporary config file when done.
2020-03-12 19:06:05 -04:00
Jarrod Johnson
517101f596
Reduce spurious logging
...
When ignoring DHCPREQUEST,
do not log, since DISCOVER
was enough logging.
2020-03-12 18:08:48 -04:00
Jarrod Johnson
1bfc949466
Add message when insecure is needed
...
Practically speaking, this will be only choice for most people, but we
must make sure that the user acknowledges the risk.
2020-03-12 17:42:56 -04:00
Jarrod Johnson
e97214ca50
Merge branch 'master' into osdeploy
2020-03-12 16:05:08 -04:00
Jarrod Johnson
9ee29aabe1
Set certificate ownership properly
...
When creating certificate for collective, ensure that the certificate
is usable by confluent when running
as non-root.
2020-03-12 16:04:23 -04:00
Jarrod Johnson
57ff9808c4
Fix infinite loop in DHCP parsing
...
Accidentally failed to actually traverse
the data.
2020-03-11 15:43:34 -04:00
Jarrod Johnson
0f67f5c382
Draft attempt at refactoring PXE
...
The plan is to have 'discovery'
data only on DISCOVER, but
still parse and be able to react to
REQUEST packets.
Additionally add the attributes
to control deployment state and
permissible protocols.
2020-03-11 15:22:45 -04:00
Jarrod Johnson
b789252c9c
Merge branch 'master' into osdeploy
2020-03-11 14:00:52 -04:00
Jarrod Johnson
a413f321fe
Fix console loss on server exit
...
Catch the new exception that
was used to make other commands
exit cleaner.
2020-03-11 13:58:37 -04:00
Jarrod Johnson
d38b06224c
Merge branch 'master' into osdeploy
2020-03-11 09:30:18 -04:00
Jarrod Johnson
f2bd796c2a
Further clean up license error handling
...
Backup of nodelicense was not
consistently checked between
redfish and ipmi plugins.
2020-03-11 09:29:41 -04:00
Jarrod Johnson
bf31c4872f
Fix mistake in nodelicense save
...
It was incorrectly presenting unrecognized error infomation.
2020-03-11 09:22:16 -04:00
Jarrod Johnson
9ea9188fdf
Get closer to replying to PXE
...
Monitor and maintain a uuid and
mac map to node in preparation for
efficient handling of
DISCOVERs/REQUESTS from
ONIE and/or PXE.
2020-03-10 11:16:59 -04:00
Jarrod Johnson
597393842a
Add transaction ID to the carried information
...
The ability to extend an OFFER requires that we also keep track
of the transaction id.
2020-03-09 15:30:26 -04:00
Jarrod Johnson
b9fc9b3c19
Put the recvmsg info into the handler payload
...
This allows the rest of the discovery infrastructure to operate
with this data.
2020-03-09 15:14:05 -04:00
Jarrod Johnson
49b8e12a01
Update TODO
...
We have now done IP_PKTINFO, but there is a potential TODO
if wanting to properly honor unicast request.
For now, will just do always-broadcast as the options to do unicast
are more complex to do (either construct the packets or inject neigh
entry manually)
2020-03-09 15:05:19 -04:00
Jarrod Johnson
f20fb70336
Have the peer and target info on DHCP receive
...
This has the data that will be handy in formulating a reply.
2020-03-09 14:39:53 -04:00
Jarrod Johnson
934f8f0f20
Use recvmsg for PXE
...
Switch to recvmsg in preparation for getting more
data for forming replies.
2020-03-09 11:25:38 -04:00
Jarrod Johnson
945b8f2b4a
Rename to reflect more function than CA
2020-03-09 08:52:29 -04:00
Jarrod Johnson
82921fb53d
Add function to sign SSH key
...
This will enable the known_hosts
to work.
shosts.equiv and sshd and ssh client
config will be handled elsewhere.
shosts.equiv will just be everything.
2020-03-06 16:55:06 -05:00
Jarrod Johnson
59a0b00208
Flesh out the SSH code more
...
Notably add user key management
and start poking things in
/var/lib/confluent
2020-03-06 16:17:53 -05:00
Jarrod Johnson
34f2f6e359
Add a sample for doing SSH CA
...
This will explore the concept for the
backend of the get certificate api.
2020-03-06 13:43:54 -05:00
Jarrod Johnson
7fe47baab3
Fix another python 3 expectation
...
python3 needs this stringified from socket that
provides bytes.
2020-03-02 16:42:42 -05:00
Jarrod Johnson
3c1453c16b
Actually use the de-lla address
...
After removing the %, actually use the trimmed address.
2020-03-02 16:23:18 -05:00
Jarrod Johnson
4529924cce
Fix credserver python3 and LLA support
...
Both client and server had an issue with LLA, along with the
usual python3-isms.
2020-03-02 16:06:07 -05:00
Jarrod Johnson
97ddd59dbd
Merge branch 'osdeploy' of github.com:jjohnson42/confluent into osdeploy
2020-03-02 14:55:11 -05:00
Jarrod Johnson
b7b2522f6b
Fix python3 compatibility of ssdp
...
The ssdp module in osdeploy was not reacting
adequately to copernicus. fix the assumptions about bytes
versus str.
2020-03-02 14:54:23 -05:00
Jarrod Johnson
bd0e187525
Merge branch 'master' into osdeploy
2020-03-02 13:15:22 -05:00
Jarrod Johnson
634e5a8944
Update gitignore
2020-03-02 13:15:09 -05:00
Jarrod Johnson
455b637c48
Merge branch 'master' into osdeploy
2020-03-02 11:30:30 -05:00
Jarrod Johnson
67e3530d16
Add group count to collate
...
Feature request to offer the
ability to count output groups
rather than actually show output
groups.
2020-03-02 11:29:28 -05:00
Jarrod Johnson
e257d526c3
Have ip_on_same_subnet normalize ::ffff: addresses
...
This will cause the ips to count as equivalent rather than giving up
on them.
2020-02-27 17:03:12 -05:00
Jarrod Johnson
a066f061c7
Remove IPv6 portion of IPv4 address
...
If it is presented as an IPv6 compatible IPv4 address,
make it a normal IP address.
2020-02-27 16:59:32 -05:00
Jarrod Johnson
29b4045817
Omit TRANS.TBL files from osimport
...
Avoid clutter of TRANS.TBL files while importing an ISO
2020-02-27 16:36:47 -05:00
Jarrod Johnson
f798239f90
Switch to using the standard confluent port for credserver
...
Also add a check and only accept API arming
requests from local ips
2020-02-27 16:36:16 -05:00
Jarrod Johnson
f955086cc3
Create an alternative api.armed behavior
...
Move from a clock based expiration to a simpler 'once' versus
'continous' model. 'once' is intended to be used generally, 'continuous'
for stateless without benefit of TPM. The goal would be to use TPM
to seal a key to avoid continuous.
2020-02-27 13:33:05 -05:00
Jarrod Johnson
cd20a23626
Merge branch 'master' into osdeploy
2020-02-27 07:20:20 -05:00
Jarrod Johnson
3c26beda1d
Fix loss of web connectivity during XCC discovery
...
The password policy was incorrectly logging out in the
middle of the flow when a forced password change occurred.
Fix by externally managing the web session.
2020-02-26 10:00:10 -05:00
Jarrod Johnson
54be209f4e
Merge branch 'nodesearch' into osdeploy
2020-02-24 16:26:07 -05:00
Jarrod Johnson
114324f513
Add CA to self signed cert constraints
...
Some applications require this be set for it to work
as an enrolled certificate. Notably UEFI
requires this.
2020-02-24 15:34:55 -05:00
Jarrod Johnson
d2de4ffa14
Fix single file OS image osimport
2020-02-21 14:25:18 -05:00
Jarrod Johnson
d4483bb59f
Polish up the osimport concept more
2020-02-21 14:18:15 -05:00
Jarrod Johnson
90bec92d1f
Fix python3 for os import
...
Need to be explicit about binary data with python 3.
2020-02-21 09:34:49 -05:00
Jarrod Johnson
4b3541e21d
Suppress libarchive logging
...
libarchive ffi goes crazy logging at *import* time. Pre-empt
use of the logging with a null handler prior to import.
2020-02-21 08:46:42 -05:00
Jarrod Johnson
737e7a440f
Add a prototype for imageimporter
...
This is a sample of fingerprinting, covering rhel/centos 7/8
and suse enterprise 12/15 and cumulus.
Mainly to run the gamut of detection schemes.
The schemes are for iso images, try to be very careful and adaptive.
Otherwise, go for a quick sum to see if we have a shot and a long checksum to confirm.
2020-02-20 23:24:42 -05:00
Jarrod Johnson
24874bb4be
Merge branch 'master' into nodesearch
2020-02-20 20:37:23 -05:00
Jarrod Johnson
e2d0e49fc7
Add HTTP boot architecture to pxe
...
This paves the way for future response to HTTP boot
2020-02-20 20:36:36 -05:00
Jarrod Johnson
da5a34c2e4
Fix wheezy builds
2020-02-20 08:05:21 -05:00
Jarrod Johnson
3629cb8ee7
Fix spelling of cumulus
2020-02-19 16:53:35 -05:00
Jarrod Johnson
8233e0a5bd
Merge branch 'master' of github.com:jjohnson42/confluent
2020-02-19 16:26:48 -05:00
Jarrod Johnson
eae7b3bd80
Add discovery snoop for Cumulus ZTP
...
When a cumulus switch does ZTP, detect
in the discovery facility.
2020-02-19 16:26:33 -05:00
Jarrod Johnson
868367e052
Add sensing of ONIE switches
...
Have nodediscover show detected
ONIE install devices.
2020-02-19 15:20:45 -05:00
Jarrod Johnson
6289cfaac4
Fix nodeboot when used with -m
...
nodeboot was erroneously using sys.argv rather
than the processed args from optionparser.
2020-02-19 14:36:10 -05:00
Jarrod Johnson
f6d4fef5e6
Improve error message for collective
...
When trying to not run as root, give a
better error message explaining the
situation more clearly.
2020-02-18 16:16:40 -05:00
Jarrod Johnson
b1b7ec4d50
Add affluent plugin
...
Implementing Cumulus NOS
support through an agent called
'affluent'.
2020-02-18 14:23:57 -05:00
Jarrod Johnson
c0cd6de4f7
Remove PrivateDevices from unit file
...
PrivateDevices breaks pam_unix, for some reason. Remove this
protection. We still have DevicePolicy closed and running as non-root,
so this should still be relatively safe.i
2020-02-13 11:42:21 -05:00
Jarrod Johnson
4437e81e04
Leverage unix_chkpwd
...
If doing PAM authentication, we
can setuid to the target user and then
pam_unix will use unix_chkpwd on
our behalf.
Problems with this working in the lab
was resolved by a yum reinstall pam,
so it was presumably due to messed up
setcap or similar experiments.
2020-02-13 10:37:15 -05:00
Jarrod Johnson
6a12af1242
Remove non-root for older distributions
...
Older systemd does not support capabilities. For such a platform,
disable non-root mode.
2020-02-12 13:20:08 -05:00
Jarrod Johnson
9879a83a10
Fix mistake in the redfish access protection
...
It contained a syntax error.
2020-02-11 14:22:19 -05:00
Jarrod Johnson
cce6b824de
Merge branch 'master' of github.com:jjohnson42/confluent
2020-02-11 14:09:51 -05:00
Jarrod Johnson
ce1cb952e8
Fix PAM authentication
...
It's tricky. On Redhat platforms, we need the CAP_DAC_READ_SEARCH
capability. Unfortunately this is one of the nicest capabilities to have.
For now add it to ambient set so that PAM can work on redhat platforms.
Mitigate this risk by safeguarding the license handling code, which
is the only known place that can read a file and send it to somewhere.
If we could drop the capability from effective set and add it back in when
needed, that would be nice, but that appears not to be possible.
Short of that, having a separate authentication process
running and dropping privilege would potentially work.
2020-02-11 14:09:22 -05:00
Jarrod Johnson
c6812274e4
Fix media list through collective
...
The Media class was not
serializable by msgpack. Fix this
and improve error messages in
future instances of this behavior.
2020-02-11 09:04:49 -05:00
Jarrod Johnson
7cd7068dd7
Remove stray developer output
...
Remove a developer repr from log
output.
2020-02-07 16:01:29 -05:00
Jarrod Johnson
48f0330568
Add affluent support to /networking
...
The /networking backend will now
check for affluent on the switches and
use it if possible for improved performance.
2020-02-07 15:57:33 -05:00
Jarrod Johnson
66e1d17d28
Have systemd manage confluent run dir
...
The run directory has to be created and owned by confluent,
or else things cannot start.
2020-02-06 13:45:46 -05:00
Jarrod Johnson
7480494432
Tighten up new PAM check
...
For one, remove the password cache cleaning, as it no longer is run.
For another, skip the fork if uid is already 0.
Finally, wrap the check in a try/finally to keep the privileged process
more certain in exiting.
2020-02-06 10:05:57 -05:00
Jarrod Johnson
49c00bfbb7
Become root to check a password
...
Running as non-root had broken PAM support. Allow setuid so we
can assume root in one specific case.
2020-02-05 16:06:13 -05:00
Jarrod Johnson
201985dd0e
Fix missing argument to rpc_set_user
...
Requests were unable to traverse
a collective.
2020-02-05 14:55:51 -05:00
Jarrod Johnson
1aee19997a
Carry errors across msgpack
...
Messages that were formerly carried
as pickled exceptions are now sent
as generic strings over msgpack.
2020-02-04 10:16:48 -05:00
Jarrod Johnson
3bc366bef4
Fix mistake in the cert util
2020-02-03 15:37:20 -05:00
Jarrod Johnson
4c83a1a04e
Fix typos
...
Previous commit had errors in
quotations.
2020-02-03 11:13:13 -05:00
Jarrod Johnson
cfae28a869
Add error mesasges to help with non-root confluent
...
non-root confluent daemon will have a larger struggle
with permissions, try to help the user navigate that.
2020-02-03 10:13:26 -05:00
Jarrod Johnson
44e6a72847
Switch to using the defined service
...
For now, this makes no difference, but it is poor form,
probably. Correct by referencing the variable
name.
2020-02-03 09:57:02 -05:00
Jarrod Johnson
006fdc8280
Merge branch 'master' of github.com:jjohnson42/confluent
2020-02-02 18:19:06 -05:00
Jarrod Johnson
895b5264f6
Fix incorrect pam service
...
pam was defaulting to use of 'login', but we want 'confluent' for the service.
2020-02-02 18:18:39 -05:00
Jarrod Johnson
0b577af1ca
Fix ownership of confluent cache
...
It needs to be owned by the confluent user.
2020-01-31 11:48:34 -05:00
Jarrod Johnson
ff0b1bba7f
Fix rpm spec file
...
There was an ommision and a mistake.
2020-01-31 10:37:49 -05:00
Jarrod Johnson
0badd9e5b4
Migrate confluent installs to non-root
...
This will check for and repair uid 0 owned confluent directories.
2020-01-31 10:16:33 -05:00
Jarrod Johnson
c02064f0a5
Add missing msgpack dependencies
2020-01-31 10:02:38 -05:00
Jarrod Johnson
c1b82d8163
Protect confluent private data
...
This blocks use of private confluent data in commands like
nodelicense, nodefirmware, and nodemedia.
2020-01-31 10:00:35 -05:00
Jarrod Johnson
0d5fa7a98a
Change confluent to run as non-root and harden systemd
...
This mitigates a great deal of risk compared to prior behavior.
2020-01-31 09:52:52 -05:00
Jarrod Johnson
968efe719a
Add CAP_NET_BIND_SERVICE to unit file
...
This is preparing for running as non-root.
We need this capability to snoop SLP and PXE
2020-01-31 09:34:13 -05:00
Jarrod Johnson
7a63ca8759
Fix python3 problem with confetty
...
Under python3, there is no unicode.
2020-01-31 08:53:42 -05:00
Jarrod Johnson
a24866c2df
Fix exitcode for confetty noderange commands
...
The exitcode was not being set for noderange commands
where each node may independently raise errors.
Correct the oversight by catching each subelements errors.
2020-01-31 08:22:20 -05:00
Jarrod Johnson
c666b11138
Add ability to foreground exec confluent
...
This allows easier debug and option for unit file
in systemd to run foreground if it makes sense.
2020-01-31 08:10:01 -05:00
Jarrod Johnson
22f6198f60
Fix nodebmcreset on bad noderange
...
This prevents confusing python stack when
a bad noderange is specified.
2020-01-30 14:35:58 -05:00
Jarrod Johnson
c99d01dffc
Fix indentation of date conversion
...
The conversion was not checking each element.
2020-01-29 17:08:00 -05:00
Jarrod Johnson
8d0028a1de
Catch all for serialization errors
...
Rather than odd bool error, return something a
bit more precise.
2020-01-29 15:45:27 -05:00
Jarrod Johnson
bb9c2297c9
Stringify firmware datetime
...
With the change to msgpack, datetime objects cannot be serialized. Apply
tlvdata compliant transform before storing.
2020-01-29 15:41:13 -05:00
Jarrod Johnson
91fa5bd1eb
Enhance nodeconfig treatment of IMM
...
This makes the IMM attributes usable, but not intrusive.
2020-01-29 14:20:56 -05:00
Jarrod Johnson
ac9609c40d
Adjust to pyghmi api change
...
Due to confusion of mixed settings, pyghmi api changes
to enable the confluent experience to be more
sane.
2020-01-29 10:56:31 -05:00
Jarrod Johnson
0c4cb49c20
Implement nodeconfig -e
...
This provides access to 'extra' settings.
Mainly intended to avoid slowing down nodeconfig
with IMM attributes that most people don't
want anyway.
2020-01-29 10:15:32 -05:00
Jarrod Johnson
4be4100014
Fix configmanager msgpack
...
msgpack method had some regressions. For one, python2 strings
became bytes on mixed collective, fix by using raw=False on the
receiver.
Additionally, del_nodes tends to use sets, and that's not viable for
msgpack. Guard against that.
2020-01-29 09:24:57 -05:00
Jarrod Johnson
9f7c8c69f2
Fix invalid credentials msgpack
...
The invalid credentials did not accept an argument like
the rest, fix the inconsistency for msgpack deserialization.
2020-01-28 15:41:50 -05:00
Jarrod Johnson
c35f7d99f7
Update stripped exceptions to include node
...
While the exception had the node name, in some contexts the
exception was processed genericly.
2020-01-28 10:18:58 -05:00
Jarrod Johnson
445950d02a
Roll back library level force of role
...
Doing collective and config restore breaks. The API
will still prevent implicit role assumption.
2020-01-28 10:05:04 -05:00
Jarrod Johnson
cf72cf2d8c
Require role explicitly on user/group creation
...
Rather than default to administrator, require
the user to explicitly set the role to administrator.
2020-01-27 16:12:03 -05:00
Jarrod Johnson
0652a7321b
Apply whitelist to rpc functions in configmanager
2020-01-27 15:59:22 -05:00
Jarrod Johnson
4c8ba92856
Change configuration sync to use msgpack
...
This removes use of pickle for config sync over network.
2020-01-27 15:53:29 -05:00
Jarrod Johnson
09582d7597
Move input handling to destination
...
It is tricky to serialize a configmanager object, and
probably was making the requests gigantic anyway.
Serialize the parameters to let the target use its local copy instead
of serializing an entire config manager.
2020-01-27 15:26:54 -05:00
Jarrod Johnson
8a9e9aa7b3
Always use string type in msgpack
...
To facilitate py2/py3 consistency, for these
messages just always use the native string.
With this, python 2 strings will be unpacked as
strings by python 3. This means bytes cannot be
passed, but we will suffer that limitation for now.
2020-01-24 14:07:34 -05:00
Jarrod Johnson
b766e7b0ee
Opt into the msgpack 1.0 behavior
...
This fixes the dispatch to actually work.
2020-01-24 11:39:44 -05:00
Jarrod Johnson
92699e47f2
Merge tag '2.4.1'
...
2.4 bugfix release
2020-01-24 09:59:29 -05:00
Jarrod Johnson
2aa9910d83
Fix XCC discovery issues
...
A couple of issues could occur during discover that should be
stepped over.
2020-01-23 08:45:43 -05:00
Jarrod Johnson
18b6398c64
Fix XCC discovery issues
...
A couple of issues could occur during discover that should be
stepped over.
2020-01-23 08:44:17 -05:00
Jarrod Johnson
47b68e4258
Fix dispatch of redfish and tsmsol
...
redfish and tsmsol was not properly marked as
needing dispatch.
2020-01-22 15:04:43 -05:00
Jarrod Johnson
79b6d099ab
Fix attribute sort with python 3
...
For attributes without a sortid, sort was failing with python3
2020-01-22 14:24:58 -05:00
Jarrod Johnson
604ebcde3b
Merge branch 'master' of github.com:jjohnson42/confluent
2020-01-22 14:24:21 -05:00
Jarrod Johnson
b4b733a573
Fix attribute sort with python 3
...
For attributes without a sortid, sort was failing with python3
2020-01-22 14:24:10 -05:00
Jarrod Johnson
3bf083deb3
Stage 3 of msgpack for dispatch
...
This may complete the dispatch portion of the msgpack migration.
2020-01-21 14:15:14 -05:00
Jarrod Johnson
9d770632ce
Merge branch 'master' of github.com:jjohnson42/confluent
2020-01-21 13:44:04 -05:00
Jarrod Johnson
79afd174c9
Add serialization to ConfluentExceptions
...
In the same manner that messages
are handled, handle non-messages
content.
2020-01-21 11:28:08 -05:00
Jarrod Johnson
13a0bf4fbe
Draft for message serialization
...
This adds msgpack based serialization to messages.
This would be used to superesed pickle in core.
2020-01-16 16:42:32 -05:00
Jarrod Johnson
f1e1d9804a
Use python3 for Debian and Ubuntu except for wheezy
2020-01-14 09:52:16 -05:00
Jarrod Johnson
546296ce71
Have the get_webclient always return two elements
...
Some scenario existed where the function could return
None and this could break code expectations that it
always returned a tuple and the first value needs
to be checked for None.
2020-01-08 10:17:06 -05:00
Jarrod Johnson
954b2dd15c
Fix minor formatting issues in source
2020-01-07 09:38:40 -05:00
Jarrod Johnson
a7b11d1e15
Fix closing ipmi session when not mapped
...
When not mapped, a noisy KeyError was occuring. Handle
it to avoid cluttering log if the work is not needed.
2019-12-10 14:38:12 -05:00
Jarrod Johnson
3660cf18cc
Fix a number of issues
...
For one, there were still bytes v. str for python3 issues in the
certificate exception and credential handling for smm and generic
credential lookup.
There was a python2-ism in lldp that needed to be made 2/3 agnostic
with ord() of a 'bytes' member, converting to bytearray for
normalized behavior.
The discovery core had an issue with chained smms where a set
was used which cannot take a dict, and so it is converted to a list.
If a temporary password is used but the user did not provide a permanent
password that is viable, make the error more explicit.
2019-12-10 11:54:24 -05:00
Jarrod Johnson
078afaf7d7
Make SLP more tolerant of malformed data
...
Unrelated devices may present invalid data
to SLP queries. Have these conditions better tolerated.
2019-12-06 11:24:30 -05:00
Jarrod Johnson
3ab1eb7f01
Add words to nodefirmware man page
...
ipmi versus redfish produces some different behaviors, document
some examples in the man page.
2019-12-04 10:14:23 -05:00
Jarrod Johnson
fbfdc9322b
Raise errors during connection
...
This improves error behavior when login action
encounters an error.
2019-12-04 10:06:18 -05:00
Jarrod Johnson
ef68656bde
Fix nodestorage handling of error
...
Error messages were not properly handled if specific nodes had issues.
Properly provide the error messages.
Additionally, clarify a common uselessly vague error.
2019-12-03 10:04:34 -05:00
Jarrod Johnson
0e04b853f6
Fix common usage of noderange alerts
...
This fixes the usual circumstance of not having keyed input data.
2019-11-21 16:42:03 -05:00
Jarrod Johnson
63256e37b6
Remove some uses of xrange
...
Not friendly to python 3
2019-11-21 16:03:48 -05:00
Jarrod Johnson
a1b81e978b
Pull in websocket client dependency
...
This enables tsmsol plugin
2019-11-20 15:25:11 -05:00
Jarrod Johnson
06c53e9d89
Make the websocket module optional
...
Have tsmsol gracefully degrade for Wheezy, where
it is not relevant to that platform.
2019-11-20 13:53:16 -05:00
Jarrod Johnson
ab0168b2ec
Update man page for nodesupport
...
Correct typo and clarify that plugins may customize
filenames.
2019-11-20 10:48:08 -05:00
Jarrod Johnson
473bb39c54
Fix packaging omission of console plugins
2019-11-20 10:04:38 -05:00
Jarrod Johnson
a48ecd8c78
Add hardware and firmware info to CNOS
...
CNOS devices now have nodefirmware and nodeinventory.
2019-11-15 16:08:28 -05:00
Jarrod Johnson
30398fc434
More explicit follower health checking
...
Be more careful about collective member health assessment,
explicitly closing a follower when it has failure and prefacing
collective commands with a check prior to performing the actual
changes.
2019-11-11 10:49:25 -05:00
Jarrod Johnson
0ed7e4eac3
Merge branch 'master' of github.com:jjohnson42/confluent
2019-11-07 11:26:04 -05:00
Jarrod Johnson
0d2999c7a8
Properly relay errors on console start
...
Rather than always saying console.method is not set, relay
the str of the exception to give a more accurate info.
2019-11-07 11:25:49 -05:00
Jarrod Johnson
75010ac6f0
Guard against accidental node duplication
...
If two nodes have same bmc, block one of them to prevent massive
fluctuation back and forth.
2019-11-07 11:10:26 -05:00
Jarrod Johnson
a748cc3032
Remove incorrect check for HOSTUNREACH
...
This seems incorrect and further redundant with other portions
of the code. This was causing a 'has no len()' error when encountered.
2019-11-05 13:28:12 -05:00
Jarrod Johnson
28bb143880
Recognize drive in rebuilding state
...
The rebuilding state was not recognized, add that state.
2019-11-04 14:16:02 -05:00
Jarrod Johnson
4b6899d4af
Mark node as 'dirty' if it's group is removed
...
Group removal would end up with the on-disk copy not reflecting
the node membership, even though in-memory copy is fine.
Fix by adding the missing dirty mark to the entry.
2019-11-04 13:43:29 -05:00
Jarrod Johnson
a175fd7345
Allow autosuffix to change passed filename
...
The resultant file may deviate and thus the chown
must have the updated name.
2019-10-29 16:06:51 -04:00
Jarrod Johnson
12bd473c0d
Remove stray debug output
2019-10-29 15:50:48 -04:00
Jarrod Johnson
a967c224fe
Add TSMSOL plugin
...
This enables ipmi-free access to TSM SOL console
2019-10-29 15:20:40 -04:00
Jarrod Johnson
72a5f37232
Fix mid-line command completion
...
Use COMP_CWORD instead of -1 to dynamically decide where to
do completion and what candidates to offer
2019-10-24 15:27:17 -04:00
Jarrod Johnson
5c081a8e2c
Remove SYSV init script from RPM packages
...
All supported RPM distros are systemd now...
2019-10-24 12:16:17 -04:00
Jarrod Johnson
c0b69f64b8
Error when noderange tries to use secret
...
secret. cannot be used in expressions, provide
an error in such a case.
2019-10-24 12:04:47 -04:00
Jarrod Johnson
f7fe38f498
Fix problem with reassign and TSM
2019-10-24 10:29:58 -04:00
Jarrod Johnson
5ae949b4eb
Add UUID to TSM discovery
...
The UUID is now available in redfish,
use that to get the UUID.
2019-10-24 10:23:59 -04:00
Jarrod Johnson
cec6918c1a
Support unsupported bad disks
2019-10-23 17:02:37 -04:00
Jarrod Johnson
3df7a36c48
Fix a number of issues with maxnodes
...
Some commands did not function correctly
after modifications.
2019-10-23 16:47:42 -04:00
Jarrod Johnson
559e96f7ff
Fix location of calling the noderange check
2019-10-23 16:27:18 -04:00
Jarrod Johnson
6f568919e1
Correct instance callout
...
The wrong value was called out
2019-10-23 15:57:16 -04:00
Jarrod Johnson
c441739f68
Try a less jarring exit strategy
...
Have client not provide a developer looking trace on abort.
2019-10-23 14:41:57 -04:00
Jarrod Johnson
a43361bb98
Amend the prompt for single node prompting
...
Remove the trailing slash
2019-10-23 14:38:45 -04:00
Jarrod Johnson
620263db3e
Add maxnodes argument to potentially risky commands
...
This uses the client maxnodes check to double check. Useful
for clients that want to sanity check unexpectedly large numbers of
nodes.
2019-10-23 14:20:40 -04:00
Jarrod Johnson
dd096104cc
Provide mechanism to prompt on large noderanges
...
Some commands can add options to prompt, and can have that option be
only activated on noderanges over a
certain size.
2019-10-22 15:49:09 -04:00
Jarrod Johnson
191ae762ab
Use autosuffix feature of pyghmi
...
This produces output that is more consistent with support by vendors.
2019-10-22 15:17:31 -04:00
Jarrod Johnson
f866b7379c
Always relax minimum password interval on auto change
...
The preconfig could interfere with normal operations.
2019-10-22 10:51:41 -04:00
Jarrod Johnson
aab6160d49
Fix compatibility between new and old TSM firmware
2019-10-21 16:20:54 -04:00
Jarrod Johnson
e1dffe7c3a
Fix compatibility with newer TSM firmware
...
TSM stopped accepting url encoded, switch to json. This should work
for older and newer firmware.
2019-10-21 14:39:27 -04:00
Jarrod Johnson
97ca6dc48e
Provide more detail on leader when leader is lost
2019-10-21 13:55:43 -04:00
Jarrod Johnson
1d59e1da8c
Fix unicode issues in HTML api explorer
2019-10-17 15:36:51 -04:00
Jarrod Johnson
45c13a3d46
Merge branch 'master' into nodesearch
2019-10-17 13:46:23 -04:00
Jarrod Johnson
7e6b4fa4d0
Fix HTML view with unicode
2019-10-17 11:25:03 -04:00
Jarrod Johnson
186e89cd87
Fix handling autosense with python3
2019-10-17 09:47:46 -04:00
Jarrod Johnson
a04eea6927
Merge branch 'master' into nodesearch
2019-10-17 09:31:01 -04:00
Jarrod Johnson
f46939b7ec
Add missing comma to api attributes
2019-10-16 13:50:23 -04:00
Jarrod Johnson
73d6511d9e
Use python3 explicitly for building source
...
The source distrobution on CentOS7 does not work well
with python2. Using python3 to build the dist for python2
and python3 fixes issues with extra data being missed in
packaging.
2019-10-16 13:26:15 -04:00
Jarrod Johnson
17a8ab3211
Use python3 explicitly for building source
...
The source distrobution on CentOS7 does not work well
with python2. Using python3 to build the dist for python2
and python3 fixes issues with extra data being missed in
packaging.
2019-10-16 13:25:21 -04:00
Jarrod Johnson
0fd4c3b2f7
Merge branch 'master' into nodesearch
2019-10-16 13:24:11 -04:00
Jarrod Johnson
065ee48325
Remove non-ascii from man page
2019-10-15 14:00:03 -04:00
Jarrod Johnson
4a35cc25f0
Fix TSM setup with python3 and custom credentials
2019-10-15 11:19:04 -04:00
Jarrod Johnson
ceced11ae8
Fix python3 compatibility issue
2019-10-14 16:28:32 -04:00
Jarrod Johnson
62084b3605
More fixes for python3/2 compatibility
2019-10-14 15:22:44 -04:00
Jarrod Johnson
a84b88e269
Fix mistake in the expression change
2019-10-14 15:02:45 -04:00
Jarrod Johnson
fc626d36ba
Fix greenlet 'isAlive'
...
There is no 'isAlive' in a greenlet.
2019-10-14 13:59:24 -04:00
Jarrod Johnson
606a308046
Fix quorum notification in mixed 2/3 collective
2019-10-14 10:33:13 -04:00
Jarrod Johnson
bed0f76dba
Fix nodeshell/nodersync python3 changes
2019-10-14 09:37:30 -04:00
Jarrod Johnson
8c4d04a7cd
Try utf-8 and fallback to latin1 for 2/3 collective
...
datetime objects are latin1 encoded from python2.
Not an issue for pure python3 or python2 collectives, but
mitigating problems in the mixed environment
2019-10-11 13:58:30 -04:00
Jarrod Johnson
bfbde0f7f3
Fix PXE protocol processing under python3
2019-10-11 13:36:16 -04:00
Jarrod Johnson
ba96aea2a6
Fix SR635/SR655 discovery with python3 base
2019-10-11 13:35:46 -04:00
Jarrod Johnson
d9f1d6c033
Fix user/password login in python3
...
The forced bytes of the function was incompatible
with str oriented logic later
2019-10-11 13:21:55 -04:00
Jarrod Johnson
1dac61adca
Fix python3 in show user
...
Showing a user was not working in python3
2019-10-11 13:16:38 -04:00
Jarrod Johnson
e008932389
Fix python3 collective leader
...
rpc needs to be fully binary
2019-10-11 11:11:27 -04:00
Jarrod Johnson
b81e5fb3ce
Fix python3 issues with noderun and nodeshell
2019-10-11 09:53:01 -04:00
Jarrod Johnson
e2a08e7e73
Fix bug in initial recheck scheduling
...
This was causing rechecktime to not be set correctly.
This caused a trace in python3, but indicates an incorrect
behavior when running under python2
2019-10-11 09:09:42 -04:00
Jarrod Johnson
eb48728bc1
Have stringify replace by default
...
This allows easier handling of invalid decode
data.
2019-10-11 08:57:18 -04:00
Jarrod Johnson
c6255fa13b
Fix SMM discovery in python3
2019-10-10 17:10:41 -04:00
Jarrod Johnson
2a37d64dc9
Fix XCC discovery in python3
...
Python3 was picky about the strings, normalize key areas
to strings.
2019-10-10 17:03:57 -04:00
Jarrod Johnson
8101672c3a
Fix discovery with python3
2019-10-10 16:49:36 -04:00
Jarrod Johnson
453c344f7f
Fix audit log for non root usage with python 3
2019-10-10 16:07:45 -04:00
Jarrod Johnson
9eceda0636
Fix non-root user issue with python3
2019-10-10 16:04:23 -04:00
Jarrod Johnson
f28b91499e
Fix console replay with formatting
...
Bold and related items would trigger a problem with python3
2019-10-10 15:01:00 -04:00
Jarrod Johnson
8cab591a8b
Add collective member deletion
...
This allows deletion of a dead member, down to deleting down to non-collective
mode.
2019-10-10 11:30:03 -04:00
Jarrod Johnson
6ce6740b77
Provide deletion of collective member
2019-10-10 08:50:42 -04:00
Jarrod Johnson
8a4a219a14
Fix two more python2 string behavior
...
In python3, bytes[n] is an int, but not in python2.
Sidestep by doing bytearray() for both, which is consistent
between the two.
2019-10-09 15:06:23 -04:00
Jarrod Johnson
a39d45d03c
Fix some more python3 issues
2019-10-09 13:42:17 -04:00
Jarrod Johnson
bc85d93cf4
More Py3 fixes
2019-10-09 11:20:03 -04:00
Jarrod Johnson
1e963106fe
Fix unicode issues with web api
2019-10-09 11:03:30 -04:00
Jarrod Johnson
a9f0e345db
Another set of python3 fixes
2019-10-08 17:10:56 -04:00
Jarrod Johnson
5353b479d9
More python3 fixes
2019-10-08 13:46:44 -04:00
Jarrod Johnson
dbc6747c38
Fix nodebmcreset for python3
2019-10-08 13:43:53 -04:00
Jarrod Johnson
0edd1efe0d
Fix python3 dump_keys
...
When doing format on base64
output, it must be explicitly
coerced into native string
format.
2019-10-08 13:21:34 -04:00
Jarrod Johnson
8e87f5b9e5
Fix python3 issue with base64 and str
2019-10-08 11:20:27 -04:00
Jarrod Johnson
0633b2ca67
Fix syntax error in code
2019-10-08 10:59:44 -04:00
Jarrod Johnson
c1953bdad3
Another set of python 3 compatibility
...
Numerous issues arose, particularly
when participating in a mixed
collective.
2019-10-08 10:45:43 -04:00
Jarrod Johnson
578ba06aa3
Fix python3 problem with octal
2019-10-08 09:06:15 -04:00
Jarrod Johnson
0975881d3b
Add monotonic dependency
2019-10-07 17:06:45 -04:00
Jarrod Johnson
8fc3b7c9c0
Implement cross-python collective compat
...
This enables cross-version compatibility
for a collective.
2019-10-07 15:41:38 -04:00
Jarrod Johnson
6ea6ebd80e
Remove superfluous dependency
2019-10-04 16:49:51 -04:00
Jarrod Johnson
744f8899f7
Merge branch 'py3'
2019-10-04 10:57:07 -04:00
Jarrod Johnson
5c288a27dd
Have EL8 use python3 for confluent
2019-10-04 10:54:20 -04:00
Jarrod Johnson
74f18d5571
Client side py3 changes
2019-10-04 10:37:48 -04:00
Jarrod Johnson
d9be6ae2e9
Close console on disconnect
...
Fixes leftover console on user initiated disconnect.
2019-10-04 09:57:54 -04:00
Jarrod Johnson
59789bae7d
Fix python3 ctypes str usage
...
In python3, the string is likely to be unicode and incompatible
with the libc function. If it isn't bytes, force it to be bytes.
2019-10-03 16:06:15 -04:00
Jarrod Johnson
521be5d44d
Further Python3 compatibility changes
...
With this as well as eficompressor and pyghmi updates, things
seem to be in roughly working order
2019-10-03 15:57:56 -04:00
Jarrod Johnson
6fb82bbbad
Further Python3 compatibility changes
2019-10-02 11:29:13 -04:00
Jarrod Johnson
90e546bcac
Implement a number of py3 compatible adjustments
2019-10-02 08:58:39 -04:00
Jarrod Johnson
147d59cba7
Migrate from PyPAM
...
PyPAM is no longer part of the distributions. Closest match is also not in
the distributions and also contains a security problem without an external
patch, so it is pulled in and pull request with copyright and license
intact.
2019-10-01 11:28:43 -04:00
Jarrod Johnson
6a6fd3184e
Add missing dependencies for EL8
2019-09-30 10:51:26 -04:00
Jarrod Johnson
c532cf9ecf
Add EL8 requires adapting to confluent
2019-09-25 15:38:36 -04:00
Jarrod Johnson
8909fb16d6
Change rpm spec to build using python2
...
This will fix shebang mangling.
2019-09-23 11:11:16 -04:00
Jarrod Johnson
44d6bde3ff
Make /usr/bin/env python point to python2
...
Same as before, more RHEL8 compatibility changes
2019-09-23 11:04:52 -04:00
Jarrod Johnson
56fa13279e
Explicitly indicate use of python2
...
RHEL8 will no longer tolerate implicit use of python.
For now relent to being python2, though ideally one day
it could be either.
Unfortunately, this means once code is ready for python3, we have to
probably implement build time changes for python3 enabled distros
to have different shebangs than python2 distros.
2019-09-23 10:59:00 -04:00
Jarrod Johnson
5008128d57
Add IPv6 support to TSM
...
TSM firmware fixes enable IPv6, enable our support of it.
2019-09-19 10:02:40 -04:00
Jarrod Johnson
ed320f4a17
Add 'check' to permit comparison against current value
...
For implementing some security policies, it is useful
to check new value against current value.
2019-09-17 09:48:02 -04:00
Jarrod Johnson
de8292f6dd
Ignore current channel if current channel is disabled
...
A fluke can cause current channel to be 1 when we are wanting 8.
2019-09-06 13:31:14 -04:00
Jarrod Johnson
829a5b08c1
Merge branch 'master' into nodesearch
2019-09-06 10:09:48 -04:00
Jarrod Johnson
8e071a2568
Fix missing import
...
The smm change omitted a required import.
2019-09-05 12:45:29 -04:00
Jarrod Johnson
7d84d0a021
Add network config to SD635/SD655 discovery
...
This completes the most critical portion of SD635/SD655 functionality.
2019-09-05 12:10:58 -04:00
Jarrod Johnson
c5f75bfa15
Fix slowdown when no password change needed
...
If the password was pre-provisioned, accelerate the config
phase of tsm bringup.
2019-09-05 11:10:38 -04:00
Jarrod Johnson
99d01d707f
Fix incorrect bad auth on freshly changed password
...
If the database backing the password had changed but cache hadn't updated,
then the cache miss was taken as always meaning no valid login.
2019-09-05 11:09:11 -04:00
Jarrod Johnson
3e1690c860
Add authentication and ipmi configuration to SR635/SR655
...
Network configuration and the lockout policy remain to be configured.
2019-09-04 16:20:31 -04:00
Jarrod Johnson
a3f5630535
Add SR635/SR655 detection
...
Currently merely detects. A discover handler will be next step
to populate UUID and do initial setup.
2019-09-03 15:49:27 -04:00
Jarrod Johnson
8d6744947e
Extended bmc config support to redfish
...
Though the underlying library is currenty a stub, bring the
confluent plugin to parity so that nodeconfig works fine
with redfish again.
2019-09-03 11:05:51 -04:00
Jarrod Johnson
21b3c89974
Improve redfish plugin errors and attrib handling
...
Redfish plugin was not handling the various socket error
behaviors correctly.
Additionally, the attribschanged handler was failing to actually
do anything, so commands would gladly reuse an old redfish
object if it were working.
2019-09-03 10:06:18 -04:00
Jarrod Johnson
9718881c7b
Merge branch 'master' of github.com:jjohnson42/confluent
2019-08-30 10:22:59 -04:00
Jarrod Johnson
fcbbdc8a8d
Add python-pyopenssl and python-dateutil deps
...
For wheezy, the only supported user wants to
always have collective capability.
Workaround pyghmi missing the dateutil dependency.
2019-08-30 10:22:17 -04:00
Jarrod Johnson
f03bb36dbe
Fix nodeconfig treatment of bmc attributes
...
Make bmc behave like other categories/settings.
2019-08-29 15:24:14 -04:00
Jarrod Johnson
97a950b145
Retain XCC IP on discovery if already set
...
Do not change from DHCP if DHCP is working the way intended.
2019-08-28 09:46:35 -04:00
Jarrod Johnson
a0e445d1b1
Force MSS down for forwarded connections
...
Some endpoints may not be able to fully handle the natural
MSS suggested by MTU.
2019-08-28 09:16:42 -04:00
Jarrod Johnson
65629548c9
Add support for new BMC config capabilities
...
This enables nodeconfig -r bmc and nodeconfig bmc.<attr> function.
2019-08-27 14:56:19 -04:00
Jarrod Johnson
6cfbf4533c
Add support for BMC clear and extended attributes
...
This wires up new function in pyghmi.
2019-08-27 14:32:16 -04:00
Jarrod Johnson
5794dd7f8c
Add CP storage to discovery
2019-08-22 16:15:01 -04:00
Jarrod Johnson
48fa74e7a9
Explicitly use utf8 when encode error encountered
...
Some platforms do not naturally do utf-8. This is
pretty much always the answer, so try it if the default
encoding of a platform fails.
2019-08-22 08:57:47 -04:00
Jarrod Johnson
59d5110b8f
Also enable ipmi if user sets in console.method
2019-08-20 09:29:25 -04:00
Jarrod Johnson
051d79727b
Fix sysvinit
...
sysvinit lsb function is 'status_of_proc'
2019-08-20 08:59:01 -04:00
Jarrod Johnson
4cdbc7807b
Add thinkagile storage to discovery
...
At least enumerate the ipv4 pieces.
2019-08-19 16:37:14 -04:00
Jarrod Johnson
feecee82db
Mitigate excessive open web sessions
...
Back to back discovery testing would exhaust web slots.
Severely mitigate through being more aggressive about logging out.
2019-08-19 10:44:47 -04:00
Jarrod Johnson
395c0d4697
Preserve IPMI state unless user wants otherwise
...
ALso a draft of navigating a forced password change
in the midst of a pre-hashed password conversion.
2019-08-16 16:33:57 -04:00
Jarrod Johnson
a963a8ca35
Handle forced password change and no IPMI for XCC
...
XCC firmware will start mandating a password change before use.
Additionally, IPMI will be unavailable and will be needed for enabling SMM.
TODO:
-Discover USERID/TempW0rd42 nodes that weren't preconfigged
-Enable IPMI on non-SD530 if hardwaremanagement.method is not redfish.
2019-08-15 16:40:15 -04:00
Jarrod Johnson
aa059c6a4d
Amend some formatting
2019-08-12 16:19:35 -04:00
Jarrod Johnson
2e03b662ea
Add a credential server implelmentation
...
This implements the api.armed logic and storing key when
using the clortho credential agent.
2019-08-12 15:31:24 -04:00
Jarrod Johnson
55a0aab548
Add node api key and arming
...
This is the groundwork for having node authentication.
The intent is for calling code to modify api.armed if
the administrator wants to opt into a one-time set of
credential.
This design as is currently does not fit a stateless
deploy model. That may suggest an additional manual step
for a fully stateless model. Alternatively adding support
for credential persistence through sealing to a node's TPM,
which would allow more freely retrievable node credentials.
2019-08-12 15:28:00 -04:00
Jarrod Johnson
aaf5aebff7
Fix for tokens with null bytes
...
Since the server may employ the full range of byte values
in the echo token, use that length and the buffer to avoid
nulls truncating the token.
2019-08-12 15:24:51 -04:00
Jarrod Johnson
c1abeaff04
Convert concept to IP based
...
This leaves the door open for routing if supported.
The server shall restrict IP_TTL to denote
acceptable distance from the manager to accept.
2019-08-09 16:43:48 -04:00
Jarrod Johnson
37d4543d24
Merge branch 'master' into nodesearch
2019-08-08 16:18:21 -04:00
Jarrod Johnson
d95464df6f
Add a non-ip network string xmit concept
2019-08-08 16:14:05 -04:00
Jarrod Johnson
3f6e6d4c39
Support unavailable sensors in redfish
2019-08-08 15:02:26 -04:00
Jarrod Johnson
c3176ab86a
Add blink and identify reporting to redfish
2019-08-05 16:22:50 -04:00
Jarrod Johnson
4dab5fc527
Adapt to RHEL or Debian openssl config locations
2019-08-05 16:16:42 -04:00
Jarrod Johnson
d13e286609
Merge branch 'master' into nodesearch
2019-07-30 14:46:43 -04:00
Jarrod Johnson
8897842fc4
Fix SMM handler when None bmc
...
This fixes a common scenario for using fe80 collection
2019-07-26 13:50:59 -04:00
Jarrod Johnson
a251a538b0
Improve SMM discovery
...
SMM discovery behavior has seemingly gotten more picky with time.
First switch to an IPMI-free if the user has custom password. The
web based approach is much less problematic than SMM IPMI stack in
this context.
If user specifies they want to use default credentials, we have
no choice but to use IPMI. Omit things and shuffle order of operations
to mitigate problems. It isn't perfect, but it does work eventually.
2019-07-26 09:25:19 -04:00
Jarrod Johnson
480a747dcf
Merge branch 'master' of github.com:jjohnson42/confluent
2019-07-25 13:10:08 -04:00
Jarrod Johnson
af025f7304
Present log name when provided in nodeeventlog
...
Some managers combine logs, allow disambiguation through including in output.
2019-07-25 13:09:52 -04:00
Jarrod Johnson
21edd82177
Extend generic catches in redfish/ipmi
...
Have it provide more detailed error data at
a glance to short out some debug requirements.
2019-07-25 09:28:55 -04:00
Jarrod Johnson
8641885f86
Fix handling of socket error with neighbor
...
If a system is half up, a different sort of timeout is given.
Handle this and also preserve the original exception better
if not one of these two.
2019-07-25 08:52:47 -04:00
Jarrod Johnson
64cc2416d1
Fix list argument
2019-07-24 15:37:01 -04:00
Jarrod Johnson
2787e1d862
Present more data about missing entries from assign csv
...
When doing an assign on csv, present all the missing entries
rather than stopping on the first.
2019-07-23 11:57:35 -04:00
Jarrod Johnson
a7c93627e2
Merge branch 'master' into nodesearch
2019-07-23 08:18:44 -04:00
Jarrod Johnson
514a121c15
Print license install errors when provided
...
When the service gives errors installing keys,
relay them to the user.
2019-07-22 11:21:31 -04:00
Jarrod Johnson
6e5cfe69a8
Merge branch 'master' into nodesearch
2019-07-22 09:41:45 -04:00
Jarrod Johnson
00ce48b046
Fix behavior for bad nodelicense arguments
...
Correctly show help and exit if unrecognized
parameter.
2019-07-22 09:27:31 -04:00
Jarrod Johnson
44929e7975
Fix printing of unicode to pipe
...
nodesensors would have a unicode error on pipe output.
2019-07-19 15:36:43 -04:00
Jarrod Johnson
da82fef0cb
Have nodelist use nodeattrib completion
...
Since nodelist may also show attribute values, use same completion function.
2019-07-19 14:22:19 -04:00
Jarrod Johnson
efcac0b181
Fix nodesensors -n with csv
2019-07-19 14:12:40 -04:00
Jarrod Johnson
626f1c16e2
Merge branch 'nodesearch' of github.com:jjohnson42/confluent into nodesearch
2019-07-19 14:10:13 -04:00
Jarrod Johnson
43480c2e3b
Fix nodesensors -n with csv
2019-07-19 14:09:51 -04:00
Jarrod Johnson
b91693a973
Merge branch 'master' into nodesearch
2019-07-17 13:05:20 -04:00
Jarrod Johnson
46e2f53018
Always use GCM on encrypt
...
Continue to support read using the old scheme, but even when
an integrity key is available, only use it to aid in decrypting
classic format, and always write in new format.
2019-07-17 08:51:06 -04:00
Jarrod Johnson
da8b4d00d8
Merge branch 'master' into nodesearch
2019-07-16 18:46:52 -04:00
Jarrod Johnson
cf51928b3d
Implement GCM and close gap in the HMAC
...
When generating key material from scratch, skip HMAC and
activate GCM mode.
When using existing CBC/HMAC keys, start covering the IV value
in the HMAC. For compatibility, HMAC validity is checked with
and without IV.
2019-07-16 18:32:23 -04:00
Jarrod Johnson
b7b7fd82eb
ECHO a packet back to manager
...
In a later phase, we will want assurances
that the neighbor table was populated.
Since here we have the sockaddr handy,
it makes a lot of sense to take the
opportunity to blind fire a packet back.
No reply is expected, just enough to
trigger arp/neighbor solicitation.
2019-07-16 07:51:24 -04:00
Jarrod Johnson
3789e43f35
Merge branch 'master' into nodesearch
2019-07-16 07:32:00 -04:00
Jarrod Johnson
151ba2e567
Add error messages to nodeattrib clear
...
nodeattrib -c was not reporting useful error information.
2019-07-15 13:28:09 -04:00
Jarrod Johnson
a325dcb423
Merge branch 'nodesearch' of github.com:jjohnson42/confluent into nodesearch
2019-07-15 11:09:29 -04:00
Jarrod Johnson
c8d0009dac
Avoid copernicus printout of more duplicate data
...
Separate v4 and v6 results for better chance of success in
dropping duplicate packets.
2019-07-15 11:09:20 -04:00
Jarrod Johnson
79f5dce6dc
Implement node search for confluent
...
This is a viable client to find and get ones node identity.
Node credentials are a separate concern, to be handled later.
2019-07-15 11:09:20 -04:00
Jarrod Johnson
bc87077397
Fix error handling and consistency in networking
...
by-port specification was inconsistent and unhelpful in error between macmap and lldp.
2019-07-15 11:07:59 -04:00
Jarrod Johnson
54f36e259f
Avoid copernicus printout of more duplicate data
...
Separate v4 and v6 results for better chance of success in
dropping duplicate packets.
2019-07-15 10:30:36 -04:00
Jarrod Johnson
acf67a6c81
Implement node search for confluent
...
This is a viable client to find and get ones node identity.
Node credentials are a separate concern, to be handled later.
2019-07-12 17:04:14 -04:00
Jarrod Johnson
a77b65737e
Suppress usage on nodefirmware error
...
It is very bizarre to have the usage output
after an error.
2019-07-12 12:10:22 -04:00
Jarrod Johnson
19c2963cf9
Fix reassign with SMM
...
SMM validation assumes an earlier connection, fix so that it will accept the certificate
if no certificate expected yet.
2019-07-11 15:55:20 -04:00
Jarrod Johnson
a0ea8eeae3
Fix nodediscover support of bmc_gateway
...
The command expected spaces, but documentation
said underscore, support both old csvs and doc
compliant csvs.
2019-07-11 15:36:31 -04:00
Jarrod Johnson
6ad1ce4df5
Back off concurrent retrieval.
...
Some BMCs are incapable of handling concurrent requests.
This is a blow particularly to high latency management given
Redfish's tendency to require a lot of resource fetches, but
we don't have a particularly discoverable strategy for knowing
in advance whether an implementation is up for some optimization.
2019-07-11 11:41:42 -04:00
Jarrod Johnson
c53264872a
Fix scenario with undefined passlength
...
If passwordcomplexity were requested without a passwordlength,
things would be a problem.
2019-07-11 10:53:43 -04:00
Jarrod Johnson
d9f2c0b266
Correct mistake in setting names
2019-07-11 10:40:49 -04:00
Jarrod Johnson
d528d45820
Add configuration to opt into password policies.
2019-07-11 10:19:46 -04:00
Jarrod Johnson
4eeac8d71a
Explore password evaluation as an option.
...
Password rules may be relevant to some scenarios. In such a case, this
can provide guidance if the BMC does not have such a facility or
alternatively provide friendlier warnings than the BMC provides
around shortcomings of the password.
2019-07-10 15:32:47 -04:00
Jarrod Johnson
6cc0eb0797
Add reassign to nodediscover
...
Allow nodediscover to do 'reassign' to repeat discovery process for a discovered
node, without requiring an additional identifier.
2019-07-09 13:53:30 -04:00
Jarrod Johnson
bfd0de1a4a
Add expiration to more places
2019-07-09 13:26:48 -04:00
Jarrod Johnson
a787ac62c3
Add expiration data from ipmi plugin
...
When pyghmi provides the information, enrich the return
data.
2019-07-09 12:48:56 -04:00
Jarrod Johnson
fd9b4a8650
Add support for expiration data, when available
2019-07-09 10:55:33 -04:00
Jarrod Johnson
373bf3dca7
Remove stray whitespace
...
Fix formatting mistakes
2019-07-09 10:18:34 -04:00
Jarrod Johnson
0ad0c626c2
Restore password policy set to nodediscover
...
The shift away from IPMI had omitted the password policy set.
Amend the function and restore it to the sequence of events.
2019-07-08 16:25:07 -04:00
Jarrod Johnson
fbc4fc6846
Make unexpected error more specific
...
Often a usable summary message is obfuscated. Assume the subject line
is safe to relay, but continue to do a more verbose trace.
2019-07-08 14:28:56 -04:00
Jarrod Johnson
3efc153615
Improve conversion reliability
...
It was frequent that a token expiration would impact attempt to convert
an account. Suppress the token based authentication to more reliably
have a fresh login.
Additionally, mitigate chance of exhausting user login limit.
Finally, switch to a generated password for the temporary account. Should something go awry
between deleting the third-party account and recreating it, this
means the system will have to be reset through OS or F1 menu. However this is better
than the risk of a well known backdoor account being inadvertently
created.
2019-07-03 11:39:36 -04:00
Jarrod Johnson
b7ff093e48
Fix ubuntu package install location
2019-07-02 14:42:45 -04:00
Jarrod Johnson
7275e98039
Remove IPMI specific parameters to user
...
Users cannot have these settings in redfish
2019-07-01 11:23:28 -04:00
Jarrod Johnson
2b0c50dc23
Refresh connection parameters on retry
...
If the parameters changing cause a login failure,
take the opportunity to refresh that information to work
in the midst of a rediscover, for example.
2019-07-01 09:15:01 -04:00
Jarrod Johnson
54439d5f18
Fix cause of former 'login process died'
...
If a session died without calling logged, the confluent plugin
instance would be orphaned. Detect this situation to trigger a
retry.
2019-07-01 09:05:08 -04:00
Jarrod Johnson
65b4cbe8cc
Revised fix for redfish name missing case
2019-06-28 16:02:19 -04:00
Jarrod Johnson
c8931ae6e7
Revert "Carry fix for null names to redfish"
...
This reverts commit 8bbeeafa49 .
2019-06-28 16:01:26 -04:00
Jarrod Johnson
083f5c8654
Add python-dateutil rpm dependency
2019-06-28 15:41:17 -04:00
Jarrod Johnson
8bbeeafa49
Carry fix for null names to redfish
2019-06-28 15:14:59 -04:00
Jarrod Johnson
422f210f74
Handle adapters with null names
...
Under some situations, null names are given
for adapters, apply generic treatment to such
devices.
2019-06-28 15:13:56 -04:00
Jarrod Johnson
2e6029bd2c
Add a location.height attribute
...
This permits user to specify height for either unsupported systems
or to speed up the rackview drawing.
2019-06-28 09:30:53 -04:00
Jarrod Johnson
81c0adbbe3
More python 3 compatibility fixes
...
Improve more commands and modules to parse and execute under python 3.
2019-06-28 08:51:57 -04:00
Jarrod Johnson
6d5f0cdb16
Make TCP_FASTOPEN opportunistic
...
Certain Linux-like but not Linux environments fail
at this.
2019-06-27 15:36:27 -04:00
Jarrod Johnson
c633286019
Add missing dateutil dependency to apt
2019-06-27 15:31:00 -04:00
Jarrod Johnson
ba113d6445
Fix various python2-isms
...
This is far from a complete python3 support, but it lets a significant volume
of remote commands run under python3
2019-06-27 15:28:59 -04:00
Jarrod Johnson
d2efb16c71
Remove unneeded line
2019-06-27 15:21:35 -04:00
Jarrod Johnson
739e302506
Add an example for just disabling password complexity
2019-06-27 15:20:24 -04:00
Jarrod Johnson
ae181b7753
Improve nodelicense error messages
...
Check and exit should the file or directory not exist.
2019-06-26 13:24:24 -04:00
Jarrod Johnson
b76b415a6e
Update nodelicense man page
2019-06-26 08:45:11 -04:00
Jarrod Johnson
ef2b324eed
Flush csv output per row
...
Improve responsiveness of csv output when piping
2019-06-25 11:03:50 -04:00
Jarrod Johnson
ffe9606de1
Auto-repair 'login process died' condition
...
The cause is still unknown, but we should be able to at least
repair automatically.
2019-06-24 16:34:56 -04:00
Jarrod Johnson
8ed2d5a551
Fix confulent2xcat usage text
...
It was incorrectly referencing ansible.
2019-06-24 14:17:32 -04:00
Jarrod Johnson
3501b3c347
Add state info to all licenses
...
The all resource was not retrieving the licenses.
2019-06-21 15:52:24 -04:00
Jarrod Johnson
e55314d759
Add display of inactive licenses
...
Inactive licenses are also an issue.
2019-06-21 10:17:52 -04:00
Jarrod Johnson
27410a9b6b
Fix discover of XCC
...
Incorrect module path was indicated.
2019-06-20 10:56:09 -04:00
Jarrod Johnson
2db01746d5
Support deletion of licenses from XCC
2019-06-19 16:35:24 -04:00
Jarrod Johnson
208be0beef
Implement nodelicense save
...
Add ability to save licenses from
the XCC.
2019-06-19 15:43:45 -04:00
Jarrod Johnson
d34f8af798
Rework redfish support for user management
...
The redfish user management api couldn't quite be identical,
adjust to the changes.
2019-06-13 15:02:53 -04:00
Jarrod Johnson
b2013e93c5
Mitigate performance impact of oem sensors
...
The sensormap was being regenerated each time a sensor
was asked for. Make the sensor map
a more perisstent fixture.
2019-06-12 14:47:28 -04:00
Jarrod Johnson
2a72a6184d
Fix confluent-wide pauses during redfish
...
The lenovo OEM module was unpatched in import and
thus it inflicted a confluent-wide sleep instead of
a patched time.sleep.
2019-06-12 10:16:19 -04:00
Jarrod Johnson
7e4dcfa99c
Merge branch 'master' of github.com:jjohnson42/confluent
2019-06-11 11:07:31 -04:00
Jarrod Johnson
ee82831370
Do not flag file: as insecure
...
Locally hosted media should not be considered
insecure.
2019-06-11 11:06:59 -04:00
Jarrod Johnson
0869669ef6
Better isolate system config fault
...
System configuration fault will now be contained to node.
2019-06-07 16:57:03 -04:00
Jarrod Johnson
6a77a13539
Improve error for unserializable collective data
...
XML errors turn out to be unserializable. Catch this general
class of problems and provide a less devastating behavior.
Doing an xml.fromstring('') is an example of how to trigger it.
2019-06-07 16:47:17 -04:00
Jarrod Johnson
56e9a67ef8
Fix boundary issue on oversize file
...
If the logfile is large enough to cause
a struct.error, just force a size
roll and continue.
Also unconditionally unlock the file.
2019-06-07 15:54:12 -04:00
Jarrod Johnson
52d5eb9876
Add stripsize to the redfish plugin
...
Storage creation was not passing through the stripsize parameter.
2019-06-07 09:34:29 -04:00
Jarrod Johnson
b819a488f1
Mirror hotspare handling from ipmi to redfish
...
The redfish plugin should handle the same disk information as ipmi plugin.
2019-06-06 15:13:19 -04:00
Jarrod Johnson
3fc31f7332
Add dedicated hot spare information
...
If an array contains dedicated hot spare, properly
report it alongside the member disks.
2019-06-06 11:37:30 -04:00
Jarrod Johnson
21c3579287
Add setdisk and stripsize
...
More nodestorage improvements.
2019-06-05 15:54:29 -04:00
Jarrod Johnson
4a094f669e
Do not break for zsh users
...
The completion functionality shall be skipped
unless the shell is bash specifically.
2019-06-05 14:27:08 -04:00
Jarrod Johnson
67eecffd29
Force stripsize to numeric
...
This should be a numeric value, even if it came in as a string.
2019-06-05 11:22:35 -04:00
Jarrod Johnson
e288e8bad5
Add stripsize to the input on volume
...
Explictly ensure a stripsize key.
2019-06-05 11:16:44 -04:00
Jarrod Johnson
a8cad7a70f
Add stripsize to API
...
Allow the caller to select a custom stripsize if desired.
2019-06-04 16:33:10 -04:00
Jarrod Johnson
6de605c298
Switch to python2/3 agnostic lower
...
The string.lower is not in python3
2019-06-04 16:27:20 -04:00
Jarrod Johnson
e09c2ed8eb
Support more convoluted detail
...
Some uefi settings details contain
more tricky detail information.
2019-06-03 15:30:32 -04:00
Jarrod Johnson
cd5366e73f
Fix nodeconfig for non-ascii choices
2019-05-31 14:47:07 -04:00
Jarrod Johnson
509f8c30d5
Remove use of IPMI in XCC config
...
The XCC configuration is now entirely
over https and well suited for an ipmi disabled scenario.
2019-05-31 08:50:36 -04:00
Jarrod Johnson
c63c8076bb
Use https to set network on XCC
...
This quite nearly completes the removal
of IPMI requirement during bootstrap.
2019-05-29 16:36:13 -04:00
Jarrod Johnson
6800c8055c
Implement IPMI-free xcc config (work in progress)
2019-05-29 14:31:39 -04:00
Jarrod Johnson
ffc55b1594
Reduce concurrency to redfish targets
...
Some redfish implementations did
not handle a relatively open ended barrage
of concurrent requests. Try limitting to 4 concurrent
requests to evaluate how the implementations handle it.
2019-05-20 11:03:26 -04:00
Jarrod Johnson
481342340e
Fix potential nodesensors crash
...
There is a tiny chance that time will tick between two
calls. This fixes it.
2019-05-16 14:37:18 -04:00
Jarrod Johnson
d33c6be758
Fix forwarder over custom https ports
2019-05-16 14:36:39 -04:00
Jarrod Johnson
44f3630cf5
Further amend formatting of nodestorage manual
2019-05-14 13:56:20 -04:00
Jarrod Johnson
3eaba23e6f
Fix formatting of nodestorage man page
2019-05-14 13:53:28 -04:00
Jarrod Johnson
5ac0a6e650
Fix raid configuration for operator
...
Operator was not allowed to create arrays.
2019-05-14 10:42:42 -04:00
Jarrod Johnson
9ac83665c6
Isolate redfish node errors
...
If code experiences an issue specific to a node, isolate that fault to the node.
2019-05-13 14:37:47 -04:00
Jarrod Johnson
30f9d28c2c
Merge branch 'master' of github.com:jjohnson42/confluent
2019-05-13 13:36:17 -04:00
Jarrod Johnson
0168e46f24
Isolate individual node errors in ipmi plugin
...
If an individual node experiences an unexpected error,
isolate the fallout to that specific node.
2019-05-13 13:35:03 -04:00
Jarrod Johnson
067e99d6ce
Merge branch 'master' of github.com:jjohnson42/confluent
2019-05-10 14:56:48 -04:00
Jarrod Johnson
ad828e609d
Reduce bad default login tries
...
For an SD530 XCC, we would incur 4 attempts at default:
-To pre-config enable SMM, we try once
-Due to pyghmi auto-degrade, try again as oper
-Then during the actual config phase, try again
-Again, try again as oper
Now with pyghmi opt-out, we will force to try only as admin, eliminating the second try.
The SD530 code will now mark that the default creds failed so that
the config phase will know to skip that.
2019-05-10 14:34:39 -04:00
Jarrod Johnson
cc5a5c9972
Fix operator add and delete of nodes
...
This permits operators to run nodedefine and noderemove.
2019-05-10 13:15:19 -04:00
Jarrod Johnson
cd2361b80b
Fix nodediscover clear for operators
...
Operators should be allowed to delete discovery data.
2019-05-10 13:11:04 -04:00
Jarrod Johnson
c042583a64
Add support for CSV formatted data
...
Presume CSV semantics for input.
2019-05-10 11:08:12 -04:00
Jarrod Johnson
e32d3cf4cc
Add auto-index determination to stats
...
This allows it to auto-skip over units, for example.
2019-05-10 10:34:56 -04:00
Jarrod Johnson
2b86c878a8
Cleanly handle bad credentials in redfish
...
Provide a similar experience to the ipmi plugin.
2019-05-07 16:19:30 -04:00
Jarrod Johnson
3564de8c6d
Fix web consoles/shells for operators
...
Operator role needed more permissions to act as expected.
2019-05-07 15:58:34 -04:00
Jarrod Johnson
7b5361a019
Add expressions to Operator role
...
noderun/nodeshell would not work for operators without this.
2019-05-03 09:06:20 -04:00
Jarrod Johnson
65e1dfcc57
Fix nodesensors with redfish plugin
...
redfish plugin does not produce the same data as ipmi,
tolerate that difference.
2019-05-02 10:54:15 -04:00
Jarrod Johnson
ba039e9e3e
Fix nodeeventlog on ipmi devices
...
Changes for redfish broke against ipmi plugin
2019-05-02 10:21:24 -04:00
Jarrod Johnson
a6809aae98
Add Monitor role
...
Add a monitor role that is only viable for monitoring relevant
tasks.
2019-05-02 10:04:40 -04:00
Jarrod Johnson
4d5bfb13bf
Add support for Operator role
...
Support a reduced privilege user that can still perform
most operations, but cannot modify, delete, or add
users/groups to confluent or to BMCs.
2019-05-01 16:57:15 -04:00
Jarrod Johnson
93e9a54e86
Relay redfish error strings to client
...
This provides a much better experience than 'unexpected'
error.
2019-05-01 11:46:02 -04:00
Jarrod Johnson
25028c8acc
Merge branch '2.2.cme'
2019-05-01 09:18:09 -04:00
Jarrod Johnson
906c671d90
Fix misakes in usergroups
...
Deletion was incorrect and restore from json did not work.
2019-04-30 16:18:36 -04:00
Jarrod Johnson
8fbd99cf5c
Fix misakes in usergroups
...
Deletion was incorrect and restore from json did not work.
2019-04-30 16:18:12 -04:00
Jarrod Johnson
c86ac2885f
Fix overly verbose log on client close
...
When a client would close (e.g. an unathenticated nodelist),
a large trace be logged. Fix by returning silently in such a case.
2019-04-30 15:27:50 -04:00
Jarrod Johnson
952fa3d022
Add user groups to confluent
...
This allows a system/ldap group to be used instead of directly
specifying individual authorized users.
2019-04-30 15:27:41 -04:00
Jarrod Johnson
90e0f93d37
Module to assist with advanced user manipulation
...
Currently holds the logic to ascertain the system groups
for a system user.
2019-04-30 15:27:34 -04:00
Jarrod Johnson
d78adc334d
Fix overly verbose log on client close
...
When a client would close (e.g. an unathenticated nodelist),
a large trace be logged. Fix by returning silently in such a case.
2019-04-30 15:03:55 -04:00
Jarrod Johnson
31f2161b57
Add user groups to confluent
...
This allows a system/ldap group to be used instead of directly
specifying individual authorized users.
2019-04-30 14:55:54 -04:00
Jarrod Johnson
571a34cba2
Module to assist with advanced user manipulation
...
Currently holds the logic to ascertain the system groups
for a system user.
2019-04-30 13:23:26 -04:00
Jarrod Johnson
52fa5158f6
Fix display of final bin members in verbose
2019-04-26 16:51:44 -04:00
Jarrod Johnson
907f66ae8b
Have the range be more precise on verbose
2019-04-26 16:43:53 -04:00
Jarrod Johnson
c8c275f804
Fix indentation error
2019-04-26 16:40:47 -04:00
Jarrod Johnson
7a08fee4b5
Actually fix the verbose range
2019-04-26 16:29:33 -04:00
Jarrod Johnson
36f0d888cd
Fix the verbose output boundaries.
2019-04-26 16:17:28 -04:00
Jarrod Johnson
81451a6451
Add options to stats
...
Implement verbose, text plot, and custom select bins
2019-04-26 16:04:01 -04:00
Jarrod Johnson
02eb195e3f
Change topline of script to be consistent
2019-04-25 14:47:20 -04:00
Jarrod Johnson
87e7a90c37
Move stats into the client
...
stats is good enough to be promoted from prototype to a confluent
client component.
2019-04-25 14:46:18 -04:00
Jarrod Johnson
bafc25005f
Flesh out stats with arguments
2019-04-25 14:45:47 -04:00
Jarrod Johnson
33c1137ccf
Remove use of tmp file in stats
2019-04-25 13:59:15 -04:00
Jarrod Johnson
abfeef5a0a
Merge branch '2.2'
2019-04-25 13:53:41 -04:00
Jarrod Johnson
e81579f414
Add a prototype stats command for CLI commands
2019-04-25 13:53:34 -04:00
Jarrod Johnson
47edb1dbd1
Add a prototype stats command for CLI commands
2019-04-25 13:51:50 -04:00
Jarrod Johnson
6a8cb8deaa
Merge branch '2.2'
2019-04-22 13:17:16 -04:00
Jarrod Johnson
c6516f9d62
Support redfish event logs
2019-04-22 12:54:49 -04:00
Jarrod Johnson
72448aa0b4
Disable MIB resolution for raw requests
...
MIB resolution turns out to be rather CPU intensive, and the
current SNMP consumers don't want the resolution anyway.
2019-04-16 08:49:32 -04:00
Jarrod Johnson
6290c169f5
Disable MIB resolution for raw requests
...
MIB resolution turns out to be rather CPU intensive, and the
current SNMP consumers don't want the resolution anyway.
2019-04-16 08:46:50 -04:00
Jarrod Johnson
e5bbd226ff
Add completion for attributes in node*attrib
...
Make some of the tedium of the long attribute names bearable
through tab completion.
2019-04-15 14:01:59 -04:00
Jarrod Johnson
037ed43c70
Merge branch 'master' of github.com:jjohnson42/confluent
2019-04-15 13:48:20 -04:00
Jarrod Johnson
0a816acf4f
Add completion for attributes in node*attrib
...
Make some of the tedium of the long attribute names bearable
through tab completion.
2019-04-15 13:38:56 -04:00
Jarrod Johnson
2c9c778ca7
Fix compatibility without module_type
...
Some vendors do not provide module_type
value. For such vendors, simply omit
the information rather than fail.
2019-04-15 11:08:56 -04:00
Jarrod Johnson
bf005eace6
Merge branch 'master' of github.com:jjohnson42/confluent
2019-04-11 16:27:13 -04:00
Jarrod Johnson
34c6d6a4d7
Choose an easier name for the reader
2019-04-11 16:26:59 -04:00
Jarrod Johnson
b402ddd656
Add more keystrokes and easier use
...
No longer require cbl file be specified manually.
2019-04-11 16:26:14 -04:00
Jarrod Johnson
1ae055fa8f
Add '-n' option to nodeshell and noderun
...
Provide ability to suppress node prefix for nodeshell.
This for example can be a quick 'makehosts' substituted and
similar.
2019-04-11 09:18:37 -04:00
Jarrod Johnson
89cf255ae7
Add '-n' option to nodeshell and noderun
...
Provide ability to suppress node prefix for nodeshell.
This for example can be a quick 'makehosts' substituted and
similar.
2019-04-11 09:17:38 -04:00
Jarrod Johnson
c070148aed
Fix adequate check on inadequate IMMs
2019-04-08 10:15:27 -04:00
Jarrod Johnson
d6097ca706
Merge branch 'master' of github.com:jjohnson42/confluent
2019-04-08 10:15:10 -04:00
Jarrod Johnson
c3eed19309
Fix adequate check on inadequate IMMs
2019-04-08 10:14:49 -04:00
Jarrod Johnson
40dbe63336
Script to disable password expiry after expired on SMM
2019-04-05 16:53:32 -04:00
Jarrod Johnson
d6ecee955b
Skip empty nodes list
...
A noderange based nodegroup would have
the empty nodes list cluttering the output.
Skip empty nodes list in current settings.
2019-04-05 09:37:14 -04:00
Jarrod Johnson
d7d3ae344c
Skip empty nodes list
...
A noderange based nodegroup would have
the empty nodes list cluttering the output.
Skip empty nodes list in current settings.
2019-04-05 09:17:45 -04:00
Jarrod Johnson
5c4944a1e4
Provide a sample script for fixing expired credentials
2019-04-05 08:37:31 -04:00
Jarrod Johnson
06b31f4845
Add man page for collective command
2019-04-04 10:18:34 -04:00
Jarrod Johnson
7fecd0ac5c
Add man page for collective command
2019-04-04 10:18:06 -04:00
Jarrod Johnson
36d5d60edc
Autofill collective.manager on discovery if not set
...
To improve the ease of use, if an administrator has a collective but
does not designate a collective.manager for a node being discovered,
default to the collective member that executes the discovery.
2019-04-04 09:50:26 -04:00
Jarrod Johnson
6e26b19c67
Autofill collective.manager on discovery if not set
...
To improve the ease of use, if an administrator has a collective but
does not designate a collective.manager for a node being discovered,
default to the collective member that executes the discovery.
2019-04-04 09:49:02 -04:00
Jarrod Johnson
16430e1ec9
Enhance collective usage output
...
Collective usage output provided no hints as to how to access more detailed
help. Amend the wording to make this more clear/obvious.
2019-04-03 14:23:50 -04:00
Jarrod Johnson
5d572f17f9
Enhance collective usage output
...
Collective usage output provided no hints as to how to access more detailed
help. Amend the wording to make this more clear/obvious.
2019-04-03 14:23:30 -04:00
Jarrod Johnson
ae49cf290e
Fix key hold-down behavior in cbl reader
...
The retry print could get stuck in loop and the input
could queue up too many keypresses.
2019-04-03 11:44:05 -04:00
Jarrod Johnson
5ead803c8a
Fix up the injected clear delimiting
...
The delimiting was not being navigated correctly.
2019-04-03 10:38:35 -04:00
Jarrod Johnson
7232a0c1b3
Fix SLP hangs on bad targets
...
Have SLP timeout if there are endpoints that can half-hang
a connection.
2019-04-03 08:35:25 -04:00
Jarrod Johnson
dce25d802e
Fix SLP hangs on bad targets
...
Have SLP timeout if there are endpoints that can half-hang
a connection.
2019-04-03 08:34:42 -04:00
Jarrod Johnson
835d1fc0ab
Update the pyopenssl message
...
It makes it more clear that a restart would be
required to pull in updated dependency.
2019-04-02 09:40:18 -04:00
Jarrod Johnson
c28a963d62
Update the pyopenssl message
...
It makes it more clear that a restart would be
required to pull in updated dependency.
2019-04-02 09:39:06 -04:00
Jarrod Johnson
9fd091daad
Tolerate an XCC with downed web service
...
Make the best of the situation by trying to continue
without the policy applied.
2019-04-02 09:37:33 -04:00
Jarrod Johnson
3c21ca8739
Tolerate an XCC with downed web service
...
Make the best of the situation by trying to continue
without the policy applied.
2019-04-02 09:36:37 -04:00
Jarrod Johnson
996b1ba45b
Rework prototype cbl reader
...
It is still not right, but it is a bit easier to work with
to figure out what's wrong with it.
2019-04-01 16:56:14 -04:00
Jarrod Johnson
4af1f998fb
Fix nodeconfig formatting
...
The man page did not have a hard line break.
2019-04-01 14:19:18 -04:00
Jarrod Johnson
b2c1137321
Fix nodeconfig formatting
...
The man page did not have a hard line break.
2019-04-01 14:16:20 -04:00
Jarrod Johnson
d484e9db43
Update log.py comment for accuracy
...
The metadata format was out of date.
2019-04-01 10:35:20 -04:00
Jarrod Johnson
6397709e47
Try to force split across clear screens
2019-03-29 17:07:01 -04:00
Jarrod Johnson
e0c0f0f1f3
Greatly flesh out the cbl reader
2019-03-29 16:01:40 -04:00
Jarrod Johnson
ca29f6ae35
Opportunisticly start mac rescan on rescan
...
While the network rescan might be too slow to hold up
general rescan, at least begin a rescan of switches
when a rescan is requested.
2019-03-29 14:03:00 -04:00
Jarrod Johnson
2c8681a9f3
Opportunisticly start mac rescan on rescan
...
While the network rescan might be too slow to hold up
general rescan, at least begin a rescan of switches
when a rescan is requested.
2019-03-29 14:01:36 -04:00
Jarrod Johnson
b927572872
Sample file for processing CBL files
2019-03-29 11:17:05 -04:00
Jarrod Johnson
b5df380ee4
Update nodeinventory for redfish memory
...
Redfish doesn't present some data that was in the IPMI spec
2019-03-28 13:37:13 -04:00
Jarrod Johnson
5c61430ccc
Add wildcard documentation to noderange man page.
2019-03-28 11:15:28 -04:00
Jarrod Johnson
2b275cd369
Add wildcard documentation to nodeattrib/nodelist
2019-03-28 11:15:23 -04:00
Jarrod Johnson
f79dac7bd2
Add wildcard documentation to noderange man page.
2019-03-28 11:14:29 -04:00
Jarrod Johnson
fc5f16fb01
Add wildcard documentation to nodeattrib/nodelist
2019-03-28 11:12:36 -04:00
Jarrod Johnson
907d25164f
Replace the network error with a local error
...
This is a bit more clear about the cause when local commands fail.
2019-03-28 11:03:57 -04:00
Jarrod Johnson
0b85fab529
Replace the network error with a local error
...
This is a bit more clear about the cause when local commands fail.
2019-03-28 11:03:33 -04:00
Jarrod Johnson
adb4ce919e
Fix nodegrouplist man page
2019-03-28 10:14:30 -04:00
Jarrod Johnson
9379c85d0e
Fix nodegrouplist man page
2019-03-28 10:05:35 -04:00
Jarrod Johnson
11ffa7a091
Fix debian build process
2019-03-26 13:50:15 -04:00
Jarrod Johnson
bacba8972a
Fix debian build process
2019-03-26 13:49:54 -04:00
Jarrod Johnson
5404497e70
Change wheezy to depend on old package name
2019-03-26 13:47:06 -04:00
Jarrod Johnson
70690517de
Change wheezy to depend on old package name
2019-03-26 13:46:39 -04:00
Jarrod Johnson
a3162daf62
Skip pushing static config if config already matches
...
A strategy of manually adding DHCP managed nodes produced static-baking
when not desired. For now skip the baking in if the address matches.
2019-03-26 13:44:24 -04:00
Jarrod Johnson
8c886b751c
Skip pushing static config if config already matches
...
A strategy of manually adding DHCP managed nodes produced static-baking
when not desired. For now skip the baking in if the address matches.
2019-03-26 13:43:30 -04:00
Jarrod Johnson
69630edfa9
Handle more generics from Lenovo Redfish
...
Several generics can come back for adapters, handle them to trigger
pcie enhanced lookup.
2019-03-25 15:45:36 -04:00
Jarrod Johnson
cdce1f1833
Add concurrency pool to pyghmi usage
...
pyghmi adds pool for concurrency, utilize that to accelerate operations
that need multiple resources in parallel.
2019-03-22 15:56:58 -04:00
Jarrod Johnson
48079f297b
Change wheezy name to python-confluent...
2019-03-19 15:03:41 -04:00
Jarrod Johnson
bf24d0f501
Change wheezy name to python-confluent...
2019-03-19 15:03:06 -04:00
Jarrod Johnson
1d6111b8dd
Merge branch 'master' of github.com:jjohnson42/confluent
2019-03-18 15:02:55 -04:00
Jarrod Johnson
e59d237d11
Add draft redfish plugin
...
It can do power, system config, set boot device, identify.
2019-03-18 15:02:21 -04:00
Jarrod Johnson
fb3dc9a200
Merge branch 'master' of github.com:jjohnson42/confluent
2019-03-14 13:07:09 -04:00
Jarrod Johnson
b0d2d44b75
Update to follow DCD
...
The DCD signal can be used to detect remote connect attempt
2019-03-14 13:05:59 -04:00
Jarrod Johnson
f1e83d938b
Add carrier detect to autocons sample
...
For genesis, not necessarily relevant, but may be
very relevant for OS behaviors in other contexts.
2019-03-14 09:33:58 -04:00
Jarrod Johnson
e643b7ed7d
Remove inadvertent duplicate command
...
Harmless, but should be removed.
2019-03-13 15:13:13 -04:00
Jarrod Johnson
163b29a07c
Update autocons.py
...
This is the version that landed in xCAT genesis
2019-03-13 15:05:42 -04:00
Jarrod Johnson
c5fa0bfd79
Draft attempt at autocons utility
...
Make every effort to do early boot console enablement.
2019-03-12 19:31:16 -04:00
Jarrod Johnson
a258653186
Merge branch 'master' of github.com:jjohnson42/confluent
2019-03-11 09:08:28 -04:00
Jarrod Johnson
656e82c3fe
Speed up cnos health and add stubs
...
Add concurrency to accelerate nodehealth and provide stubs
for the as-yet unimplemented functionality.
2019-03-08 16:05:42 -05:00
Jarrod Johnson
898ff065e0
Merge branch 'master' into umaster
2019-03-08 16:04:19 -05:00
Jarrod Johnson
779b5c9ede
Speed up cnos health and add stubs
...
Add concurrency to accelerate nodehealth and provide stubs
for the as-yet unimplemented functionality.
2019-03-08 16:02:52 -05:00
Jarrod Johnson
5be08ddb1d
Fix missing sub-health info on CNOS health
2019-03-08 13:38:38 -05:00
Jarrod Johnson
16abf7cb64
Fix missing sub-health info on CNOS health
2019-03-08 13:38:15 -05:00
Jarrod Johnson
269acf9943
Add CNOS plugin for Lenovo switches
2019-03-08 13:26:34 -05:00
Jarrod Johnson
c649ae5fec
Have it appropriate do IPv4 and IPv6
2019-03-08 13:25:53 -05:00
Jarrod Johnson
c3f2e131b2
Add CNOS plugin for Lenovo switches
2019-03-08 13:25:04 -05:00
Jarrod Johnson
4124e0fcc0
Add ability for noderange to wildcard attrib names
...
Useful for net.*attribs to search when nic is unknown.
2019-03-07 15:20:19 -05:00
Jarrod Johnson
0e2e6267cd
Add ability for noderange to wildcard attrib names
...
Useful for net.*attribs to search when nic is unknown.
2019-03-07 15:19:17 -05:00
Jarrod Johnson
e8119d330d
Add IPv4 search to copernicus search
2019-03-07 10:24:26 -05:00
Jarrod Johnson
5ae6717709
Rename findconfluent
2019-03-07 08:57:52 -05:00
Jarrod Johnson
0cd94447f7
Update to search multiple interfaces
2019-03-06 16:48:37 -05:00
Jarrod Johnson
ce4f8c1837
Sample C code for locating confluent server
2019-03-06 16:22:55 -05:00
Jarrod Johnson
8ad06f79e7
Add nodersync
...
This provides bulk transfer with status to a noderange.
2019-03-04 14:28:52 -05:00
Jarrod Johnson
5481da269e
Merge branch 'master' into 2.2
2019-03-01 15:27:40 -05:00
Jarrod Johnson
6ea307d415
Add nodegrouprename command
2019-03-01 15:27:13 -05:00
Jarrod Johnson
59aa23b2f5
Add noderename command
2019-03-01 15:21:29 -05:00
Jarrod Johnson
4446308030
Add ability to rename nodegroups
...
If we can rename nodes, should be able to rename groups.
2019-03-01 15:03:43 -05:00
Jarrod Johnson
7703c6c2ab
Enable Server Portion of renamae node
...
This plumbs up through the messages and attributes plugin.
2019-03-01 14:37:07 -05:00
Jarrod Johnson
f5b6d434f3
Fix node collection function signature
2019-03-01 13:37:13 -05:00
Jarrod Johnson
8ce5a7dccf
Phase 1 of node rename support
...
Provide foundation for node renaming, including
updating groups and inheritance and notifying collection
watchers of the change, and updating the existing watchers
with the new notification fingerprint.
2019-03-01 13:21:57 -05:00
Jarrod Johnson
23c9e6315a
Update node collection handlers for renamed
...
Rename support will provide a map of old to new name. Have the
existing node collection watchers accept a new argument.
2019-02-28 15:57:35 -05:00
Jarrod Johnson
38f9583be3
Implement direct add switches
...
Allow addition of switches without associated
nodes. This allows populating mac database
without requiring associated nodes.
2019-02-28 13:00:12 -05:00
Jarrod Johnson
1b355ec468
Merge branch 'master' of github.com:jjohnson42/confluent
2019-02-28 12:59:52 -05:00
Jarrod Johnson
2bbf4b9e98
Implement direct add switches
...
Allow addition of switches without associated
nodes. This allows populating mac database
without requiring associated nodes.
2019-02-28 12:59:41 -05:00
Jarrod Johnson
1248894cf3
Amend nodegrouplist command
2019-02-28 10:24:24 -05:00
Jarrod Johnson
c43365d2dd
Merge pull request #102 from andywray/master
...
Add nodegrouplist
Will fix after merge
2019-02-28 10:17:43 -05:00
Jarrod Johnson
4e7c098e75
Remove stub of unimplemented set
...
nodestorage set for manipulating hotspare
and jbod was not done in time.
2019-02-28 09:16:25 -05:00
Jarrod Johnson
ef6c89b883
Add man page for nodestorage
2019-02-28 09:13:57 -05:00
Jarrod Johnson
99c06813d9
Fix clearing validated attributes
...
Attributes that are validated can come
in as None to clear them, accept this
as valid as well.
2019-02-27 14:58:26 -05:00
Jarrod Johnson
686b59c2b4
Friendlier error on read during update
...
Firmware update error now sends a more friendly error to client.
2019-02-26 16:40:06 -05:00
Jarrod Johnson
46b909c291
Document nodesupport download behavior
...
nodesupport downloads locally, and does
not send through the client. Document
the consequence of this for now.
2019-02-26 16:26:07 -05:00
Jarrod Johnson
9abb163c7e
Merge branch 'master' of github.com:jjohnson42/confluent
2019-02-26 15:27:23 -05:00
Jarrod Johnson
7e25dd805f
Update nodesupport usage
...
servicedata is, as yet, mandatory
2019-02-26 15:27:07 -05:00
Jarrod Johnson
31220292e5
Try debian build with minimum on breaks/replaces
2019-02-26 14:22:19 -05:00
Jarrod Johnson
161cf37f46
Fix nodediscover order and csv together
2019-02-26 13:57:11 -05:00
Jarrod Johnson
ad64cda249
Rework transition package logic
2019-02-26 13:39:11 -05:00
Jarrod Johnson
db812ac292
Specify confluent client deb name
2019-02-26 13:02:04 -05:00
Jarrod Johnson
a322118877
Fix debian build
2019-02-26 11:09:23 -05:00
Jarrod Johnson
ebfbbcca23
Fix reference to the logger class
2019-02-26 10:21:12 -05:00
Jarrod Johnson
275525d3f3
Add pointer to omitted option 'all'
...
Nodegroupattrib can take all as an argument, show it in usage.
2019-02-25 15:27:55 -05:00
Jarrod Johnson
938a6e44df
Add checking for noderange conflict
...
A confluent nodegroup may either be a normal static one, which
can be used for attribute inheritence, or a dynamic one, which
cannot be used with static list or static attributes.
Warn the user when they try to set that up to make it more obvious
that the dynamic groups can't do what they are trying to do.
2019-02-25 15:23:54 -05:00
Jarrod Johnson
ca6b203a09
Format console message
...
The message wrapping was very hard to read
on a default 80 wide terminal.
2019-02-22 10:28:10 -05:00
Jarrod Johnson
c478cb5d6e
Update language of empty buffer warning
...
It was confusing and failing to point out
possibilities that were frequently occuring.
2019-02-22 09:36:25 -05:00
Jarrod Johnson
ca9e7d1d93
Attempt to catch filesystem full condition
...
Provide a more obvious behavior when filesystem fills
to explain confluent behavior in this situation.
2019-02-21 16:32:37 -05:00
Jarrod Johnson
2691722f48
Update usage example in nodeconfig
...
Provide a customized usage string to more accurately show
the structure of a nodeconfig command.
2019-02-21 15:02:53 -05:00
Jarrod Johnson
e194222553
Capture trace data on firmware update failure
...
In the event of an unanticipated firmware exception,
capture to log. Expected error conditions should have specific handlers
to avoid the tracellog treatment.
2019-02-21 14:40:32 -05:00
Jarrod Johnson
8f611f0e59
Advertise package name change
...
Have the new package name change in
control to prompt upgrade to do
the right thing.
2019-02-21 10:46:53 -05:00
Jarrod Johnson
1fdcf19563
Merge branch 'master' of github.com:jjohnson42/confluent
2019-02-20 14:13:59 -05:00
Jarrod Johnson
add1a1b32a
Add noderange to nodegroupattrib
...
noderange attribute on group was not
being presented by nodegroupattrib all.
Add the attribute explicitly to handle the
discrepency.
2019-02-20 14:13:48 -05:00
Jarrod Johnson
8abe384e1a
Add notation in expression page about shell conflict
2019-02-14 19:29:56 -05:00
Andy Wray
14577be963
Add nodegrouplist
2019-02-13 15:36:59 -05:00
Jarrod Johnson
e6b8d0dabc
Make dependencies adaptable for wheezy and non-wheezy
...
Newer distributions we have different requirements.
2019-02-12 16:18:21 -05:00
Jarrod Johnson
b1a91ad409
Add support for comments in batch
...
Use # as comment character in nodeconfig batch.
2019-02-12 11:12:47 -05:00
Jarrod Johnson
996fd82920
Provide quality output on list output/default
...
The output is better than default python treatment of list formatting.
2019-02-12 10:09:07 -05:00
Jarrod Johnson
5e6c66826f
Provide error on useless api call
...
If making an api call against a noderange to set attributes and that noderange is blank,
provide feedback to help user know that
nothing happened.
2019-02-11 16:01:30 -05:00
Jarrod Johnson
22d79867c8
Reorganize builddeb to preserve git tree
...
The git tree is needed to successfully build
2019-02-11 15:16:24 -05:00
Jarrod Johnson
52d25d563b
Correct spelling error in builddeb
2019-02-11 14:47:22 -05:00
Jarrod Johnson
68eeb95ea3
Ensure directory exists prior to use
2019-02-11 14:06:28 -05:00
Jarrod Johnson
95d5ff6a4c
Have builddeb move to tmp
...
This avoids build trampling current working tree.
2019-02-11 13:54:49 -05:00
Jarrod Johnson
b42114bea0
Actually apply sed to file
...
The sed was failing to save result to disk.
2019-02-11 11:20:59 -05:00
Jarrod Johnson
e0877bc0b1
Workaround older python lack of SSLEOFError
...
Older python does nat have this exception,
stub it out for older python.
2019-02-11 11:00:47 -05:00
Jarrod Johnson
5289d34206
Fix the exception name in previous commit.
2019-02-11 10:56:29 -05:00
Jarrod Johnson
f7f8247d02
Fallback to older eventlet signature
...
Older eventlet did not understand some arguments
on wsgi. Fallback to not using those arguments
if unavailable.
2019-02-11 10:51:56 -05:00
Jarrod Johnson
57e23a6f52
Add missing dependencies to debian builds
...
Debian builds currently lean on py2dsc, but misses a few key
dependencies.
2019-02-11 10:09:02 -05:00
Jarrod Johnson
73b234d29e
Support pre-cryptography paramiko
...
Older paraiko may be in use that does
not have cryptography requirement, address
error by only conditionally checking cryptography.
2019-02-08 14:43:20 -05:00
Jarrod Johnson
bfe55e276d
Do not try to delete a node if not in discovery data
...
This could produce undesired traces
2019-02-06 09:19:55 -05:00
Jarrod Johnson
44bcca99b6
Delete discovery entries related to deleted node
...
On node deletion, it can be confusing if a stale discovery
entry persists. Delete such entries upon deletion.
2019-02-06 09:15:51 -05:00
Jarrod Johnson
4cb595684e
Fix debian package name
2019-02-05 15:41:03 -05:00
Jarrod Johnson
b153a14ff3
Have builddeb build names consistent with RPM
...
The deb package names and locations were inconsistent
with the RPM based distributions. Correct this behavior.
2019-02-05 13:12:35 -05:00
Jarrod Johnson
b620838189
Move rather than copy output debs
2019-02-05 10:36:06 -05:00
Jarrod Johnson
4540354ff2
Add optional location for builddeb
2019-02-05 10:29:31 -05:00
Jarrod Johnson
74963a73cc
Do cd in the correct location
2019-02-04 15:35:55 -05:00
Jarrod Johnson
9fe200b525
Make sure builddeb goes to top of dir before cleanup
2019-02-04 15:16:52 -05:00
Jarrod Johnson
b07d4e9736
Clean up extracted directory on successful deb
2019-02-04 15:14:39 -05:00
Jarrod Johnson
f649efa110
Add script to build .deb
...
Easier support for debian and ubuntu.
2019-02-04 15:05:36 -05:00
Jarrod Johnson
521013e50a
Implement SMM password policy configuration
...
The discovery.passwordrules is extended to support the SMM
2019-02-01 15:42:44 -05:00
Jarrod Johnson
25c8f93336
Provide error in the console when console.method is unset
...
This was a common mistake, and warranted a more blatantly obvious
output.
2019-02-01 12:49:00 -05:00
Jarrod Johnson
59f00dd10b
Set password before access
...
In at least one scenario, we want the password to be squared away
before we start manipulating the user access level.
2019-01-31 15:59:49 -05:00
Jarrod Johnson
2e93af9b5e
Treat '' same as None for plugin specification
...
From the CLI, both are the same and there is no good reason to
treat them differently from each other.
2019-01-31 15:58:57 -05:00
Jarrod Johnson
337ab3b1a0
Merge branch 'master' of github.com:jjohnson42/confluent
2019-01-31 14:29:03 -05:00
Jarrod Johnson
f4cf74b699
Fix modifying dictionary while iterating
...
Need to make a stable value before iterating to delete.
2019-01-31 14:28:45 -05:00
Jarrod Johnson
085981f74c
Remove spurious debug output
...
Some spurious debug output was injected by mistake.
2019-01-30 13:45:38 -05:00
Jarrod Johnson
8a5f1c6dc5
Parse string arguments to nodes attributes as noderange
...
Since everywhere else accepts noderange, it is a reasonable
expectation for the nodes attribute on nodegroups to also
take a noderange. Correct this inconsistency.
2019-01-30 09:55:38 -05:00
Jarrod Johnson
09cb6963f0
Add attempt to present status data
...
tcons made this attempt, also implement this on a best
effort basis.
2019-01-29 16:02:54 -05:00
Jarrod Johnson
188feec0b4
Repair if transactioncount exists but wrong size
...
If filesystem is full, this could be a side effect that would impact
a later start in a collective context. This mechanism induces repair
from a collective peer.
2019-01-28 16:20:07 -05:00
Jarrod Johnson
1902a333ae
Rework audit on unix socket
...
Capture root in audit and be consistent about audit skipping between
socket and http.
2019-01-28 15:03:45 -05:00
Jarrod Johnson
f6c46ddcb8
Fix checking causing breaking of setting empty
...
Empty values are always valid, do not check those.
2019-01-24 11:18:40 -05:00
Jarrod Johnson
e23253815c
Fix checking code with custom fields
...
For custom fields, do not cause an unexpected errors. The lookup on the
validattrs will now default to nothing found instead of error.
2019-01-24 11:07:58 -05:00
Jarrod Johnson
d979d29b0b
Implement checking of input attributes
...
For attributes that have a well known set of inputs, provide the
data to the messages layer to provide a useful error to the user.
2019-01-22 16:02:17 -05:00
Jarrod Johnson
bca676ed15
Have nodestorage assume show if no args
...
Confluent commands with noderange generally
assume 'get' if no option. Be compliant with
this consistency.
2019-01-18 14:54:55 -05:00
Jarrod Johnson
deed8b4b9b
Fix behavior of SSDP discovery handler
...
It was not tracking multiple peers and it was also
extending the scan longer than needed.
2019-01-17 11:37:09 -05:00
Jarrod Johnson
2c94a10e23
Add complexity and reuse rules to discovery
...
Discovery can now relax two more common policies that have users
wanting to disable them.
2019-01-17 11:02:05 -05:00
Jarrod Johnson
299181223e
Add '-b' option for collate
...
It was requested to be able to designate the 'reference' node for '-d'
comparison. This implements that request.
2019-01-17 10:35:22 -05:00
Jarrod Johnson
1378b01feb
Fix nodeconfig handling of multiple colons
...
If multiple colon designated settings are present, correctly
associate settings with appropriate key.
2019-01-16 11:31:06 -05:00
Jarrod Johnson
18713797b9
Fix pane splitting with large numbers of nodes
...
The tcons logic to select layout each iteration is now replicated,
to avoid too-small panes.
2019-01-15 16:00:39 -05:00
Jarrod Johnson
6588ac0990
Fix nodereseat false success message
...
nodereseat was reporting success when failure was actually encountered.
Address by injecting the node specific error.
2019-01-15 11:51:43 -05:00
Jarrod Johnson
efd13c960f
Add man page for nodelicense
2019-01-14 16:08:48 -05:00
Jarrod Johnson
4f14de0136
Add nodelicense command
...
This provides Bash access to the license management features.
2019-01-14 16:06:13 -05:00
Jarrod Johnson
6cecf6635c
Merge branch 'master' of github.com:jjohnson42/confluent
2019-01-14 16:02:37 -05:00
Jarrod Johnson
5b7807fe3d
Add nodelicense command
...
This provides Bash access to the license management features.
2019-01-14 16:02:15 -05:00
Jarrod Johnson
5f52ee9578
Support unique filenames through attribute expansion
...
Particularly in trying to support license keys, serial number
handling is at least required. Easiest and most powerful and most
consistent path is to use the same attribute expansion as everywhere
else.
2019-01-14 15:41:17 -05:00
Jarrod Johnson
88275f5110
Fix xcc handler on incomplete data
...
A datum may come in without an attribute member at all. Treat
this as 'false', obviously.
2019-01-14 15:37:04 -05:00
Jarrod Johnson
55c5bff0f9
Add support for uploading a license key
...
This provides the most important piece of license key management.
2019-01-14 15:09:49 -05:00
Jarrod Johnson
3782127590
Implement retrieving license info from XCC
...
With changes to pyghmi, we can now get license data. Prepare
API to provide information about the licenses.
2019-01-14 14:55:03 -05:00
Jarrod Johnson
74355bd6f9
Merge branch 'master' of github.com:jjohnson42/confluent
2019-01-14 09:17:01 -05:00
Jarrod Johnson
bc995520b7
Fix confetty tab completion
...
The refactoring to main caused scope of readline to be incorrect.
Pulled the scope back into namespace.
2019-01-14 09:15:59 -05:00
Jarrod Johnson
2d63e68494
Enable support for TCP_FASTOPEN
...
It might matter in some context.
2019-01-10 15:17:34 -05:00
Jarrod Johnson
ceba3ff34f
Fix remote collective console
...
The changes to support size data for ssh was not carried fully
through the proxyconsole object. Fix this support.
2019-01-09 11:34:19 -05:00
Jarrod Johnson
334ec00f3f
Properly report client use of bad async id
...
Previously an expired async id would trigger unexpected error. Now
it returns an error to client and avoids the trace log.
2019-01-08 15:43:41 -05:00
Jarrod Johnson
35380e5bac
Add missing import
...
errno was erroneously omitted from previous commit
2018-12-12 10:15:33 -05:00
Jarrod Johnson
66471624bc
Support caching SDR for pyghmi versions that support it
...
This will improve performance across confluent restarts for commands
like nodesensors, nodehealth, and nodeinventory.
2018-12-12 09:53:36 -05:00
Jarrod Johnson
8a03bc48de
Tentatively store certutil
...
Commit to repository, even though not yet used. It is likely to
be renamed. The purpose is to help generate an appropriate self signed
cert for https including all the ip addresses as subject alternative
names so that names or addresses may be used with installers that
have had the cert injected.
2018-12-11 13:51:46 -05:00
Jarrod Johnson
5831be091a
Auto-rescan on missed manual discovery
...
Same as in the bulk discover support.
2018-12-11 09:17:08 -05:00
Jarrod Johnson
8197c750bb
Add batch support to nodeconfig
2018-12-10 09:47:49 -05:00
Jarrod Johnson
a9f0312acd
Add support for exporting only a mac csv
...
For the specific task of importing mac addresses but not
perturbing other xCAT configuration, provide output that can be used
with tabrestore.
2018-12-07 14:08:34 -05:00
Jarrod Johnson
21700e914a
Add confluent2xcat command
...
Add command for exporting node data as an xCAT stanza file
2018-12-07 13:59:01 -05:00
Jarrod Johnson
5e15ae8e30
Update nodeconsole man page for tiling
2018-12-04 10:41:50 -05:00
Jarrod Johnson
5eef76f5d3
Try a more straightforward use of tiling
...
Rather than retiling for every node, defer tiling until the end.
This dramatically improves the startup time for a moderate number
of systems.
2018-12-03 15:57:08 -05:00
Jarrod Johnson
df72bfa715
Merge branch 'master' of github.com:jjohnson42/confluent
2018-12-03 15:53:24 -05:00
Jarrod Johnson
a6333459c4
Add tile option to nodeconsole
...
This allows nodeconsole to produce the 'tcons' behavior without
xCAT dependency.
2018-12-03 15:53:15 -05:00
Jarrod Johnson
075891bf74
Add option to confetty to help keep terminal open on early exit
...
For contexts where early execution execution almost always means
some sort of error, but the terminal automatically closes,
provide a minimum time to execute option so confetty will
forcibly slow things down in such a likely scenario.
2018-12-03 14:49:19 -05:00
Jarrod Johnson
a937511354
Fix nodesetboot argument parsing
2018-11-30 16:09:47 -05:00
Jarrod Johnson
22503e7e11
Inject blank lines in ansible hosts file
...
This looks a bit more like a natural hosts file.
2018-11-29 15:21:37 -05:00
Jarrod Johnson
01d73308ed
Pull back spurious blank lines
2018-11-29 15:04:56 -05:00
Jarrod Johnson
cb16385ddb
Add confluent2ansible
...
Utility that wil take a noderange and generate an appropriate
ansible hosts file, including carrying over pertinent groups.
2018-11-29 15:04:27 -05:00
Jarrod Johnson
853585f942
Have nodeattrib output be sorted
...
This make nodelist and nodeattrib output much easier to follow.
2018-11-29 10:02:37 -05:00
Jarrod Johnson
53996a1e9d
Increase likelihood of IPMI results being sorted
...
Without incurring execution penalty, endeavor to sort available
data in an opportunistic way. This certainly does not guarantee order,
but it makes it highly likely for quick queries to appear orderly.
2018-11-29 09:43:53 -05:00
Jarrod Johnson
558171124c
Fix nodediscover man page formatting
2018-11-27 16:14:15 -05:00
Jarrod Johnson
05d028e9e9
Fix formatting of nodediscover man page
...
The list of fields could not be nicely nested in ronn,
give up but have hard line breaks as a compromise.
2018-11-27 15:36:36 -05:00
Jarrod Johnson
b0a3bb18fe
Add terminal resizing to http api
...
This enables javascript clients to submit terminal changes.
2018-11-27 09:12:53 -05:00
Jarrod Johnson
7207013abc
Have httpapi be able to accept initial size on consoles
...
consoles and shells can now put into the body parameters including
the width and height.
2018-11-26 16:43:52 -05:00
Jarrod Johnson
b511a02f20
Have correct size on connect for shell session
...
In addition to resize, also support initial size being set
2018-11-26 16:21:31 -05:00
Jarrod Johnson
c60cb3a027
Implement resize from CLI client
...
The CLI resize is wired up for ssh usage. At the time of this commit,
initial size is not handled.
2018-11-26 15:31:36 -05:00
Jarrod Johnson
9f137fa6d4
Begin work to send resize to remote
...
While we do not have a path forward for auto-resize in SOL consoles,
we can provide the capability for ssh consoles. The CLI being enabled
is of course nice, but running ssh directly is still suggested in such
a context and ultimately the Web GUI will be the most prominent
consumer of the information.
2018-11-20 16:01:36 -05:00
Jarrod Johnson
aa92898249
Have nodestorage create optionally read names from args
...
This is more symmetric with the way delete works.
2018-11-19 15:32:03 -05:00
Jarrod Johnson
2cb694b374
Update man page of nodediscover
2018-11-19 14:46:47 -05:00
Jarrod Johnson
24fd1e72e1
Expose advertised, not valided IPs in discovery
...
There are circumstances where the advertised IP is
useful information, even if that IP cannot be validated.
It is also the case that most of the time the advertised IP
is useless if not validated, so it is an optional field.
2018-11-19 14:39:56 -05:00
Jarrod Johnson
5b21a5b2c3
Fix spreadsheet support for the BMC gateway
...
The spreadsheet support used incorrect attribute name.
2018-11-19 09:50:04 -05:00
Jarrod Johnson
c8ad94313e
Provide useful error when trying to delete a volume that doesn't exist
2018-11-16 11:54:46 -05:00
Jarrod Johnson
f71d51769b
Provide clean print of created volumes
...
This presents the returned data in a manner consistent
with nodestorage show
2018-11-16 11:27:26 -05:00
Jarrod Johnson
b5213e6972
Show data about created volumes upon volume completion.
...
Provide concrete feedback as to the results of the creation operation.
2018-11-16 11:19:27 -05:00
Jarrod Johnson
8d72f4d64a
Fix volume name creation
...
The volume names were not being honored, fix passing the arguments.
2018-11-15 16:25:03 -05:00
Jarrod Johnson
fcd46c7b72
Provide cleaner output for nodestorage delete
...
Rather than dumping the structure of the response, provide a consistent
plain text output.
2018-11-15 16:18:24 -05:00
Jarrod Johnson
6efb8ff1b7
Add globbing protection to nodestorage command
...
This mitigates risk of mistargeting a nodestorage command due to
unfortunate bash glob match.
2018-11-15 16:15:01 -05:00
Jarrod Johnson
c227c2353b
Provide better error on nodediscover assign
...
Rather than the rather useless unexpected error, actually
describe specific cases of wrong username or password.
2018-11-15 13:41:48 -05:00
Jarrod Johnson
cb2133e871
Change strategy for pam.d entry
...
The symbolic link did not stay a symbolic link.
Use %post in rpm instead.
2018-11-14 15:11:05 -05:00
Jarrod Johnson
c56c1948a9
Add confluent pam to packaging
...
This enables PAM passwords to work by default,
rather than requiring user to perform more
configuration.
2018-11-14 14:55:26 -05:00
Jarrod Johnson
34b30a1bd8
Rework password authentication
...
Have the cache operate against the sha256 of the passphrase rather
than the passhprase directly (mitigate presence of password in memory).
Pull PAM into the cache behavior to accelerate PAM based usage.
Rearrange things so that both built in confluent and PAM passwords
can be used.
2018-11-14 14:52:03 -05:00
Jarrod Johnson
0e7bfe4f40
Use scanning status to control rescan behaviors
...
This causes the manual assignment to sleep less and for the rescan
command to meaningfully slow down shell requests to provide better sense
of when scan completes.
2018-11-14 14:17:12 -05:00
Jarrod Johnson
a93a759b72
Make /networking/macs data available through nodediscover
...
This will help combine the data together more easily.
2018-11-14 14:11:03 -05:00
Jarrod Johnson
cba514692c
Bring the XCC check fix to IMM
...
The same check that works for XCC should be applied to IMM
2018-11-13 16:17:39 -05:00
Jarrod Johnson
2bb0a70a24
Provide an xid if one is not preserved
...
The SLP xid may be gone in a recheck, default to 42 in such a case.
2018-11-13 16:09:37 -05:00
Jarrod Johnson
1b84cd43fe
Fix the auto-healing support
...
There was a mismatch between the handlers signature and expectation by
the discovery core.
2018-11-13 15:55:24 -05:00
Jarrod Johnson
39839a9f2a
Add auto-healing of incomplete SLP data
...
If a device handler indicates an SLP data as incomplete, schedule a
attempt to fixup that specific one.
2018-11-13 15:37:41 -05:00
Jarrod Johnson
8473cb1cf8
Survive SLP values with =
...
If the slp parsing produces = in the value, ignore it and do best
effort to get the viable data out.
2018-11-09 15:38:40 -05:00
Jarrod Johnson
1a10b5d747
Have confluent2lxca use current config for address
...
In a confluent2lxca scenario, it is highly probably that confluent's
attribute is not viable for LXCA usage (link local address).
Give the current configuration the opportunity to replace the
confluent reference with the current IPv4 of the host.
2018-11-09 08:53:10 -05:00
Jarrod Johnson
82a7012527
Add a command to generate xClarity Administrator import
...
This will generate a bulk import file for use with the xClarity
Administrator appliance.
2018-11-09 08:33:04 -05:00
Jarrod Johnson
199a948b33
Fix ordering without custom field list
...
The order argument only had any meaning when used in custom fields.
Add a loop in the custom field agnostic section of the code to correct
the behavior.
2018-11-09 08:32:28 -05:00
Jarrod Johnson
6fc305d6a0
Add ordering by field to nodediscover list
...
This provides single column sort for more managable listing of
nodediscover items.
2018-11-06 16:34:22 -05:00
Jarrod Johnson
75b6221dcf
Allow requesting custom columns
...
This allows for more data to be presented and some useless data
to be pruned.
2018-11-06 15:52:20 -05:00
Jarrod Johnson
bd5032268e
Fix csv output mode of nodediscover list
...
The changes made for tabulator broke csv output, fix that back.
2018-11-06 15:33:04 -05:00
Jarrod Johnson
0aa0289b06
Clean out dead code
...
There is some dead and commented code to be cleaned out.
2018-11-06 15:30:18 -05:00
Jarrod Johnson
96df7871cb
Convert nodediscover to use Tabulator
...
This opens the path to more customized output and have the appropriate
formatting. Also revise the Tabulator code to more closely match
the original nodediscover list output.
2018-11-06 15:28:27 -05:00
Jarrod Johnson
82ee69b56c
Age out macmap on node database changes
...
This mitigates problems where automation fails to quickly
react to changes/fixes in the net attributes.
2018-11-06 08:18:37 -05:00
Jarrod Johnson
37899ad39e
Do not inject 'None' into builddesc
...
If such data came from remote system, do not cause a stack trace.
2018-11-05 10:43:36 -05:00
Jarrod Johnson
43fb4467b7
Add error if chain goes off into non-existent nodes
...
Various behaviors break if the administrator declares a chain goes
to nowhere, throw up an error and hopefully see it caught to detect
this misconfiguration.
2018-11-02 15:56:34 -04:00
Jarrod Johnson
f5f9403eff
Fix incorrect variable name in nodediscover
...
The field name was incorrectly referencing the last field
rather than the current.
2018-11-02 15:50:02 -04:00
Jarrod Johnson
78e7381442
Add implicit rescan on unmatched csv data
...
If the csv file contains criteria we can't match, implicitly
try a rescan automatically to try to catch it.
2018-11-02 15:18:55 -04:00
Jarrod Johnson
005cefc914
Add volume creation and deletion to nodestorage
2018-11-01 16:59:42 -04:00
Jarrod Johnson
5f38cce51e
Finish nodestorage show
...
It now shows the pertinent details of storage on a node.
2018-11-01 10:43:28 -04:00
Jarrod Johnson
5d358eaeb0
Switch to output format more like nodeinventory
...
Other confluent commands (apart from nodediscovery) set a particular
convention. Go by that convention (at least by default)
2018-10-30 16:28:59 -04:00
Jarrod Johnson
115a6e9dd1
Add helper for tabular output
...
Provide a quick class for auto-sizing tabular output.
2018-10-30 16:23:34 -04:00
Jarrod Johnson
a034d05cc8
Draft tabular output of disk information
...
Print out roughly the data that will be desired in the storage show.
2018-10-30 16:10:37 -04:00
Jarrod Johnson
6378f823f3
Add resource name to the storage messages
...
The storage messages need to have the references preserved
for CLI consumption.
2018-10-30 15:46:54 -04:00
Jarrod Johnson
079dfed11e
Add type to storage messages
...
Storage messages are likely to be grouped together and need
more to disambiguate them.
2018-10-30 15:28:03 -04:00
Jarrod Johnson
d836bf7298
Map health to nagios compatible codes
...
nodehealth adds granularity and health to the return code.
Rather than only reflecting failure running command, also
have nodehealth assign exit code according to the expectations
of nagios.
2018-10-30 13:56:09 -04:00
Jarrod Johnson
25b969a4db
Add 'all' element to configuration/storage
...
Provide a way to provide all the data about storage configuration
in a single call.
2018-10-30 10:25:41 -04:00
Jarrod Johnson
950abde20e
Remove 'all' from storage subelements
...
This concept is potentially problematic, as a volume named 'all' is
valid. Additionally, if really wanting all, the caller probably wants
the full storage configuration, better provide that up a level to
avoid requiring many calls to do that.
2018-10-30 10:05:48 -04:00
Jarrod Johnson
37be696f23
Merge branch 'master' of github.com:jjohnson42/confluent
2018-10-29 14:56:37 -04:00
Jarrod Johnson
73cab3774d
Add support for volume creation
2018-10-26 14:31:28 -04:00
Jarrod Johnson
c2d52d4f83
Add functionality to delete volumes
...
Further enriching the storage api by adding the ability to delete
a volume.
2018-10-25 16:31:32 -04:00
Jarrod Johnson
fd17559a73
Show result of changing disk state.
...
When changing disk state, let the caller know the result explicitly.
2018-10-25 16:11:54 -04:00
Jarrod Johnson
3945ccd5c3
Advance storage configuration API
...
Enumerate disks in an array in disks list.
Add array associated with disk to disk data.
Show detailed data on arrays and volumes.
2018-10-25 16:07:07 -04:00
Jarrod Johnson
7c006b33bc
Implement functionality to configure disks
...
Disks may now have their state changed between hotspare, unconfigured,
and jbod.
2018-10-25 14:48:58 -04:00
Jarrod Johnson
c96b5f0270
Fix spurious trace on immediate exit confetty
...
When confetty exits without doing anything, it causes
sockapi to reference an empty request. Check for that before
checking if it is a collective request.
2018-10-25 14:12:15 -04:00
Jarrod Johnson
7e72240d98
Add protection against duplicate import data
...
nodediscover assign from csv will now guard against human error
in putting the same data in multiple times.
2018-10-25 11:07:56 -04:00
Jarrod Johnson
c150a848fd
Normalize drive state
...
Since drive state is a key api feature, make sure it is normalized
to a set vocabulary.
2018-10-24 16:36:38 -04:00
Jarrod Johnson
bc7a197a8c
Merge branch '18csi'
2018-10-23 09:16:32 -04:00
Jarrod Johnson
6973736c6a
Set password before setting username
...
The BMC is at much higher risk for rejecting the password
(e.g. the password does not pass complexity requirements). If the
username changes, but the password is still default, it is very
confusing. Give the password change the chance to break the
configuration process first.
2018-10-23 09:16:15 -04:00
Jarrod Johnson
d70c3dcad7
Merge branch '18csi'
2018-10-23 09:10:01 -04:00
Jarrod Johnson
f9055a258e
Provide specific completion behavior for noderun/nodeshell
2018-10-23 09:09:03 -04:00
Jarrod Johnson
76a96fa054
Merge branch '18csi'
2018-10-18 15:44:13 -04:00
Jarrod Johnson
c784a4ec9b
Fix noderun output of continuing commands
...
noderun always only output at the end, fix the
mistake in the select statement.
2018-10-18 15:43:57 -04:00
Jarrod Johnson
2ff47b886d
Fix noderun output of continuing commands
...
noderun always only output at the end, fix the
mistake in the select statement.
2018-10-18 15:43:36 -04:00
Jarrod Johnson
51037e2487
Change 'status' to 'state'
...
This is more consistent with several other confluent messages.
2018-10-17 09:37:31 -04:00
Jarrod Johnson
614b916ca4
Merge branch '18csi'
2018-10-16 09:39:00 -04:00
Jarrod Johnson
4077346d30
Rename api from drives to disks
...
It just feels more appropriate to use disks rather than drives.
2018-10-16 09:00:25 -04:00
Jarrod Johnson
8a4bf22a7e
Further flesh out the storage api support
...
Add ability to list arrays and volumes.
2018-10-15 16:27:12 -04:00
Jarrod Johnson
f2dd501de9
Do not proceed to try to upload if file doesn't exist
...
After relaying the error, it went ahead and
attempted the update, contrary to any reasonable expectation.
2018-10-15 11:15:13 -04:00
Jarrod Johnson
f835057ae4
Do not proceed to try to upload if file doesn't exist
...
After relaying the error, it went ahead and
attempted the update, contrary to any reasonable expectation.
2018-10-15 11:14:59 -04:00
Jarrod Johnson
48913218a6
Merge branch 'master' of github.com:jjohnson42/confluent
2018-10-12 15:47:44 -04:00
Jarrod Johnson
a11e4b71ce
Merge branch '18csi'
2018-10-12 15:47:38 -04:00
Jarrod Johnson
e9ba49a4aa
Intercept another 'unexpected error'
...
During a particularly hectic init, Invalid Session ID
may occur if a command is ran particularly early. Intercept
and replace a more clean message.
2018-10-12 15:46:54 -04:00
Jarrod Johnson
deb90fbca9
Fix trace on early console connect
...
If the trace happens before tracelog is ready, just print the output
to the stdout log for now.
2018-10-12 14:56:54 -04:00
Jarrod Johnson
8cae5ea101
Fix trace on early console connect
...
If the trace happens before tracelog is ready, just print the output
to the stdout log for now.
2018-10-12 14:28:21 -04:00
Jarrod Johnson
f830658818
Merge branch '18csi'
2018-10-12 13:33:09 -04:00
Jarrod Johnson
3105b9b1f9
Significantly rework the collective startup behavior
...
One, make the tracking bools enforce a lock to reduce confusion
Treat an initializing peer as failed, to avoid getting too fixated
on an uncertain target.
Make sure that no more than one follower is tried at a time by
killing before starting a new one, and syncing up the configmanager
state
Decline to act on an assimilation request if we are trying to connect
and also if the current leader asks us to connect and we already are.
Avoid calling get_leader while connecting, as that can cause a member
to decide to become a leader while trying to connect, by swapping
the reactions to the connect request.
Avoid trying to assimilate existing followers.
Fix some logging.
2018-10-12 11:45:23 -04:00
Jarrod Johnson
f525c25ba6
Provide more verbose collective logging
...
This helps understand the flow in practice of collective behavior.
2018-10-11 15:15:11 -04:00
Jarrod Johnson
3012de1fe4
Prioritize deletion of transactioncount
...
If the invalidation is incomplete, make sure that transactioncount
is invalidated first to avoid it being able to propogate through
a collective.
2018-10-11 09:16:57 -04:00
Jarrod Johnson
be930fc076
Add missing subsystem marker from a collective log
2018-10-10 16:30:28 -04:00
Jarrod Johnson
2d0199a4e9
Wrap bdb deletion in same lock that sync itself uses
...
If os.remove happens at a bad time, it causes an unfortunate behavior
in dbm. Serialize this sort of operation to avoid the bad behavior.
2018-10-10 15:24:55 -04:00
Jarrod Johnson
6b70a4322a
Fix rollback
...
The fix for the stale data introduced breaking clear rollback
Restore the behavior and make self._cfgstore a somewhat slower property
for now.
2018-10-10 15:22:20 -04:00
Jarrod Johnson
6a784e3a1c
Ensure sync is complete prior to leaving configmanager sync
...
The initialization lock is meant to avoid collective and generic
initialization stepping on each other. This is somewhat reduced in
efficacy if one has a sync running while the other is changing relevant
data.
2018-10-10 14:49:33 -04:00
Jarrod Johnson
3b2b96a4cf
Force fullsync if dead sync thread likely
...
If the sync thread died previously, force the next sync to be full.
2018-10-10 14:32:13 -04:00
Jarrod Johnson
32ddb33de3
Fix error when trying to do fullsync without globals yet
...
If globals is missing, then do not break the sync trying to handle it
2018-10-10 13:11:15 -04:00
Jarrod Johnson
b77ed8dbff
Fix config sync on dead writer
...
The sync thread can die without clearing syncrunning. Make sure that
the thread is alive *and* that the thread has not indicated
intent to give up.
2018-10-10 13:07:27 -04:00
Jarrod Johnson
d5c093a30d
Provide fallback for unexpected reply in collective show
2018-10-10 09:46:01 -04:00
Jarrod Johnson
cf9d2a43e8
Revert "Provide fallback for unexpected reply in collective show"
...
This reverts commit 2f566fb81d .
2018-10-10 09:44:06 -04:00
Jarrod Johnson
2f566fb81d
Provide fallback for unexpected reply in collective show
2018-10-10 09:41:25 -04:00
Jarrod Johnson
92a3b02dc5
Merge branch '18csi'
2018-10-10 09:24:18 -04:00
Jarrod Johnson
94c8cf3ff2
Apply the correct change to collate
2018-10-10 09:24:01 -04:00
Jarrod Johnson
049897fc15
Merge branch '18csi'
2018-10-10 09:21:07 -04:00
Jarrod Johnson
8741a27c24
Merge branch '18csi' of github.com:jjohnson42/confluent into 18csi
2018-10-10 09:09:12 -04:00
Jarrod Johnson
1c494fc4fc
Correct mistake in the collate log support
2018-10-10 09:08:45 -04:00
Jarrod Johnson
1ee418392f
Provide better error behavior on missing collective.manager
...
collective.manager was a blanket response, make it per node and
only triggered by the bad nodes, not the rest.
2018-10-09 15:44:17 -04:00
Jarrod Johnson
2a7eeb6e08
Fix missing argument in calling a function
2018-10-09 15:21:11 -04:00
Jarrod Johnson
5c83c78a90
Add warning on incompatible ssh key with SLES12
2018-10-09 14:44:06 -04:00
Jarrod Johnson
6a466b0100
Avoid proxy consoles generating proxy consoles
...
When the client is a proxy term, disable ability to produce
proxy terminals. This was wreaking havoc with client
count with ghosts and triggering output multiplication.
2018-10-09 13:21:02 -04:00
Jarrod Johnson
67b93ee6b0
Merge branch '18csi'
2018-10-09 09:46:44 -04:00
Jarrod Johnson
6b4a21d613
Add log option to collate for per node logs
2018-10-09 09:37:25 -04:00
Jarrod Johnson
5f46899358
Prevent clear_configuration from invaliding existing ConfigManager
...
Clear out the existing dictionary instead of replacing it.
This prevents configmanager objects from being stuck.
2018-10-08 16:51:58 -04:00
Jarrod Johnson
a3bc17b465
Merge branch '18csi'
2018-10-08 15:56:43 -04:00
Jarrod Johnson
20a37f8db5
Add mention of the -u options to the manpages.
2018-10-08 11:02:33 -04:00
Jarrod Johnson
c6b8aaf372
Fix mistake in the nodegroupdefine man page
2018-10-08 10:57:48 -04:00
Jarrod Johnson
5baab5bef4
Add more stateful to completion
...
Allow it to sense words already used in command. Refactor to common
code for similar ones.
2018-10-08 10:47:38 -04:00
Jarrod Johnson
73c06fd25e
Fix display of error on join of collective
2018-10-08 09:54:03 -04:00
Jarrod Johnson
8d9a082739
Provide better exceptions and propogate them to client on snmp
...
When doing snmp, messages would always go to log only, even if the
user was at the confetty cli. Give user access to knowing the error
impacting the query.
2018-10-04 14:59:25 -04:00
Jarrod Johnson
32602fbba3
Provide interactive handling of key mismatch in ssh sessions
...
Before, ssh would close without so much as a warning, fix this by
dealing with the key data.
2018-10-04 10:23:55 -04:00
Jarrod Johnson
2f616d4586
Better error when collective.manager is set to something invalid
...
If the collective.manager field does not correspond to any collective
manager, give a useful error rather than unexpected error.
2018-10-03 16:23:20 -04:00
Jarrod Johnson
15dc4937ee
Add hyphen options to various completion
2018-10-02 14:44:25 -04:00
Jarrod Johnson
10cb1b77dd
Extend the nodeboot man page
2018-10-02 14:36:07 -04:00
Jarrod Johnson
d86e1fc4eb
Give the cfg init a lock
...
Move collective manager and configmanager to share a configinitlock,
so that bad timings during internal initialization and collective
activity cannot interfere and produce corrupt database.
This became an issue with the fix for 'everything' disappearing.
2018-10-02 10:17:44 -04:00
Jarrod Johnson
29fcd59f8b
Fix usage of check_quorum()
...
It is not a boolean, it is exception driven.
2018-10-01 16:02:45 -04:00
Jarrod Johnson
78a1741e0e
Fix usage of check_quorum()
...
It is not a boolean, it is exception driven.
2018-10-01 16:02:16 -04:00
Jarrod Johnson
4329c1d388
Have collective start bail out if leader
...
Leader should not relinquish if quorum, so don't bother in such
a case.
2018-10-01 15:50:49 -04:00
Jarrod Johnson
c13ebe36ae
Have collective start bail out if leader
...
Leader should not relinquish if quorum, so don't bother in such
a case.
2018-10-01 15:50:31 -04:00
Jarrod Johnson
9495a41f85
Cancel retry if we become leader
...
If an instance is first to start, it's retry should be canceled
when other members prod it to become leader.
2018-10-01 15:29:42 -04:00
Jarrod Johnson
b0b5493ff7
Cancel retry if we become leader
...
If an instance is first to start, it's retry should be canceled
when other members prod it to become leader.
2018-10-01 15:29:18 -04:00
Jarrod Johnson
484435c732
Fix /networking/macs/by-mac
...
The module apimacmap was not correctly scoped.
2018-10-01 14:40:25 -04:00
Jarrod Johnson
326f56219b
Fix /networking/macs/by-mac
...
The module apimacmap was not correctly scoped.
2018-10-01 14:40:02 -04:00
Jarrod Johnson
e098c0ba91
Fix missing tenant argument on user management function
...
The tenant was omitted preventing those particular rpc calls from
working correctly.
2018-10-01 14:04:03 -04:00
Jarrod Johnson
a5d5f4a6a4
Fix missing tenant argument on user management function
...
The tenant was omitted preventing those particular rpc calls from
working correctly.
2018-10-01 14:03:45 -04:00
Jarrod Johnson
61e7c90ad1
Do not restart on intentional kill
...
Additionally, add some output to help filter events log
2018-10-01 10:32:55 -04:00
Jarrod Johnson
51194b275b
Do not restart on intentional kill
...
Additionally, add some output to help filter events log
2018-10-01 09:35:02 -04:00
Jarrod Johnson
e57cdf9a7b
Add more collective event log handling
...
More detail to analyze how the collective membership is handled.
2018-09-27 15:15:05 -04:00
Jarrod Johnson
e634817b34
Add more collective event log handling
...
More detail to analyze how the collective membership is handled.
2018-09-27 15:14:45 -04:00
Jarrod Johnson
10ce7a9de9
Add more logging to collective process
2018-09-27 10:51:06 -04:00
Jarrod Johnson
0724ad812b
Add logging to the assimilation phase of collective
...
When attempting assimilation, provide logging about the attempt.
2018-09-27 10:51:01 -04:00
Jarrod Johnson
a3b0b0240d
Abort assimilation attempt on non-member cleanly
...
If a confluent instance has forgotten the collective, more cleanly
handle the situation, and abort the assimilation rather than assuming
the peer should be leader, unless txcount specifically is called out
as the reason.
2018-09-27 10:50:54 -04:00
Jarrod Johnson
7f06c69d3c
Add more logging to collective process
2018-09-27 10:49:57 -04:00
Jarrod Johnson
b5af770f21
Add logging to the assimilation phase of collective
...
When attempting assimilation, provide logging about the attempt.
2018-09-27 10:38:00 -04:00
Jarrod Johnson
247650868e
Abort assimilation attempt on non-member cleanly
...
If a confluent instance has forgotten the collective, more cleanly
handle the situation, and abort the assimilation rather than assuming
the peer should be leader, unless txcount specifically is called out
as the reason.
2018-09-27 10:30:30 -04:00
Jarrod Johnson
9e8b2dd973
Begin storage configuration support
...
Start by adding a storage oriented configuration area, and have it be
able to list and show detail on disks.
2018-09-26 15:29:29 -04:00
Jarrod Johnson
99fdb20f87
Add nodemedia specific completion
2018-09-21 14:22:46 -04:00
Jarrod Johnson
60bb4c89fb
Add specific completions for nodeboot and nodesetboot
2018-09-21 14:09:49 -04:00
Jarrod Johnson
5d52fd2fc1
Add nodeidentify specific completion
...
Additionally refactor common code into a function
2018-09-21 13:54:43 -04:00
Jarrod Johnson
18bebde337
Disable gssapi in paramiko
...
It is just plain broken, workaround by tanking calls to gssapi prior
to pulling in paramiko.
2018-09-21 13:46:07 -04:00
Jarrod Johnson
c68c4d8cf7
Fix the 'list' subcommand of nodefirmware
...
nodefirmware did not properly set up if 'list' was given
2018-09-21 10:41:15 -04:00
Jarrod Johnson
1de84f0417
Add missing nodesupport man page
2018-09-21 09:57:34 -04:00
Jarrod Johnson
44bf2872b7
Provide more tailored completion for some commands
...
Additionally, modify the nodefirmware command to have a `list`
subcommand, so that tab completion doesn't aggressively send
someone to update.
2018-09-21 09:57:17 -04:00
Jarrod Johnson
c209010126
Add tab completion for bash
...
For interactive bash use, have some completions
2018-09-20 16:02:45 -04:00
Jarrod Johnson
21b4a2f6f3
Merge branch 'master' of github.com:jjohnson42/confluent
2018-09-20 11:05:24 -04:00
Jarrod Johnson
36fc23d692
Avoid VT control codes on exit through pipe
...
Piped commands were subjected to terminal control sequences that
could interfere with desired operation.
2018-09-20 11:05:00 -04:00
Jarrod Johnson
f601032a66
Fix everything group missing if nodegroup created before node
...
everything group was not making it to disk unless a node is created
first. Correctly mark the need for disk sync to fix.
2018-09-14 16:50:20 -04:00
Jarrod Johnson
7c550bd68e
Fix prefix fixup
...
It was not allowing same label across nodes.
2018-09-10 15:09:50 -04:00
Jarrod Johnson
db5f861dc5
Fix introduced typo in error message
2018-09-10 14:25:04 -04:00
Jarrod Johnson
d04be19ae5
Preferentially use a 'name' subfield as 'name'
...
Pyghmi now may suggest a more useful name. The component name
is unique, but 'name' can indicate the common name of things with
multiple instances.
2018-09-07 14:37:02 -04:00
Jarrod Johnson
07532e2a3f
Have nodeinventory disambiguate duplicate labels.
...
The data is still there for putting identical cards together, but
the prefix is unique, particularly important for json mode.
2018-09-07 11:49:13 -04:00
Jarrod Johnson
e7be24d478
Revert "Fix non-unique name for similar inventory items."
...
This reverts commit 47a53a51e4 .
2018-09-07 11:44:01 -04:00
Jarrod Johnson
34b7abcb2d
Change systemd unit to not have PIDFile
...
systemctl restart *always* prints a worrying message
with pidfile.
2018-09-07 11:27:43 -04:00
Jarrod Johnson
47a53a51e4
Fix non-unique name for similar inventory items.
2018-09-07 11:16:09 -04:00
Jarrod Johnson
abc15974da
Merge branch 'master' of github.com:jjohnson42/confluent
2018-09-07 11:11:26 -04:00
Jarrod Johnson
b3bf6929df
Add replacement logic for another generic variant
...
In IMM, PCeGen3 x8 and similar is also possible.
2018-09-06 16:16:26 -04:00
Jarrod Johnson
2a8d61ecf6
Enrich the less than useful 'Adapter' inventory items
...
We can provide DNS provided info about such generic items to
make them look more fleshed out.
2018-09-06 16:10:48 -04:00
Jarrod Johnson
cf3e9037ab
Provide 'discovery.passwordrules'
...
This provides an ability to designate the desired rules that
are applied in the wake of automatic discovery. The most popular
would be 'expiry=no,loginfailures=0'
2018-09-05 15:50:36 -04:00
Jarrod Johnson
03135543a6
Add 'switchuser' and 'switchpass' aliases
2018-09-05 13:51:19 -04:00
Jarrod Johnson
38228ebc9b
Fix the prompting code changes
2018-09-04 11:09:26 -04:00
Jarrod Johnson
d6110c7118
Add -p to nodegroupattrib
...
Also modify the man pages to reflect the updates.
2018-09-04 09:56:51 -04:00
Jarrod Johnson
f92b1ed4a3
Implement ability to prompt for nodeattrib options.
...
For certain attributes, notably passwords, it is sometimes desirable
to prompt interactively to help facilitate keeping such data out of
bash_history, screen sharing, and ps output. -e enables this if the
user is aware of how to use 'read', -p is a quicker way to enable this.
2018-09-04 09:38:01 -04:00
Jarrod Johnson
368087fb51
Have nodeattrib and nodeconfig accept wildcard to select values
2018-08-30 10:14:03 -04:00
Jarrod Johnson
46d62e67de
Do not include advanced in comparedefault by default
...
Advanced settings may do unusual things, only check if explicitly
requested to do so.
2018-08-30 09:58:15 -04:00
Jarrod Johnson
118d1aec0d
Allow nodeboot to harmlessly take -u
...
It doesn't actually change behavior, but request for compatibility
is being honored.
2018-08-30 09:39:20 -04:00
Jarrod Johnson
7c9089c87d
Change nodeconfig -r to take a parameter
...
This opens up for future ability to control the restore to default.
2018-08-30 09:35:16 -04:00
Jarrod Johnson
ba18b9936f
Fix mistakes in previous commit
2018-08-29 15:15:34 -04:00
Jarrod Johnson
3b7ecd0095
Add ability to clear system configuration
...
This provides a method to request the system firmware be restored to
factory defaults.
2018-08-29 14:49:19 -04:00
Jarrod Johnson
19e9583b47
Fix formatting on node*define man page sources
2018-08-28 15:08:03 -04:00
Jarrod Johnson
8352007570
Limit to one active scan at a time
...
Additionally, provide read access to rescan for discovery.
2018-08-28 11:25:48 -04:00
Jarrod Johnson
f7965d235a
Improve /networking/macs API behavior
...
For the 'by-mac', only remove the structure when it is ready for API
view without changing internal view.
For the 'by-switch', do the update per switch and after it's done.
Provide ability to check scan status through reading
/networking/macs/rescan
2018-08-28 11:10:32 -04:00
Jarrod Johnson
6aec9534e7
Fixes for nodesupport
2018-08-23 16:56:40 -04:00
Jarrod Johnson
3ee6334db2
Fix transfer owner argument for servicedata
2018-08-23 16:48:10 -04:00
Jarrod Johnson
582a4de62d
Add CLI and directory support for nodesupport
2018-08-23 16:36:41 -04:00
Jarrod Johnson
c9959d4082
More of the service data retrieval api
...
More progress is made toward the goal
2018-08-23 16:14:49 -04:00
Jarrod Johnson
fa11fb54cb
Add API support for getting service data
...
Service data retrieval is a common activity required
for interacting with support.
2018-08-23 15:39:25 -04:00
Jarrod Johnson
ee3b824870
Add /description to nodes api
2018-08-23 08:44:41 -04:00
Jarrod Johnson
55f5b30369
Merge branch '21'
2018-08-22 16:29:58 -04:00
Jarrod Johnson
784e4bed2f
Force cleanup if follow thread dies of exception
...
If something killed a follow thread, it was not always able to fire the
recovery off. Wrap the risky code in a try statement.
2018-08-20 15:02:34 -04:00
Jarrod Johnson
df7cba00fd
Amend the message on collective failure
2018-08-17 16:45:45 -04:00
Jarrod Johnson
dfb720d0ee
Have collective command warn if the libssl library is not viable
...
Main example is RedHat providing pyOpenSSL of relatively ancient
vintage.
2018-08-17 13:57:13 -04:00
Jarrod Johnson
f5d5cbd67b
Have collective command warn if the libssl library is not viable
...
Main example is RedHat providing pyOpenSSL of relatively ancient
vintage.
2018-08-17 13:56:38 -04:00
Jarrod Johnson
319fec2145
Add advanced to nodeconfig
2018-08-17 11:16:11 -04:00
Jarrod Johnson
8787d23b3a
Add advanced to API for system configuration.
...
pyghmi makes hiding optional advanced settings.
2018-08-17 10:59:50 -04:00
Jarrod Johnson
9b48110155
Do not proceed a logged, but broken session
...
It shouldn't be possible for this to be the case, but out of an
abundance of caution, check for this. So far only produced this by
forcing broken = True in a debug session. Intended to catch an alleged
scenario where console was managing to use a broken session (fixed in
pyghmi) and have confluent also recognize the situation for non-console
usage).
2018-08-16 14:43:16 -04:00
Jarrod Johnson
3064e7bef6
Ensure path is made prior to creating transactioncount
...
Fresh install will be missing /etc/confluent/cfg. Advance the
_mkpath call to fix this problem.
2018-08-08 18:05:45 -04:00
Jarrod Johnson
1d4df8af3a
Fix extraneous error in log on connectivity loss
2018-08-07 15:43:53 -04:00
Jarrod Johnson
2aba6e469c
Correct variable name in the 'connected' fix
2018-08-07 15:31:41 -04:00
Jarrod Johnson
de58593f14
Fix inability to notice underlying broken layers of the SOL
...
Through an unknown set of circumstances, an solconnection could be
stuck 'connecting'. In every case analyzed, the ipmi_session was
broken. Use that to detect a class of failure and react appropriately.
2018-08-07 15:12:53 -04:00
Jarrod Johnson
ecbe1a86b1
Revert "Have nodeconsole restore term on exit"
...
This reverts commit 2972374da8 .
2018-08-02 10:27:37 -04:00
Jarrod Johnson
2972374da8
Have nodeconsole restore term on exit
2018-08-02 10:07:41 -04:00
Jarrod Johnson
81dd6202d3
Fix when rpc has no 'exc' but has 'xid'
2018-07-30 11:26:09 -04:00
Jarrod Johnson
36a202842a
Fix collective on rpc exception
...
Exceptions on collective calls were not correctly handled, fix
the handling so that collective continues and also the calling function
is correctly given the exception.
2018-07-30 09:33:24 -04:00
Jarrod Johnson
6a8e24dd0e
Prioritize interactive feedback part of console handling.
2018-07-26 08:55:25 -04:00
Jarrod Johnson
d3afeb3414
Fix web shell if user hits enter too fast
2018-07-24 17:20:22 -04:00
Jarrod Johnson
1bf4c0ac0a
Have collective coalesce watched updates
...
Particularly chatty output can make collate be unreasonable in
low quality terminals and links. Throttle to about 4 times a second.
2018-07-24 16:50:46 -04:00
Jarrod Johnson
8e422ef822
Fix ssh access
...
Fixed handler (e.g. ssh) did not return console consistent with
the plugin defined handlers.
2018-07-24 16:48:46 -04:00
Jarrod Johnson
f0edbbad39
Have collective show present some info when not in quorum
2018-07-20 14:11:38 -04:00
Jarrod Johnson
5cf1671350
Make the takeover process more deterministic
...
Try to avoid submitting to be a follower while we are currently
becoming a leader
2018-07-20 13:50:42 -04:00
Jarrod Johnson
e5c4219ee9
Reorder certificate check
...
First order of business is to verify certificate before even thinking
about if the request is possible
2018-07-20 13:34:14 -04:00
Jarrod Johnson
3ff7e42074
Change behavior for fallback handling
...
Fallback would do nothing to fix a persistent problem with an IPMI
session. For lack of knowing how to avoid the situation, at least
make changes so it won't go wrong in the future.
2018-07-20 13:20:50 -04:00
Jarrod Johnson
fab177e077
Fix node[group][attrib|define] handling of =
...
Attributes with = in the value were not handled correctly,
fix by only doing one split.
2018-07-20 09:54:17 -04:00
Jarrod Johnson
a1ba5f59a8
Fix collective show on non-collective
2018-07-19 17:21:01 -04:00
Jarrod Johnson
9bcca6bfad
Provide collective show on all members
2018-07-19 17:08:20 -04:00
Jarrod Johnson
96671ace4e
Correct collective show behavior
2018-07-19 16:48:30 -04:00
Jarrod Johnson
bcff3fc962
Improve collective show readability
2018-07-19 16:39:13 -04:00
Jarrod Johnson
54d93571d1
Have leader provide more data in collective show
2018-07-19 16:26:05 -04:00
Jarrod Johnson
f2f902de7b
Have collective show report when collective inactive
...
Collective show was misleading if not in a collective.
2018-07-19 15:59:15 -04:00
Jarrod Johnson
a09792f969
Schedule periodic attempts to restart collective
...
If collective is lost due to connectivity, this will cause
occasional attempts to bring it back.
2018-07-19 15:49:05 -04:00
Jarrod Johnson
7d16c943a8
Handle updating address of collective member on connect
...
If a collective member changes its IP address, update at the next
possible opportunity.
2018-07-19 15:24:08 -04:00
Jarrod Johnson
b053d41cd8
Error on loss of manager in flight
2018-07-19 14:36:23 -04:00
Jarrod Johnson
200569e7af
Merge branch 'master' into clustertime
2018-07-19 13:32:00 -04:00
Jarrod Johnson
c3c0e1570a
Push quorum state to followers
...
The followers need to know quorum state.
2018-07-19 13:27:21 -04:00
Jarrod Johnson
10c82a72b5
Restore message on unreachable collective member
...
The parallel execution had broken how that message transmits.
Bonus, make it a per node error.
2018-07-18 16:49:54 -04:00
Jarrod Johnson
79cdf65a72
Fix SLES sockapi
...
Previous fix was applied to the incorrect section of code
2018-07-18 15:07:22 -04:00
Jarrod Johnson
497ca40492
Do not abort connecting process on bad cert
...
The target may be non-viable, but don't let that ruin the party
for everyone. Let it keep going as if the system were down.
2018-07-18 14:58:16 -04:00
Jarrod Johnson
fd33e6ae01
Fix non-collective confluent mode
...
list_collective returns an iterator, which will be True...
2018-07-18 14:53:23 -04:00
Jarrod Johnson
32f944e67c
Handle unclean loss of current proxy host
...
If transition is less than gentle, provide a path to restore automatic
if it gets moved.
2018-07-18 14:32:39 -04:00
Jarrod Johnson
dcad9f5a75
Add keepalive and acks to collective
...
Detect unplugged condition (eventually).
2018-07-18 13:45:03 -04:00
Jarrod Johnson
2a34388d09
Add -p to man page for nodepower
2018-07-18 11:02:12 -04:00
Jarrod Johnson
6993e0b496
Fix nodepower argument parsing
...
nodepower was assuming that the second parameter was always the
state regardless of option parsing. Use args instead to fix.
2018-07-18 11:00:01 -04:00
Jarrod Johnson
b7fe72673d
Add clear node/group attributes to collective
...
collective was not syncing clear directives.
2018-07-17 15:57:48 -04:00
Jarrod Johnson
0159bf1b1d
Fix typo in error message
2018-07-17 15:39:08 -04:00
Jarrod Johnson
cf9ad11290
Short out operations if in collective mode but no collective.manager
2018-07-17 15:25:12 -04:00
Jarrod Johnson
ddd7ef5eba
Fix proxyconsole break and reopen
2018-07-17 15:05:09 -04:00
Jarrod Johnson
73da8ec8b5
Fix ProxyConsole if self.remote is not yet set
2018-07-17 14:44:59 -04:00
Jarrod Johnson
eac4d97732
Disengage remote console on manager change
...
This results in a more direct treatment of manager change.
2018-07-17 13:10:01 -04:00
Jarrod Johnson
fa9ecfbb94
Merge branch 'clustertime' of github.com:jjohnson42/confluent into clustertime
2018-07-17 11:46:53 -04:00
Jarrod Johnson
fc5472065a
Catch missing '@' in token as invalid token
2018-07-17 11:46:40 -04:00
Jarrod Johnson
cb0845596e
Provide explanation about nodemedia list and no media.
2018-07-17 11:20:27 -04:00
Jarrod Johnson
0d936e0059
Ensure no more than one in-flight slave connection from a given follower
...
This will prevent a connection from deregistering itself after the
replacement registers itself.
2018-07-17 10:36:31 -04:00
Jarrod Johnson
a7b8f0ab0c
Parallelize cross-manager requests
...
Rather than doing it at one at a time, parallelize the requests
for improved performance.
2018-07-17 10:07:32 -04:00
Jarrod Johnson
3ab4203104
Explicitly set ECDHE curve
...
Some vintages of the SSL stack require we explicitly request a curve,
so here it is.
2018-07-16 16:23:33 -04:00
Jarrod Johnson
13aa2e9aae
Catch more broad errors
...
Operating on a closed socket is not a socket.error
2018-07-16 11:58:18 -04:00
Jarrod Johnson
7462bc28e8
Use the eventlet socket in configmanager
2018-07-16 10:06:53 -04:00
Jarrod Johnson
18f1c07d65
Change to setting an errstr rather than exception
...
If nodefirmware update has an issue, provide error message instead.
2018-07-16 09:03:02 -04:00
Jarrod Johnson
0016077bee
Ensure that wait_for_sync always does a new sync
...
If a sync is in progress, wait for that to complete.
Then issue the requested *new* sync.
Probably only needed if fullsync, as the one in progress may be a
'dirty' only sync and fullsync would be satisfied by the partial sync
without it, which is bad.
2018-07-13 22:15:38 -04:00
Jarrod Johnson
1dad69097b
Be consistent with sync during load of leader cfg
...
Pass through sync as appropriate.
Also changes meant for previous commit
2018-07-13 21:52:17 -04:00
Jarrod Johnson
fd7c428d1f
Cleanup leftover sockets and more reliably be following or leading
...
Before there was a chance to be in a half state, leading to an inability
to reach consensus on leader.
2018-07-13 21:20:42 -04:00
Jarrod Johnson
80a1bd72e7
Correct arguments for Thread constructor
2018-07-13 15:43:09 -04:00
Jarrod Johnson
042d7ab5cf
Modify clear_commit to use the same thread
...
Additionally, wrap a lock around the dbm operations, in case something
in the future makes a mistake.
2018-07-13 15:27:16 -04:00
Jarrod Johnson
c74fdf5924
More collective join errors
2018-07-13 11:07:39 -04:00
Jarrod Johnson
58bf226d23
Relay error from server about token issue
2018-07-13 10:50:17 -04:00
Jarrod Johnson
6f012b69a1
Provide cleaner message for collective manager being unreachable
2018-07-13 10:43:20 -04:00
Jarrod Johnson
7f1e5d2302
Add explanation of 'all' in nodeattrib man page
2018-07-13 09:57:23 -04:00
Jarrod Johnson
3e2a827ff9
Correct typo in nodeattrib man page
2018-07-13 09:50:08 -04:00
Jarrod Johnson
1d16534c16
If replacing a follower stream, ensure the old one closes
2018-07-13 09:37:00 -04:00
Jarrod Johnson
c80ebb0e8d
Explicitly close connection before replacement
...
If an existing follower is stalled out, close the socket explicitly
to avoid leaving it open in lsof.
2018-07-13 09:14:36 -04:00
Jarrod Johnson
efaf1dae70
Make cfgleader modifications more robust
...
If cfgleader is about to forget a socket, explicitly try to close
it first.
2018-07-13 09:05:28 -04:00
Jarrod Johnson
1de82936ed
Add full sync mode
...
For implementing clear config, all data must be presumed dirty.
2018-07-12 17:06:37 -04:00
Jarrod Johnson
b0c384c9ca
Check quorum on attribute read
...
It's too bizarre for attribute read from api to work
without quorum, could be misleading.
2018-07-12 16:05:04 -04:00
Jarrod Johnson
61dd71778f
Never generate new key on crypt read
...
An autogenerated key on read can never be useful. Instead, let it fail
and assume a repair action is coming.
2018-07-12 15:55:05 -04:00
Jarrod Johnson
0f3014957b
Fix non-ascii unicode handling of consoles
2018-07-12 14:16:44 -04:00
Jarrod Johnson
c925353f02
Fix rollback
...
First the data was not actually being staged in the rollback area.
Secondly, there wasn't an assurance that the disk wouldn't have rollback
committed...
2018-07-12 10:01:32 -04:00
Jarrod Johnson
9edb225bd3
Fix the reference to sync to file
2018-07-12 09:20:41 -04:00
Jarrod Johnson
7cdc3c1400
Implement clear config rollback
...
Should something go awry during config
load, rollback the clear and load.
2018-07-12 08:48:21 -04:00
Jarrod Johnson
bd2a3f14e6
Defer txcount increment until after potential failure
...
This avoids the txcount incrementing when no transaction actually
occurs.
2018-07-12 08:41:07 -04:00
Jarrod Johnson
87d00b7447
Fix typo in manpage for nodeattrib
2018-07-11 16:48:41 -04:00
Jarrod Johnson
beedfb0600
If a drone doesn't exist, treat it as if it's an invalid certificate
2018-07-11 16:29:45 -04:00
Jarrod Johnson
ce59a36351
Avoid excessive syncs on connect
...
This removes some redundancy and avoids writing and loading to disk
during the initialization process.
2018-07-11 16:07:56 -04:00
Jarrod Johnson
a1e612968e
Merge branch 'clustertime' of github.com:jjohnson42/confluent into clustertime
2018-07-11 13:44:30 -04:00
Jarrod Johnson
ce1a58bf58
Provide a more specific error when file doesn't exist
...
nodemedia does check locally, but server should also check it, in
case of remote *and* service nodes.
2018-07-11 13:17:37 -04:00
Jarrod Johnson
b386084f2d
Note future enhancement for flattening on collective manager change...
2018-07-11 11:07:59 -04:00
Jarrod Johnson
8e9bcbb44f
Clear txcount on enroll
...
The transaction count on 'join' was being honored as high, when
it never should be.
2018-07-11 09:40:22 -04:00
Jarrod Johnson
704aaeecf9
Tolerate newline in myname
...
vim is quite insistent on adding a newline, tolerate that.
2018-07-11 09:36:51 -04:00
Jarrod Johnson
11968faffc
Numerous fixes to collective
...
If client has higher transaction count, do not close the connection
before extracting peer address.
If our connect session is rudely terminated, abort rather than trying
to continue.
On assimilate failure, ignore a failed assimilate with no data.
Fix problem where a follower getting double deleted was causing an error.
2018-07-10 14:55:57 -04:00
Jarrod Johnson
8769c438c0
Relax cryptodomex requirement
...
We don't *need* the higher version, it just accelerates password auth
if possible. Fix conflict with RH provided package.
2018-07-10 10:10:04 -04:00
Jarrod Johnson
f1489bf527
Add all to SYNOPSIS of nodeattrib
2018-07-09 16:52:07 -04:00
Jarrod Johnson
c03781c022
Add 'all' to usage message of nodeattrib
2018-07-09 16:49:45 -04:00
Jarrod Johnson
298e11f60f
Allow invite from non-leader role
...
A non-leader transaction is modified such that the enroll node
can be connected to the leader and have validation.
2018-07-09 16:40:43 -04:00
Jarrod Johnson
67d6e9a6c7
Add collective show
...
Provide a harmless way to look at collective state
2018-07-09 15:07:24 -04:00
Jarrod Johnson
a4edf9afb8
Rename confluentutil to collective
...
Also adjust output to be a bit more automation friendly.
2018-07-09 13:33:56 -04:00
Jarrod Johnson
2342fe717e
Remove superfluous call to sync to file
...
load_from_json already makes the call, remove the extra call that is
redundant.
2018-07-09 12:59:37 -04:00
Jarrod Johnson
08cf698609
Only conditionally require ffi
...
Only collective mode requires ffi, do not incur requirement for
non-collective mode.
2018-07-09 09:41:10 -04:00
Jarrod Johnson
a905ae4865
Only zap cfgleader if not set
...
stale relay_slaved_requests was trouncing following status, correct
by avoiding zapping that state
2018-07-03 14:43:23 -04:00
Jarrod Johnson
1eaf5357ca
Resolve race conditions on simultaneous collective outage
...
Implement random backoff strategy for serializing connect out and
connect in.
2018-07-03 14:09:09 -04:00
Jarrod Johnson
39378170b1
Add an error if cfgstreams loses a follower
2018-07-03 11:13:23 -04:00
Jarrod Johnson
2156e99ae4
Use alternative name for pycryptodomex
2018-07-03 10:43:05 -04:00
Jarrod Johnson
bba12ed9e7
Update requirements to pull in cryptodomex
2018-07-03 10:32:33 -04:00
Jarrod Johnson
282043ed97
Switch to cryptodome
...
Cryptodome is a modern, but compatible replacement for pycrypto.
We may move to cryptography eventually, but start with this for now
for some nice speedups in some cases.
2018-07-03 10:31:13 -04:00
Jarrod Johnson
09c239b294
Fix memory leaks
...
For one, configmanager was left with stale callback references, clean
those up.
For another, the callback pattern was creating a circular reference that
python memory management couldn't overcome. Break the reference
explicity when an item is disposed of.
2018-07-03 08:58:32 -04:00
Jarrod Johnson
0b26d12837
Fix memory leaks
...
For one, configmanager was left with stale callback references, clean
those up.
For another, the callback pattern was creating a circular reference that
python memory management couldn't overcome. Break the reference
explicity when an item is disposed of.
2018-07-03 08:58:11 -04:00
Jarrod Johnson
956faee052
Correct typo in variable name
2018-06-28 14:12:56 -04:00
Jarrod Johnson
8e77466875
Carry txcount through connect replica
...
The txcount was not up to date when offline updates occurred.
2018-06-28 13:54:31 -04:00
Jarrod Johnson
f01c7e19f7
Fix HA healing problems
...
If we are superior to leader, become leader
When abandoned by a leader, forget the leader.
2018-06-28 13:51:52 -04:00
Jarrod Johnson
5d894912ac
Clean up more potential for CLOSE_WAIT
...
Explicitly close sockets in a few more places.
2018-06-28 10:50:03 -04:00
Jarrod Johnson
93e78d1f03
Fix try_assimilate
...
Also get rid of CLOSE_WAIT in some situations.
2018-06-28 09:53:34 -04:00
Jarrod Johnson
97f932b946
Fix the attempt to assimilate
...
In the wake of leader loss, the assimilate attempt was causing one
of a couple of bad behaviors, a trace if broken and if it should
work, the format of the data payload was incorrect.
2018-06-26 15:29:51 -04:00
Jarrod Johnson
61f24f4d8a
Fix mismatched braces in previous commit
2018-06-26 15:09:17 -04:00
Jarrod Johnson
68a79695fc
Add check for quorum to invite generation process
...
If a would-be collective member has no quorum, provide a clear
message indicating this as an issue.
2018-06-26 14:55:42 -04:00
Jarrod Johnson
401352998c
Correctly show the error on non-leader
...
When non-leader tries to invite, print the error rather than unhelpful
exception with no helpful data.
2018-06-26 14:35:23 -04:00
Jarrod Johnson
9eeede651e
Error when inviting from non leader
2018-06-26 14:24:52 -04:00
Jarrod Johnson
fb98dd5636
Fix packaging issues
2018-06-26 14:12:53 -04:00
Jarrod Johnson
0843b991ea
Isolate following to dedicated greenthread and put fallback to assert leadership
2018-06-26 14:06:01 -04:00
Jarrod Johnson
11e6145a46
Add quorum check to non-config requests
2018-06-26 13:52:20 -04:00
Jarrod Johnson
7433dd3e38
Wrap cfg init on follow in lock
...
Use a lock to provide more atomic behavior for connecting should
something go wrong in calling connect_to_leader incorrectly.
2018-06-26 10:13:27 -04:00
Jarrod Johnson
4de1fea7aa
Implement attempt to assimilate
2018-06-25 17:30:29 -04:00
Jarrod Johnson
f6342dd31f
Allow connect_to_leader to cycle in the parent for loop
...
Startup was foiled when one entry was bad. Also add comments
on invite/join needing to be done from current leader, and the need
for better error messages.
2018-06-25 14:51:39 -04:00
Jarrod Johnson
0499a14fe8
Try to reestablish collective on leader loss
2018-06-25 10:40:29 -04:00
Jarrod Johnson
f301cd272f
Have follower notice lost leader
...
This will mitigate period during which requests
hang instead of error.
2018-06-24 11:08:15 -04:00
Jarrod Johnson
bf4f5ad5ae
Recognize loss of follower as step toward loss of quorum
...
Properly reap the loss of a follower.
2018-06-22 16:17:48 -04:00
Jarrod Johnson
5a5f0169a7
Fix logic on null messages
2018-06-22 15:46:41 -04:00
Jarrod Johnson
03adec089d
Also clear cfgleader when actually becoming leader
2018-06-22 15:26:08 -04:00
Jarrod Johnson
f065fafd61
Clear the quorum block on initial xfer
...
The initial transfer needs to have the configmanager working locally.
2018-06-22 15:23:20 -04:00
Jarrod Johnson
b315042850
Error if starting without quorum
...
If collective mode is present, but no candidates worked, still error
out.
2018-06-22 15:12:42 -04:00
Jarrod Johnson
5588712320
Clear transaction count on config clear
...
A clear configuration should have 0 transactions.
2018-06-22 14:46:52 -04:00
Jarrod Johnson
c6a0aeca3b
Fix dispatch of commands with InputData
...
Inputdata needed to be serialized for the network. Further, had
to have a JSON-safe payload for indicating name for certificate look
up, to avoid doing pickle load on client input prior to client
validation.
2018-06-22 14:41:41 -04:00
Jarrod Johnson
f45228c067
Auto-migrate open console session on loss of management
...
This will keep consoles connected across a manager change. Note
that as it stands, a console session enduring multiple changes will
become increasingly convoluted as the redirect chain will increase
every time, rather than shorting back to the entry point.
2018-06-21 15:14:56 -04:00
Jarrod Johnson
d34e65f9b7
Fix tlvdata handling of unicode input
...
Unicode input is normalized to bytes. Also have to handle python3
not having 'unicode', do a quick change to support that in both.
2018-06-21 14:29:54 -04:00
Jarrod Johnson
baef8c2c42
Connect and fix the proxyconsole
...
This works full duplex for sockapi and read for web consoles.
2018-06-21 13:46:51 -04:00
Jarrod Johnson
1543e145b7
Draft for proxyconsole object for remote use of consoles
...
This would be the stub stand in for the console object to
connect to remote console object rather than local.
2018-06-20 16:36:59 -04:00
Jarrod Johnson
2d403f7d68
Defer import of confluent log
...
confluent.util pulls in log more cleanly, for now rearrange for
easier time running slp test mode.
2018-06-20 14:56:07 -04:00
Jarrod Johnson
78117a1b1a
Draft proxyconsole support for sockapi
...
Foundation for consoleserver to be able to do backend to backend
connections
2018-06-19 16:50:49 -04:00
Jarrod Johnson
624012774c
Discontinue processing on cert mismatch
...
If cert mismatched, the client was shut out, but processing continued,
fix this mistake.
2018-06-19 16:45:06 -04:00
Jarrod Johnson
003358da5f
Discontinue ipmi session on collective manager change
2018-06-19 15:10:59 -04:00
Jarrod Johnson
6b24b9691b
Merge branch 'master' into clustertime
2018-06-19 11:07:53 -04:00
Jarrod Johnson
6ba8ca2fa2
Remove accidental change
...
keepalive was disabled, which negatively impacted
web ui performance. Re-enable.
2018-06-19 11:07:23 -04:00
Jarrod Johnson
38898ca921
Auto-make certificate if missing
...
Automatically fix a missing certificate if this is the case.
2018-06-19 11:05:38 -04:00
Jarrod Johnson
810be71720
Initial support for non-console dispatch
...
For non-exceptional cases, it is now functional.
2018-06-15 15:54:26 -04:00
Jarrod Johnson
b877a95645
Include absent devices in the json of nodeinventory
2018-06-15 11:03:03 -04:00
Jarrod Johnson
efd5732682
Amend json output
...
Have the nodeinventory json output in a bit more directly useful format,
rather than regarding the API structured JSON...
2018-06-15 11:02:57 -04:00
Jarrod Johnson
4906d6e9c4
Add --json to nodeinventory
...
Have nodeinventory have an option to output in json.
2018-06-15 11:02:51 -04:00
Jarrod Johnson
f2500d9d27
Add general confluentutil command
...
This provides util commands to manage certificates and collective
membership.
2018-06-13 16:23:49 -04:00
Jarrod Johnson
0507e89da8
Add ability to skip key backup and interactive password
...
Backups should carefully protect keys.json, but that's only feasible
interactively. However keys don't change, so have a way to combine
protected keys.json with password with relatively safe non-interactive
incremental backups.
2018-06-13 16:22:40 -04:00
Jarrod Johnson
8cea5a4fed
Fix redacted db dump
...
The db dump function did not trigger the init() function.
Rearrange the collective section to occur after a section that does
ensure the configmanager is initted.
2018-06-13 09:15:27 -04:00
Jarrod Johnson
8515d43dad
A shell script to illustrate generating ECDSA key
...
For now put down the openssl commands required to get the key and
certificate available.
2018-06-12 16:57:36 -04:00
Jarrod Johnson
5c12dc2cba
Do not require exactly TLSv1.0
...
This was breaking TLSv1.2.
2018-06-08 10:15:38 -04:00
Jarrod Johnson
a08eace00c
Fix missing import of traceback
2018-06-05 13:08:05 -04:00
Jarrod Johnson
cdb20c0302
Fix missing import of traceback
2018-06-05 13:05:42 -04:00
Jarrod Johnson
3eed46ec08
Disconnect on loss of ownership
2018-06-02 12:36:20 -04:00
Jarrod Johnson
daef9fa60b
Fix confusing nodeconfig error handling
...
Properly react to error conditions
2018-06-01 16:48:34 -04:00
Jarrod Johnson
a7a4ede580
Fix confusing nodeconfig error handling
...
Properly react to error conditions
2018-06-01 16:48:19 -04:00
Jarrod Johnson
a560dc1974
Add timeout on httpapi socket
...
Clients that fail to send any data, or keep a persistent socket
open without using it are killed off.
2018-06-01 16:26:21 -04:00
Jarrod Johnson
e8cea66a85
Add timeout on httpapi socket
...
Clients that fail to send any data, or keep a persistent socket
open without using it are killed off.
2018-06-01 16:25:38 -04:00
Jarrod Johnson
8fc29d1b46
Correctly allow manual discovery through ambiguous situation
...
Manual discovery may 'catch' some incidental data from auto-discovery.
Since the operation is manual, trust the user rather than assume the
user is confused.
2018-06-01 16:09:32 -04:00
Jarrod Johnson
6e0186947f
Correctly allow manual discovery through ambiguous situation
...
Manual discovery may 'catch' some incidental data from auto-discovery.
Since the operation is manual, trust the user rather than assume the
user is confused.
2018-06-01 16:09:13 -04:00
Jarrod Johnson
a45a0e31f1
Merge branch 'master' of github.com:jjohnson42/confluent
2018-06-01 15:54:31 -04:00
Jarrod Johnson
8ea532053e
Add guardrail around slp snoop
...
If a program error should befall our poor slp service, log the issue
and carry on.
2018-06-01 15:54:27 -04:00
Jarrod Johnson
366c955956
Add guardrail around slp snoop
...
If a program error should befall our poor slp service, log the issue
and carry on.
2018-06-01 15:53:52 -04:00
Jarrod Johnson
d968fb6b04
Add TODO note on how to do the collective console sessions
...
We will hove consoleserver abstract this away from sockapi/httpapi
concerns.
2018-05-31 16:22:11 -04:00
Jarrod Johnson
db1d5d6dff
Prepare for request dispatch
...
Sort and exclude nodes that have collective.manager, prepare to relay
for dispatch.
2018-05-31 16:18:58 -04:00
Jarrod Johnson
867dd0dda7
Handle collective.manager being set back to the node
2018-05-31 16:16:03 -04:00
Jarrod Johnson
22b63df036
First pass at suppressing foreign consoles
...
If console session is another node, prevent it from working locally.
Focus first on making sure the wrong nodes don't work before routing.
2018-05-31 15:53:09 -04:00
Jarrod Johnson
54f419d9b4
Add 'collective.manager'
...
For requests that must be routed to a definitive owner (e.g. IPMI),
have an attribute to track the currently responsible server for
singleton operations.
2018-05-31 15:47:19 -04:00
Jarrod Johnson
5d6e241287
Fix deadlock on collective create user
...
There was a call to rpc-out from within a 'true' function, which is bad,
fix this by only calling the 'true' function from 'true' function.
2018-05-30 16:21:40 -04:00
Jarrod Johnson
417bc5acda
Fix incorrect function call for user creation
...
In collective mode, the incorrect rpc call was made
2018-05-30 15:30:27 -04:00
Jarrod Johnson
57ffe166d3
Merge branch 'master' into clustertime
2018-05-25 10:24:34 -04:00
Jarrod Johnson
5718c60a51
Merge branch 'clustertime' of github.com:jjohnson42/confluent into clustertime
2018-05-25 10:23:25 -04:00
Jarrod Johnson
31effcc025
Fix mistake in variable name in nodeconfig
2018-05-25 10:22:35 -04:00
Jarrod Johnson
cefca49128
Fix mistake in variable name in nodeconfig
2018-05-25 10:21:34 -04:00
Jarrod Johnson
41a5eaa464
Merge branch 'clustertime' of github.com:jjohnson42/confluent into clustertime
2018-05-23 13:02:12 -04:00
Jarrod Johnson
46c4065b81
Correct another typo
2018-05-23 13:02:03 -04:00
Jarrod Johnson
57e323786e
Fix syntax error in the recent code
2018-05-22 11:00:30 -04:00
Jarrod Johnson
3b2a18a650
Merge branch 'master' into clustertime
2018-05-22 10:34:31 -04:00
Jarrod Johnson
3ace7747ab
Fix typo
2018-05-22 10:11:37 -04:00
Jarrod Johnson
8ede0fd8ef
Document {{}} escape on noderun and nodeshell
...
Documentation did not explain that
2018-05-22 09:59:30 -04:00
Jarrod Johnson
be3ecf60a5
Fix bad error message on {} in nodeshell/noderun
...
{} used in awk is likely, give proper error message.
2018-05-22 09:56:53 -04:00
Jarrod Johnson
8807fcfd22
Fix missing portname in lldp data
...
Root cause was pysnmp returning extraneous leftover data causing
calling code to overrite good data.
2018-05-22 09:37:01 -04:00
Jarrod Johnson
33fe0a3db4
Fix wrong port name for G8332
...
Was using the incorrect half of the return, which broke on G8332.
2018-05-22 09:36:55 -04:00
Jarrod Johnson
ca7711b373
Fix missing portname in lldp data
...
Root cause was pysnmp returning extraneous leftover data causing
calling code to overrite good data.
2018-05-22 09:36:09 -04:00
Jarrod Johnson
8b37199654
Fix wrong port name for G8332
...
Was using the incorrect half of the return, which broke on G8332.
2018-05-22 09:34:02 -04:00
Jarrod Johnson
ff2bc89fae
Merge branch 'master' into clustertime
2018-05-21 15:53:48 -04:00
Jarrod Johnson
5fe2d2a31c
Fix unprintable characters in some chassisid
...
Some switches send raw octets back, some printable. Try to normalize
when unprintable chassis id are detected. This is not 100%, if the hex
would be all between 20 and 80 throughout the string, then this will
fail to do the right thing.
Hopefully, the amount of times when lldp partners disagree on how to
implement LLDP-MIB will be limited. Currently it is known than Lenovo
and Juniper switches disagree, and both of those have what would
be unprintable values in the mfg portion of the chassis id.
2018-05-21 15:53:42 -04:00
Jarrod Johnson
a4fed0601c
Fix unprintable characters in some chassisid
...
Some switches send raw octets back, some printable. Try to normalize
when unprintable chassis id are detected. This is not 100%, if the hex
would be all between 20 and 80 throughout the string, then this will
fail to do the right thing.
Hopefully, the amount of times when lldp partners disagree on how to
implement LLDP-MIB will be limited. Currently it is known than Lenovo
and Juniper switches disagree, and both of those have what would
be unprintable values in the mfg portion of the chassis id.
2018-05-21 15:53:12 -04:00
Jarrod Johnson
41298a8e01
Extend collective data functions to more functions
...
Add to users and groups. Refactor reusable code.
Code that remains still looks awfully repetitive though...
2018-05-21 15:46:51 -04:00
Jarrod Johnson
caa4000b7e
Merge branch 'master' into clustertime
2018-05-21 11:49:19 -04:00
Jarrod Johnson
fde2c7a8e0
Fix the encuuid reference
...
encuuid is a list, not the value, so get the first value
rather than try to concatenate the string.
2018-05-18 11:49:06 -04:00
Jarrod Johnson
fbbb5d048f
Fix the encuuid reference
...
encuuid is a list, not the value, so get the first value
rather than try to concatenate the string.
2018-05-18 11:47:34 -04:00
Jarrod Johnson
32d60145f7
Fix typo in discovery core
2018-05-18 10:20:57 -04:00
Jarrod Johnson
1db781852c
Fix typo in discovery core
2018-05-18 10:20:31 -04:00
Jarrod Johnson
0dbf82b0f1
Clean up errors on bad ipv4 addresses
...
confluent errors are better now
2018-05-17 16:24:31 -04:00
Jarrod Johnson
675dc966c7
Clean up errors on bad ipv4 addresses
...
confluent errors are better now
2018-05-17 16:24:06 -04:00
Jarrod Johnson
a9485706d1
Update warning to be commented out, just in case..
2018-05-17 15:40:59 -04:00
Jarrod Johnson
db1ae03415
Sample script for mac to ipv6 translation
...
Useful for some generic applications where nodediscover
does not have full support, but must be used with care
as it doesn't guarantee the mac address is what we expect
it to be.
2018-05-17 15:40:49 -04:00
Jarrod Johnson
9826235d4d
Update warning to be commented out, just in case..
2018-05-17 15:40:20 -04:00
Jarrod Johnson
232140899e
Sample script for mac to ipv6 translation
...
Useful for some generic applications where nodediscover
does not have full support, but must be used with care
as it doesn't guarantee the mac address is what we expect
it to be.
2018-05-17 15:35:52 -04:00
Jarrod Johnson
5dddae0ebf
Cleaner handling of invalid names in restore attempt
...
Detect problems ahead af time and more cleanly print a message.
2018-05-17 14:40:40 -04:00
Jarrod Johnson
39e9bf0be5
Cleaner handling of invalid names in restore attempt
...
Detect problems ahead af time and more cleanly print a message.
2018-05-17 14:40:19 -04:00
Jarrod Johnson
d6b7c536d5
Fix discovery of old SMM firmware
...
Older SMM firmware will not have neighbor data, ignore and move on
in such a case.
2018-05-17 14:21:24 -04:00
Jarrod Johnson
f21db46cdd
Fix discovery of old SMM firmware
...
Older SMM firmware will not have neighbor data, ignore and move on
in such a case.
2018-05-17 14:20:59 -04:00
Jarrod Johnson
2d1ba7cc9b
Merge branch 'master' into clustertime
2018-05-17 13:13:46 -04:00
Jarrod Johnson
22049002bb
Fix exitcode references before use
2018-05-17 11:11:11 -04:00
Jarrod Johnson
727aa9a56c
Merge branch 'clustertime' of github.com:jjohnson42/confluent into clustertime
2018-05-16 11:28:08 -04:00
Jarrod Johnson
dcb1c2b32b
Fix load of txcount
...
Mistake caused txcount not to restore from disk.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
d705d6320a
Start setting the stage for leader change on restart
...
Have connect() have a way to recover if leader is dead.
Also these will be involved in configmanager detected loss of leader
2018-05-16 11:27:46 -04:00
Jarrod Johnson
52e2038fdf
Fix transaction count in collective
...
Slave members were not persisting the value to disk
2018-05-16 11:27:46 -04:00
Jarrod Johnson
9d58a2d382
Correct scope of currentleader
2018-05-16 11:27:46 -04:00
Jarrod Johnson
a2187087f7
Fix not having currentleader set
...
A slave node now recognizes itself as such.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
c5b5178f39
Block some early startup problems in collective
2018-05-16 11:27:46 -04:00
Jarrod Johnson
ff026ee034
Include absent devices in the json of nodeinventory
2018-05-16 11:27:46 -04:00
Jarrod Johnson
1cc659a3b0
Amend json output
...
Have the nodeinventory json output in a bit more directly useful format,
rather than regarding the API structured JSON...
2018-05-16 11:27:46 -04:00
Jarrod Johnson
8bc8faf0bc
Add --json to nodeinventory
...
Have nodeinventory have an option to output in json.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
1c2c9931a8
Persist the transactioncount
...
Needed for eventually ascertaining the viability in selecting leader.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
778a153170
Correct spelling error
2018-05-16 11:27:46 -04:00
Jarrod Johnson
34c510e30a
Try to persist name as myname
...
hostname may not agree with the name chosen by user, in such a case
persist the name and use that, falling back to gethostname()
as needed.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
d4babbffa4
Check and try to start collective on startup
...
Not yet good enough for a leader to rejoin, but enough for a follower
to rejoin automatically.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
1c930eba9d
Have attrib set wait on all collective members
...
This will mean that it is reliable that a nodeattrib ; <command>
in delegation scenarios is guaranteed to execute in order.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
c4b564123f
Allow slave collective drones to set
...
It works (once), but needs xid fix.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
6d728df4dc
Fix reuse of channel for receiving changes
2018-05-16 11:27:46 -04:00
Jarrod Johnson
f1e29393df
Succeed in pushing config to followers from leader
...
Still more work to be done for multiple transactions.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
81bb16476c
Apply changes from leader subscription
2018-05-16 11:27:46 -04:00
Jarrod Johnson
035f10e7d7
Rough draft for ongoing syncronization
...
Putting thoughts down on how xmit will work, will add recv and relay,
do some testing, and then decide how much can be done to apply it neatly
to the various points.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
830e6bb4e4
Clear configuration prior to sync
2018-05-16 11:27:46 -04:00
Jarrod Johnson
1eb542f6a8
Actually execute replicate-on-connect
...
This creates a duplicate of the leader.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
b733049a0c
Add self to collective database
...
Database would omit initial leader otherwise.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
a4d80e4e3a
Fixes to the connect draft
...
Needed to track it's own name, skip the banner and auth message...
2018-05-16 11:27:46 -04:00
Jarrod Johnson
a69b5fbb50
For enroll, track the remote cert special
...
For reconnect, we will have collective objects. However at
enroll time, we need to be special.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
789dfe94d0
Fix missing import of eventlet
...
Unable to spawn the connect thread due to missing import.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
73a376fd74
Fix backup of globals
...
Globals failed to open the backup file as writable, causing failure if
a global had been set.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
57f390fd0a
Draft for starting the databse replication
...
Does not actually heed the data, or implement ongoing relay of data back and forth.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
641bc7344a
Add hooks for collective mode and refactor
...
In support of config replication, need configmanager to do a few things
2018-05-16 11:27:46 -04:00
Jarrod Johnson
af940c972f
Add function to check address equivalence
...
As we start needing to compare addresses, provide a central function
to handle the various oddities associated with that.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
468f00cd1c
Rename 'joinchallenge' to 'enroll'
...
Seems like a better word to use.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
ce635068aa
Begin the 'connect' collective operation
...
First check if we are current leader, reject if not, then if cert
is invalid, reject, then comes the TODO.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
348c6a7c38
Add collective info to DB backup
...
Now persisted to disk *and* accessible to backup.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
a41a42ffd0
Persint collective info to disk
...
Additionally, simplify the concluding steps of the join conversation.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
3a354a6300
Ensure the invitation works out to even multiple of 3 bytes
...
It's cosmetic, but a nice way to avoid '=' in the tokens.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
fb9925bb84
Fix encoding of the response proof
...
The response was not decoded, causing it to always fail.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
78bf1d5acd
Provide more feedback and fix some flow issues
2018-05-16 11:27:46 -04:00
Jarrod Johnson
8165b645d9
Fix invite process and unicode
...
Unicode strings do not fit with our world view, make them bytes.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
c2783b6734
Rename swarm to collective in setup.py.tmpl
2018-05-16 11:27:46 -04:00
Jarrod Johnson
033d59b04a
Afetr some feedback, rename it 'collective'
2018-05-16 11:27:46 -04:00
Jarrod Johnson
4155954d1c
Add swarm to setup.py
...
Make sure the swarm content is actually installed.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
1b912c4365
Further advance the swarm concept
...
This marks the start of attempting to connect the invitation
to sockets and using the invitation to measure the certificates as
well as proving client knowledge of an invitation token.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
5f9ee3d3c5
Migrate 'multimanager' to 'swarm'
...
It's easier to say 'swarm' and conveys the sense without confusion
of 'cluster' mode.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
cc9becea3b
Add ability to get client certificates
...
Unfortunately, to pull off the target user experience, we
must register a custom client certificate validation to allow
us to not require a CA.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
1e0cf7e9fb
Create invitation management module
...
This facilitates the generation of invitations and logistics of proving
knowledge of the invitation and the integrity of the certificates.
peercert is to be gotten through getpeercert(binary_form=True) and
local cert through the util function to load from file, since we don't
have another way of getting local certificate.
2018-05-16 11:26:36 -04:00
Jarrod Johnson
7ebe9da24b
Add utility function to get certificate from file
...
This can be used to get our own certificate, for use in the
multimanager membership establishment.
2018-05-16 11:26:36 -04:00
Jarrod Johnson
6cba560f6a
Fix nodeconfig handling of general errors
...
nodeconfig was not handling errors in results well, fix this by
refactoring the nodefirmware facility into it.
2018-05-16 11:21:26 -04:00
Jarrod Johnson
08dcab4c72
Fix load of txcount
...
Mistake caused txcount not to restore from disk.
2018-05-14 16:25:27 -04:00
Jarrod Johnson
4f73ddc41e
Start setting the stage for leader change on restart
...
Have connect() have a way to recover if leader is dead.
Also these will be involved in configmanager detected loss of leader
2018-05-14 16:22:27 -04:00
Jarrod Johnson
7a912b31cb
Fix transaction count in collective
...
Slave members were not persisting the value to disk
2018-05-14 15:35:44 -04:00
Jarrod Johnson
297513bba7
Correct scope of currentleader
2018-05-11 15:03:41 -04:00
Jarrod Johnson
aa2be98dc3
Fix not having currentleader set
...
A slave node now recognizes itself as such.
2018-05-11 15:00:18 -04:00
Jarrod Johnson
3cc9ee1a17
Block some early startup problems in collective
2018-05-11 14:49:46 -04:00
Jarrod Johnson
173f1eaf7e
Include absent devices in the json of nodeinventory
2018-05-11 14:24:47 -04:00
Jarrod Johnson
0d4b1a4213
Amend json output
...
Have the nodeinventory json output in a bit more directly useful format,
rather than regarding the API structured JSON...
2018-05-11 14:18:04 -04:00
Jarrod Johnson
58155a47b5
Add --json to nodeinventory
...
Have nodeinventory have an option to output in json.
2018-05-11 13:49:54 -04:00
Jarrod Johnson
7fa431dbc9
Persist the transactioncount
...
Needed for eventually ascertaining the viability in selecting leader.
2018-05-11 11:53:45 -04:00
Jarrod Johnson
e98ecd9867
Correct spelling error
2018-05-10 16:46:29 -04:00
Jarrod Johnson
5087c8bed5
Try to persist name as myname
...
hostname may not agree with the name chosen by user, in such a case
persist the name and use that, falling back to gethostname()
as needed.
2018-05-10 16:40:13 -04:00
Jarrod Johnson
0477ab7d85
Check and try to start collective on startup
...
Not yet good enough for a leader to rejoin, but enough for a follower
to rejoin automatically.
2018-05-10 16:19:46 -04:00
Jarrod Johnson
267d83e6e4
Have attrib set wait on all collective members
...
This will mean that it is reliable that a nodeattrib ; <command>
in delegation scenarios is guaranteed to execute in order.
2018-05-09 17:01:23 -04:00
Jarrod Johnson
c962d10222
Allow slave collective drones to set
...
It works (once), but needs xid fix.
2018-05-08 16:53:59 -04:00
Jarrod Johnson
e5f553801b
Fix reuse of channel for receiving changes
2018-05-08 13:35:30 -04:00
Jarrod Johnson
d11c716b6a
Succeed in pushing config to followers from leader
...
Still more work to be done for multiple transactions.
2018-05-08 11:33:42 -04:00
Jarrod Johnson
aec4e746e9
Apply changes from leader subscription
2018-05-04 16:12:53 -04:00
Jarrod Johnson
a78aa6816c
Rough draft for ongoing syncronization
...
Putting thoughts down on how xmit will work, will add recv and relay,
do some testing, and then decide how much can be done to apply it neatly
to the various points.
2018-05-04 15:16:30 -04:00
Jarrod Johnson
5abaddfe63
Clear configuration prior to sync
2018-05-04 12:19:45 -04:00
Jarrod Johnson
ecfc56efde
Actually execute replicate-on-connect
...
This creates a duplicate of the leader.
2018-05-03 14:03:56 -04:00
Jarrod Johnson
ecfb4d68c5
Add self to collective database
...
Database would omit initial leader otherwise.
2018-05-03 13:27:48 -04:00
Jarrod Johnson
855241a043
Fixes to the connect draft
...
Needed to track it's own name, skip the banner and auth message...
2018-05-03 13:18:08 -04:00
Jarrod Johnson
ce4c72eae2
For enroll, track the remote cert special
...
For reconnect, we will have collective objects. However at
enroll time, we need to be special.
2018-05-03 11:18:02 -04:00
Jarrod Johnson
c8961377ed
Fix missing import of eventlet
...
Unable to spawn the connect thread due to missing import.
2018-05-01 16:51:57 -04:00
Jarrod Johnson
1b17c42cae
Fix backup of globals
...
Globals failed to open the backup file as writable, causing failure if
a global had been set.
2018-05-01 16:18:31 -04:00
Jarrod Johnson
196e8d0d58
Draft for starting the databse replication
...
Does not actually heed the data, or implement ongoing relay of data back and forth.
2018-04-30 16:20:49 -04:00
Jarrod Johnson
dbb50f0807
Add hooks for collective mode and refactor
...
In support of config replication, need configmanager to do a few things
2018-04-30 16:09:28 -04:00
Jarrod Johnson
1200f7b7a1
Add function to check address equivalence
...
As we start needing to compare addresses, provide a central function
to handle the various oddities associated with that.
2018-04-30 16:08:15 -04:00
Jarrod Johnson
a2a0b5de2c
Rename 'joinchallenge' to 'enroll'
...
Seems like a better word to use.
2018-04-30 11:37:23 -04:00
Jarrod Johnson
c7b01e00b6
Begin the 'connect' collective operation
...
First check if we are current leader, reject if not, then if cert
is invalid, reject, then comes the TODO.
2018-04-26 16:34:54 -04:00
Jarrod Johnson
06fdc648b8
Add collective info to DB backup
...
Now persisted to disk *and* accessible to backup.
2018-04-26 16:03:03 -04:00
Jarrod Johnson
de89803b9c
Persint collective info to disk
...
Additionally, simplify the concluding steps of the join conversation.
2018-04-26 15:48:15 -04:00
Jarrod Johnson
d38d9204a7
Ensure the invitation works out to even multiple of 3 bytes
...
It's cosmetic, but a nice way to avoid '=' in the tokens.
2018-04-26 11:35:06 -04:00
Jarrod Johnson
1deb44021f
Fix encoding of the response proof
...
The response was not decoded, causing it to always fail.
2018-04-25 20:49:08 -04:00
Jarrod Johnson
619bbbca96
Provide more feedback and fix some flow issues
2018-04-25 16:47:42 -04:00
Jarrod Johnson
8246ebdd2b
Fix invite process and unicode
...
Unicode strings do not fit with our world view, make them bytes.
2018-04-25 14:21:12 -04:00
Jarrod Johnson
a94a724fe0
Rename swarm to collective in setup.py.tmpl
2018-04-25 13:31:26 -04:00
Jarrod Johnson
6b9aed3722
Afetr some feedback, rename it 'collective'
2018-04-25 13:01:59 -04:00
Jarrod Johnson
a3de8b9374
Add swarm to setup.py
...
Make sure the swarm content is actually installed.
2018-04-24 15:58:40 -04:00
Jarrod Johnson
c8e5808daf
Further advance the swarm concept
...
This marks the start of attempting to connect the invitation
to sockets and using the invitation to measure the certificates as
well as proving client knowledge of an invitation token.
2018-04-24 14:44:45 -04:00
Jarrod Johnson
f3a0ccbff8
Migrate 'multimanager' to 'swarm'
...
It's easier to say 'swarm' and conveys the sense without confusion
of 'cluster' mode.
2018-04-24 12:59:24 -04:00
Jarrod Johnson
27c1355a4f
Add ability to get client certificates
...
Unfortunately, to pull off the target user experience, we
must register a custom client certificate validation to allow
us to not require a CA.
2018-04-24 11:00:23 -04:00
Jarrod Johnson
7909f9e003
Switch to explicit SSL context when possible
...
This allows more fine grained control over the security parameters of
the TLS connection.
2018-04-23 14:18:51 -04:00
Jarrod Johnson
97d38efb29
Merge branch 'master' into clustertime
2018-04-23 11:13:22 -04:00
Jarrod Johnson
14ff33a44a
Only activate the remote API socket if user makes cert
...
This prevents the useless networking socket from being opened
when it cannot be used. This means most implementations will not
have an extra port to explain unless the user goes through the work
and knows what it would be.
2018-04-20 19:30:15 -04:00
Jarrod Johnson
78bdac474f
Merge branch 'master' into clustertime
2018-04-20 13:25:16 -04:00
Jarrod Johnson
0481f7889b
Make macmap api case insensitive
...
This helps usability of the api.
2018-04-20 13:25:02 -04:00
Jarrod Johnson
123a1a9dc1
Merge branch 'clustertime' of github.com:jjohnson42/confluent into clustertime
2018-04-17 11:10:13 -04:00
Jarrod Johnson
fa24622704
Merge branch 'master' into clustertime
2018-04-17 11:09:59 -04:00
Jarrod Johnson
a1156097d2
Add facility to disable autosense
...
discovery autosense at scale may produce undesirable performance.
Provide an interface to turn off the autosense.
If autosense is off, manual scan can still be performed.
2018-04-13 16:54:27 -04:00
Jarrod Johnson
af72d0e71a
Update the discovery lookup tables on node add/remove
...
This will mitigate stale mappings in the discovery process.
2018-04-12 17:05:06 -04:00
Jarrod Johnson
008f8e22ae
Abort traversing gap in SMM chain
...
Once there is a gap, the next hop in the chain will be ambiguous.
Discovery must always precede from the front-most chassis.
2018-04-12 15:45:07 -04:00
Jarrod Johnson
39ee0da879
Fix makesetup for confluent_client
...
Fixing the redundant __init__.py led to no __init__.py, fix
that mistake.
2018-04-10 16:11:14 -04:00
Jarrod Johnson
fc7b26eaf7
Remove __init__.py from tracking in client
2018-04-10 16:09:26 -04:00
Jarrod Johnson
91238f1dcb
Clean up pure python packaging
...
Fix __init__.py redundancy, update requirements to current state
of affairs.
2018-04-10 16:06:37 -04:00
Jarrod Johnson
7f29d3a48f
Merge branch 'master' into clustertime
2018-04-10 15:11:59 -04:00
Jarrod Johnson
76a4a91351
Fix pyparsing rpm name
...
Accept another likely formulation of an rpm name for
the package.
2018-04-10 15:11:20 -04:00
Jarrod Johnson
5ca52ff03b
Handle interruptions to select such as resize
...
Resize can cause an interrupted operation on stdin, handle that.
2018-04-09 10:48:06 -04:00
Jarrod Johnson
bd40f2f4a6
Fix mistake in indexing of url
2018-03-27 17:11:35 -04:00
Jarrod Johnson
66e8ce2dde
Merge branch 'master' of github.com:jjohnson42/confluent
2018-03-27 16:35:31 -04:00
Jarrod Johnson
3dd86c71fd
Add bmc.hostname to nodeconfig
2018-03-27 16:32:37 -04:00
Jarrod Johnson
f97c39cea4
Add hostname to api
...
The hostname of the BMC is added to the api.
2018-03-27 15:51:14 -04:00
Jarrod Johnson
6671b9aad3
Provide cleaner behavior on timeouts
...
If a timeout occurred outside of a keeplaive, provide
a more consistent message about the situation.
2018-03-23 08:27:27 -04:00
Jarrod Johnson
f88e0bca4c
Fix nodeshell hang on incomplete lines
...
readline would hang because the filehandle was really not ready.
2018-03-19 08:45:13 -04:00
Jarrod Johnson
afd366f134
Create invitation management module
...
This facilitates the generation of invitations and logistics of proving
knowledge of the invitation and the integrity of the certificates.
peercert is to be gotten through getpeercert(binary_form=True) and
local cert through the util function to load from file, since we don't
have another way of getting local certificate.
2018-03-15 19:22:03 -04:00
Jarrod Johnson
ad0a7de1e3
Add utility function to get certificate from file
...
This can be used to get our own certificate, for use in the
multimanager membership establishment.
2018-03-15 18:59:49 -04:00
Jarrod Johnson
026a027603
Fix normalizing unicode in dicts with lists
...
If there's a list in a list, normalize that as well.
2018-03-15 12:55:32 -04:00