Ejemplo n.º 1
0
    def __init__(self, name=None, image=None, namespace='default', replicas=1, model=None):
        PodBasedModel.__init__(self)
        if model is not None:
            assert isinstance(model, dict)
            self.model = model
            if 'status' in self.model.keys():
                self.model.pop('status', None)
            if 'metadata' in self.model.keys():
                self.rc_metadata = ObjectMeta(model=self.model['metadata'])
            if 'template' in self.model['spec'].keys():
                self.pod_spec = PodSpec(model=self.model['spec']['template']['spec'])
                self.pod_metadata = ObjectMeta(model=self.model['spec']['template']['metadata'])
        else:
            if name is None or not isinstance(name, str):
                raise SyntaxError('ReplicationController: name should be a string.')
            self.model = dict(kind='ReplicationController', apiVersion='v1')
            self.rc_metadata = ObjectMeta(name=name, namespace=namespace)

            self.model['spec'] = {
                "replicas": replicas,
                "selector": dict(name=name)
            }

            self.model['spec']['template'] = dict()
            if image is not None:
                self.pod_spec = PodSpec(name=name, image=image)
            else:
                self.pod_spec = PodSpec(name=name)
            self.pod_spec.set_restart_policy('Always')
            self.pod_metadata = ObjectMeta(name=name, namespace=namespace)
            self._update_model()
Ejemplo n.º 2
0
    def __init__(self, name=None, image=None, namespace="default", replicas=0, model=None):
        PodBasedModel.__init__(self)

        if model is not None:
            self.model = model
            # if 'status' in self.model:
            #     self.model.pop('status', None)
            if "metadata" in self.model:
                self.deployment_metadata = ObjectMeta(model=self.model["metadata"])
            if "template" in self.model["spec"]:
                self.pod_spec = PodSpec(model=self.model["spec"]["template"]["spec"])
                self.pod_metadata = ObjectMeta(model=self.model["spec"]["template"]["metadata"])

        else:
            if name is None:
                raise SyntaxError("Deployment: name: [ {0} ] cannot be None.".format(name))
            if not isinstance(name, str):
                raise SyntaxError("Deployment: name: [ {0} ] must be a string.".format(name))

            self.model = dict(kind="Deployment", apiVersion=API_VERSION)
            self.deployment_metadata = ObjectMeta(name=name, namespace=namespace)
            self.pod_metadata = ObjectMeta(name=name, namespace=namespace)

            self.model["spec"] = {"replicas": replicas, "selector": {"matchLabels": {"name": name}}}
            self.model["spec"]["template"] = dict()

            if image is not None:
                self.pod_spec = PodSpec(name=name, image=image)
            else:
                self.pod_spec = PodSpec(name=name)

            self.pod_spec.set_restart_policy("Always")

        self._update_model()
Ejemplo n.º 3
0
 def __init__(self, name=None, image=None, namespace='default', model=None):
     PodBasedModel.__init__(self)
     if model is not None:
         self.model = model
         if 'status' in self.model.keys():
             self.pod_status = PodStatus(model=self.model['status'])
         self.pod_spec = PodSpec(model=self.model['spec'])
         self.pod_metadata = ObjectMeta(model=self.model['metadata'])
     else:
         if name is None or not isinstance(name, str):
             raise SyntaxError('name should be a string.')
         self.model = dict(kind='Pod', apiVersion='v1')
         if name is not None:
             self.pod_metadata = ObjectMeta(name=name, namespace=namespace)
             self.pod_spec = PodSpec(name=name, image=image)
             self.pod_spec.set_restart_policy('Always')
             self._update_model()
Ejemplo n.º 4
0
    def __init__(self, name=None, image=None, namespace="default", model=None):
        PodBasedModel.__init__(self)

        if model is not None:
            self.model = model

            if "status" in self.model.keys():
                self.pod_status = PodStatus(model=self.model["status"])

            self.pod_spec = PodSpec(model=self.model["spec"])
            self.pod_metadata = ObjectMeta(model=self.model["metadata"])

        else:
            if name is None or not isinstance(name, str):
                raise SyntaxError("name should be a string.")

            self.model = dict(kind="Pod", apiVersion="v1")

            if name is not None:
                self.pod_metadata = ObjectMeta(name=name, namespace=namespace)
                self.pod_spec = PodSpec(name=name, image=image)
                self.pod_spec.set_restart_policy("Always")
                self._update_model()
Ejemplo n.º 5
0
 def __init__(self, name=None, image=None, namespace='default', replicas=1, model=None):
     PodBasedModel.__init__(self)