Beispiel #1
0
 def test_prepare_partition_data_bios_no_gap(self, __salt__, __grains__):
     partitions = {
         "devices": {
             "/dev/sda": {
                 "partitions": [{
                     "number": 1,
                     "size": "rest",
                     "type": "linux"
                 }],
             },
         },
     }
     __grains__.__getitem__.return_value = False
     __salt__.__getitem__.return_value = filters.is_raid
     self.assertEqual(
         partmod.prepare_partition_data(partitions),
         {
             "/dev/sda": {
                 "label":
                 "msdos",
                 "pmbr_boot":
                 False,
                 "partitions": [
                     {
                         "part_id": "/dev/sda1",
                         "part_type": "primary",
                         "fs_type": "ext2",
                         "flags": None,
                         "start": "0%",
                         "end": "100%",
                     },
                 ],
             },
         },
     )
Beispiel #2
0
 def test_prepare_partition_data_fails_fs_type(self, __grains__):
     partitions = {
         "devices": {
             "/dev/sda": {
                 "partitions": [{
                     "number": 1,
                     "size": "rest",
                     "type": "error"
                 }],
             },
         },
     }
     __grains__.__getitem__.return_value = False
     with self.assertRaises(SaltInvocationError) as cm:
         partmod.prepare_partition_data(partitions)
     self.assertTrue("type error not recognized" in str(cm.exception))
Beispiel #3
0
 def test_prepare_partition_data_bios_muti_label(self, __salt__,
                                                 __grains__):
     partitions = {
         'config': {
             'label': 'msdos',
         },
         'devices': {
             '/dev/sda': {
                 'partitions': [
                     {
                         'number': 1,
                         'size': 'rest',
                         'type': 'linux',
                     },
                 ],
             },
             '/dev/sdb': {
                 'label': 'gpt',
                 'partitions': [
                     {
                         'number': 1,
                         'size': 'rest',
                         'type': 'linux',
                     },
                 ],
             },
         },
     }
     __grains__.__getitem__.return_value = False
     __salt__.__getitem__.return_value = filters.is_raid
     self.assertEqual(partmod.prepare_partition_data(partitions), {
         '/dev/sda': {
             'label': 'msdos',
             'pmbr_boot': False,
             'partitions': [
                 {
                     'part_id': '/dev/sda1',
                     'part_type': 'primary',
                     'fs_type': 'ext2',
                     'flags': None,
                     'start': '0%',
                     'end': '100%',
                 },
             ],
         },
         '/dev/sdb': {
             'label': 'gpt',
             'pmbr_boot': True,
             'partitions': [
                 {
                     'part_id': '/dev/sdb1',
                     'part_type': 'primary',
                     'fs_type': 'ext2',
                     'flags': None,
                     'start': '0%',
                     'end': '100%',
                 },
             ],
         },
     })
Beispiel #4
0
 def test_prepare_partition_data_efi_partitions(self, __salt__, __grains__):
     partitions = {
         'devices': {
             '/dev/sda': {
                 'label': 'gpt',
                 'partitions': [
                     {
                         'number': 1,
                         'size': '500MB',
                         'type': 'efi',
                     },
                     {
                         'number': 2,
                         'size': '10000MB',
                         'type': 'linux',
                     },
                     {
                         'number': 3,
                         'size': '5000MB',
                         'type': 'swap',
                     },
                 ],
             },
         },
     }
     __grains__.__getitem__.return_value = True
     __salt__.__getitem__.return_value = filters.is_raid
     self.assertEqual(partmod.prepare_partition_data(partitions), {
         '/dev/sda': {
             'label': 'gpt',
             'pmbr_boot': False,
             'partitions': [
                 {
                     'part_id': '/dev/sda1',
                     'part_type': 'primary',
                     'fs_type': 'fat16',
                     'flags': ['esp'],
                     'start': '0MB',
                     'end': '500.0MB',
                 },
                 {
                     'part_id': '/dev/sda2',
                     'part_type': 'primary',
                     'fs_type': 'ext2',
                     'flags': None,
                     'start': '500.0MB',
                     'end': '10500.0MB',
                 },
                 {
                     'part_id': '/dev/sda3',
                     'part_type': 'primary',
                     'fs_type': 'linux-swap',
                     'flags': None,
                     'start': '10500.0MB',
                     'end': '15500.0MB',
                 },
             ],
         },
     })
Beispiel #5
0
 def test_prepare_partition_data_fails_units_invalid(
         self, __salt__, __grains__):
     partitions = {
         "devices": {
             "/dev/sda": {
                 "partitions": [{
                     "number": 1,
                     "size": "1Kilo",
                     "type": "swap"
                 }],
             },
         },
     }
     __grains__.__getitem__.return_value = False
     __salt__.__getitem__.return_value = filters.is_raid
     with self.assertRaises(ParseException) as cm:
         partmod.prepare_partition_data(partitions)
     self.assertTrue("Kilo not recognized" in str(cm.exception))
Beispiel #6
0
 def test_prepare_partition_data_fails_fs_type(self, __grains__):
     partitions = {
         'devices': {
             '/dev/sda': {
                 'partitions': [
                     {
                         'number': 1,
                         'size': 'rest',
                         'type': 'error',
                     },
                 ],
             },
         },
     }
     __grains__.__getitem__.return_value = False
     with self.assertRaises(SaltInvocationError) as cm:
         partmod.prepare_partition_data(partitions)
     self.assertTrue('type error not recognized' in str(cm.exception))
Beispiel #7
0
 def test_prepare_partition_data_fails_units_invalid(self, __salt__,
                                                     __grains__):
     partitions = {
         'devices': {
             '/dev/sda': {
                 'partitions': [
                     {
                         'number': 1,
                         'size': '1Kilo',
                         'type': 'swap',
                     },
                 ],
             },
         },
     }
     __grains__.__getitem__.return_value = False
     __salt__.__getitem__.return_value = filters.is_raid
     with self.assertRaises(ParseException) as cm:
         partmod.prepare_partition_data(partitions)
     self.assertTrue('Kilo not recognized' in str(cm.exception))
Beispiel #8
0
 def test_prepare_partition_data_bios_gpt_post_raid(self, __salt__,
                                                    __grains__):
     partitions = {
         "devices": {
             "/dev/md0": {
                 "label":
                 "gpt",
                 "partitions": [
                     {
                         "number": 1,
                         "size": "8MB",
                         "type": "boot"
                     },
                     {
                         "number": 2,
                         "size": "rest",
                         "type": "linux"
                     },
                 ],
             },
         },
     }
     __grains__.__getitem__.return_value = False
     __salt__.__getitem__.return_value = filters.is_raid
     self.assertEqual(
         partmod.prepare_partition_data(partitions),
         {
             "/dev/md0": {
                 "label":
                 "gpt",
                 "pmbr_boot":
                 True,
                 "partitions": [
                     {
                         "part_id": "/dev/md0p1",
                         "part_type": "primary",
                         "fs_type": "ext2",
                         "flags": ["bios_grub"],
                         "start": "0MB",
                         "end": "8.0MB",
                     },
                     {
                         "part_id": "/dev/md0p2",
                         "part_type": "primary",
                         "fs_type": "ext2",
                         "flags": None,
                         "start": "8.0MB",
                         "end": "100%",
                     },
                 ],
             },
         },
     )
Beispiel #9
0
 def test_prepare_partition_data_fails_units_initial_gap(
         self, __salt__, __grains__):
     partitions = {
         "config": {
             "initial_gap": "1024kB"
         },
         "devices": {
             "/dev/sda": {
                 "partitions": [{
                     "number": 1,
                     "size": "1MB",
                     "type": "swap"
                 }],
             },
         },
     }
     __grains__.__getitem__.return_value = False
     __salt__.__getitem__.return_value = filters.is_raid
     with self.assertRaises(SaltInvocationError) as cm:
         partmod.prepare_partition_data(partitions)
     self.assertTrue("Units needs to be" in str(cm.exception))
Beispiel #10
0
 def test_prepare_partition_data_fails_units_initial_gap(self, __salt__,
                                                         __grains__):
     partitions = {
         'config': {
             'initial_gap': '1024kB',
         },
         'devices': {
             '/dev/sda': {
                 'partitions': [
                     {
                         'number': 1,
                         'size': '1MB',
                         'type': 'swap',
                     },
                 ],
             },
         },
     }
     __grains__.__getitem__.return_value = False
     __salt__.__getitem__.return_value = filters.is_raid
     with self.assertRaises(SaltInvocationError) as cm:
         partmod.prepare_partition_data(partitions)
     self.assertTrue('Units needs to be' in str(cm.exception))
Beispiel #11
0
 def test_prepare_partition_data_fails_rest(self, __salt__, __grains__):
     partitions = {
         "devices": {
             "/dev/sda": {
                 "partitions": [
                     {
                         "number": 1,
                         "size": "rest",
                         "type": "swap"
                     },
                     {
                         "number": 2,
                         "size": "rest",
                         "type": "linux"
                     },
                 ],
             },
         },
     }
     __grains__.__getitem__.return_value = False
     __salt__.__getitem__.return_value = filters.is_raid
     with self.assertRaises(SaltInvocationError) as cm:
         partmod.prepare_partition_data(partitions)
     self.assertTrue("rest free space" in str(cm.exception))
Beispiel #12
0
 def test_prepare_partition_data_fails_rest(self, __salt__, __grains__):
     partitions = {
         'devices': {
             '/dev/sda': {
                 'partitions': [
                     {
                         'number': 1,
                         'size': 'rest',
                         'type': 'swap',
                     },
                     {
                         'number': 2,
                         'size': 'rest',
                         'type': 'linux',
                     },
                 ],
             },
         },
     }
     __grains__.__getitem__.return_value = False
     __salt__.__getitem__.return_value = filters.is_raid
     with self.assertRaises(SaltInvocationError) as cm:
         partmod.prepare_partition_data(partitions)
     self.assertTrue('rest free space' in str(cm.exception))
Beispiel #13
0
 def test_prepare_partition_data_bios_gpt_post_raid(self, __salt__, __grains__):
     partitions = {
         'devices': {
             '/dev/md0': {
                 'label': 'gpt',
                 'partitions': [
                     {
                         'number': 1,
                         'size': '8MB',
                         'type': 'boot',
                     },
                     {
                         'number': 2,
                         'size': 'rest',
                         'type': 'linux',
                     },
                 ],
             },
         },
     }
     __grains__.__getitem__.return_value = False
     __salt__.__getitem__.return_value = filters.is_raid
     self.assertEqual(partmod.prepare_partition_data(partitions), {
         '/dev/md0': {
             'label': 'gpt',
             'pmbr_boot': True,
             'partitions': [
                 {
                     'part_id': '/dev/md0p1',
                     'part_type': 'primary',
                     'fs_type': 'ext2',
                     'flags': ['bios_grub'],
                     'start': '0MB',
                     'end': '8.0MB',
                 },
                 {
                     'part_id': '/dev/md0p2',
                     'part_type': 'primary',
                     'fs_type': 'ext2',
                     'flags': None,
                     'start': '8.0MB',
                     'end': '100%',
                 },
             ],
         },
     })
Beispiel #14
0
 def test_prepare_partition_data_efi_partitions(self, __salt__, __grains__):
     partitions = {
         "devices": {
             "/dev/sda": {
                 "label":
                 "gpt",
                 "partitions": [
                     {
                         "number": 1,
                         "size": "500MB",
                         "type": "efi"
                     },
                     {
                         "number": 2,
                         "size": "10000MB",
                         "type": "linux"
                     },
                     {
                         "number": 3,
                         "size": "5000MB",
                         "type": "swap"
                     },
                 ],
             },
         },
     }
     __grains__.__getitem__.return_value = True
     __salt__.__getitem__.return_value = filters.is_raid
     self.assertEqual(
         partmod.prepare_partition_data(partitions),
         {
             "/dev/sda": {
                 "label":
                 "gpt",
                 "pmbr_boot":
                 False,
                 "partitions": [
                     {
                         "part_id": "/dev/sda1",
                         "part_type": "primary",
                         "fs_type": "fat16",
                         "flags": ["esp"],
                         "start": "0MB",
                         "end": "500.0MB",
                     },
                     {
                         "part_id": "/dev/sda2",
                         "part_type": "primary",
                         "fs_type": "ext2",
                         "flags": None,
                         "start": "500.0MB",
                         "end": "10500.0MB",
                     },
                     {
                         "part_id": "/dev/sda3",
                         "part_type": "primary",
                         "fs_type": "linux-swap",
                         "flags": None,
                         "start": "10500.0MB",
                         "end": "15500.0MB",
                     },
                 ],
             },
         },
     )