Menu ā–¾ ā–“

iTop generic redundancy object - experimental

2019-05-22
2019-11-13
  • David V Tovrea

    David V Tovrea - 2019-05-22

    First post on the forum; I'm quite new to iTop programming specifically though I've been a coder for many years.

    We've been doing our first iTop install and one of my users asked about whether it was possible to account for something like an HA connection for network devices. I looked at the existing redundancy options in out-of-the-box iTop and none looked like they covered this; a search of the forums showed several people asking about this type of feature but no real answers.

    So I decided I'd try my hand at building a dependency object that would not just handle HA but pretty much any dependency between FunctionalCI classes. I have something that works but because this is new to me I wanted to put it out on this forum and get some feedback. There may be a better way to do this (it does involve adding an extra object so a little clumsy) or I may have unknowingly done something that will cause iTop problems. Nothing's showed up in testing. Yet.

    Documentation is attached to this post; if you are of a mind to see the code, it's at https://github.com/dtovrea/ct-alternative

    Feedback via the forum is appreciated. I may not see it for a while - I'm transitioning out of my current job - but I will read it.

    Thanks,
    DVT

     
  • Guillaume Lajarige

    Hi David,

    Wow, thank you for sharing your approch and documenting it so thoroughly! I always nice to see a new contributor of the ecosystem :)

    We will take a look into it for sure in the coming weeks!

    Guillaume

     
    • David V Tovrea

      David V Tovrea - 2019-05-28

      Thanks, do appreciate it. Itop is such a useful tool I’m really quite happy
      to help with it.

      And by the way: that data center graphical rack map of yours? I would not
      have been able to convince my company to move forward to a pilot project
      without it. Having that extension was critical to even getting started here
      so thank you for making it available!

      DVT

      On Tue, May 28, 2019 at 5:18 AM Guillaume Lajarige glajarige@users.sourceforge.net wrote:

      Hi David,

      Wow, thank you for sharing your approch and documenting it so thoroughly!
      I always nice to see a new contributor of the ecosystem :)

      We will take a look into it for sure in the coming weeks!

      Guillaume

      iTop generic redundancy object - experimental
      https://sourceforge.net/p/itop/discussion/922360/thread/39f5086fbe/?limit=50#21f9


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/itop/discussion/922360/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

      --
      D. V. Tovrea

       

      Last edit: David V Tovrea 2019-05-28
      • Molkobain

        Molkobain - 2019-05-28

        Glad to hear it helped you going forward with iTop! If you have any feedbacks, feel free to post them in the extension topic.

        Out of curiosity, are you doing this pilot to migrate from another software or are you starting from scratch?

        PS: When replying from your mail client, your signature is included which includes your email. You might want to edit your post :)

         
        • David V Tovrea

          David V Tovrea - 2019-05-28

          Thanks for the note on the sig - I was using the iPad instead of the desktop and issed that it appended the email.

          We're implementing iTop cold-start - no previous CMDB. We have a mix of inventory systems - RackTables, Solarwinds, some homegrown stuff - but we'd never pulled all of it together into a CMDB. I've been assigned to do DR/BCP and one of the first things that became obvious was that we needed a common inventory that was capable of tracking relations between objects since otherwise there's no way to generate a reliable dependency pyramid for an application or piece of hardware. And without that, you don't have a DR/BC plan, you have a guess.

          So I looked aorund a bit for a CMDB, found iTop and another open-source that seemed popular. Loaded the other one first, found that between the 5000 object limit - we're small but even so we're a multiple of that - and the rather horrible XML required to import objects, using that candidate was going to be a challenge.

          iTop, on the other hand - no object limit, much easier import but not quite as easy to program new objects. Took a look at the customization process and decided it looked reasonable enough, especially wih the workbench in the for-pay versions.

          So worked a bit with our various groups - and that's where your datacenter rack display came in, since our infrastructure group REALLY wanted rack maps - and got a test consolidation load done that showed iTop was going to be able to do pretty much what we needed in terms of dependency/impact analysis. At that point, I got serious about learning how to custonmize and started working on some of the edge cases. That in turn led to the generic dependency object since there were some cases that could not be modeled accurately without it. Asked my management if it was OK to share since I am after all a very low-time iTop programmer and that pretty well gets us to current time.

          I am working on a couple of other extensions;. Our records group and applications group really want a data flow map of data objects moving between the applications and data storage for both impact and data retention analysis. So I have an experimental Data/Dataflow object that's in test that identifies data blobs and where they originate and are used. Separate structure from the path down through technical resourcesso those are treated as objects in their own right. If that one works out and management is OK with distribution, I'll post it here as well.

          DVT

           
          • Molkobain

            Molkobain - 2019-05-29

            Interesting case indeed. Seems like you already have a good vision of what you want to do in your CMDB and how to do it, that's always nice to read.
            Don't hesite to post here if you have questions about development, limitations or workarounds. It's very rare that something can't be done through an extension.

            IMHO, iTop's CSV import is one the features that make it so easy to play with but I didn't know it could make the difference.

            Regarding your Data/Dataflow extension, we will be more than happy to take a look at it if it ever become open source! 😁

            Keep up the good work and have a nice day David,
            Guillaume

             
  • Federico Lazcano

    Nice contribution!

     
  • schirrms

    schirrms - 2019-07-31

    Hi David,

    I finnaly manage to find time to test your extension. Nice work indeed. Your solution give plenty of opportunities !

    Simple point, I think only people already knowing the XML concept of iTop will beneficiate of your work, because it's not so easy to add the two contextual menus for the relevant items.

    So, instread of modifying each and every Functional CI, I add, at the end of your datamodel file (Just before the '' line) these 14 lines for each relevant CI :

        <class id="NetworkDevice" _delta="must_exist">
          <presentation>
            <details>
              <items>
                <item id="alternative_list" _delta="define">
                  <rank>220</rank>
                </item>
                <item id="requiredalternatives_list" _delta="define">
                  <rank>230</rank>
                </item>
              </items>
            </details>
          </presentation>
        </class>
    

    The list of available CI is to search in the datamodel view, selecting FunctionalCI and then in the ''Child Classes' tab.

    Thanks for your work !

    Pascal

     
    šŸ‘
    1
    • David V Tovrea

      David V Tovrea - 2019-08-20

      Hi Pascal -

      Sorry for the long delay in answering - my laptop decided it was time to visit Valhalla and it's taken a few days to get rebuilt.

      Your answer above is absolutely correct. I will take a look and see if I can revise. Is there any guideline as to where the rank should be? I realize that it probably doesn't matter if two display items have the same rank, but to get the tabs displayed together it seems like I need to be able to ensure that I have two sequential but not duplicated ranks - if I've accidentally duplicated the rank, then as I understand iTop the duplicate could show up between the tabs I want adjacent.

      I was thinking of also looking at where in the hierarchy Alternative should reside. It's presently top-level like Location - what I'm wondering is whether it properly should reside in Functional CI. The reason for doing so is that making Alternative a subclass of FunctionalCI would allow for an Alternative of Alternatives. In its present form, Alternative requires FunctionalCIs as its "input". So to do a stack of successive Alternatives - which I haven't come up with a use case fo, though I think there might be one in power supplies - you have to have intervening FunctionalCIs. If I make Alternative a FunctionalCI, this disappears. (See attached image)

      What I'm not sure of is whether I can introduce a data loop this way - Alternative A depends on B depends on C and C depends on A. iTop seems to protect itself from this, but I'll be damned if I can figure out how it does it.

      Thanks,
      DVT

       
  • schirrms

    schirrms - 2019-08-21

    Hi David,

    Yes, I didn't think of the possible overlap for the rank number... But, maybe some iTop gourous can enligthen us on this point, you'll never know what extensions are on the 'customer side' (I think I have 16 extensions -most from my own work) so, even if you choose very wisely, you can run on an 'overlap'. I don't know the impact.
    For the alternative on alternative, is that only possible ? I don't know but that's an interresting point also :) I don't see a direct 'real' need for that cascading, but I like the idea :)

    Thanks,

    Pascal

     
  • Vincent @ Combodo

    Overlap of rank numbers isn't a true issue, it's just that you can't really predict the resulting fields order, but booth will be displayed.

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.