rpathsync / rpath-product-definition

rPath Common Library for Product Definition

commit 241: d3115a40b36a
parent 240: 6ebdd031a93c
branch: default
Fixed product definition problems related to scsi/ide diskAdapter/vhdDiskType and missing buildOVF10 (RBL-5451)
Mihai Ibanescu
4 months ago

Changed (Δ3.1 KB):

raw changeset »

rpath_proddef/api1.py (34 lines added, 0 lines removed)

rpath_proddef/xml_2_0/subs.py (2 lines added, 2 lines removed)

rpath_proddef/xml_2_0/supers.py (17 lines added, 1 lines removed)

rpath_proddef/xml_3_0/subs.py (2 lines added, 2 lines removed)

rpath_proddef/xml_3_0/supers.py (17 lines added, 1 lines removed)

xsd/rpd-2.0.xsd (1 lines added, 0 lines removed)

xsd/rpd-3.0.xsd (1 lines added, 0 lines removed)

Up to file-list rpath_proddef/api1.py:

@@ -1878,10 +1878,44 @@ class ProductDefinitionRecipe(PackageRec
1878
1878
            build.buildFlavor = self._getFlavorByRefs(build.flavorSetRef,
1879
1879
                build.architectureRef, None, None)
1880
1880
            build.containerTemplateFields = self._getBuildContainerTemplateFields(build.containerTemplateRef)
1881
            # Fix up vhdDiskType
1882
            self._fixupBuildImage(build.image)
1881
1883
1882
1884
        # Adding the platform was part of the migration from 1.3 to 2.0
1883
1885
        if self.platform:
1884
1886
            self._addPlatformDefaults()
1887
        # Empty list objects are nullified
1888
        listObjects = [
1889
            ('autoLoadRecipes', 'get_autoLoadRecipe'),
1890
            ('buildDefinition', 'get_build'),
1891
            ('searchPaths', 'get_searchPath'),
1892
            ('factorySources', 'get_factorySource'),
1893
            ('secondaryLabels', 'get_secondaryLabel'),
1894
            ('containerTemplates', 'get_image'),
1895
        ]
1896
        for listObj, listObjMethodName in listObjects:
1897
            obj = getattr(self._rootObj, listObj)
1898
            if obj is None:
1899
                continue
1900
            if getattr(obj, listObjMethodName)():
1901
                continue
1902
            setattr(self._rootObj, listObj, None)
1903
1904
    @classmethod
1905
    def _fixupBuildImage(cls, image):
1906
        if image is None:
1907
            return
1908
        if image.diskAdapter == 'scsi':
1909
            image.diskAdapter = 'lsilogic'
1910
1911
        vhdDiskType = image.vhdDiskType
1912
        if vhdDiskType not in ['ide', 'scsi']:
1913
            return
1914
        if vhdDiskType == 'ide':
1915
            image.diskAdapter = vhdDiskType
1916
        else:
1917
            image.diskAdapter = 'lsilogic'
1918
        image.vhdDiskType = None
1885
1919
1886
1920
    def _addPlatformDefaults(self):
1887
1921
        fields = ['containerTemplates', 'architectures',

Up to file-list rpath_proddef/xml_2_0/subs.py:

@@ -77,8 +77,8 @@ supermod.buildDefinitionType.subclass =
77
77
78
78
79
79
class imageTypeSub(supermod.imageType):
80
    def __init__(self, autoResolve=None, maxIsoSize=None, bugsUrl=None, natNetworking=None, vhdDiskType=None, anacondaCustomTrove=None, mediaTemplateTrove=None, baseFileName=None, amiHugeDiskMountPoint=None, vmSnapshots=None, vhdDisktype=None, swapSize=None, betaNag=None, anacondaTemplatesTrove=None, vmMemory=None, installLabelPath=None, unionfs=None, containerFormat=None, freespace=None, name=None, zisofs=None, diskAdapter=None, amiHugeDiskMountpoint=None, showMediaCheck=None, valueOf_=''):
81
        supermod.imageType.__init__(self, autoResolve, maxIsoSize, bugsUrl, natNetworking, vhdDiskType, anacondaCustomTrove, mediaTemplateTrove, baseFileName, amiHugeDiskMountPoint, vmSnapshots, vhdDisktype, swapSize, betaNag, anacondaTemplatesTrove, vmMemory, installLabelPath, unionfs, containerFormat, freespace, name, zisofs, diskAdapter, amiHugeDiskMountpoint, showMediaCheck, valueOf_)
80
    def __init__(self, autoResolve=None, maxIsoSize=None, bugsUrl=None, natNetworking=None, vhdDiskType=None, anacondaCustomTrove=None, mediaTemplateTrove=None, baseFileName=None, amiHugeDiskMountPoint=None, vmSnapshots=None, vhdDisktype=None, swapSize=None, betaNag=None, buildOVF10=None, anacondaTemplatesTrove=None, vmMemory=None, installLabelPath=None, unionfs=None, containerFormat=None, freespace=None, name=None, zisofs=None, diskAdapter=None, amiHugeDiskMountpoint=None, showMediaCheck=None, valueOf_=''):
81
        supermod.imageType.__init__(self, autoResolve, maxIsoSize, bugsUrl, natNetworking, vhdDiskType, anacondaCustomTrove, mediaTemplateTrove, baseFileName, amiHugeDiskMountPoint, vmSnapshots, vhdDisktype, swapSize, betaNag, buildOVF10, anacondaTemplatesTrove, vmMemory, installLabelPath, unionfs, containerFormat, freespace, name, zisofs, diskAdapter, amiHugeDiskMountpoint, showMediaCheck, valueOf_)
82
82
supermod.imageType.subclass = imageTypeSub
83
83
# end class imageTypeSub
84
84

Up to file-list rpath_proddef/xml_2_0/supers.py:

@@ -949,6 +949,7 @@ class imageType(GeneratedsSuper):
949
949
        MemberSpec_('vhdDisktype', 'xsd:string', 0),
950
950
        MemberSpec_('swapSize', 'xsd:nonNegativeInteger', 0),
951
951
        MemberSpec_('betaNag', 'xsd:boolean', 0),
952
        MemberSpec_('buildOVF10', 'xsd:boolean', 0),
952
953
        MemberSpec_('anacondaTemplatesTrove', 'rpd:troveSpecType', 0),
953
954
        MemberSpec_('vmMemory', 'xsd:nonNegativeInteger', 0),
954
955
        MemberSpec_('installLabelPath', 'xsd:string', 0),
@@ -964,7 +965,7 @@ class imageType(GeneratedsSuper):
964
965
        ]
965
966
    subclass = None
966
967
    superclass = None
967
    def __init__(self, autoResolve=None, maxIsoSize=None, bugsUrl=None, natNetworking=None, vhdDiskType=None, anacondaCustomTrove=None, mediaTemplateTrove=None, baseFileName=None, amiHugeDiskMountPoint=None, vmSnapshots=None, vhdDisktype=None, swapSize=None, betaNag=None, anacondaTemplatesTrove=None, vmMemory=None, installLabelPath=None, unionfs=None, containerFormat=None, freespace=None, name=None, zisofs=None, diskAdapter=None, amiHugeDiskMountpoint=None, showMediaCheck=None, valueOf_=''):
968
    def __init__(self, autoResolve=None, maxIsoSize=None, bugsUrl=None, natNetworking=None, vhdDiskType=None, anacondaCustomTrove=None, mediaTemplateTrove=None, baseFileName=None, amiHugeDiskMountPoint=None, vmSnapshots=None, vhdDisktype=None, swapSize=None, betaNag=None, buildOVF10=None, anacondaTemplatesTrove=None, vmMemory=None, installLabelPath=None, unionfs=None, containerFormat=None, freespace=None, name=None, zisofs=None, diskAdapter=None, amiHugeDiskMountpoint=None, showMediaCheck=None, valueOf_=''):
968
969
        self.autoResolve = _cast(bool, autoResolve)
969
970
        self.maxIsoSize = _cast(int, maxIsoSize)
970
971
        self.bugsUrl = _cast(None, bugsUrl)
@@ -978,6 +979,7 @@ class imageType(GeneratedsSuper):
978
979
        self.vhdDisktype = _cast(None, vhdDisktype)
979
980
        self.swapSize = _cast(int, swapSize)
980
981
        self.betaNag = _cast(bool, betaNag)
982
        self.buildOVF10 = _cast(bool, buildOVF10)
981
983
        self.anacondaTemplatesTrove = _cast(None, anacondaTemplatesTrove)
982
984
        self.vmMemory = _cast(int, vmMemory)
983
985
        self.installLabelPath = _cast(None, installLabelPath)
@@ -1022,6 +1024,8 @@ class imageType(GeneratedsSuper):
1022
1024
    def set_swapSize(self, swapSize): self.swapSize = swapSize
1023
1025
    def get_betaNag(self): return self.betaNag
1024
1026
    def set_betaNag(self, betaNag): self.betaNag = betaNag
1027
    def get_buildOVF10(self): return self.buildOVF10
1028
    def set_buildOVF10(self, buildOVF10): self.buildOVF10 = buildOVF10
1025
1029
    def get_anacondaTemplatesTrove(self): return self.anacondaTemplatesTrove
1026
1030
    def set_anacondaTemplatesTrove(self, anacondaTemplatesTrove): self.anacondaTemplatesTrove = anacondaTemplatesTrove
1027
1031
    def get_vmMemory(self): return self.vmMemory
@@ -1083,6 +1087,8 @@ class imageType(GeneratedsSuper):
1083
1087
            outfile.write(' swapSize="%s"' % self.format_integer(self.swapSize, input_name='swapSize'))
1084
1088
        if self.betaNag is not None:
1085
1089
            outfile.write(' betaNag="%s"' % self.format_boolean(str_lower(str(self.betaNag)), input_name='betaNag'))
1090
        if self.buildOVF10 is not None:
1091
            outfile.write(' buildOVF10="%s"' % self.format_boolean(str_lower(str(self.buildOVF10)), input_name='buildOVF10'))
1086
1092
        if self.anacondaTemplatesTrove is not None:
1087
1093
            outfile.write(' anacondaTemplatesTrove=%s' % (quote_attrib(self.anacondaTemplatesTrove), ))
1088
1094
        if self.vmMemory is not None:
@@ -1165,6 +1171,9 @@ class imageType(GeneratedsSuper):
1165
1171
        if self.betaNag is not None:
1166
1172
            showIndent(outfile, level)
1167
1173
            outfile.write('betaNag = %s,\n' % (self.betaNag,))
1174
        if self.buildOVF10 is not None:
1175
            showIndent(outfile, level)
1176
            outfile.write('buildOVF10 = %s,\n' % (self.buildOVF10,))
1168
1177
        if self.anacondaTemplatesTrove is not None:
1169
1178
            showIndent(outfile, level)
1170
1179
            outfile.write('anacondaTemplatesTrove = "%s",\n' % (self.anacondaTemplatesTrove,))
@@ -1265,6 +1274,13 @@ class imageType(GeneratedsSuper):
1265
1274
                self.betaNag = False
1266
1275
            else:
1267
1276
                raise ValueError('Bad boolean attribute (betaNag)')
1277
        if attrs.get('buildOVF10'):
1278
            if attrs.get('buildOVF10').value in ('true', '1'):
1279
                self.buildOVF10 = True
1280
            elif attrs.get('buildOVF10').value in ('false', '0'):
1281
                self.buildOVF10 = False
1282
            else:
1283
                raise ValueError('Bad boolean attribute (buildOVF10)')
1268
1284
        if attrs.get('anacondaTemplatesTrove'):
1269
1285
            self.anacondaTemplatesTrove = attrs.get('anacondaTemplatesTrove').value
1270
1286
        if attrs.get('vmMemory'):

Up to file-list rpath_proddef/xml_3_0/subs.py:

@@ -77,8 +77,8 @@ supermod.buildDefinitionType.subclass =
77
77
78
78
79
79
class imageTypeSub(supermod.imageType):
80
    def __init__(self, autoResolve=None, maxIsoSize=None, bugsUrl=None, natNetworking=None, vhdDiskType=None, anacondaCustomTrove=None, mediaTemplateTrove=None, baseFileName=None, vmSnapshots=None, swapSize=None, betaNag=None, anacondaTemplatesTrove=None, vmMemory=None, installLabelPath=None, unionfs=None, containerFormat=None, freespace=None, name=None, zisofs=None, diskAdapter=None, amiHugeDiskMountpoint=None, showMediaCheck=None, valueOf_=''):
81
        supermod.imageType.__init__(self, autoResolve, maxIsoSize, bugsUrl, natNetworking, vhdDiskType, anacondaCustomTrove, mediaTemplateTrove, baseFileName, vmSnapshots, swapSize, betaNag, anacondaTemplatesTrove, vmMemory, installLabelPath, unionfs, containerFormat, freespace, name, zisofs, diskAdapter, amiHugeDiskMountpoint, showMediaCheck, valueOf_)
80
    def __init__(self, autoResolve=None, maxIsoSize=None, bugsUrl=None, natNetworking=None, vhdDiskType=None, anacondaCustomTrove=None, mediaTemplateTrove=None, baseFileName=None, vmSnapshots=None, swapSize=None, betaNag=None, buildOVF10=None, anacondaTemplatesTrove=None, vmMemory=None, installLabelPath=None, unionfs=None, containerFormat=None, freespace=None, name=None, zisofs=None, diskAdapter=None, amiHugeDiskMountpoint=None, showMediaCheck=None, valueOf_=''):
81
        supermod.imageType.__init__(self, autoResolve, maxIsoSize, bugsUrl, natNetworking, vhdDiskType, anacondaCustomTrove, mediaTemplateTrove, baseFileName, vmSnapshots, swapSize, betaNag, buildOVF10, anacondaTemplatesTrove, vmMemory, installLabelPath, unionfs, containerFormat, freespace, name, zisofs, diskAdapter, amiHugeDiskMountpoint, showMediaCheck, valueOf_)
82
82
supermod.imageType.subclass = imageTypeSub
83
83
# end class imageTypeSub
84
84

Up to file-list rpath_proddef/xml_3_0/supers.py:

@@ -947,6 +947,7 @@ class imageType(GeneratedsSuper):
947
947
        MemberSpec_('vmSnapshots', 'xsd:boolean', 0),
948
948
        MemberSpec_('swapSize', 'xsd:nonNegativeInteger', 0),
949
949
        MemberSpec_('betaNag', 'xsd:boolean', 0),
950
        MemberSpec_('buildOVF10', 'xsd:boolean', 0),
950
951
        MemberSpec_('anacondaTemplatesTrove', 'rpd:troveSpecType', 0),
951
952
        MemberSpec_('vmMemory', 'xsd:nonNegativeInteger', 0),
952
953
        MemberSpec_('installLabelPath', 'xsd:string', 0),
@@ -962,7 +963,7 @@ class imageType(GeneratedsSuper):
962
963
        ]
963
964
    subclass = None
964
965
    superclass = None
965
    def __init__(self, autoResolve=None, maxIsoSize=None, bugsUrl=None, natNetworking=None, vhdDiskType=None, anacondaCustomTrove=None, mediaTemplateTrove=None, baseFileName=None, vmSnapshots=None, swapSize=None, betaNag=None, anacondaTemplatesTrove=None, vmMemory=None, installLabelPath=None, unionfs=None, containerFormat=None, freespace=None, name=None, zisofs=None, diskAdapter=None, amiHugeDiskMountpoint=None, showMediaCheck=None, valueOf_=''):
966
    def __init__(self, autoResolve=None, maxIsoSize=None, bugsUrl=None, natNetworking=None, vhdDiskType=None, anacondaCustomTrove=None, mediaTemplateTrove=None, baseFileName=None, vmSnapshots=None, swapSize=None, betaNag=None, buildOVF10=None, anacondaTemplatesTrove=None, vmMemory=None, installLabelPath=None, unionfs=None, containerFormat=None, freespace=None, name=None, zisofs=None, diskAdapter=None, amiHugeDiskMountpoint=None, showMediaCheck=None, valueOf_=''):
966
967
        self.autoResolve = _cast(bool, autoResolve)
967
968
        self.maxIsoSize = _cast(int, maxIsoSize)
968
969
        self.bugsUrl = _cast(None, bugsUrl)
@@ -974,6 +975,7 @@ class imageType(GeneratedsSuper):
974
975
        self.vmSnapshots = _cast(bool, vmSnapshots)
975
976
        self.swapSize = _cast(int, swapSize)
976
977
        self.betaNag = _cast(bool, betaNag)
978
        self.buildOVF10 = _cast(bool, buildOVF10)
977
979
        self.anacondaTemplatesTrove = _cast(None, anacondaTemplatesTrove)
978
980
        self.vmMemory = _cast(int, vmMemory)
979
981
        self.installLabelPath = _cast(None, installLabelPath)
@@ -1014,6 +1016,8 @@ class imageType(GeneratedsSuper):
1014
1016
    def set_swapSize(self, swapSize): self.swapSize = swapSize
1015
1017
    def get_betaNag(self): return self.betaNag
1016
1018
    def set_betaNag(self, betaNag): self.betaNag = betaNag
1019
    def get_buildOVF10(self): return self.buildOVF10
1020
    def set_buildOVF10(self, buildOVF10): self.buildOVF10 = buildOVF10
1017
1021
    def get_anacondaTemplatesTrove(self): return self.anacondaTemplatesTrove
1018
1022
    def set_anacondaTemplatesTrove(self, anacondaTemplatesTrove): self.anacondaTemplatesTrove = anacondaTemplatesTrove
1019
1023
    def get_vmMemory(self): return self.vmMemory
@@ -1071,6 +1075,8 @@ class imageType(GeneratedsSuper):
1071
1075
            outfile.write(' swapSize="%s"' % self.format_integer(self.swapSize, input_name='swapSize'))
1072
1076
        if self.betaNag is not None:
1073
1077
            outfile.write(' betaNag="%s"' % self.format_boolean(str_lower(str(self.betaNag)), input_name='betaNag'))
1078
        if self.buildOVF10 is not None:
1079
            outfile.write(' buildOVF10="%s"' % self.format_boolean(str_lower(str(self.buildOVF10)), input_name='buildOVF10'))
1074
1080
        if self.anacondaTemplatesTrove is not None:
1075
1081
            outfile.write(' anacondaTemplatesTrove=%s' % (quote_attrib(self.anacondaTemplatesTrove), ))
1076
1082
        if self.vmMemory is not None:
@@ -1147,6 +1153,9 @@ class imageType(GeneratedsSuper):
1147
1153
        if self.betaNag is not None:
1148
1154
            showIndent(outfile, level)
1149
1155
            outfile.write('betaNag = %s,\n' % (self.betaNag,))
1156
        if self.buildOVF10 is not None:
1157
            showIndent(outfile, level)
1158
            outfile.write('buildOVF10 = %s,\n' % (self.buildOVF10,))
1150
1159
        if self.anacondaTemplatesTrove is not None:
1151
1160
            showIndent(outfile, level)
1152
1161
            outfile.write('anacondaTemplatesTrove = "%s",\n' % (self.anacondaTemplatesTrove,))
@@ -1243,6 +1252,13 @@ class imageType(GeneratedsSuper):
1243
1252
                self.betaNag = False
1244
1253
            else:
1245
1254
                raise ValueError('Bad boolean attribute (betaNag)')
1255
        if attrs.get('buildOVF10'):
1256
            if attrs.get('buildOVF10').value in ('true', '1'):
1257
                self.buildOVF10 = True
1258
            elif attrs.get('buildOVF10').value in ('false', '0'):
1259
                self.buildOVF10 = False
1260
            else:
1261
                raise ValueError('Bad boolean attribute (buildOVF10)')
1246
1262
        if attrs.get('anacondaTemplatesTrove'):
1247
1263
            self.anacondaTemplatesTrove = attrs.get('anacondaTemplatesTrove').value
1248
1264
        if attrs.get('vmMemory'):

Up to file-list xsd/rpd-2.0.xsd:

152
152
        <xsd:attribute name="baseFileName" type="xsd:string" />
153
153
        <xsd:attribute name="betaNag" type="xsd:boolean" />
154
154
        <xsd:attribute name="bugsUrl" type="xsd:string" />
155
        <xsd:attribute name="buildOVF10" type="xsd:boolean" />
155
156
        <xsd:attribute name="freespace" type="xsd:nonNegativeInteger" />
156
157
        <xsd:attribute name="installLabelPath" type="xsd:string" />
157
158
        <xsd:attribute name="maxIsoSize" type="xsd:positiveInteger" />

Up to file-list xsd/rpd-3.0.xsd:

119
119
        <xsd:attribute name="baseFileName" type="xsd:string" />
120
120
        <xsd:attribute name="betaNag" type="xsd:boolean" />
121
121
        <xsd:attribute name="bugsUrl" type="xsd:string" />
122
        <xsd:attribute name="buildOVF10" type="xsd:boolean" />
122
123
        <xsd:attribute name="freespace" type="xsd:nonNegativeInteger" />
123
124
        <xsd:attribute name="installLabelPath" type="xsd:string" />
124
125
        <xsd:attribute name="maxIsoSize" type="xsd:positiveInteger" />