3 Replies Latest reply on Jan 9, 2015 10:22 AM by Yanick Girouard

    Custom Patch Catalog Advice

    richard mcleod

      So I have an Offline Mode patch catalog setup, the Payload source and Repo source are located on our satellite server.

       

      If I wanted to create custom patch catalogs could I just edit the RHEL6x86_64.xml file to only include the RPM's I was interested in and ensure the RPM's were located in the payload/repo location?

       

      The idea being that for server type A, I want to analyze/deploy based on catalog 1, for server type B, I want to analyze/deploy based on catalog 2, and so on

       

      Would something like this work? Any suggestions aside from loading all the RPMs into the BL Depot and creating BLPackages only for RPM's I need?

        • 1. Re: Custom Patch Catalog Advice
          Lavanya Bobba

          Richard

           

          We tried that creating offline catalog and update RHEL6x86_64.xml with only RPM's we need and it did worked for download. But we have problems while analysis them as they failed due to dependencies


          So i suggest to create a online patch catalog and create catalog smart group within it with require RPM's and use it for different analysis jobs


          i know this is not the answer you are looking for, but this is quick and better than BLpackage stuff

          • 2. Re: Custom Patch Catalog Advice
            richard mcleod

            FYI this was solved by Yanick Girouard solution referenced here: https://communities.bmc.com/ideas/8825

             

            Yanick Girouard post something here so I can mark your answer correct. (for the points )

            • 3. Re: Re: Custom Patch Catalog Advice
              Yanick Girouard

              As pointed above, this was answered in another post: https://communities.bmc.com/ideas/8825#comment-50207

               

              Example for a Windows patch catalog smartgroup (change IDs where apprppriate for other types of catalogs and smartgroups):

               

              #AIX_CATALOG_GROUP = 7037
              #OTHER_LINUX_CATALOG_GROUP = 7035
              #RED_HAT_CATALOG_GROUP = 5020
              #SMART_AIX_PATCH_CATALOG_GROUP = 5046
              #SMART_OTHER_LINUX_PATCH_CATALOG_GROUP = 5024
              #SMART_REDHAT_PATCH_CATALOG_GROUP = 5018
              #SMART_SOLARIS_PATCH_CATALOG_GROUP = 5019
              #SMART_WINDOWS_PATCH_CATALOG_GROUP = 5017
              #SOLARIS_CATALOG_GROUP = 5021
              #WINDOWS_CATALOG_GROUP = 5022
              
              CATALOG=/path/to/patch/catalog/name
              GROUP_NAME=name_of_smartgroup
              
              blcli_execute Group getGroupByQualifiedName 5022 "$CATALOG" > /dev/null
              if [ $? -ne 0 ]; then
                  echo "[FAILED]\n"
                  exit 1
              fi
              blcli_execute Utility storeTargetObject pgObject > /dev/null
              if [ $? -ne 0 ]; then
                  echo "[FAILED]\n"
                  exit 1
              fi
              blcli_execute Condition createPropertyCondition <YOUR CONDITION HERE - SEE BLCLI DOC FOR SYNTAX> > /dev/null
              if [ $? -ne 0 ]; then
                  echo "[FAILED]\n"
                  exit 1
              fi
              blcli_execute Utility storeTargetObject conditionObject > /dev/null
              if [ $? -ne 0 ]; then
                  echo "[FAILED]\n"
                  exit 1
              fi
              blcli_execute SmartGroup createSmartGroupWithTypeId 5017 "$GROUP_NAME" "" NAMED_OBJECT=pgObject NAMED_OBJECT=conditionObject > /dev/null
              if [ $? -ne 0 ]; then
                  echo "[FAILED]\n"
                  exit 1
              fi
              blcli_execute Utility storeTargetObject groupObject > /dev/null
              if [ $? -ne 0 ]; then
                  echo "[FAILED]\n"
                  exit 1
              fi
              blcli_execute SmartGroup save NAMED_OBJECT=groupObject > /dev/null
              if [ $? -ne 0 ]; then
                  echo "[FAILED]\n"
                  exit 1
              else
                  echo "[SUCCESS]\n"
              fi