"""
LOG_FILE_NAME = "createrapidk8s.log"
SSH_PRIVATE_KEY = "./rapid_rsa_key"
- SSH_USER = "centos"
+ SSH_USER = "rapid"
POD_YAML_TEMPLATE_FILE_NAME = "pod-rapid.yaml"
_create_config = None
_runtime_config = None
_total_number_of_pods = 0
+ _namespace = "rapid-testing"
_pods = []
def __init__(self):
self._log.addHandler(console_handler)
# Initialize k8s plugin
- config.load_kube_config()
+ try:
+ config.load_kube_config()
+ except:
+ config.load_incluster_config()
+
Pod.k8s_CoreV1Api = client.CoreV1Api()
def load_create_config(self, config_file_name):
self._log.debug("Total number of pods %d" % self._total_number_of_pods)
+ if self._create_config.has_option("DEFAULT", "namespace"):
+ self._namespace = self._create_config.get(
+ "DEFAULT", "namespace")
+ else:
+ self._log.error("No option namespace in DEFAULT section")
+ return -1
+
+ self._log.debug("Using namespace %s" % self._total_number_of_pods)
+
# Parse [PODx] sections
for i in range(1, int(self._total_number_of_pods) + 1):
# Search for POD name
pod_name = self._create_config.get(
"POD%d" % i, "name")
else:
- pod_name = "pod-rapid-%d" % i
+ pod_name = "prox-pod-%d" % i
# Search for POD hostname
if self._create_config.has_option("POD%d" % i,
else:
pod_nodeselector_hostname = None
+ # Search for POD spec
+ if self._create_config.has_option("POD%d" % i,
+ "spec_file_name"):
+ pod_spec_file_name = self._create_config.get(
+ "POD%d" % i, "spec_file_name")
+ else:
+ pod_spec_file_name = K8sDeployment.POD_YAML_TEMPLATE_FILE_NAME
+
# Search for POD dataplane static IP
if self._create_config.has_option("POD%d" % i,
"dp_ip"):
else:
pod_dp_ip = None
- pod = Pod(pod_name)
+ # Search for POD dataplane subnet
+ if self._create_config.has_option("POD%d" % i,
+ "dp_subnet"):
+ pod_dp_subnet = self._create_config.get(
+ "POD%d" % i, "dp_subnet")
+ else:
+ pod_dp_subnet = "24"
+
+ pod = Pod(pod_name, self._namespace)
pod.set_nodeselector(pod_nodeselector_hostname)
+ pod.set_spec_file_name(pod_spec_file_name)
pod.set_dp_ip(pod_dp_ip)
+ pod.set_dp_subnet(pod_dp_subnet)
pod.set_id(i)
# Add POD to the list of PODs which need to be created
# Create PODs using template from yaml file
for pod in self._pods:
self._log.info("Creating POD %s...", pod.get_name())
- pod.create_from_yaml(K8sDeployment.POD_YAML_TEMPLATE_FILE_NAME)
+ pod.create_from_yaml()
# Wait for PODs to start
for pod in self._pods:
self._runtime_config.set("M%d" % pod.get_id(),
"dp_pci_dev", pod.get_dp_pci_dev())
self._runtime_config.set("M%d" % pod.get_id(),
- "dp_ip1", pod.get_dp_ip())
+ "dp_ip1", pod.get_dp_ip() + "/" +
+ pod.get_dp_subnet())
# Section [Varia]
self._runtime_config.add_section("Varia")