5 Replies Latest reply on Jan 25, 2013 8:54 PM by Bill Robinson

    How are Device(Object) properties transferred to a Server property (object)

      So from what I've seen of the property dictionary, the way Bladelogic works is a concept of everything in bladelogic is a "Property".  So for example, a Device 00:01:02:AA:BB:CC is actually an instance of a "Device" property with some fancy interfaces around it.  A server is a property instance that you use as target for Jobs.  The question I have is when provisioning a device (or set of Devices), how do you transfer Device settings to the Server settings. 

       

      For example, I'd like to set an SSH key that's specific to a server and reuse that set of SSH keys.  This allows us when rebuilding servers to reuse the same set of SSH keys.  I can see using this for other things like hostnames.  Taking it a step further, doing dynamic DNS by registering the device with a DNS server with the HOST name from the device as a final deploy process.

       

      Even further, it looks like a Provisiong job is really merging System packages, i.e. a Depot object (not sure off hand which Property class this actually is) Centos52, with a Device object, and then also merging a set of Server Instances all into one resulting "Server" object.  I'm trying ot figure out how this path works to be able to have a Device setting make it all the way back to a Server setting, so that Software deploys can make use of settings without having to have each software package have copies internally, or massive number of instances of Server custom property classes.

       

      Can someone shed some light on how this translation process happens?

       

      Thanks!
      Jason

        • 1. Re: How are Device(Object) properties transferred to a Server property (object)
          Steffen Kreis

          Hi Jason,

           

          which version of BL are you referring to, as the way it is done is actually a bit different for 8.0, 8.1 and 8.2 ?

           

          Cheers

          Steffen

          • 2. Re: How are Device(Object) properties transferred to a Server property (object)

            8.2.  I've got some ideas on how I COULD do this, just looking for the right way to do some of this.

             

            Jason

            • 3. Re: How are Device(Object) properties transferred to a Server property (object)
              Steffen Kreis

              Hi,

               

              in 8.2 the correct way from my point of view is to use the PROVSERVER property class.

               

              The Online Help covers that under "Provisioning server properties using the PROVSERVER class".

               

              To do this manually is a bit of a pain i guess, but when you create your Provisioning-Jobs via blcli this is very flexible and powerfull.

               

              Steffen

              • 4. Re: How are Device(Object) properties transferred to a Server property (object)

                So that's how you can set settings onto a server object yes.  Here's a few kickers with this:

                 

                1)  This requires every Device to have an PROVSERVER instance.  Not very useful from what I'm seeing, or am I completely missing something?  Instead we've been using PROVSERVER to set settings based upon sites, i.e. "Site X" and "Site Y" and "Site X Alpha Environment"

                2)  The Device object the Server object is built from has no correlation to each other.  So there's no easy way right now to tell this "Server" object was built from this "Device" object and to access Device specific properties or transfer those properties over - for example, MAC addresses aren't directly pulled over.  Which then means you're keeping these configurations in multiple locations - a very bad idea and hard to maintain.

                3)  This is mixing metaphors - now maybe this is the right way to do this and I'm just missing something, but I thought the general idea was you use the Instance to populate a Server, not that the Server you're creating WAS that PROVSERVER instance.

                 

                I can think of a lot of other reasons this is sounding like a bad idea, but these are just a few. 

                 

                So when you say create provisioning jobs via blcli - how are you thinking an ideal design would work?  I understand that you create a "Job" to provision a "server", which merges the "device" to create a "server" and sets default settings on that "server" based upon the "Server Settings".  Further, it uses whatever SystemPackage defined to set various settings (i.e. Kickstart settings).  How does using blcli make this better or what do you see as the ideal way this should work?

                • 5. Re: How are Device(Object) properties transferred to a Server property (object)
                  Bill Robinson

                  the way to pass properties to a new server object during provisioning is a PSI in the PROVSERVER class.  the DEVICE class properties don't automagically transfer - would be nice but that's just not how it works now.

                   

                  see your other thread about the ssh key issue.