changes on docker and build 74/12974/2
author\96Vamshi Namilikonda <vamshi.namilikonda@capgemini.com>
Tue, 9 Jul 2024 17:27:09 +0000 (22:57 +0530)
committer\96Vamshi Namilikonda <vamshi.namilikonda@capgemini.com>
Tue, 9 Jul 2024 17:28:35 +0000 (22:58 +0530)
Issue-ID: SMO-145
Change-Id: Ifc95f937ae74bbeb60c25c8c057b2d393053057b
Signed-off-by: Vamshi Namilikonda <vamshi.namilikonda@capgemini.com>
.gitignore
nfo/k8s/Dockerfile [new file with mode: 0644]
nfo/k8s/Makefile [new file with mode: 0644]
nfo/k8s/README.md [new file with mode: 0644]
nfo/k8s/config.ini [new file with mode: 0644]
nfo/k8s/config/config.yaml [new file with mode: 0644]
nfo/k8s/manage.py [new file with mode: 0644]
nfo/k8s/nfo_microservice/settings.py
nfo/k8s/packagevariant_processor/views.py
nfo/k8s/requirements.txt [new file with mode: 0644]

index 71d7636..e376eba 100644 (file)
@@ -1,2 +1,3 @@
 .tox
 docs/_build/*
+nfo/k8s/db.sqlite3
diff --git a/nfo/k8s/Dockerfile b/nfo/k8s/Dockerfile
new file mode 100644 (file)
index 0000000..1bfad3e
--- /dev/null
@@ -0,0 +1,52 @@
+# Start with a base image that includes the tools needed
+FROM alpine:latest
+
+# Install necessary tools (curl, tar, git, Python, Helm dependencies)
+RUN apk add --no-cache \
+    curl \
+    tar \
+    git \
+    python3 \
+    py3-pip \
+    libc-dev \
+    gcc
+
+# Install Helm
+ENV HELM_VERSION v3.8.0
+ENV FILENAME helm-${HELM_VERSION}-linux-amd64.tar.gz
+
+# Download and extract Helm binary
+RUN curl -fsSL -o /tmp/${FILENAME} https://get.helm.sh/${FILENAME} \
+    && tar -zxvf /tmp/${FILENAME} -C /tmp \
+    && mv /tmp/linux-amd64/helm /usr/local/bin/helm \
+    && rm /tmp/${FILENAME} \
+    && rm -rf /tmp/linux-amd64
+
+# Set up application directory
+ENV PYTHONUNBUFFERED 1
+ENV DJANGO_SETTINGS_MODULE nfo_microservice.settings
+
+
+# Set work directory
+WORKDIR /app
+
+# Install dependencies
+COPY requirements.txt /app/
+
+RUN python -m venv /venv
+ENV PATH="/venv/bin:$PATH"
+
+RUN pip install -r requirements.txt
+
+# Copy project files into the container
+COPY . /app/
+
+RUN python manage.py makemigrations
+
+RUN python manage.py migrate
+
+# Expose port (if necessary)
+EXPOSE 8000
+
+# Command to run the application
+CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
diff --git a/nfo/k8s/Makefile b/nfo/k8s/Makefile
new file mode 100644 (file)
index 0000000..3e533aa
--- /dev/null
@@ -0,0 +1,71 @@
+# Makefile for nfo Project
+
+# Variables
+PYTHON = python3
+PIP = pip3
+VENV = venv_nfo
+REQ_FILE = requirements.txt
+DJANGO_MANAGE = $(PYTHON) manage.py
+APP_NAME = apis
+
+# Targets
+.PHONY: help
+help:
+       @echo "Available targets:"
+       @echo "  setup         Setup Python, virtual environment, and dependencies"
+       @echo "  install       Install dependencies"
+       @echo "  create-venv   Create virtual environment"
+       @echo "  activate-venv Activate virtual environment"
+       @echo "  install-packages Install required Python packages"
+       @echo "  startapp      Create a new Django app named 'apis'"
+       @echo "  configure-env Configure environment settings in config.ini"
+       @echo "  migrate       Apply database migrations"
+       @echo "  runserver     Run Django development server"
+       @echo "  clean         Clean up temporary files and virtual environment"
+
+build: clean create-venv activate-venv install-packages migrate runserver
+
+# install:
+#      # Ensure Python 3.12 and necessary tools are installed
+#      # Install pip if not already installed
+#      # Install Helm and Kubernetes Client/Server separately
+
+create-venv:
+       # Install virtualenv if not already installed
+       # $(PIP) install virtualenv
+       $(PYTHON) -m  venv $(VENV)
+       # Create virtual environment named venv_nfo
+       #  virtualenv $(VENV)
+
+activate-venv:
+       # Activate virtual environment
+       /bin/bash -c "source $(VENV)/bin/activate" # Use `$(VENV)\Scripts\activate` on Windows
+
+install-packages:
+       # Install required Python packages listed in requirements.txt
+       $(PIP) install -r $(REQ_FILE)
+
+# startapp:
+#      # Create a new Django app named 'apis'
+#      $(DJANGO_MANAGE) startapp $(APP_NAME)
+
+configure-env:
+       # Perform configuration tasks for environment settings in config.ini
+       # Change Kubernetes config path
+       # Change Helm executable path
+
+migrate:
+       # Apply database migrations
+       $(DJANGO_MANAGE) makemigrations
+       $(DJANGO_MANAGE) migrate
+
+runserver:
+       # Run Django development server
+       $(DJANGO_MANAGE) runserver 0.0.0.0:8000
+
+clean:
+       # Clean up temporary files and virtual environment
+       find . -type f -name '*.pyc' -delete
+       rm -rf $(VENV) __pycache__
+
+# Note: Adjust paths and commands based on your specific environment and requirements
diff --git a/nfo/k8s/README.md b/nfo/k8s/README.md
new file mode 100644 (file)
index 0000000..8253624
--- /dev/null
@@ -0,0 +1,65 @@
+# Summary
+The O-RAN Software Community (OSC) and Open Air Interface (OAI) and Nephio open source communities are working together to provide a reference implementation of the Open RAN (O-RAN) Alliance’s cloud-centric specifications using the Nephio enablers and capabilities in order to deploy and manage O-RAN NFs and xApps. The focus of the O-RAN Integration within Nephio focuses on the Federated O-Cloud Orchestration and Management (FOCOM), Network Function Orchestration (NFO), Infrastructure Management (IMS) and Deployment Management (DMS) O-RAN services.
+
+# NFO installation steps
+
+# Build the service
+
+    NFO services needs to be installed on any VM
+    
+    For testing, you can run the service locally :
+
+    `make build`
+    
+# Build an image through docker
+    
+    docker build -t image-name(nfo-service) .
+    
+    deploy using docker
+    
+    docker run -d -p 0000:0000 image-name(nfo-service)
+
+#### prerequisites: python 3.12,helm v3.8.0
+
+## Run helm_processor REST APIs
+
+    BASE_URL : http://127.0.0.1:8080(any*)
+
+##### DU:
+
+    GET: BASE_URL/nfo/api/v1/helm/du/ 
+    POST: BASE_URL/nfo/api/v1/helm/du/  
+    DELETE: BASE_URL/nfo/api/v1/helm/du/ 
+
+##### CUCP:
+
+    GET: BASE_URL/nfo/api/v1/helm/cucp/
+    POST: BASE_URL/nfo/api/v1/helm/cucp/
+    DELETE: BASE_URL/nfo/api/v1/helm/cucp/
+
+##### CUUP:
+
+    GET: BASE_URL/nfo/api/v1/helm/cuup/
+    POST: BASE_URL/nfo/api/v1/helm/cuup/
+    DELETE: BASE_URL/nfo/api/v1/helm/cuup/
+
+
+## Run packagevariant_processor REST APIs
+
+##### DU:
+
+    POST: BASE_URL/nfo/api/v1/operator/du/
+    GET: BASE_URL/nfo/api/v1/operator/du/
+    DELETE: BASE_URL/nfo/api/v1/operator/du/
+
+##### CU_CP:
+
+    POST: BASE_URL/nfo/api/v1/operator/cucp/
+    GET: BASE_URL/nfo/api/v1/operator/cucp/
+    DELETE: BASE_URL/nfo/api/v1/operator/cucp/
+
+##### CU_UP:
+
+    POST: BASE_URL/nfo/api/v1/operator/cuup/
+    GET: BASE_URL/nfo/api/v1/operator/cuup/
+    DELETE: BASE_URL/nfo/api/v1/operator/cuup/
\ No newline at end of file
diff --git a/nfo/k8s/config.ini b/nfo/k8s/config.ini
new file mode 100644 (file)
index 0000000..fc383a0
--- /dev/null
@@ -0,0 +1,5 @@
+[localpath]
+kubeconfig_file_path = /app/config/config.yaml
+helm_executable_path = /usr/local/bin/helm
+
+
diff --git a/nfo/k8s/config/config.yaml b/nfo/k8s/config/config.yaml
new file mode 100644 (file)
index 0000000..0d9f413
--- /dev/null
@@ -0,0 +1,20 @@
+apiVersion: v1
+clusters:
+- cluster:
+    certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM2akNDQWRLZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJME1EWXhOREE1TkRjek4xb1hEVE0wTURZeE1qQTVOVEl6TjFvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBUFVtCno3STJVb25jeUt3K0taMFgxaHhKSWUzaVd4c0taZXhNQ2ViY1dwcDZjTmdEUEhyRUs5Lzh6ektRSlFUUmhPNWIKbzk2YWlRMjZZeEhnWUYvK1lFU1UyaEtCNU50YnRKOXQrYU15OGtMRDRoUzhMR0RRY0ovek1jbmxvZDNsSTRWUgo1eWxNbFFrMi82S2N0VEYza0I0Y24waWx6YjdsME94cWxJNlJER2hKT0ZUNmFLcEs2QjBkc1BMZlgyTFZ3R0JmCjkzbFFGRkw2WHZBMGhRcnA2eDQyckc1TElJUmpMcTdzcVdpZis3QmpWS3h3L1RmYk10MGo0UmxlUVQ0R1dqLy8KN0Q2Q0RmWlczUXhJdmowVUdMZkZqVTZRc3dlcUFzY2U0bENUT2x4ZEg2THlUYmt3NjBmblpSVjBXcFEreWU1OApHV080cll1MDA3M2NsR0xjNnBzQ0F3RUFBYU5GTUVNd0RnWURWUjBQQVFIL0JBUURBZ0trTUJJR0ExVWRFd0VCCi93UUlNQVlCQWY4Q0FRQXdIUVlEVlIwT0JCWUVGSyt5UE9iZWtNN3E0Wmdwb3hIU2JvcG05eUZCTUEwR0NTcUcKU0liM0RRRUJDd1VBQTRJQkFRQ1ZjenlVVE8xWU52NFJ3UWJmOFZhUG1BWEIvYk53eWFsQ3E5RDRjai9ndHRnSApPb3VKZUdlaGorZHljYTlHRU5UcU54MDVUTU8xcXhFV3JjR3FEcC9pTjE5Qk9hRTMrREtmeGtGbnlQSEo5ZWpTCjBGamowTlFhZkNQTW1TK0dzc1RTeS92U2x1emtDdkZta0dob0ZvYktsMWduTkpDWUpTZFY3aVcrOGtuTXd0SmwKay9OcG5pak5ZT08xMURpUkYxL0Y0UnkzL2ErVTVtWjI4YnMrN0p6S0hMU09QbC9TVVh4R1BIUDVRMUdVWWRXTwpOd1IxQXZPRDZyK00xQnpyMWtBMXNNbXBpQ3RzTHJPTE13bTRSeHBvRDVPY2RNSFRUOUl5dDNMRG8xeGc3RnZ2CjQ1bjJPVDdGdGJxa0dBWkUyRGc3Q2RaTUdWZHRNUmZJc05oQnRNd0kKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
+    server: https://172.18.0.3:6443
+  name: management-cluster
+contexts:
+- context:
+    cluster: management-cluster
+    namespace: sylva-system
+    user: management-cluster-admin
+  name: management-cluster-admin@management-cluster
+current-context: management-cluster-admin@management-cluster
+kind: Config
+preferences: {}
+users:
+- name: management-cluster-admin
+  user:
+    client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURFekNDQWZ1Z0F3SUJBZ0lJT01wR3FYZ1I0RVl3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TkRBMk1UUXdPVFEzTXpkYUZ3MHlOVEEyTVRRd09UVXlNemhhTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXUveWtKZjFpa1YvOTJmMXYKYjBRKzYxeEpQYVB3RGYzdUhtdlpQQ1VtdlZjZWJva3c4dHpDcXJoNkJRQmp4aEVFY3hkTlBiSXZsRDVnZ1ZFWgpTUEpXYk12VGI3YllydCsveHJIRWJ2dldFUmo3clhaeGlmWEdOa3NoR2J4Yk9Fa2JxYnR1bEVMb2lOQkVUNmFKCmVYMFBXQXZnUy9xdHo5dzFEWkNZM3N1bHFhQzhzbkdCUWV2VW56SWZFN0JCanppTTFaWUNPSXhWQVhMdVBuZ08KaENNZTZQSUVlZ05WU001OGFWTTl0QUt4dFErZnU4VDVxbENIbXI1TEdicXdodXdRVnU2SUNFdW8ycnZGWUoxTAplS2lDeXlKVkJQZjFqOUlsMTNKNGZtbXF5c08zT1FLendqUkwvMldFWVk4T25wZE1hbEZLLzdQUjI2dTlVL3pZCkNkWVlEd0lEQVFBQm8wZ3dSakFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0h3WURWUjBqQkJnd0ZvQVVyN0k4NXQ2UXp1cmhtQ21qRWRKdWltYjNJVUV3RFFZSktvWklodmNOQVFFTApCUUFEZ2dFQkFEV2xZUFNIN3ZaWjg3ZUpWZ3dBT0tIb0hBckhjZ1lnSXdxSzd2a09NMUdRSTBwNVdmaFVzdW0zClBDY2ZJa002YmYvbGF4ZUpUUW1RQVYrMnh6dTYrQjdBMjZ2YVFxbDh2REFUZndjeThBMFZsLzlqR2tTRVJkTDEKVFNOVnRUajBTVUVtNDNPMVpzZ0l2Mm9XcWlBNCtuWENXNklSL0pyblVFY0ZnamMyL0ozaGxYTUc5N3VlRlBBZgovOG85Qis0bGVzUWZBZURRNElsUXpHdUJzclYxVzN5ZmVHNERUVzcxaDJDbVl5bi92L0xzUDFpdENHbDNzU3VOCjdMU09YeEtRUkc5QkphNlJtQzM0YTBUNFYwUTlXUHBaYjRoMmo3b2RSOVV2ZG9yblhBK2VVUWdLTEE3OVJVV1IKUEIvTFRaelUrNmlPbWNBRkQyaWNtd2JnOGVScHYwST0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
+    client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBdS95a0pmMWlrVi85MmYxdmIwUSs2MXhKUGFQd0RmM3VIbXZaUENVbXZWY2Vib2t3Cjh0ekNxcmg2QlFCanhoRUVjeGROUGJJdmxENWdnVkVaU1BKV2JNdlRiN2JZcnQrL3hySEVidnZXRVJqN3JYWngKaWZYR05rc2hHYnhiT0VrYnFidHVsRUxvaU5CRVQ2YUplWDBQV0F2Z1MvcXR6OXcxRFpDWTNzdWxxYUM4c25HQgpRZXZVbnpJZkU3QkJqemlNMVpZQ09JeFZBWEx1UG5nT2hDTWU2UElFZWdOVlNNNThhVk05dEFLeHRRK2Z1OFQ1CnFsQ0htcjVMR2Jxd2h1d1FWdTZJQ0V1bzJydkZZSjFMZUtpQ3l5SlZCUGYxajlJbDEzSjRmbW1xeXNPM09RS3oKd2pSTC8yV0VZWThPbnBkTWFsRksvN1BSMjZ1OVUvellDZFlZRHdJREFRQUJBb0lCQUN5SU04YUFHT3FCUjl4dApDZ25jcTk4TGRKb3lqTHB6emdYTTNLQS8yTVovcmNqWG5RM2JPQTVETnp5YUZBaW1uVnc2UitUMm9nakhJZ3RnClQ5SVUvbDQxaHJmdkk3T0JjNmU1RXVTTHFmRlE3c1h2eWdPNWdpUDRkalhuaGVCMmlTUVRMNlhWbDhwWk0rVisKZVJDYmpKZjU4RDl2ZWQ5RXRoaXBpVjAxOXQrUXVSM25SSDROQ2t1NjduTjVRYmdma0tobDdxeFlCNnY3UWRmMwpkWml6L1BvU0crYTE4dXcwbFVSZkRLNkRwTkRKNVFuY0RtUUhRTnBmWjMxUERvbTVZUzdDbkkyM0dCdTVRb3NDCllJRUo2SlhBSXd6STB1bGRxRzhyajRoWWRCcERxc0FmOXNtN1RQRC9hdzQxRUlDTlJaK1MydHMvK29INC9UWTkKQkgzbTQ2RUNnWUVBNmJKQkdvM0lIaU0vRVp2dmczYjYzNE9Ob3VlRXRyZHRKTHpJa1U5OGo3MEM1M3JMUU1HSgp2aU5qTWllV3hhMVJQTitySkFETWF0TW44TkJqUXRQYURGbUQ3TE8yeDBEU3lsSWtuVVJKR1BrTkV0Wk5KZ2hlCkQxU3ZVWTIzeUpFa2NwYjQyTHZUN3VQN0Z1MjhRbGhsUW1uSG9LbzRMb3N3TkxNcmVvdEMybkVDZ1lFQXplMloKV2J6V1VsMFBqMTJhOWp3N25wUlR6NDVrWjVmYXVDZnBWM0VrSGFnZGcrazlzVk1uUEZZZ0M1YTBwdUhyNW04TgoxN1NhVjU3V1lrRnpWTklGeUNuZ0o4eWhsTU5UWWh5V2QvYXg3dVdVQ0lsRFJ5UWNjd2xSSmZ4QkZvQm1KZXFZCjN1ZXI1Q0tNdmN1dGZLY1BCMlk0aDU4cE1idzd4QURWSlZEZ1duOENnWUJxTUNBYkE3K2h5aHczVVNiRkVzUXQKMmVYNjFyNWNFLzdaQ1pzTlJCUHljRTBvaDRoaHRVOTBnVG5xcVVoK0xDSFV5a0ZHaThKVzYvbWpGOTF5bVRiawpFNnk1V25POEdEMXZ4MkZ4d0h5Q2gzQWtWaElhTFFVb2JDOTVuQzZkU1M1SmowWWxuVHRRdW5EMld6SUc1NG1qCll0TmRzdHJ5Y3phRlM4QiszMWFTVVFLQmdRQ2JoWURXUkFaODU2bHp0ZGJ0ZGluMHBzTHhNdkhqUnMwNVhYTWQKeGVYbnUrcW1rQVUyb2IwMUZUcFlaallDL3dhZzNtaE82eWZSV3JWQU9YdjNxRElUcklTTXFqK3gwUjV0TDNmNApHOGpmeW1UVldZMEU4bUhHQTFoVTNzRHRWSVZReDI4eWtUYkJNZEtuR0dicWlHU1NTd0lRY3dTeWVoMk05ckFDCjRhUyswd0tCZ1FDUXhqTW9rVVlnbXRDb3B3bWllZ2NPUDRsc1BFZnpOcUg2em8wZXBwNHk1SlU0Nk1OWEY2TjkKVTR0ZzFoNVY0SU4wVXU0Mmd1d1lBRkJ2Z0IyUWszOXprd2xDTzY3YktyT2sxT2JaUmNqUWhoaVl2ejd0cE00TApnaWRGT0pTRmtFSFY4WE9qMWlFWWt2Z0oxRUVlT2xmRmJkcElmbERZWXErclpteTl6enBRa3c9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
\ No newline at end of file
diff --git a/nfo/k8s/manage.py b/nfo/k8s/manage.py
new file mode 100644 (file)
index 0000000..a212ebd
--- /dev/null
@@ -0,0 +1,25 @@
+#!/usr/bin/env python
+"""Django's command-line utility for administrative tasks."""
+import os
+import sys
+import django
+#from django.core.management import execute_from_command_line
+
+
+def main():
+    """Run administrative tasks."""
+    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'nfo_microservice.settings')
+    try:
+        from django.core.management import execute_from_command_line
+        django.setup()
+    except ImportError as exc:
+        raise ImportError(
+            "Couldn't import Django. Are you sure it's installed and "
+            "available on your PYTHONPATH environment variable? Did you "
+            "forget to activate a virtual environment?"
+        ) from exc
+    execute_from_command_line(sys.argv)
+
+
+if __name__ == '__main__':
+    main()
index de1e6a2..b657b15 100644 (file)
@@ -20,7 +20,7 @@ BASE_DIR = Path(__file__).resolve().parent.parent
 # See https://docs.djangoproject.com/en/5.0/howto/deployment/checklist/
 
 # SECURITY WARNING: keep the secret key used in production secret!
-SECRET_KEY = 'django-insecure-@2#ob=f_mn7-8#)(v+*yc9yx3(l(h&av5rjna5$)gv4qevq61v'
+SECRET_KEY = ' '
 
 # SECURITY WARNING: don't run with debug turned on in production!
 DEBUG = True
@@ -76,6 +76,7 @@ WSGI_APPLICATION = 'nfo_microservice.wsgi.application'
 # Database
 # https://docs.djangoproject.com/en/5.0/ref/settings/#databases
 
+
 DATABASES = {
     'default': {
         'ENGINE': 'django.db.backends.sqlite3',
index 6123d03..2bdfe49 100644 (file)
@@ -8,6 +8,7 @@ import yaml
 from kubernetes.dynamic import DynamicClient
 import json
 from rest_framework.renderers import JSONRenderer
+from configparser import ConfigParser
 
 # Create your views here.
 
@@ -59,7 +60,7 @@ def executePost(request):
     get_remote_file(pv, pv_location)
     # Load kube config
     #config.load_kube_config()
-    config.load_kube_config(config_file='/home/ubuntu/.kube/config')
+    config.load_kube_config(config_file=fetchKubeLocalPath())
 
     # Create a dynamic client
     dyn_client = DynamicClient(client.ApiClient())
@@ -87,7 +88,7 @@ def executeDelete(request):
 
     # Load kube config
     #config.load_kube_config()
-    config.load_kube_config(config_file='/home/ubuntu/.kube/config')
+    config.load_kube_config(config_file=fetchKubeLocalPath())
 
     # Create a CustomObjectsAPI instance
     custom_api = client.CustomObjectsApi()
@@ -110,7 +111,7 @@ def executeGet(request):
     name = payload['name']
 
     print ("--- Retriving Kubernetes custom resource ---")
-    config.load_kube_config(config_file='/home/ubuntu/.kube/config')
+    config.load_kube_config(config_file=fetchKubeLocalPath())
 
     dyn_client = DynamicClient(client.ApiClient())
 
@@ -144,3 +145,12 @@ def get_remote_file(pv, pv_location):
             file.write(response.content)
     else:
         print('Failed to download the file.')
+
+
+def fetchKubeLocalPath():
+    config = ConfigParser()
+    with open("config.ini", "r") as file_object:
+        config.read_file(file_object)
+        kube_config_path = config.get("localpath", "kubeconfig_file_path")
+        
+    return kube_config_path
\ No newline at end of file
diff --git a/nfo/k8s/requirements.txt b/nfo/k8s/requirements.txt
new file mode 100644 (file)
index 0000000..4af43f3
--- /dev/null
@@ -0,0 +1,7 @@
+requests
+django
+djangorestframework
+pyhelm
+kubernetes
+pyhelm3
+six
\ No newline at end of file