Skip to content

Commit

Permalink
container template without proxy settings
Browse files Browse the repository at this point in the history
  • Loading branch information
Thirumal Ravula committed Oct 1, 2014
1 parent 7391fa7 commit 435d55a
Show file tree
Hide file tree
Showing 7 changed files with 55 additions and 18 deletions.
41 changes: 29 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,37 @@
ovpl
====

1) Edit the file ovpl/config/config.json to set the proxies

"ENVIRONMENT": {
"HTTP_PROXY":"proxy.vlabs.ac.in:8080",
"HTTPS_PROXY":"proxy.vlabs.ac.in:8080"
},

2) Do the same with the file ovpl/src/VMManager/config.json
1. Edit the file ovpl/config/config.json to set the proxies

3) Edit the file ovpl/src/settings.py to set the
"ENVIRONMENT": {
"HTTP_PROXY":"proxy.vlabs.ac.in:8080",
"HTTPS_PROXY":"proxy.vlabs.ac.in:8080"
},

2. Do the same with the file ovpl/src/VMManager/config.json

3. Edit the file ovpl/src/settings.py to set the
SUBNET field to match with the subnet of your base machine

If the ip address of your base machine is 10.2.58.XXX,

SUBNET = ["10.2.58.12/28"]
If the ip address of your base machine is 10.2.58.XXX,
SUBNET = ["10.2.58.12/28"]

4. Do the same with the file ovpl/src/adapters/settings.py

5. change to source directory (ovpl/src ) and run make.
% make

6. Open the location http://localhost:8080 from the browser and
provide the lab id and lab sources url.

7. You can check the logs at ovpl/log/ovpl.log, and ovpl/log/centosadapter.log on the base machine.
The log on the container will be at /root/VMManager/log/vmmanager.log

Steps to manually create a container
====
1. vzctl create 101 --ostemplate ubuntu-12.04-custom-x86_64 --ipadd 10.2.58.3 --diskspace 10G:15.0G --hostname cse02.vlabs.ac.in
2. vzctl start 101
3. vzctl set 101 --nameserver inherit --ram 256M --swap 512M --onboot yes --save


4) Do the same with the file ovpl/src/adapters/settings.py
5 changes: 3 additions & 2 deletions config/config.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@

{

"ENVIRONMENT": {
"HTTP_PROXY":"proxy.vlabs.ac.in:8080",
"HTTPS_PROXY":"proxy.vlabs.ac.in:8080"
"HTTP_PROXY":"http://proxy.iiit.ac.in:8080",
"HTTPS_PROXY":"http://proxy.iiit.ac.in:8080"
},

"CONTROLLER_CONFIG": {
Expand Down
3 changes: 3 additions & 0 deletions src/VMManager/LabActionScript.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,15 @@ def __init__(self, cmd):
self._state = LabActionScript.ACTION_EMPTY

def run(self):
from envsetup import EnvSetUp
e = EnvSetUp()
"""Runs a command. Waits for the command to finish."""
if len(self._cmd) == 0:
Logging.LOGGER.error("LabActionScript::run() - No command to run")
raise EmptyLabActionError("No command to run")
try:
#self._cmd[0] = os.path.join(self._path_prefix, self._cmd[0])
Logging.LOGGER.debug("LabActionScript::run() - " + os.environ["http_proxy"])
Logging.LOGGER.debug("LabActionScript::run() - " + self._cmd)
subprocess.check_call(self._cmd, stdout=Logging.LOG_FD, stderr=Logging.LOG_FD, shell=True)
self._state = LabActionScript.ACTION_COMPLETED
Expand Down
16 changes: 16 additions & 0 deletions src/VMManager/VMManager.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,21 @@ def test_lab(lab_src_url, version=None):
e = EnvSetUp()
Logging.LOGGER.info("Environment http_proxy = %s" % os.environ["http_proxy"])
Logging.LOGGER.info("Environment https_proxy = %s" % os.environ["https_proxy"])

def fill_aptconf():

try:
http_proxy = os.environ["http_proxy"]
https_proxy = os.environ["https_proxy"]
http_cmd = r'echo "Acquire::http::Proxy \"%s\";"%s'%(http_proxy, '>>/etc/apt/apt.conf')
https_cmd = r'echo "Acquire::https::Proxy \"%s\";"%s'%(https_proxy, '>>/etc/apt/apt.conf')
subprocess.check_call(http_cmd, stdout=Logging.LOG_FD, stderr=Logging.LOG_FD, shell=True)
subprocess.check_call(https_cmd, stdout=Logging.LOG_FD, stderr=Logging.LOG_FD, shell=True)
except Exception, e:
Logging.LOGGER.error("Writing to /etc/apt/apt.conf failed with error: %s" % (str(e)))
raise e


def get_build_steps_spec(lab_spec):
return {"build_steps": lab_spec['lab']['build_requirements']['platform']['build_steps']}

Expand Down Expand Up @@ -147,6 +162,7 @@ def get_lab_spec(repo_name):
raise LabSpecInvalid("Lab spec JSON invalid: " + str(e))

Logging.LOGGER.info("Starting test_lab")
fill_aptconf()
repo_name = construct_repo_name()
if repo_exists(repo_name):
pull_repo(repo_name)
Expand Down
4 changes: 2 additions & 2 deletions src/VMManager/config.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{

"ENVIRONMENT": {
"HTTP_PROXY":"proxy.vlabs.ac.in:8080",
"HTTPS_PROXY":"proxy.vlabs.ac.in:8080"
"HTTP_PROXY":"http://proxy.iiit.ac.in:8080",
"HTTPS_PROXY":"http://proxy.iiit.ac.in:8080"
},

"CONTROLLER_CONFIG": {
Expand Down
2 changes: 1 addition & 1 deletion src/adapters/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ def get_test_os_version():

def get_adapter_nameserver():
# Required by CentOSVZAdapter.py
NAME_SERVER = "10.4.3.222"
NAME_SERVER = "inherit"

return NAME_SERVER

Expand Down
2 changes: 1 addition & 1 deletion src/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ def get_test_os_version():

def get_adapter_nameserver():
# Required by CentOSVZAdapter.py
NAME_SERVER = "10.4.3.222"
NAME_SERVER = "inherit"

return NAME_SERVER

Expand Down

0 comments on commit 435d55a

Please sign in to comment.