-
Notifications
You must be signed in to change notification settings - Fork 279
N°8515 - Add CMDB datamodel for Docker and Kubernetes #787
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
datamodels/2.x/itop-container-mgmt/dictionaries/fr.dict.itop-container-mgmt.php
Outdated
Show resolved
Hide resolved
datamodels/2.x/itop-container-mgmt/dictionaries/fr.dict.itop-container-mgmt.php
Outdated
Show resolved
Hide resolved
|
To me the link from |
The name of 'ContainerApplication' is the most subject to discussion, at a point of time, I was about to name it Deployment. |
Co-authored-by: Stephen Abello <stephen.abello@combodo.com>
Co-authored-by: Stephen Abello <stephen.abello@combodo.com>
|
Wait, so what is the meaning of About the And does one of the objects represent that a container is actually running on one of the hosts/cluster? (I thought that would be what |
|
We don't model in iTop what is actually running on any of the host. |
|
Okay, I think I get it. But then again, why does the An image could be used in/for multiple deployments. Where a deployment would indeed also have multiple images. Then, maybe it should be a N:N relation? PS: |
datamodels/2.x/itop-container-mgmt/data/en_us.data.itop-container-type.xml
Show resolved
Hide resolved
Any information related to the way a particular container image should be deployed on the Hosts/Cluster is not something I want to have in the model, because it is way to dependent on the technology. Maybe a file attribute 'Deployment recipe' on the ContainerApplication? |
So in this regards, a
See for example the tags for the iTop image we created at Super-Visions. What I named
I Agree with that, only I don't know where you're referring to or to what you are replying to here? |
|
Just a general thought: How is the decision taken what should be in iTop core vs. extensions? Besides that, happy to see this available! |
Well, for me a ContainerImage is a reference of this kind of images, there is no 'hash' nor 'digest' string, and maybe we should, but the url is supposed to be the full path to that image, something like "https://hub.docker.com/layers/supervisions/itop/2.7.13/images/sha256-754eb1f7b671a306432f92a14a80ddc4dac556e8809201e848df5e21305f6beb". |
|
Okay, thanks. So my question I already asked a few times before is still relevant then: |
|
I suppose that you refer implicitly to Database normalization. |
|
I would urge to reconsider the choice made now that it is still possible. I foresee this to be more a pain in the ass when using this datamodel as a base for future extensions (Docker, Kubernetes, ... specifics) than what it currently solves (easier documenting deployments). |
Hipska
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This starts to look good 👍 Some comments..
| if ($sPreviousVersion == '') { // First installation | ||
| $oDataLoader = new XMLDataLoader(); | ||
| CMDBObject::SetTrackInfo("Initialization ContainerTypeInstaller"); | ||
| $oMyChange = CMDBObject::GetCurrentChange(); | ||
| $sFileName = dirname(__FILE__)."/data/en_us.data.itop-container-type.xml"; | ||
| SetupLog::Info("Uploading Typology values for Containers from file: $sFileName"); | ||
| $oDataLoader->StartSession($oMyChange); | ||
| $oDataLoader->LoadFile($sFileName, false, true); | ||
| $oDataLoader->EndSession(); | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isn't this where data.struct should be used for?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is a difference between what I have done and using data.struct. With data.struct, if you delete an entry it will come again on each iTop upgrade, with my solution it won't.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, thanks. Previously I had the impression that data.struct only gets processed on initial installation of the module..
| <field id="publisher" xsi:type="AttributeString"> | ||
| <sql>publisher</sql> | ||
| <default_value/> | ||
| <is_null_allowed>false</is_null_allowed> | ||
| </field> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should probably be an AttributeExternalKey?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have mirrored the Software object design, because a Container Image is a kind of Software, and in general you don't want to mix up your customer and organizations like PHP or Ngnix
| <ContainerImageType alias="ContainerImageType" id="1"> | ||
| <name>Docker Hardened Image</name> | ||
| </ContainerImageType> | ||
| <ContainerImageType alias="ContainerImageType" id="2"> | ||
| <name>Docker Official Image</name> | ||
| </ContainerImageType> | ||
| <ContainerImageType alias="ContainerImageType" id="3"> | ||
| <name>Verified Publisher</name> | ||
| </ContainerImageType> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will this work? I think this needs its own file, if not just for better overview.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, it does work.
Base information
Objective (enhancement)
Document containerization in iTop CMDB as an installation option
It's mainly XML datamodel, with very little coded behavior
Checklist before requesting a review
Checklist of things to do before PR is ready to merge