Skip to content

Commit

Permalink
Add diagram of installer-based provisioning with subnet bootdisk
Browse files Browse the repository at this point in the history
  • Loading branch information
Lennonka committed Sep 20, 2024
1 parent 702aa1d commit 2ff6914
Show file tree
Hide file tree
Showing 7 changed files with 134 additions and 0 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
48 changes: 48 additions & 0 deletions guides/image-sources/foreman.pstyle
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
' Foreman style for PlantUML diagrams
' This style was created for sequence diagrams and may be incomplete.

skinparam RoundCorner 8
skinparam Shadowing false

' #ffcc32 Foreman yellow
' #025d8c Foreman blue

skinparam sequence {
ArrowColor #025d8c
LifeLineBorderColor #ecf4f8
LifeLineBorderThickness 32
DividerBorderColor #025d8c
DividerFontColor #025d8c
group {
TitleFontColor #025d8c
BorderColor #d2e4ed
FontColor #025d8c
}
groupHeader {
BackgroundColor #d2e4ed
FontColor #025d8c
}
}

skinparam Actor {
BackgroundColor #025d8c
BorderColor #025d8c
FontColor #025d8c
}

skinparam Participant {
BackgroundColor #025d8c
BorderColor #025d8c
FontColor White
}

skinparam Note {
BackgroundColor #d2e4ed
BorderColor #025d8c
FontColor #025d8c
}

' Puppet enabled=1, disabled=0
!$puppet = 0

autonumber
4 changes: 4 additions & 0 deletions guides/image-sources/prov-first-local-boot-hdd.iuml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
!if ($networkboot)
Host -> DHCP : requests the reserved IP
!endif
Host -> Host : boots from HDD
8 changes: 8 additions & 0 deletions guides/image-sources/prov-initial-configuration.iuml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
!if ($puppet)
opt when Puppet enabled
Host -> Puppet : sends CSR
Puppet -> Host : sends certificate (if allowed to)
end
!else
note over Host : initial host configuration\n- remote execution,\n- signs Puppet client cert,\n- runs Ansible roles,\n- etc.
!endif
6 changes: 6 additions & 0 deletions guides/image-sources/prov-installation-media.iuml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
loop
Host -> Foreman : requests installation media
Foreman -> Proxy : requests installation media
Proxy -> Foreman : provides installation media
Foreman -> Host : provides installation media
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
@startuml

!include foreman.pstyle
!$networkboot = 1

title Installer-based provisioning with subnet bootdisk

actor User
participant "Provisioned\nHost" as Host
participant "Foreman" as Foreman
participant "Foreman\nProxy" as Proxy
'participant "Pulp\n(Katello)" as Pulp
'participant TFTP
participant DHCP
participant DNS
!if ($puppet)
participant "Puppet\nserver" as Puppet
!endif

note over Host : powered off

User -> Foreman : downloads the bootdisk of the subnet
note over User : writes the bootdisk\nto a USB/CD/DVD drive

== Boot into OS installer ==

User -> Host : configures the machine to boot\nfrom the USB/CD/DVD drive
User -> Host : powers on the machine
Host -> DHCP : requests the reserved IP
note over Host : boots from the USB/CD/DVD drive
note over Host : bootloader loads
User -> Host : eliminates the USB/CD/DVD drive\n(too soon?)
Host -> Proxy : gets MAC-based bootloader config
Host -> Proxy : downloads OS installer kernel\nand initial RAM disk
note over Host : OS installer loads
Host -> Proxy : requests installer configuration
group Template [Provision]
Proxy -> Proxy : renders installer configuration
end
Proxy -> Host : gets installer configuration
!include prov-installation-media.iuml
note over Host : OS is installed
!include prov-initial-configuration.iuml
Host -> Foreman : calls home\n(disables build mode)

note over Host : reboots

== First local boot ==

!include prov-first-local-boot-hdd.iuml

!if ($puppet)
== First Puppet run ==

!include puppet-run.iuml
!endif

note over Host : in operation

@enduml
8 changes: 8 additions & 0 deletions guides/image-sources/puppet-run.iuml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Host -> Puppet : sends facts
Host -> Puppet : requests catalog
Puppet -> Foreman : forwards facts
Puppet -> Foreman : requests ENC
Puppet -> Host : responds with requested catalog
note over Host : runs catalog
Host -> Puppet : sends report
Puppet -> Foreman : forwards report

0 comments on commit 2ff6914

Please sign in to comment.