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
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
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
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
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
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
36911c0d2e
Merge branch 'master' into osdeploy
2020-04-22 09:01:02 -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
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
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
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
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
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
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
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
b0a0bad635
Merge branch 'master' into osdeploy
2020-04-03 12:34:05 -04:00
Jarrod Johnson
1cfeed3f9d
Merge branch 'master' into osdeploy
2020-04-03 11:02:14 -04:00
Jarrod Johnson
061e12beeb
Merge branch 'master' into osdeploy
2020-04-02 11:43:32 -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
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
e78b4e9f17
Merge branch 'master' into osdeploy
2020-04-02 10:18:11 -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
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
85c648925f
Merge branch 'master' into osdeploy
2020-03-27 11:05:38 -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
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
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
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
d38b06224c
Merge branch 'master' into osdeploy
2020-03-11 09:30:18 -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
455b637c48
Merge branch 'master' into osdeploy
2020-03-02 11:30:30 -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
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
45c13a3d46
Merge branch 'master' into nodesearch
2019-10-17 13:46:23 -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
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
829a5b08c1
Merge branch 'master' into nodesearch
2019-09-06 10:09:48 -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
d13e286609
Merge branch 'master' into nodesearch
2019-07-30 14:46:43 -04:00
Jarrod Johnson
a7c93627e2
Merge branch 'master' into nodesearch
2019-07-23 08:18:44 -04:00
Jarrod Johnson
6e5cfe69a8
Merge branch 'master' into nodesearch
2019-07-22 09:41:45 -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
da8b4d00d8
Merge branch 'master' into nodesearch
2019-07-16 18:46:52 -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
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
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