Ejemplo n.º 1
0
def generate_pod_spec_for_task():
    pod_spec = generated_pb2.PodSpec()
    secondary_container = generated_pb2.Container(
        name="secondary",
        image="alpine",
    )
    secondary_container.command.extend(["/bin/sh"])
    secondary_container.args.extend(
        ["-c", "echo hi sidecar world > /data/message.txt"])
    shared_volume_mount = generated_pb2.VolumeMount(
        name="shared-data",
        mountPath="/data",
    )
    secondary_container.volumeMounts.extend([shared_volume_mount])

    primary_container = generated_pb2.Container(name="primary")
    primary_container.volumeMounts.extend([shared_volume_mount])

    pod_spec.volumes.extend([
        generated_pb2.Volume(name="shared-data",
                             volumeSource=generated_pb2.VolumeSource(
                                 emptyDir=generated_pb2.EmptyDirVolumeSource(
                                     medium="Memory", )))
    ])
    pod_spec.containers.extend([primary_container, secondary_container])
    return pod_spec
Ejemplo n.º 2
0
def generate_pod_spec_for_task():
    pod_spec = generated_pb2.PodSpec()

    # Primary containers do not require us to specify an image, the default image built for flyte tasks will get used.
    primary_container = generated_pb2.Container(name="primary")

    # Note: for non-primary containers we must specify an image.
    secondary_container = generated_pb2.Container(
        name="secondary",
        image="alpine",
    )
    secondary_container.command.extend(["/bin/sh"])
    secondary_container.args.extend(
        ["-c", "echo hi pod world > {}".format(_SHARED_DATA_PATH)])

    resources = generated_pb2.ResourceRequirements()
    resources.limits["cpu"].CopyFrom(Quantity(string="1"))
    resources.requests["cpu"].CopyFrom(Quantity(string="1"))
    resources.limits["memory"].CopyFrom(Quantity(string="100Mi"))
    resources.requests["memory"].CopyFrom(Quantity(string="100Mi"))
    primary_container.resources.CopyFrom(resources)
    secondary_container.resources.CopyFrom(resources)

    shared_volume_mount = generated_pb2.VolumeMount(
        name="shared-data",
        mountPath="/data",
    )
    secondary_container.volumeMounts.extend([shared_volume_mount])
    primary_container.volumeMounts.extend([shared_volume_mount])

    pod_spec.volumes.extend([
        generated_pb2.Volume(
            name="shared-data",
            volumeSource=generated_pb2.VolumeSource(
                emptyDir=generated_pb2.EmptyDirVolumeSource(medium="Memory",
                                                            )),
        )
    ])
    pod_spec.containers.extend([primary_container, secondary_container])
    return pod_spec
Ejemplo n.º 3
0
def generate_pod_spec_for_task():
    pod_spec = generated_pb2.PodSpec()

    primary_container = generated_pb2.Container(name="primary")

    secondary_container = generated_pb2.Container(
        name="secondary",
        image="alpine",
    )
    secondary_container.command.extend(["/bin/sh"])
    secondary_container.args.extend(
        ["-c", "echo hi sidecar world > {}".format(_SHARED_DATA_PATH)])

    resources = generated_pb2.ResourceRequirements()
    resources.limits["cpu"].CopyFrom(Quantity(string="1"))
    resources.requests["cpu"].CopyFrom(Quantity(string="1"))
    resources.limits["memory"].CopyFrom(Quantity(string="100Mi"))
    resources.requests["memory"].CopyFrom(Quantity(string="100Mi"))
    primary_container.resources.CopyFrom(resources)
    secondary_container.resources.CopyFrom(resources)

    shared_volume_mount = generated_pb2.VolumeMount(
        name="shared-data",
        mountPath="/data",
    )
    secondary_container.volumeMounts.extend([shared_volume_mount])
    primary_container.volumeMounts.extend([shared_volume_mount])

    pod_spec.volumes.extend([
        generated_pb2.Volume(name="shared-data",
                             volumeSource=generated_pb2.VolumeSource(
                                 emptyDir=generated_pb2.EmptyDirVolumeSource(
                                     medium="Memory", )))
    ])
    pod_spec.containers.extend([primary_container, secondary_container])
    return pod_spec