| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Construct its name based on the MAC address of the NIC, as it is
already being done for the kernel and device tree blob.
|
|
|
|
|
|
| |
If PXE_INSTALLER is set to `no` or `False`, the remotely installed
rootfs, Kernel, bootloader config file and device tree blob if
specified, will not be removed after the deployment finishes.
|
|
|
|
| |
The support is only being added to remote deployments for now.
|
|
|
|
|
|
|
| |
u-boot pxe doesn't understand the tftp:// URIs. Workaround by making the
kernel download URL in the pxelinux.cfg file to be of the following form:
<HOST>:<KERNEL_RELATIVE_PATH>
|
|
|
|
|
|
|
|
| |
u-boot will look for a pxelinux configuration file on the TFTP server
whose name corresponds to the normalized MAC address of the NIC prefixed
with '01-' (Leading 01 means Ethernet).
This support is only being added to remote deployments for now.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Running rsync with the '-X' option causes the following error to occur:
ERROR: pxeboot.write failed with code 1: rsync: get_xattr_names:
llistxattr(""/src/tmp/deployments/tmpcMabnt/tmp0jCu5s"",1024) failed:
Function not implemented (38)
This requires more investigation to understand why it is failing (the
attr devel libraries were installed). AFAIK we are not using extended
attributes in the rootfs that we create, so disable this option for the
time being.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If stdout=None, rsync hangs and the following error occurs
error: uncaptured python exception, closing channel
<morphlib.extensions._OutputDispatcher connected at 0x7f9bd5acf8> (<type
'exceptions.ValueError'>:unsupported format character 'k' (0x6b) at
index 29 [/usr/lib/python2.7/asyncore.py|readwrite|108]
[/usr/lib/python2.7/asyncore.py|handle_read_event|449]
[/usr/lib/python2.7/asynchat.py|handle_read|165]
[/usr/lib/python2.7/site-packages/morphlib/extensions.py|found_terminator|196]
[/usr/lib/python2.7/site-packages/morphlib/plugins/deploy_plugin.py|_report_extension_stdout|615]
[/usr/lib/python2.7/site-packages/morphlib/app.py|status|345])
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
It has 4 modes.
1. Specify PXEBOOT_DEPLOYER_INTERFACE and PXEBOOT_VLAN to
configure the target to pxeboot on a vlan and spawn a dhcp, nfs and
tftp server. This is potentially the fastest, since it doesn't need
to copy data to other servers.
2. Specify PXEBOOT_DEPLOYER_INTERFACE without PXEBOOT_VLAN to
configure do 1, but without creating the vlan interface. This
assumes that you have exclusive access to the interface, such as if
you're plugged in to the device directly, or your interface is
vlanned by your infrastructure team.
This is required if you are serving from a VM and bridging it to the
correct network via macvtap. For this to work, you need to macvtap
bridge to a pre-vlanned interface on your host machine.
3. Specify PXEBOOT_DEPLOYER_INTERFACE and PXEBOOT_CONFIG_TFTP_ADDRESS
to put config on an existing tftp server, already configured by the
dhcp server.
This spawns a tftp server and configures the local nfs server, but
doesn't do a dhcp server. This is useful if you have already got a
dhcp server that serves PXE images.
4. Specify at least PXEBOOT_CONFIG_TFTP_ADDRESS and
PXEBOOT_ROOTFS_RSYNC_ADDRESS to specify existing servers to copy
config, kernels and the rootfs to.
The mode detection can be overridden by specifying PXEBOOT_MODE.
Mode 1 is `spawn-vlan`. Mode 2 is `spawn-novlan`, Mode 3 is
`existing-dhcp` and Mode 4 is `existing-server`.
|