if not upstream:
             oc_deploy.prep_env(deploy_settings, net_settings, inventory,
                                opnfv_env, net_env_target, APEX_TEMP_DIR)
-            oc_deploy.prep_image(deploy_settings, sdn_image, APEX_TEMP_DIR,
-                                 root_pw=root_pw)
+            oc_deploy.prep_image(deploy_settings, net_settings, sdn_image,
+                                 APEX_TEMP_DIR, root_pw=root_pw)
         else:
             shutil.copyfile(sdn_image, os.path.join(APEX_TEMP_DIR,
                                                     'overcloud-full.qcow2'))
         deploy_vars['overcloudrc'] = 'source /home/stack/overcloudrc'
         deploy_vars['upstream'] = upstream
         deploy_vars['os_version'] = os_version
+        deploy_vars['http_proxy'] = net_settings.get('http_proxy', '')
+        deploy_vars['https_proxy'] = net_settings.get('https_proxy', '')
         for dns_server in net_settings['dns_servers']:
             deploy_vars['dns_server_args'] += " --dns-nameserver {}".format(
                 dns_server)
 
     return cmd
 
 
-def prep_image(ds, img, tmp_dir, root_pw=None):
+def prep_image(ds, ns, img, tmp_dir, root_pw=None):
     """
     Locates sdn image and preps for deployment.
     :param ds: deploy settings
+    :param ns: network settings
     :param img: sdn image
     :param tmp_dir: dir to store modified sdn image
     :param root_pw: password to configure for overcloud image
                 ".service"
         }])
 
+    if ns.get('http_proxy', ''):
+        virt_cmds.append({
+            con.VIRT_RUN_CMD:
+                "echo 'http_proxy={}' >> /etc/environment".format(
+                    ns['http_proxy'])})
+
+    if ns.get('https_proxy', ''):
+        virt_cmds.append({
+            con.VIRT_RUN_CMD:
+                "echo 'https_proxy={}' >> /etc/environment".format(
+                    ns['https_proxy'])})
+
     if ds_opts['vpn']:
         virt_cmds.append({con.VIRT_RUN_CMD: "chmod +x /etc/rc.d/rc.local"})
         virt_cmds.append({
 
               'global_params': MagicMock()}
         ds['deploy_options'].__getitem__.side_effect = \
             lambda i: ds_opts.get(i, MagicMock())
-        prep_image(ds, 'undercloud.qcow2', '/tmp', root_pw='test')
+        ns = MagicMock()
+        prep_image(ds, ns, 'undercloud.qcow2', '/tmp', root_pw='test')
         mock_virt_utils.virt_customize.assert_called()
 
     @patch('apex.overcloud.deploy.virt_utils')
               'global_params': MagicMock()}
         ds['deploy_options'].__getitem__.side_effect = \
             lambda i: ds_opts.get(i, MagicMock())
-        prep_image(ds, 'undercloud.qcow2', '/tmp', root_pw='test')
+        ns = MagicMock()
+        prep_image(ds, ns, 'undercloud.qcow2', '/tmp', root_pw='test')
         mock_virt_utils.virt_customize.assert_called()
 
     @patch('apex.overcloud.deploy.virt_utils')
             lambda i: ds_opts.get(i, MagicMock())
         ds['deploy_options'].__contains__.side_effect = \
             lambda i: True if i in ds_opts else MagicMock()
-        prep_image(ds, 'undercloud.qcow2', '/tmp', root_pw='test')
+        ns = MagicMock()
+        prep_image(ds, ns, 'undercloud.qcow2', '/tmp', root_pw='test')
         mock_virt_utils.virt_customize.assert_called()
 
     @patch('apex.overcloud.deploy.virt_utils')
               'global_params': MagicMock()}
         ds['deploy_options'].__getitem__.side_effect = \
             lambda i: ds_opts.get(i, MagicMock())
-        prep_image(ds, 'undercloud.qcow2', '/tmp', root_pw='test')
+        ns = MagicMock()
+        prep_image(ds, ns, 'undercloud.qcow2', '/tmp', root_pw='test')
         mock_virt_utils.virt_customize.assert_called()
 
     @patch('apex.overcloud.deploy.virt_utils')
               'global_params': MagicMock()}
         ds['deploy_options'].__getitem__.side_effect = \
             lambda i: ds_opts.get(i, MagicMock())
-        prep_image(ds, 'undercloud.qcow2', '/tmp', root_pw='test')
+        ns = MagicMock()
+        prep_image(ds, ns, 'undercloud.qcow2', '/tmp', root_pw='test')
         mock_virt_utils.virt_customize.assert_called()
 
     @patch('apex.overcloud.deploy.os.path.isfile')
     def test_prep_image_no_image(self, mock_isfile):
         mock_isfile.return_value = False
         assert_raises(ApexDeployException, prep_image,
-                      {}, 'undercloud.qcow2', '/tmp')
+                      {}, {}, 'undercloud.qcow2', '/tmp')
 
     def test_make_ssh_key(self):
         priv, pub = make_ssh_key()