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() |