4 Replies Latest reply on Feb 26, 2019 1:50 AM by Kinshuk Tripathi

    Prevent rollback off Provisioning when application installation fails

    Thomas Stiefel
      Share This:

      I want to build a new service blueprint for custom PaaS service. It should contain Server Blueprints (one Definition per OS) and a Application Blueprint for installation of Oracle RDBMS (aka ORACLE_HOME) and creation of a Oracle database.

      The Application Blueprint should consist of multiple Software Packages:

      1. Oracle RDBMS installer (BL Package)
      2. Oracle database installer (BL Package or nsh script)
      3. Installer for backup modules incl. configuration (BL Package or nsh script)

       

      As far as I know if any of the configured Software Packages fails CLM will rollback the whole Deployment.

      Question: Is there any possibility to configure this that rollback will only be triggered if step 1 (RDBMS) fails and skip rollback, if step 2 or 3 fails?

      handling of failing step 2 in step 3 is no problem and restarting steps 2 and 3 later through Bladelogic is possible.

       

      As a workaround to avoid this I could define steps 2 and 3 in an AO workflow and call this as post action of Software Package 1, but that´s not really cool.

      Is there another, better solution or are there any best practices for that?

       

      Thanks in advance,

      Tom

        • 1. Re: Prevent rollback off Provisioning when application installation fails
          Akshay D

          Hello Tom,

           

          I was having the similar requirement.

           

          We were deploying APP, Web and DB server along with Application & DB packages in Day 1 and if any application or DB fails while installation from BSA then whole service gets roll back as per decommissioning flow.

          It was consuming hours to rebuild everything for the same service because of installation failures.

           

          In our environment, vCenter role was not having VM deletion privileges. So for any SOI failure, rollback was breaking at initial stage of VM deletion on vCenter.

          Hence, all BSA relationships were available with Servers and there respective jobs, which can be used for re-deploying from the failure instant. In BNA, allocated IPs will get free after failure and we were making it exclude for next deployment.

           

          But in proividers.json we can disable SOI rollback for failures, you can find multiple attributes with "SOI Rollback" in it.

          And BMC Support informed that its not recommended, because it will consume resources in back-end.

           

          Not sure for PaaS services and its rollback disabling options.

          Hope, this information give some idea.

           

          Regards,

          Akshay

          • 2. Re: Prevent rollback off Provisioning when application installation fails
            Thomas Stiefel

            Hello Akshay,

             

            thanks for your response.

            It´s no option for us to disable rollback of VMs in any cases, because we have a lot of custom stuff around CLM which have to be maintained, too.

            And in addition it was a management decision to rollback every VM o failures. That was not a problem til yet, because we only did IaaS and only used application was just for OS configuration.

             

            Which proividers.json do you mean?

             

            Best regards,

            Tom

            • 3. Re: Prevent rollback off Provisioning when application installation fails
              Akshay D

              I mean in provider.json

               

              Regards,

              Akshay

              • 4. Re: Prevent rollback off Provisioning when application installation fails
                Kinshuk Tripathi

                Hello Thomas,

                 

                Rollback can't be stopped per SOI level, it will be applicable for whole deployment ( All CLM Providers ). In case if you wish to stop a rollback then refer the access attribute 'enableSOIRollback' under providers.json file and set its value as 'false',  this should help to stop a rollback in the event of an SOI failure.

                 

                Note : When you stop a rollback the associated artefacts remains on the target platfrom,resulting an incur in the cost. Its advised to cleanup the resources manually from the target in such conditions, therefore use the flag cautiously.

                 

                Regards

                Kinshuk

                1 of 1 people found this helpful