Last active
December 13, 2018 21:56
-
-
Save bmbouter/f9e7ed5b03efd5e52cf29ba78f3b25c1 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@startuml | |
autonumber | |
title Lazy Call Flow Sequence Diagram | |
participant Client | |
box "Pulp Core Services (pulp.yourdomain.com)" | |
participant "Pulp Content App" | |
participant PostgreSQL | |
end box | |
participant "example.org" | |
== No PublishedArtifact, No PublishedMetadata, pass_through=False, policy='streamed' == | |
autonumber | |
' Request content | |
Client [#red]-> "Pulp Content App" : GET /pulp/content/zoo/pig.rpm | |
activate "Pulp Content App" | |
' Check the database for the the Distribution | |
"Pulp Content App" [#cyan]-> PostgreSQL : Query for the Distribution serving /pulp/content/zoo/pig.rpm | |
"Pulp Content App" <-[#cyan] PostgreSQL : Distribution base_path='zoo' Found | |
||45|| | |
' Check for PublishedArtifact or PublishedMetadata associated with that Distribution's Publication | |
"Pulp Content App" [#cyan]-> PostgreSQL : Query for PublishedArtifact or PublishedMetadata associated with the Distribution's Publication | |
"Pulp Content App" <-[#cyan] PostgreSQL : PublishedArtifact or PublishedMetadata found | |
||45|| | |
' See if pass_through=True and if so query for an Artifact | |
"Pulp Content App" [#cyan]-> PostgreSQL : Query for an Artifact in the RepoVersion with relative_path='pig.rpm' | |
"Pulp Content App" <-[#cyan] PostgreSQL : Artifact Not Found | |
||45|| | |
' Find a RemoteArtifact for 'pig.rpm' and its Remotes | |
"Pulp Content App" [#cyan]-> PostgreSQL : Query for RemoteArtifact for 'pig.rpm' and its Remotes | |
"Pulp Content App" <-[#cyan] PostgreSQL : RemoteArtifact for 'pig.rpm' and its Remotes Found | |
||45|| | |
' Download Content From Remote | |
"Pulp Content App" [#green]-> "example.org" : GET /path/to/repo/pig.rpm | |
"Pulp Content App" <-[#green] "example.org" : 200 OK + binary data | |
'Return 404 | |
Client <-[#red] "Pulp Content App" : 200 OK + binary data | |
deactivate "Pulp Content App" | |
== No PublishedArtifact, No PublishedMetadata, pass_through=False, policy='streamed' == | |
== No PublishedArtifact, No PublishedMetadata, pass_through=False, policy='on_demand' == | |
autonumber | |
' Request content | |
Client [#red]-> "Pulp Content App" : GET /pulp/content/zoo/pig.rpm | |
activate "Pulp Content App" | |
' Check the database for the the Distribution | |
"Pulp Content App" [#cyan]-> PostgreSQL : Query for the Distribution serving /pulp/content/zoo/pig.rpm | |
"Pulp Content App" <-[#cyan] PostgreSQL : Distribution base_path='zoo' Found | |
||45|| | |
' Check for PublishedArtifact or PublishedMetadata associated with that Distribution's Publication | |
"Pulp Content App" [#cyan]-> PostgreSQL : Query for PublishedArtifact or PublishedMetadata associated with the Distribution's Publication | |
"Pulp Content App" <-[#cyan] PostgreSQL : PublishedArtifact or PublishedMetadata found | |
||45|| | |
' See if pass_through=True and if so query for an Artifact | |
"Pulp Content App" [#cyan]-> PostgreSQL : Query for an Artifact in the RepoVersion with relative_path='pig.rpm' | |
"Pulp Content App" <-[#cyan] PostgreSQL : Artifact Not Found | |
||45|| | |
' Find a RemoteArtifact for 'pig.rpm' and its Remotes | |
"Pulp Content App" [#cyan]-> PostgreSQL : Query for RemoteArtifact for 'pig.rpm' and its Remotes | |
"Pulp Content App" <-[#cyan] PostgreSQL : RemoteArtifact for 'pig.rpm' and its Remotes Found | |
||45|| | |
' Download Content From Remote | |
"Pulp Content App" [#green]-> "example.org" : GET /path/to/repo/pig.rpm | |
"Pulp Content App" <-[#green] "example.org" : 200 OK + binary data | |
||45|| | |
' Save the Artifact for 'pig.rpm' and associate it with the RemoteArtifact | |
"Pulp Content App" [#cyan]-> PostgreSQL : Save the Artifact for 'pig.rpm' and associate it with the RemoteArtifact | |
'Return 404 | |
Client <-[#red] "Pulp Content App" : 200 OK + binary data | |
deactivate "Pulp Content App" | |
== No PublishedArtifact, No PublishedMetadata, pass_through=False, policy='on_demand' == | |
legend right | |
(Green) -> Downloader configured from the Remote's settings | |
(Cyan) -> Database calls | |
(Red) -> HTTP(S) calls | |
endlegend | |
@enduml |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment