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
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
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
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
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
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
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
d18c0a576d
Fix ProxyDHCP reply
...
Use the memoryview instead
of the bytearray for correct
use.
2020-04-09 09:20:34 -04:00
Jarrod Johnson
acda061710
Merge branch 'master' into osdeploy
2020-04-09 08:21:24 -04:00
Jarrod Johnson
8d1d19d9a8
Fix nodelicense save with expansion
...
Client side checking will not suffice. Move it server side.
Additionally ,fix ownership of downloaded files.
2020-04-09 08:20:55 -04:00
Jarrod Johnson
fdd9c0953c
Fix numerous python2 issues
...
python2 needs tobytes rather
than bytes of a memoryview.
2020-04-08 17:28:29 -04:00
Jarrod Johnson
137e35217b
Implement UDP checksum
...
Properly implement checksum
on ACK.
2020-04-07 17:36:51 -04:00
Jarrod Johnson
fe3d9da5aa
Have a workable static PXE behavior
...
All but the checksum is now
functioning.
2020-04-07 17:07:07 -04:00
Jarrod Johnson
d76c576b4e
Merge branch 'master' into osdeploy
2020-04-07 11:35:03 -04:00
Jarrod Johnson
017f3fb372
Switch CP storage to SSDP from SLP
...
The SLP behavior on CP storage BMC is problematic.
Switch to SSDP to see if that provides more robust
behavior.
2020-04-07 11:32:52 -04:00
Jarrod Johnson
f58b943cfe
Fix mistakes in pxe handler
...
stringify was passed a string, fix
that input.
Fix mispelling of isinstance.
2020-04-06 17:11:23 -04:00
Jarrod Johnson
b0a0bad635
Merge branch 'master' into osdeploy
2020-04-03 12:34:05 -04:00
Jarrod Johnson
7e86a72872
Pass along unavailable info to client
2020-04-03 12:33:55 -04:00
Jarrod Johnson
1cfeed3f9d
Merge branch 'master' into osdeploy
2020-04-03 11:02:14 -04:00
Jarrod Johnson
2567503662
Handle both types of CP reply
...
The CP storage may reply with
one of two distinct forms. Recognize
either and treat them the same.
2020-04-03 11:01:55 -04:00
Jarrod Johnson
323be19f21
Fix typo in the legacy boot support
2020-04-02 11:34:42 -04:00
Jarrod Johnson
8e8e17a34e
Merge branch 'master' into osdeploy
2020-04-02 10:26:28 -04:00
Jarrod Johnson
a0684520d8
Add documentation for some parameter default
2020-04-02 10:25:57 -04:00
Jarrod Johnson
ea537b1a1f
Add branch to support legacy
...
Legacy boot gets into ipxe
through a kkpxe executable.
2020-04-02 09:41:17 -04:00
Jarrod Johnson
bc7dc50388
Switch filename for iPXE
...
This offers the real iPXE script to
ipxe.
2020-04-01 17:19:23 -04:00
Jarrod Johnson
2da5bebf46
Fix iPXE recognition of our offer
...
iPXE requires that next-server
be set, unlike UEFI firmware
which did not care.
2020-04-01 16:59:43 -04:00
Jarrod Johnson
0fe136d4ee
Extend a proxydhcpack
...
This is one stage of actually
providing download over
PXE.
2020-04-01 16:40:47 -04:00
Jarrod Johnson
b573ffa897
Reduce log noise
...
Stop logging frequently occuring
events that are generally ignored.
2020-04-01 10:33:42 -04:00
Jarrod Johnson
0986853e6e
Merge branch 'master' into osdeploy
2020-03-30 10:59:56 -04:00
Jarrod Johnson
0b95daa30d
Add msgpack to explicit dependencies
...
This will pull in msgpack for debian derivatives.
2020-03-30 10:58:08 -04:00
Jarrod Johnson
96b5d3aa91
Actually populate the file field
...
Thankfully, it turns out that HTTPBoot carries the same flexibility
as PXE with respect to no-ip answer being merged with an IP answer.
As a bonus, it actually is simpler than PXE, allowing skipping of udp
port 4011. Of course, we still want to support PXE boot, so that will
need to be implemented.
2020-03-27 16:17:51 -04:00
Jarrod Johnson
44836cabbe
Prepare for http boot
...
HTTP boot does not seem to support proxy dhcp.
2020-03-27 10:56:38 -04:00
Jarrod Johnson
92e657b987
Fix UDP checksum of odd-length packets
...
Odd length packets were incorrectly handled, fix
the packet construction.
2020-03-26 16:59:58 -04:00
Jarrod Johnson
16209bc3d6
Merge branch 'master' into osdeploy
2020-03-26 14:11:03 -04:00
Jarrod Johnson
f6c44922f8
Add support for forced password change
...
ThinkAgile CP storage BMC firmware now requires
a password change be navigated prior to operation.
2020-03-26 14:10:17 -04:00
Jarrod Johnson
41aa9e1cd2
Optimize chown
...
chown does not need to be called recursively every update/install.
2020-03-24 18:08:34 -04:00
Jarrod Johnson
0c96882fda
Restore Python 3 compatibility for pxe
...
The changes accidentally broke python 3, make a
bytes explicit to fix.
2020-03-24 17:54:07 -04:00
Jarrod Johnson
00681489c7
Add python2 compatibility to pxe
...
Various facets of pxe.py were python3-only,
make it compatible with python2 for now.
2020-03-24 17:26:39 -04:00
Jarrod Johnson
8c2336b8fa
Implemennt static when no DHCP
...
This permits an offer for a nominally static
node, unless it either doesn't map to an IP or
has dhcp method explicitly declared.
2020-03-24 15:09:28 -04:00
Jarrod Johnson
a1bb603570
Fix multinet support and prefix
2020-03-24 10:31:19 -04:00
Jarrod Johnson
96cbfa5568
Prepare get_nic_config for servicing pxe
...
Ability to retrieve node network information according to context
of interface index that receives the packet.
2020-03-23 17:18:17 -04:00
Jarrod Johnson
f0e5572b05
Remove filename from DHCP reply
...
filename is ignored if pxeclient anyway. This will provide a
consistent approach for boot file for dhcp-elsewhere and
fixed ip clients alike.
Also add some TODO about how to enable DHCPREQUEST
processing when the time comes, as today the code skipping
option parsing for DISCOVER packets trips up the ability
to continue. We must make sure we don't call discovery
handler again for REQUEST after doing so for DISCOVER.
2020-03-20 17:57:04 -04:00
Jarrod Johnson
895216d94f
Setting PXEClient in option 60
...
This trigges the proxyDHCP sequence to follow up.
2020-03-20 17:40:29 -04:00
Jarrod Johnson
1c7c897267
Add option 97 (UUID) to OFFER
...
Per PXE specification, this is among the required fields.
2020-03-20 17:23:33 -04:00
Jarrod Johnson
20a26e6fdb
Implement the UDP checksum
...
As long as we are doing UDP and IP in house, might as well do the
optional UDP checksum.
2020-03-20 16:55:20 -04:00
Jarrod Johnson
433f67730c
Add RAW capability to the service
...
This is required for the new PXE support
2020-03-20 14:59:30 -04:00
Jarrod Johnson
fcd73399fa
Add IP and UDP header to OFFER attempt
...
It d oesn't quite work, but it looks convincing. UDP checksum may
need to be added, and beyond that explore changes to the payload since
it is likely not enough DHCP was provided.
2020-03-19 18:39:32 -04:00