Skip to content

Commit

Permalink
Merge pull request #827 from mandy-chessell/dev-dojo
Browse files Browse the repository at this point in the history
Add deployment type properties
  • Loading branch information
mandy-chessell committed Jul 27, 2023
2 parents 0d7931c + 5433e50 commit 8f98265
Show file tree
Hide file tree
Showing 8 changed files with 83 additions and 64 deletions.
3 changes: 3 additions & 0 deletions site/docs/release-notes/4-3.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ The notes will be updated until & when 4.3 is released**_
??? functional "Conformance Test Suite"
There is a new option on the repository workbench to allow you to restrict the number of different types of instances that are tested. By default, all combinations of the types supported by the technology under test, are used when testing the instance methods. For native repository connectors, that can add up to a lot of tests, taking many hours to run. In 4.3, we have introduced a new option called *testEntityTypes* that is [added to the workbench configuration](/guides/admin/servers/configuring-a-conformance-test-server). It is set to a list of entity types such as `["Asset", "InformalTag"]` and the tests are restricted to these types, their super types and any relationships and classifications that can connector to these entity types.

??? functional "Open Metadata Types"
* The [*HostClusterMember*](/types/0/0035-Complex-Hosts) relationship has new properties *memberRole* and *additionalProperties* to improve ability to describe a host cluster operation.
* The [*DeployedSoftwareComponent*](/types/2/0215-Softeware-Components) entity has a new properties called *deployedImplementationType* to describe the technology supporting a process.


--8<-- "snippets/abbr.md"
28 changes: 14 additions & 14 deletions site/docs/types/0/0035-Complex-Hosts.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,56 +8,56 @@ In today's systems, hardware is managed to get the maximum use out of it. Theref

![UML](0035-Complex-Hosts.svg)

## Host
## Host entity

The concept of a *Host* is abstracted to describe a deployment environment that has access to hardware and has a basic software stack, typically including the operating systems.

The host can be linked to its location through the [AssetLocation](/types/0/0025-Locations/#assetlocation) relationship.

## DeployedOn
## DeployedOn relationship

The *DeployedOn* relationship shows where IT Infrastructure is deployed to.

## BareMetalComputer
## BareMetalComputer entity

A *BareMetalComputer* describes a connected set of physical hardware. The open metadata types today do not attempt to model hardware in detail but this could be easily added if a contributor with the appropriate expertise was willing to work on it.

## VirtualMachine
## VirtualMachine entity

A *VirtualMachine* provides virtualized hardware through a hypervisor that allows a single physical bare metal computer to run multiple virtual machines.

## VirtualContainer
## VirtualContainer entity

A *VirtualContainer* provides the services of a host to the [software servers](/types/0/0040-Software-Servers) deployed on it. When the server makes requests for storage, network access, and other resources, the *VirtualContainer* delegates the requests to the equivalent services of the actual host it is deployed on.

*VirtualContainer*s can be hosted on other *VirtualContainer*'s, but to actually run they need to ultimately be deployed onto a real physical [Host](/types/0/0030-Hosts-and-Platforms/#host).

### DockerContainer
### DockerContainer entity

*DockerContainer* provides a specific type for the popular container type called [docker :material-dock-window:](https://www.docker.com/){ target=docker }.

## HostCluster
## HostCluster entity

A *HostCluster* describes a collection of hosts that together are providing a service. Clusters are often used to provide horizontal scaling of services.

There are two specific types of host clusters defined: in both, the hosts that they manage are often referred to as *nodes*.
Within the host cluster there may be a special host (node) that is controlling the execution of the other members. This host is modelled with a [SoftwareServerPlatform](/types/0/0037-Software-Server-Platforms/#softwareserverplatform) that describes the cluster management platform, and optional [SoftwareServer](/types/0/0040-Software-Servers/#softwareserver) assets. [SoftwareCapabilities](/types/0/0042-Software-Capabilities/#softwarecapability) needed to manage the cluster are linked to these [ITInfrastructure](/types/0/0030-Hosts-and-Platforms/#itinfrastructure) using the [ServerAssetUse](/types/0/0045-Servers-and-Assets/#serverassetuse) relationship.

Within the host cluster is typically a special host (node) that is controlling the execution of the other members. This host is modelled with a [`SoftwareServerPlatform`](/types/0/0037-Software-Server-Platforms/#softwareserverplatform) that describes the cluster management platform, and optional [`SoftwareServer`](/types/0/0040-Software-Servers/#softwareserver) assets. [`SoftwareCapabilities`](/types/0/0042-Software-Capabilities/#softwarecapability) needed to manage the cluster are linked to these [`ITInfrastructure`](/types/0/0030-Hosts-and-Platforms/#itinfrastructure) using the [`ServerAssetUse`](/types/0/0045-Servers-and-Assets/#serverassetuse) relationship.

### HadoopCluster
### HadoopCluster entity

*HadoopCluster* describes a [Hadoop cluster :material-dock-window:](https://hadoop.apache.org/){ target=apache } that uses multiple bare metal computers/virtual machines to manage big data workloads.

### KubernetesCluster
### KubernetesCluster entity

*KubernetesCluster* describes a [Kubernetes cluster :material-dock-window:](https://kubernetes.io/){ target=k8s } that manages containerized applications across multiple bare metal computers/virtual machines.

The containerized applications managed by Kubernetes are represented as *VirtualContainer*'s.

## HostClusterMember relationship

## HostClusterMember
The host cluster is linked to the hosts it is managing using the *HostClusterMember* relationship. The properties help to clarify how the member in the cluster is used.

The host cluster is linked to the hosts it is managing using the *HostClusterMember* relationship.
* *memberRole* describes the role of the member in a cluster. For example, in a kubernetes cluster there are two membership roles: the *pods* and the *hosts*. The *membershipRole* can be set up to show which hosts are the containers running as pods and which are providing the processing location as *hosts*. The pods and the hosts are then linked together using the *deployedOn* relationship to show where the various pods have been deployed.
* *additionalProperties* provides a place to add additional information about the membership of the cluster such as configuration properties.

??? deprecated "Deprecated types"
- *DeployedVirtualContainer* - use *DeployedOn*, which is more general.
Expand Down
4 changes: 2 additions & 2 deletions site/docs/types/0/0035-Complex-Hosts.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
58 changes: 29 additions & 29 deletions site/docs/types/0/area-0-basic-types-and-infrastructure.drawio
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<mxfile modified="2023-06-04T11:08:23.345Z" host="Electron" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.2.8 Chrome/112.0.5615.165 Electron/24.2.0 Safari/537.36" etag="Rjo6AROzi7zvoNmC6wHU" version="21.2.8" type="device" pages="29">
<mxfile modified="2023-07-27T10:46:41.176Z" host="Electron" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.5.0 Chrome/112.0.5615.204 Electron/24.5.1 Safari/537.36" etag="01Bc_1xkq6FtOr6CMsM3" version="21.5.0" type="device" pages="29">
<diagram id="jIWasjkcupAm6ooTX9ot" name="overview">
<mxGraphModel dx="940" dy="587" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
<mxGraphModel dx="1194" dy="775" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
Expand Down Expand Up @@ -2079,7 +2079,7 @@
</mxGraphModel>
</diagram>
<diagram name="0035-Complex-Hosts" id="yUmaWqohCtcrns1yNbHH">
<mxGraphModel dx="1117" dy="729" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
<mxGraphModel dx="1194" dy="775" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
<root>
<mxCell id="pT0M-4eVYAnerPmcR1z3-0" />
<mxCell id="pT0M-4eVYAnerPmcR1z3-1" parent="pT0M-4eVYAnerPmcR1z3-0" />
Expand All @@ -2093,94 +2093,94 @@
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="pT0M-4eVYAnerPmcR1z3-5" value="«entity»&lt;br&gt;&lt;b&gt;VirtualContainer&lt;/b&gt;" style="html=1;strokeColor=#d6b656;align=center;fillColor=#fff2cc;gradientColor=#ffd966;" parent="pT0M-4eVYAnerPmcR1z3-1" vertex="1">
<mxGeometry x="831" y="500" width="205" height="50" as="geometry" />
<mxGeometry x="860" y="500" width="176" height="50" as="geometry" />
</mxCell>
<mxCell id="pT0M-4eVYAnerPmcR1z3-11" value="0..1" style="text;html=1;resizable=0;points=[];autosize=1;align=center;verticalAlign=top;spacingTop=-4;" parent="pT0M-4eVYAnerPmcR1z3-1" vertex="1">
<mxGeometry x="250" y="638" width="30" height="14" as="geometry" />
<mxGeometry x="315" y="638" width="30" height="14" as="geometry" />
</mxCell>
<mxCell id="pT0M-4eVYAnerPmcR1z3-19" value="hostCluster" style="text;html=1;resizable=0;points=[];autosize=1;align=center;verticalAlign=top;spacingTop=-4;" parent="pT0M-4eVYAnerPmcR1z3-1" vertex="1">
<mxGeometry x="209" y="656" width="71" height="14" as="geometry" />
<mxGeometry x="274" y="656" width="71" height="14" as="geometry" />
</mxCell>
<mxCell id="arlesiA4W0Iyp2dwyhwy-0" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=0;endSize=20;" parent="pT0M-4eVYAnerPmcR1z3-1" source="pT0M-4eVYAnerPmcR1z3-22" target="AP9INIZvk78-0yrkU-UW-11" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="386" y="472" />
<mxPoint x="439" y="472" />
<mxPoint x="540" y="472" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="pT0M-4eVYAnerPmcR1z3-22" value="«entity»&lt;br&gt;&lt;b&gt;HostCluster&lt;/b&gt;" style="html=1;strokeColor=#d6b656;align=center;fillColor=#fff2cc;gradientColor=#ffd966;" parent="pT0M-4eVYAnerPmcR1z3-1" vertex="1">
<mxGeometry x="283.5" y="608" width="205" height="50" as="geometry" />
<mxGeometry x="348.5" y="608" width="205" height="50" as="geometry" />
</mxCell>
<mxCell id="pT0M-4eVYAnerPmcR1z3-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;exitX=1;exitY=0.5;endArrow=none;endFill=0;jettySize=auto;orthogonalLoop=1;dashed=1;" parent="pT0M-4eVYAnerPmcR1z3-1" source="pT0M-4eVYAnerPmcR1z3-27" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="263" y="441.5" as="targetPoint" />
<mxPoint x="325" y="447.5" as="targetPoint" />
<Array as="points">
<mxPoint x="221" y="444.5" />
<mxPoint x="221" y="441.5" />
<mxPoint x="283" y="450.5" />
<mxPoint x="283" y="447.5" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="pT0M-4eVYAnerPmcR1z3-27" value="«relationship»&lt;br&gt;&lt;b&gt;HostClusterMember&lt;/b&gt;" style="html=1;strokeColor=#d6b656;align=center;fillColor=#fff2cc;gradientColor=#ffd966;" parent="pT0M-4eVYAnerPmcR1z3-1" vertex="1">
<mxGeometry x="44" y="412" width="180" height="50" as="geometry" />
<mxGeometry x="37" y="418" width="249" height="50" as="geometry" />
</mxCell>
<mxCell id="pT0M-4eVYAnerPmcR1z3-28" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;gradientColor=#ffffff;align=left;" parent="pT0M-4eVYAnerPmcR1z3-1" vertex="1">
<mxGeometry x="45" y="462" width="179" height="28" as="geometry" />
<mxCell id="pT0M-4eVYAnerPmcR1z3-28" value="memberRole : string&lt;br&gt;additionalProperties : map&amp;lt;string, string&amp;gt;" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;gradientColor=#ffffff;align=left;" parent="pT0M-4eVYAnerPmcR1z3-1" vertex="1">
<mxGeometry x="37" y="468" width="249" height="53" as="geometry" />
</mxCell>
<mxCell id="pT0M-4eVYAnerPmcR1z3-31" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;gradientColor=#ffffff;align=left;" parent="pT0M-4eVYAnerPmcR1z3-1" vertex="1">
<mxGeometry x="283.5" y="659" width="205" height="23" as="geometry" />
<mxGeometry x="348.5" y="659" width="205" height="23" as="geometry" />
</mxCell>
<mxCell id="pT0M-4eVYAnerPmcR1z3-41" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;gradientColor=#ffffff;align=left;" parent="pT0M-4eVYAnerPmcR1z3-1" vertex="1">
<mxGeometry x="831" y="550.5" width="205" height="23" as="geometry" />
<mxGeometry x="860" y="550.5" width="176" height="23" as="geometry" />
</mxCell>
<mxCell id="arlesiA4W0Iyp2dwyhwy-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=0;endSize=20;" parent="pT0M-4eVYAnerPmcR1z3-1" source="rGTR6yth79bL_3ZtF9UO-0" target="AP9INIZvk78-0yrkU-UW-11" edge="1">
<mxCell id="arlesiA4W0Iyp2dwyhwy-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=0;endSize=20;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="pT0M-4eVYAnerPmcR1z3-1" source="rGTR6yth79bL_3ZtF9UO-0" target="AP9INIZvk78-0yrkU-UW-11" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="rGTR6yth79bL_3ZtF9UO-0" value="«entity»&lt;br&gt;&lt;b&gt;VirtualMachine&lt;/b&gt;" style="html=1;strokeColor=#d6b656;align=center;fillColor=#fff2cc;gradientColor=#ffd966;" parent="pT0M-4eVYAnerPmcR1z3-1" vertex="1">
<mxGeometry x="617" y="500" width="205" height="50" as="geometry" />
<mxGeometry x="678" y="500" width="172" height="50" as="geometry" />
</mxCell>
<mxCell id="rGTR6yth79bL_3ZtF9UO-1" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;gradientColor=#ffffff;align=left;" parent="pT0M-4eVYAnerPmcR1z3-1" vertex="1">
<mxGeometry x="617" y="551" width="205" height="23" as="geometry" />
<mxGeometry x="678" y="551" width="172" height="23" as="geometry" />
</mxCell>
<mxCell id="arlesiA4W0Iyp2dwyhwy-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=block;endFill=0;endSize=20;" parent="pT0M-4eVYAnerPmcR1z3-1" source="Hyd9QMESpsUOG3yV6zsm-1" target="AP9INIZvk78-0yrkU-UW-11" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Hyd9QMESpsUOG3yV6zsm-1" value="«entity»&lt;br&gt;&lt;b&gt;BareMetalComputer&lt;/b&gt;" style="html=1;strokeColor=#d6b656;align=center;fillColor=#fff2cc;gradientColor=#ffd966;" parent="pT0M-4eVYAnerPmcR1z3-1" vertex="1">
<mxGeometry x="397" y="500" width="205" height="50" as="geometry" />
<mxGeometry x="502" y="500" width="164" height="50" as="geometry" />
</mxCell>
<mxCell id="Hyd9QMESpsUOG3yV6zsm-2" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;gradientColor=#ffffff;align=left;" parent="pT0M-4eVYAnerPmcR1z3-1" vertex="1">
<mxGeometry x="397" y="551" width="205" height="23" as="geometry" />
<mxGeometry x="502" y="551" width="164" height="23" as="geometry" />
</mxCell>
<mxCell id="Hyd9QMESpsUOG3yV6zsm-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=block;endFill=0;endSize=18;strokeWidth=1;" parent="pT0M-4eVYAnerPmcR1z3-1" source="Hyd9QMESpsUOG3yV6zsm-16" target="pT0M-4eVYAnerPmcR1z3-41" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Hyd9QMESpsUOG3yV6zsm-16" value="«entity»&lt;br&gt;&lt;b&gt;DockerContainer&lt;/b&gt;" style="html=1;strokeColor=#d6b656;align=center;fillColor=#fff2cc;gradientColor=#ffd966;" parent="pT0M-4eVYAnerPmcR1z3-1" vertex="1">
<mxGeometry x="831" y="626" width="205" height="50" as="geometry" />
<mxGeometry x="861" y="627" width="174" height="50" as="geometry" />
</mxCell>
<mxCell id="Hyd9QMESpsUOG3yV6zsm-17" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;gradientColor=#ffffff;align=left;" parent="pT0M-4eVYAnerPmcR1z3-1" vertex="1">
<mxGeometry x="831" y="676.5" width="205" height="23" as="geometry" />
<mxGeometry x="862" y="677.5" width="173" height="23" as="geometry" />
</mxCell>
<mxCell id="Hyd9QMESpsUOG3yV6zsm-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=block;endFill=0;endSize=18;strokeWidth=1;" parent="pT0M-4eVYAnerPmcR1z3-1" source="Hyd9QMESpsUOG3yV6zsm-20" target="pT0M-4eVYAnerPmcR1z3-31" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="268.5" y="709" as="targetPoint" />
<mxPoint x="333.5" y="709" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Hyd9QMESpsUOG3yV6zsm-20" value="«entity»&lt;br&gt;&lt;b&gt;HadoopCluster&lt;/b&gt;" style="html=1;strokeColor=#d6b656;align=center;fillColor=#fff2cc;gradientColor=#ffd966;" parent="pT0M-4eVYAnerPmcR1z3-1" vertex="1">
<mxGeometry x="171" y="738" width="205" height="50" as="geometry" />
<mxGeometry x="236" y="738" width="205" height="50" as="geometry" />
</mxCell>
<mxCell id="Hyd9QMESpsUOG3yV6zsm-21" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;gradientColor=#ffffff;align=left;" parent="pT0M-4eVYAnerPmcR1z3-1" vertex="1">
<mxGeometry x="171" y="788.5" width="205" height="23" as="geometry" />
<mxGeometry x="236" y="788.5" width="205" height="23" as="geometry" />
</mxCell>
<mxCell id="Hyd9QMESpsUOG3yV6zsm-22" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=block;endFill=0;endSize=18;strokeWidth=1;" parent="pT0M-4eVYAnerPmcR1z3-1" source="Hyd9QMESpsUOG3yV6zsm-23" target="pT0M-4eVYAnerPmcR1z3-31" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="494.5" y="709" as="targetPoint" />
<mxPoint x="559.5" y="709" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Hyd9QMESpsUOG3yV6zsm-23" value="«entity»&lt;br&gt;&lt;b&gt;KubernetesCluster&lt;/b&gt;" style="html=1;strokeColor=#d6b656;align=center;fillColor=#fff2cc;gradientColor=#ffd966;" parent="pT0M-4eVYAnerPmcR1z3-1" vertex="1">
<mxGeometry x="397" y="738" width="205" height="50" as="geometry" />
<mxGeometry x="462" y="738" width="205" height="50" as="geometry" />
</mxCell>
<mxCell id="Hyd9QMESpsUOG3yV6zsm-24" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;gradientColor=#ffffff;align=left;" parent="pT0M-4eVYAnerPmcR1z3-1" vertex="1">
<mxGeometry x="397" y="788.5" width="205" height="23" as="geometry" />
<mxGeometry x="462" y="788.5" width="205" height="23" as="geometry" />
</mxCell>
<mxCell id="arlesiA4W0Iyp2dwyhwy-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;endArrow=block;endFill=0;endSize=20;" parent="pT0M-4eVYAnerPmcR1z3-1" source="AP9INIZvk78-0yrkU-UW-2" target="AP9INIZvk78-0yrkU-UW-13" edge="1">
<mxGeometry relative="1" as="geometry" />
Expand Down
Loading

0 comments on commit 8f98265

Please sign in to comment.