Example #1
0
 def test_with_no_userdata(self):
     props = {"password": "******", "instance-id": "inst-001"}
     env = fill_properties(props)
     md, ud, cfg = dsovf.read_ovf_environment(env)
     self.assertEqual({"instance-id": "inst-001"}, md)
     self.assertEqual({"password": "******"}, cfg)
     self.assertIsNone(ud)
Example #2
0
 def test_with_b64_network_config_disable_read_network(self):
     network_config = dedent(
         """\
     network:
        version: 2
        ethernets:
           nics:
              nameservers:
                 addresses:
                 - 127.0.0.53
                 search:
                 - eng.vmware.com
                 - vmware.com
              match:
                 name: eth*
              gateway4: 10.10.10.253
              dhcp4: false
              addresses:
              - 10.10.10.1/24
     """
     )
     network_config_b64 = base64.b64encode(network_config.encode()).decode()
     props = {
         "network-config": network_config_b64,
         "password": "******",
         "instance-id": "inst-001",
     }
     env = fill_properties(props)
     md, ud, cfg = dsovf.read_ovf_environment(env)
     self.assertEqual({"instance-id": "inst-001"}, md)
     self.assertEqual({"password": "******"}, cfg)
     self.assertIsNone(ud)
Example #3
0
 def test_with_no_userdata(self):
     props = {"password": "******", "instance-id": "inst-001"}
     env = fill_properties(props)
     md, ud, cfg = dsovf.read_ovf_environment(env)
     self.assertEqual({"instance-id": "inst-001"}, md)
     self.assertEqual({'password': "******"}, cfg)
     self.assertEqual(None, ud)
Example #4
0
 def test_with_non_b64_userdata(self):
     user_data = "my-user-data"
     props = {"user-data": user_data, "instance-id": "inst-001"}
     env = fill_properties(props)
     md, ud, cfg = dsovf.read_ovf_environment(env)
     self.assertEqual({"instance-id": "inst-001"}, md)
     self.assertEqual(user_data.encode(), ud)
     self.assertEqual({}, cfg)
Example #5
0
 def test_with_non_b64_userdata(self):
     user_data = "my-user-data"
     props = {"user-data": user_data, "instance-id": "inst-001"}
     env = fill_properties(props)
     md, ud, cfg = dsovf.read_ovf_environment(env)
     self.assertEqual({"instance-id": "inst-001"}, md)
     self.assertEqual(user_data.encode(), ud)
     self.assertEqual({}, cfg)
Example #6
0
 def test_with_b64_userdata(self):
     user_data = "#!/bin/sh\necho hello world\n"
     user_data_b64 = base64.b64encode(user_data.encode()).decode()
     props = {"user-data": user_data_b64, "password": "******",
              "instance-id": "inst-001"}
     env = fill_properties(props)
     md, ud, cfg = dsovf.read_ovf_environment(env)
     self.assertEqual({"instance-id": "inst-001"}, md)
     self.assertEqual(user_data.encode(), ud)
     self.assertEqual({'password': "******"}, cfg)
Example #7
0
 def test_with_b64_userdata(self):
     user_data = "#!/bin/sh\necho hello world\n"
     user_data_b64 = base64.b64encode(user_data.encode()).decode()
     props = {"user-data": user_data_b64, "password": "******",
              "instance-id": "inst-001"}
     env = fill_properties(props)
     md, ud, cfg = dsovf.read_ovf_environment(env)
     self.assertEqual({"instance-id": "inst-001"}, md)
     self.assertEqual(user_data.encode(), ud)
     self.assertEqual({'password': "******"}, cfg)
Example #8
0
 def test_with_b64_network_config_enable_read_network(self):
     network_config = dedent(
         """\
     network:
        version: 2
        ethernets:
           nics:
              nameservers:
                 addresses:
                 - 127.0.0.53
                 search:
                 - eng.vmware.com
                 - vmware.com
              match:
                 name: eth*
              gateway4: 10.10.10.253
              dhcp4: false
              addresses:
              - 10.10.10.1/24
     """
     )
     network_config_b64 = base64.b64encode(network_config.encode()).decode()
     props = {
         "network-config": network_config_b64,
         "password": "******",
         "instance-id": "inst-001",
     }
     env = fill_properties(props)
     md, ud, cfg = dsovf.read_ovf_environment(env, True)
     self.assertEqual("inst-001", md["instance-id"])
     self.assertEqual({"password": "******"}, cfg)
     self.assertEqual(
         {
             "version": 2,
             "ethernets": {
                 "nics": {
                     "nameservers": {
                         "addresses": ["127.0.0.53"],
                         "search": ["eng.vmware.com", "vmware.com"],
                     },
                     "match": {"name": "eth*"},
                     "gateway4": "10.10.10.253",
                     "dhcp4": False,
                     "addresses": ["10.10.10.1/24"],
                 }
             },
         },
         md["network-config"],
     )
     self.assertIsNone(ud)
Example #9
0
 def test_with_b64_network_config_enable_read_network(self):
     network_config = dedent("""\
     network:
        version: 2
        ethernets:
           nics:
              nameservers:
                 addresses:
                 - 127.0.0.53
                 search:
                 - eng.vmware.com
                 - vmware.com
              match:
                 name: eth*
              gateway4: 10.10.10.253
              dhcp4: false
              addresses:
              - 10.10.10.1/24
     """)
     network_config_b64 = base64.b64encode(network_config.encode()).decode()
     props = {
         "network-config": network_config_b64,
         "password": "******",
         "instance-id": "inst-001"
     }
     env = fill_properties(props)
     md, ud, cfg = dsovf.read_ovf_environment(env, True)
     self.assertEqual("inst-001", md["instance-id"])
     self.assertEqual({'password': "******"}, cfg)
     self.assertEqual(
         {
             'version': 2,
             'ethernets': {
                 'nics': {
                     'nameservers': {
                         'addresses': ['127.0.0.53'],
                         'search': ['eng.vmware.com', 'vmware.com']
                     },
                     'match': {
                         'name': 'eth*'
                     },
                     'gateway4': '10.10.10.253',
                     'dhcp4': False,
                     'addresses': ['10.10.10.1/24']
                 }
             }
         }, md["network-config"])
     self.assertIsNone(ud)