diff --git a/docs/user/agent/agent-services.md b/docs/user/agent/agent-services.md index 60b59b7eef..cd93e13589 100644 --- a/docs/user/agent/agent-services.md +++ b/docs/user/agent/agent-services.md @@ -2,7 +2,7 @@ ## Install workflow -![Install workflow](./agent_installer_services-install_workflow.png) +![Install workflow](./agent_installer_services-install_workflow.svg) In the install workflow, all information needed to configure a cluster is included in the agent ISO. When the agent ISO is booted, agent-tui and nmstate libraries are copied to the host from initrd. This copy @@ -27,7 +27,7 @@ step is required because the agent-tui and nmstate libraries are too big to fit ## Add-nodes workflow -![Add-nodes workflow](./agent_installer_services-add_nodes_workflow.png) +![Add-nodes workflow](./agent_installer_services-add_nodes_workflow.svg) The add-nodes workflow is used to generate an ISO image for adding one or more nodes to a target cluster. It is very similar to the install workflow, with the following exceptions (highlighted in green in the previous picture): @@ -41,7 +41,7 @@ the following exceptions (highlighted in green in the previous picture): ## Appliance workflow (unconfigured ignition and config image) -![Appliance workflow](./agent_installer_services-unconfigured_ignition_and_config_image_flow.png) +![Appliance workflow](./agent_installer_services-unconfigured_ignition_and_config_image_flow.svg) In the appliance workflow, most of the cluster deployment information is included in a config image that is mounted onto the host running the unconfigured-ignition. The appliance flow does not include the agent-tui or the @@ -55,7 +55,7 @@ so no connectivity checks to the release image is needed. ## Interactive workflow (unconfigured ignition --interactive) -![Interactive workflow](./agent_installer_services-interactive.png) +![Interactive workflow](./agent_installer_services-interactive.svg) The interactive workflow allows the user to install a cluster by using the assisted UI running on the rendezvous node. In this workflow the agent-tui is also used interactively to configure which node will be the rendezvous host, and to configure accordingly the other nodes. diff --git a/docs/user/agent/agent_installer_services-add_nodes_workflow.png b/docs/user/agent/agent_installer_services-add_nodes_workflow.png deleted file mode 100644 index adb0f78382..0000000000 Binary files a/docs/user/agent/agent_installer_services-add_nodes_workflow.png and /dev/null differ diff --git a/docs/user/agent/agent_installer_services-add_nodes_workflow.svg b/docs/user/agent/agent_installer_services-add_nodes_workflow.svg new file mode 100644 index 0000000000..1ffca45a0f --- /dev/null +++ b/docs/user/agent/agent_installer_services-add_nodes_workflow.svg @@ -0,0 +1,349 @@ + + + + + + +agent_installer_services_add_nodes_workflow + + +cluster_assisted_service_pod + + + + +agent_auth_token_status + +agent-auth-token-status + + + +iscsiadm + +iscsiadm + + + +iscsistart + +iscsistart + + + +iscsistart->iscsiadm + + + + + +pre_network_manager_config + +pre-network-manager-config + + + +set_hostname + +set-hostname + + + + +agent_interactive_console_serial + +agent-interactive-console-serial@ + + + +pre_network_manager_config->agent_interactive_console_serial + + + + + +agent_interactive_console + +agent-interactive-console + + + +pre_network_manager_config->agent_interactive_console + + + + + +selinux + +selinux + + + + +selinux->agent_interactive_console_serial + + + + + +selinux->agent_interactive_console + + + + + + +set_hostname->agent_interactive_console + + + + + +agent + +agent + + + +set_hostname->agent + + + + + +_etc_assisted_node0 + + + +/etc/assisted/node0 + + + +install_status + +install-status + + + +_etc_assisted_node0->install_status + + + + + +assisted_service_pod + +assisted-service-pod + + + +_etc_assisted_node0->assisted_service_pod + + + + + +agent_add_node + +agent-add-node + + + +_etc_assisted_node0->agent_add_node + + + + + +agent_import_cluster + +agent-import-cluster + + + +_etc_assisted_node0->agent_import_cluster + + + + + +agent_register_infraenv + +agent-register-infraenv + + + +_etc_assisted_node0->agent_register_infraenv + + + + + +apply_host_config + +apply-host-config + + + +_etc_assisted_node0->apply_host_config + + + + + +_usr_lib_dracut_hooks_pre_pivot_99_agent_copy_files_sh + + + +99-agent-copy-files.sh + + + + +_usr_local_bin_agent_tui + + + +/usr/local/bin/agent-tui + + + +_usr_lib_dracut_hooks_pre_pivot_99_agent_copy_files_sh->_usr_local_bin_agent_tui + + + + + +_usr_local_bin_agent_tui->agent_interactive_console_serial + + + + + +_usr_local_bin_agent_tui->agent_interactive_console + + + + + + +agent_interactive_console_serial->agent + + + + + +node_zero + +node-zero* + + + +agent_interactive_console_serial->node_zero + + + + + +agent_interactive_console->agent_auth_token_status + + + + + + +agent_interactive_console->agent + + + + + +agent_interactive_console->node_zero + + + + + +node_zero->_etc_assisted_node0 + + + + + +node_zero->assisted_service_pod + + + + + +oci_eval_user_data + +oci-eval-user-data + + + +assisted_service_pod->install_status + + + + + + + +assisted_service_db + +assisted-service-db + + + +assisted_service_pod->assisted_service_db + + + + + +assisted_service + +assisted-service + + + +assisted_service_pod->assisted_service + + + + + +agent_import_cluster->agent_register_infraenv + + + + + +agent_register_infraenv->apply_host_config + + + + + +apply_host_config->agent_add_node + + + + + +assisted_service->agent_import_cluster + + + + + +assisted_service->agent_register_infraenv + + + + + diff --git a/docs/user/agent/agent_installer_services-install_workflow.png b/docs/user/agent/agent_installer_services-install_workflow.png deleted file mode 100644 index fe5daee5cb..0000000000 Binary files a/docs/user/agent/agent_installer_services-install_workflow.png and /dev/null differ diff --git a/docs/user/agent/agent_installer_services-install_workflow.svg b/docs/user/agent/agent_installer_services-install_workflow.svg new file mode 100644 index 0000000000..4002a32b71 --- /dev/null +++ b/docs/user/agent/agent_installer_services-install_workflow.svg @@ -0,0 +1,337 @@ + + + + + + +agent_installer_services_install_workflow + + +cluster_assisted_service_pod + + + + +iscsiadm + +iscsiadm + + + +iscsistart + +iscsistart + + + +iscsistart->iscsiadm + + + + + +pre_network_manager_config + +pre-network-manager-config + + + +set_hostname + +set-hostname + + + + +agent_interactive_console_serial + +agent-interactive-console-serial@ + + + +pre_network_manager_config->agent_interactive_console_serial + + + + + +agent_interactive_console + +agent-interactive-console + + + +pre_network_manager_config->agent_interactive_console + + + + + +selinux + +selinux + + + + +selinux->agent_interactive_console_serial + + + + + +selinux->agent_interactive_console + + + + + + +set_hostname->agent_interactive_console + + + + + +agent + +agent + + + +set_hostname->agent + + + + + +_etc_assisted_node0 + + + +/etc/assisted/node0 + + + +install_status + +install-status + + + +_etc_assisted_node0->install_status + + + + + +assisted_service_pod + +assisted-service-pod + + + +_etc_assisted_node0->assisted_service_pod + + + + + +agent_register_cluster + +agent-register-cluster + + + +_etc_assisted_node0->agent_register_cluster + + + + + +agent_register_infraenv + +agent-register-infraenv + + + +_etc_assisted_node0->agent_register_infraenv + + + + + +apply_host_config + +apply-host-config + + + +_etc_assisted_node0->apply_host_config + + + + + +start_cluster_installation + +start-cluster-installation + + + +_etc_assisted_node0->start_cluster_installation + + + + + +_usr_lib_dracut_hooks_pre_pivot_99_agent_copy_files_sh + + + +99-agent-copy-files.sh + + + + +_usr_local_bin_agent_tui + + + +/usr/local/bin/agent-tui + + + +_usr_lib_dracut_hooks_pre_pivot_99_agent_copy_files_sh->_usr_local_bin_agent_tui + + + + + +_usr_local_bin_agent_tui->agent_interactive_console_serial + + + + + +_usr_local_bin_agent_tui->agent_interactive_console + + + + + + +agent_interactive_console_serial->agent + + + + + +node_zero + +node-zero + + + +agent_interactive_console_serial->node_zero + + + + + + +agent_interactive_console->agent + + + + + +agent_interactive_console->node_zero + + + + + +node_zero->_etc_assisted_node0 + + + + + +node_zero->assisted_service_pod + + + + + +oci_eval_user_data + +oci-eval-user-data + + + +assisted_service_pod->install_status + + + + + + + +assisted_service_db + +assisted-service-db + + + +assisted_service_pod->assisted_service_db + + + + + +assisted_service + +assisted-service + + + +assisted_service_pod->assisted_service + + + + + +agent_register_cluster->agent_register_infraenv + + + + + +agent_register_infraenv->apply_host_config + + + + + +apply_host_config->start_cluster_installation + + + + + +assisted_service->agent_register_cluster + + + + + +assisted_service->agent_register_infraenv + + + + + diff --git a/docs/user/agent/agent_installer_services-interactive.png b/docs/user/agent/agent_installer_services-interactive.png deleted file mode 100644 index f7daa2fb20..0000000000 Binary files a/docs/user/agent/agent_installer_services-interactive.png and /dev/null differ diff --git a/docs/user/agent/agent_installer_services-interactive.svg b/docs/user/agent/agent_installer_services-interactive.svg new file mode 100644 index 0000000000..e766db8417 --- /dev/null +++ b/docs/user/agent/agent_installer_services-interactive.svg @@ -0,0 +1,304 @@ + + + + + + +agent_installer_services_interactive_workflow + + +cluster_assisted_service_pod + + + + +agent_extract_tui + +agent-extract-tui + + + +_usr_local_bin_agent_tui + + + +/usr/local/bin/agent-tui + + + +agent_extract_tui->_usr_local_bin_agent_tui + + + + + +agent_interactive_console_serial + +agent-interactive-console-serial@ + + + +agent_extract_tui->agent_interactive_console_serial + + + + + +agent_interactive_console + +agent-interactive-console + + + +agent_extract_tui->agent_interactive_console + + + + + +iscsiadm + +iscsiadm + + + +iscsistart + +iscsistart + + + +iscsistart->iscsiadm + + + + + +pre_network_manager_config + +pre-network-manager-config + + + +pre_network_manager_config->agent_interactive_console_serial + + + + + +pre_network_manager_config->agent_interactive_console + + + + + +selinux + +selinux + + + +selinux->agent_extract_tui + + + + + +selinux->agent_interactive_console_serial + + + + + +selinux->agent_interactive_console + + + + + +set_hostname + +set-hostname + + + +set_hostname->agent_interactive_console + + + + + +agent + +agent + + + +set_hostname->agent + + + + + +_etc_assisted_node0 + + + +/etc/assisted/node0 + + + +install_status + +install-status + + + +_etc_assisted_node0->install_status + + + + + +assisted_service_pod + +assisted-service-pod + + + +_etc_assisted_node0->assisted_service_pod + + + + + +agent_start_ui + +agent-start-ui + + + +_etc_assisted_node0->agent_start_ui + + + + + +_etc_assisted_rendezvous_host_env + + + +/etc/assisted/ +rendezvous-host.env + + + +_etc_assisted_rendezvous_host_env->agent_extract_tui + + + + + +_usr_local_bin_agent_tui->agent_interactive_console_serial + + + + + +_usr_local_bin_agent_tui->agent_interactive_console + + + + + + +agent_interactive_console_serial->agent + + + + + +node_zero + +node-zero + + + +agent_interactive_console_serial->node_zero + + + + + + +agent_interactive_console->agent + + + + + +agent_interactive_console->node_zero + + + + + +node_zero->_etc_assisted_node0 + + + + + +node_zero->assisted_service_pod + + + + + +oci_eval_user_data + +oci-eval-user-data + + + +assisted_service_pod->install_status + + + + + + +assisted_service_db + +assisted-service-db + + + + +assisted_service_pod->assisted_service_db + + + + + +assisted_service + +assisted-service + + + +assisted_service_pod->assisted_service + + + + + +assisted_service->agent_start_ui + + + + + diff --git a/docs/user/agent/agent_installer_services-unconfigured_ignition_and_config_image_flow.png b/docs/user/agent/agent_installer_services-unconfigured_ignition_and_config_image_flow.png deleted file mode 100644 index ecd08d17b5..0000000000 Binary files a/docs/user/agent/agent_installer_services-unconfigured_ignition_and_config_image_flow.png and /dev/null differ diff --git a/docs/user/agent/agent_installer_services-unconfigured_ignition_and_config_image_flow.svg b/docs/user/agent/agent_installer_services-unconfigured_ignition_and_config_image_flow.svg new file mode 100644 index 0000000000..f1a7f20bfe --- /dev/null +++ b/docs/user/agent/agent_installer_services-unconfigured_ignition_and_config_image_flow.svg @@ -0,0 +1,277 @@ + + + + + + +agent_installer_services_unconfigured_ignition + + +cluster_assisted_service_pod + + + + +iscsiadm + +iscsiadm + + + +iscsistart + +iscsistart + + + +iscsistart->iscsiadm + + + + + +pre_network_manager_config + +pre-network-manager-config + + + +selinux + +selinux + + + +set_hostname + +set-hostname + + + +agent + +agent + + + +set_hostname->agent + + + + + +_etc_assisted_node0 + + + +/etc/assisted/node0 + + + +install_status + +install-status + + + +_etc_assisted_node0->install_status + + + + + +assisted_service_pod + +assisted-service-pod + + + +_etc_assisted_node0->assisted_service_pod + + + + + +agent_register_cluster + +agent-register-cluster + + + +_etc_assisted_node0->agent_register_cluster + + + + + +agent_register_infraenv + +agent-register-infraenv + + + +_etc_assisted_node0->agent_register_infraenv + + + + + +apply_host_config + +apply-host-config + + + +_etc_assisted_node0->apply_host_config + + + + + +start_cluster_installation + +start-cluster-installation + + + +_etc_assisted_node0->start_cluster_installation + + + + + +_etc_assisted_rendezvous_host_env + + + +/etc/assisted/ +rendezvous-host.env + + + +_etc_assisted_rendezvous_host_env->agent + + + + + +node_zero + +node-zero + + + +_etc_assisted_rendezvous_host_env->node_zero + + + + + +assisted_service + +assisted-service + + + +_etc_assisted_rendezvous_host_env->assisted_service + + + + + +agent_check_config_image + +agent-check-config-image + + + +load_config_iso + +load-config-iso@ + + + +load_config_iso->_etc_assisted_rendezvous_host_env + + + + + + +node_zero->_etc_assisted_node0 + + + + + +node_zero->assisted_service_pod + + + + + +oci_eval_user_data + +oci-eval-user-data + + + +assisted_service_pod->install_status + + + + + + + +assisted_service_db + +assisted-service-db + + + +assisted_service_pod->assisted_service_db + + + + + +assisted_service_pod->assisted_service + + + + + +agent_register_cluster->agent_register_infraenv + + + + + +agent_register_infraenv->apply_host_config + + + + + +apply_host_config->start_cluster_installation + + + + + +assisted_service->agent_register_cluster + + + + + +assisted_service->agent_register_infraenv + + + + + diff --git a/docs/user/agent/diagrams/Makefile b/docs/user/agent/diagrams/Makefile index dcf0cc8917..eca7dcbec2 100644 --- a/docs/user/agent/diagrams/Makefile +++ b/docs/user/agent/diagrams/Makefile @@ -1,37 +1,37 @@ .PHONY: all clean help -PNG_FILES := ../agent_installer_services-install_workflow.png \ - ../agent_installer_services-add_nodes_workflow.png \ - ../agent_installer_services-unconfigured_ignition_and_config_image_flow.png \ - ../agent_installer_services-interactive.png -DOT_FILES := $(patsubst ../agent_installer_services-%.png,%.dot,$(PNG_FILES)) +SVG_FILES := ../agent_installer_services-install_workflow.svg \ + ../agent_installer_services-add_nodes_workflow.svg \ + ../agent_installer_services-unconfigured_ignition_and_config_image_flow.svg \ + ../agent_installer_services-interactive.svg +DOT_FILES := $(patsubst ../agent_installer_services-%.svg,%.dot,$(SVG_FILES)) # Find all systemd unit files that the generator depends on SYSTEMD_UNITS := $(wildcard ../../../../data/data/agent/systemd/units/*.service) \ $(wildcard ../../../../data/data/agent/systemd/units/*.service.template) -all: $(PNG_FILES) +all: $(SVG_FILES) # Generate DOT files from systemd units $(DOT_FILES): generate_diagrams.py $(SYSTEMD_UNITS) python3 generate_diagrams.py -# Pattern rule: build PNG from DOT file -../agent_installer_services-%.png: %.dot - dot -Tpng -Gdpi=150 $< -o $@ +# Pattern rule: build SVG from DOT file +../agent_installer_services-%.svg: %.dot + dot -Tsvg $< -o $@ clean: - rm -f $(PNG_FILES) $(DOT_FILES) + rm -f $(SVG_FILES) $(DOT_FILES) # Help target help: @echo "Available targets:" - @echo " all - Generate all PNG diagrams (auto-generates DOT files from systemd units) (default)" - @echo " clean - Remove generated PNG and DOT files" + @echo " all - Generate all SVG diagrams (auto-generates DOT files from systemd units) (default)" + @echo " clean - Remove generated SVG and DOT files" @echo " help - Show this help message" @echo "" @echo "The diagrams are auto-generated from systemd units in:" @echo " ../../../../data/data/agent/systemd/units/" @echo "" @echo "Generated files:" - @echo " $(PNG_FILES)" | tr ' ' '\n' | sed 's/^/ /'" + @echo " $(SVG_FILES)" | tr ' ' '\n' | sed 's/^/ /'" diff --git a/docs/user/agent/diagrams/README.md b/docs/user/agent/diagrams/README.md index 6165ce0f07..8b27029e2b 100644 --- a/docs/user/agent/diagrams/README.md +++ b/docs/user/agent/diagrams/README.md @@ -30,17 +30,17 @@ make This single command will: 1. Auto-generate `.dot` files from systemd units (if units changed) -2. Generate PNG files from the `.dot` files (if `.dot` files changed) +2. Generate SVG files from the `.dot` files (if `.dot` files changed) The diagrams are automatically regenerated when: - Any systemd unit file in `data/data/agent/systemd/units/` changes - The `generate_diagrams.py` script changes Output files are created in the parent directory: -- `agent_installer_services-install_workflow.png` -- `agent_installer_services-add_nodes_workflow.png` -- `agent_installer_services-unconfigured_ignition_and_config_image_flow.png` -- `agent_installer_services-interactive.png` +- `agent_installer_services-install_workflow.svg` +- `agent_installer_services-add_nodes_workflow.svg` +- `agent_installer_services-unconfigured_ignition_and_config_image_flow.svg` +- `agent_installer_services-interactive.svg` ## How It Works @@ -83,4 +83,4 @@ To remove all generated files: make clean ``` -This removes both `.dot` and `.png` files. +This removes both `.dot` and `.svg` files.