usr/src/cmd/auto-install/test/test_target_selection_sparc.py
changeset 1681 c1f54cfadbac
parent 1623 cb56a2fb4925
child 1695 7e11a6b0de11
equal deleted inserted replaced
1680:902e7dbd8043 1681:c1f54cfadbac
  1503         </target>
  1503         </target>
  1504         '''
  1504         '''
  1505 
  1505 
  1506         self.__run_simple_test(test_manifest_xml, expected_xml)
  1506         self.__run_simple_test(test_manifest_xml, expected_xml)
  1507 
  1507 
       
  1508     def test_target_selection_props_1(self):
       
  1509         ''' Test success if user specifies a disk property'''
       
  1510         test_manifest_xml = '''
       
  1511         <auto_install>
       
  1512           <ai_instance auto_reboot="false">
       
  1513             <target>
       
  1514               <disk whole_disk="True">
       
  1515                 <disk_prop dev_type="FIXED"/>
       
  1516               </disk>
       
  1517               <logical noswap="true" nodump="true"/>
       
  1518             </target>
       
  1519           </ai_instance>
       
  1520         </auto_install>
       
  1521         '''
       
  1522 
       
  1523         expected_xml = '''\
       
  1524         <target name="desired">
       
  1525         ..<disk whole_disk="false">
       
  1526         ....<disk_name name="c99t2d0" name_type="ctd"/>
       
  1527         ....<disk_prop dev_type="FIXED" dev_vendor="Lenovo" \
       
  1528         dev_size="\d+secs"/>
       
  1529         ....<slice name="0" action="create" force="true" is_swap="false" \
       
  1530         in_zpool="rpool" in_vdev="vdev">
       
  1531         ......<size val="\d+secs" start_sector="\d+"/>
       
  1532         ....</slice>
       
  1533         ..</disk>
       
  1534         ..<logical noswap="true" nodump="true">
       
  1535         ....<zpool name="rpool" action="create" is_root="true">
       
  1536         ......<vdev name="vdev" redundancy="none"/>
       
  1537         ......<be name="ai_test_solaris"/>
       
  1538         ....</zpool>
       
  1539         ..</logical>
       
  1540         </target>
       
  1541         '''
       
  1542 
       
  1543         self.__run_simple_test(test_manifest_xml, expected_xml)
       
  1544 
       
  1545     def test_target_selection_props_2_1(self):
       
  1546         ''' Test success if user specifies a disk property and a disk name'''
       
  1547         test_manifest_xml = '''
       
  1548         <auto_install>
       
  1549           <ai_instance auto_reboot="false">
       
  1550             <target>
       
  1551               <disk whole_disk="True">
       
  1552                 <disk_name name="c99t1d0" name_type="ctd"/>
       
  1553               </disk>
       
  1554               <disk whole_disk="True">
       
  1555                 <disk_prop dev_vendor="Lenovo"/>
       
  1556               </disk>
       
  1557               <logical noswap="true" nodump="true"/>
       
  1558             </target>
       
  1559           </ai_instance>
       
  1560         </auto_install>
       
  1561         '''
       
  1562 
       
  1563         expected_xml = '''\
       
  1564         <target name="desired">
       
  1565         ..<disk whole_disk="false">
       
  1566         ....<disk_name name="c99t1d0" name_type="ctd"/>
       
  1567         ....<disk_prop dev_type="scsi" dev_vendor="HITACHI" \
       
  1568         dev_size="\d+secs"/>
       
  1569         ....<slice name="0" action="create" force="true" is_swap="false" \
       
  1570         in_zpool="rpool" in_vdev="vdev">
       
  1571         ......<size val="\d+secs" start_sector="\d+"/>
       
  1572         ....</slice>
       
  1573         ..</disk>
       
  1574         ..<disk whole_disk="false">
       
  1575         ....<disk_name name="c99t2d0" name_type="ctd"/>
       
  1576         ....<disk_prop dev_type="FIXED" dev_vendor="Lenovo" \
       
  1577         dev_size="\d+secs"/>
       
  1578         ....<slice name="0" action="create" force="true" is_swap="false" \
       
  1579         in_zpool="rpool" in_vdev="vdev">
       
  1580         ......<size val="\d+secs" start_sector="\d+"/>
       
  1581         ....</slice>
       
  1582         ..</disk>
       
  1583         ..<logical noswap="true" nodump="true">
       
  1584         ....<zpool name="rpool" action="create" is_root="true">
       
  1585         ......<vdev name="vdev" redundancy="mirror"/>
       
  1586         ......<be name="ai_test_solaris"/>
       
  1587         ....</zpool>
       
  1588         ..</logical>
       
  1589         </target>
       
  1590         '''
       
  1591 
       
  1592         self.__run_simple_test(test_manifest_xml, expected_xml)
       
  1593 
       
  1594     def test_target_selection_props_2_1_err(self):
       
  1595         ''' Test Fail if a disk property and disk name point to same disk'''
       
  1596         test_manifest_xml = '''
       
  1597         <auto_install>
       
  1598           <ai_instance auto_reboot="false">
       
  1599             <target>
       
  1600               <disk whole_disk="True">
       
  1601                 <disk_name name="c99t2d0" name_type="ctd"/>
       
  1602               </disk>
       
  1603               <disk whole_disk="True">
       
  1604                 <disk_prop dev_type="FIXED"/>
       
  1605               </disk>
       
  1606               <logical noswap="true" nodump="true"/>
       
  1607             </target>
       
  1608           </ai_instance>
       
  1609         </auto_install>
       
  1610         '''
       
  1611 
       
  1612         expected_xml = '''\
       
  1613         '''
       
  1614 
       
  1615         self.__run_simple_test(test_manifest_xml, expected_xml, 
       
  1616             fail_ex_str="Unable to locate the disk '[dev_type='FIXED']'" + 
       
  1617                         " on the system.")
       
  1618 
       
  1619     def test_target_selection_props_2_2(self):
       
  1620         ''' Test success if user specifies 2 disk properties'''
       
  1621         test_manifest_xml = '''
       
  1622         <auto_install>
       
  1623           <ai_instance auto_reboot="false">
       
  1624             <target>
       
  1625               <disk whole_disk="True">
       
  1626                 <disk_prop dev_size="143349312secs"/>
       
  1627               </disk>
       
  1628               <disk whole_disk="True">
       
  1629                 <disk_prop dev_vendor="Lenovo"/>
       
  1630               </disk>
       
  1631               <logical noswap="true" nodump="true"/>
       
  1632             </target>
       
  1633           </ai_instance>
       
  1634         </auto_install>
       
  1635         '''
       
  1636 
       
  1637         expected_xml = '''\
       
  1638         <target name="desired">
       
  1639         ..<disk whole_disk="false">
       
  1640         ....<disk_name name="c99t2d0" name_type="ctd"/>
       
  1641         ....<disk_prop dev_type="FIXED" dev_vendor="Lenovo" \
       
  1642         dev_size="\d+secs"/>
       
  1643         ....<slice name="0" action="create" force="true" is_swap="false" \
       
  1644         in_zpool="rpool" in_vdev="vdev">
       
  1645         ......<size val="\d+secs" start_sector="\d+"/>
       
  1646         ....</slice>
       
  1647         ..</disk>
       
  1648         ..<disk whole_disk="false">
       
  1649         ....<disk_name name="c99t0d0" name_type="ctd"/>
       
  1650         ....<disk_prop dev_type="scsi" dev_vendor="HITACHI" \
       
  1651         dev_size="143349312secs"/>
       
  1652         ....<disk_keyword key="boot_disk"/>
       
  1653         ....<slice name="0" action="create" force="true" is_swap="false" \
       
  1654         in_zpool="rpool" in_vdev="vdev">
       
  1655         ......<size val="143348736secs" start_sector="512"/>
       
  1656         ....</slice>
       
  1657         ..</disk>
       
  1658         ..<logical noswap="true" nodump="true">
       
  1659         ....<zpool name="rpool" action="create" is_root="true">
       
  1660         ......<vdev name="vdev" redundancy="mirror"/>
       
  1661         ......<be name="ai_test_solaris"/>
       
  1662         ....</zpool>
       
  1663         ..</logical>
       
  1664         </target>
       
  1665         '''
       
  1666 
       
  1667         self.__run_simple_test(test_manifest_xml, expected_xml)
       
  1668 
       
  1669     def test_target_selection_props_2_with_pools(self):
       
  1670         ''' Test success if user specifies 2 disk props and pools specified'''
       
  1671         test_manifest_xml = '''
       
  1672         <auto_install>
       
  1673           <ai_instance auto_reboot="false">
       
  1674             <target>
       
  1675               <disk in_zpool="rpool" whole_disk="True">
       
  1676                 <disk_prop dev_size="143349312secs"/>
       
  1677               </disk>
       
  1678               <disk in_zpool="data" whole_disk="True">
       
  1679                 <disk_prop dev_vendor="Lenovo"/>
       
  1680               </disk>
       
  1681               <logical noswap="true" nodump="true">
       
  1682                 <zpool name="rpool" is_root="true">
       
  1683                     <filesystem name="export" mountpoint="/export"/>
       
  1684                     <filesystem name="export/home"/>
       
  1685                     <be name="solaris"/>
       
  1686                 </zpool>
       
  1687                 <zpool name="data"/>
       
  1688               </logical>
       
  1689             </target>
       
  1690           </ai_instance>
       
  1691         </auto_install>
       
  1692         '''
       
  1693 
       
  1694         expected_xml = '''\
       
  1695         <target name="desired">
       
  1696         ..<logical noswap="true" nodump="true">
       
  1697         ....<zpool name="rpool" action="create" is_root="true">
       
  1698         ......<filesystem name="export" action="create" \
       
  1699         mountpoint="/export" in_be="false"/>
       
  1700         ......<filesystem name="export/home" action="create" \
       
  1701         mountpoint="/export/home/" in_be="false"/>
       
  1702         ......<be name="solaris"/>
       
  1703         ......<vdev name="vdev" redundancy="none"/>
       
  1704         ....</zpool>
       
  1705         ....<zpool name="data" action="create" is_root="false">
       
  1706         ......<vdev name="vdev" redundancy="none"/>
       
  1707         ....</zpool>
       
  1708         ..</logical>
       
  1709         ..<disk in_zpool="data" in_vdev="vdev" whole_disk="true">
       
  1710         ....<disk_name name="c99t2d0" name_type="ctd"/>
       
  1711         ....<disk_prop dev_type="FIXED" dev_vendor="Lenovo" \
       
  1712         dev_size="\d+secs"/>
       
  1713         ..</disk>
       
  1714         ..<disk whole_disk="false">
       
  1715         ....<disk_name name="c99t0d0" name_type="ctd"/>
       
  1716         ....<disk_prop dev_type="scsi" dev_vendor="HITACHI" \
       
  1717         dev_size="143349312secs"/>
       
  1718         ....<disk_keyword key="boot_disk"/>
       
  1719         ....<slice name="0" action="create" force="true" is_swap="false" \
       
  1720         in_zpool="rpool" in_vdev="vdev">
       
  1721         ......<size val="143348736secs" start_sector="512"/>
       
  1722         ....</slice>
       
  1723         ..</disk>
       
  1724         </target>
       
  1725         '''
       
  1726 
       
  1727         self.__run_simple_test(test_manifest_xml, expected_xml)
       
  1728 
       
  1729     def test_target_selection_props_3_2(self):
       
  1730         ''' Test success if user specifies 2 disk properties and 1 disk name'''
       
  1731         test_manifest_xml = '''
       
  1732         <auto_install>
       
  1733           <ai_instance auto_reboot="false">
       
  1734             <target>
       
  1735               <disk whole_disk="True">
       
  1736                 <disk_prop dev_size="143349312secs"/>
       
  1737               </disk>
       
  1738               <disk whole_disk="True">
       
  1739                 <disk_name name="c99t0d0" name_type="ctd"/>
       
  1740               </disk>
       
  1741               <disk whole_disk="True">
       
  1742                 <disk_prop dev_vendor="Lenovo"/>
       
  1743               </disk>
       
  1744               <logical noswap="true" nodump="true"/>
       
  1745             </target>
       
  1746           </ai_instance>
       
  1747         </auto_install>
       
  1748         '''
       
  1749 
       
  1750         expected_xml = '''\
       
  1751         <target name="desired">
       
  1752         ..<disk whole_disk="false">
       
  1753         ....<disk_name name="c99t0d0" name_type="ctd"/>
       
  1754         ....<disk_prop dev_type="scsi" dev_vendor="HITACHI" \
       
  1755         dev_size="\d+secs"/>
       
  1756         ....<disk_keyword key="boot_disk"/>
       
  1757         ....<slice name="0" action="create" force="true" is_swap="false" \
       
  1758         in_zpool="rpool" in_vdev="vdev">
       
  1759         ......<size val="\d+secs" start_sector="\d+"/>
       
  1760         ....</slice>
       
  1761         ..</disk>
       
  1762         ..<disk whole_disk="false">
       
  1763         ....<disk_name name="c99t2d0" name_type="ctd"/>
       
  1764         ....<disk_prop dev_type="FIXED" dev_vendor="Lenovo" \
       
  1765         dev_size="\d+secs"/>
       
  1766         ....<slice name="0" action="create" force="true" is_swap="false" \
       
  1767         in_zpool="rpool" in_vdev="vdev">
       
  1768         ......<size val="\d+secs" start_sector="\d+"/>
       
  1769         ....</slice>
       
  1770         ..</disk>
       
  1771         ..<disk whole_disk="false">
       
  1772         ....<disk_name name="c99t1d0" name_type="ctd"/>
       
  1773         ....<disk_prop dev_type="scsi" dev_vendor="HITACHI" \
       
  1774         dev_size="143349312secs"/>
       
  1775         ....<slice name="0" action="create" force="true" is_swap="false" \
       
  1776         in_zpool="rpool" in_vdev="vdev">
       
  1777         ......<size val="143348736secs" start_sector="512"/>
       
  1778         ....</slice>
       
  1779         ..</disk>
       
  1780         ..<logical noswap="true" nodump="true">
       
  1781         ....<zpool name="rpool" action="create" is_root="true">
       
  1782         ......<vdev name="vdev" redundancy="mirror"/>
       
  1783         ......<be name="ai_test_solaris"/>
       
  1784         ....</zpool>
       
  1785         ..</logical>
       
  1786         </target>
       
  1787         '''
       
  1788 
       
  1789         self.__run_simple_test(test_manifest_xml, expected_xml)
       
  1790 
       
  1791     def test_target_selection_props_3_3(self):
       
  1792         ''' Test success if user specifies 3 disk properties'''
       
  1793         test_manifest_xml = '''
       
  1794         <auto_install>
       
  1795           <ai_instance auto_reboot="false">
       
  1796             <target>
       
  1797               <disk whole_disk="True">
       
  1798                 <disk_prop dev_size="143349312secs"/>
       
  1799               </disk>
       
  1800               <disk whole_disk="True">
       
  1801                 <disk_prop dev_vendor="Hitachi"/>
       
  1802               </disk>
       
  1803               <disk whole_disk="True">
       
  1804                 <disk_prop dev_type="scsi"/>
       
  1805               </disk>
       
  1806               <logical noswap="true" nodump="true"/>
       
  1807             </target>
       
  1808           </ai_instance>
       
  1809         </auto_install>
       
  1810         '''
       
  1811 
       
  1812         expected_xml = '''\
       
  1813         <target name="desired">
       
  1814         ..<disk whole_disk="false">
       
  1815         ....<disk_name name="c99t0d0" name_type="ctd"/>
       
  1816         ....<disk_prop dev_type="scsi" dev_vendor="HITACHI" \
       
  1817         dev_size="143349312secs"/>
       
  1818         ....<disk_keyword key="boot_disk"/>
       
  1819         ....<slice name="0" action="create" force="true" is_swap="false" \
       
  1820         in_zpool="rpool" in_vdev="vdev">
       
  1821         ......<size val="143348736secs" start_sector="512"/>
       
  1822         ....</slice>
       
  1823         ..</disk>
       
  1824         ..<disk whole_disk="false">
       
  1825         ....<disk_name name="c99t1d0" name_type="ctd"/>
       
  1826         ....<disk_prop dev_type="scsi" dev_vendor="HITACHI" \
       
  1827         dev_size="\d+secs"/>
       
  1828         ....<slice name="0" action="create" force="true" is_swap="false" \
       
  1829         in_zpool="rpool" in_vdev="vdev">
       
  1830         ......<size val="\d+secs" start_sector="\d+"/>
       
  1831         ....</slice>
       
  1832         ..</disk>
       
  1833         ..<disk whole_disk="false">
       
  1834         ....<disk_name name="c99t2d0" name_type="ctd"/>
       
  1835         ....<disk_prop dev_type="FIXED" dev_vendor="Lenovo" \
       
  1836         dev_size="\d+secs"/>
       
  1837         ....<slice name="0" action="create" force="true" is_swap="false" \
       
  1838         in_zpool="rpool" in_vdev="vdev">
       
  1839         ......<size val="\d+secs" start_sector="\d+"/>
       
  1840         ....</slice>
       
  1841         ..</disk>
       
  1842         ..<logical noswap="true" nodump="true">
       
  1843         ....<zpool name="rpool" action="create" is_root="true">
       
  1844         ......<vdev name="vdev" redundancy="mirror"/>
       
  1845         ......<be name="ai_test_solaris"/>
       
  1846         ....</zpool>
       
  1847         ..</logical>
       
  1848         </target>
       
  1849         '''
       
  1850 
       
  1851         self.__run_simple_test(test_manifest_xml, expected_xml)
       
  1852 
  1508 
  1853 
  1509 if __name__ == '__main__':
  1854 if __name__ == '__main__':
  1510     unittest.main()
  1855     unittest.main()