Skip to content
This repository has been archived by the owner on Jan 19, 2018. It is now read-only.

Path for Storage, version bounce #203

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

goern
Copy link
Contributor

@goern goern commented Mar 17, 2016

  • add path to storage requirement
  • bounced to version 0.1.0, lets start using semantic versioning!

closed #193

* bounced to version 0.1.0, lets start using semantic versioning!
@goern goern added the feature label Mar 17, 2016
@cdrage
Copy link
Member

cdrage commented Mar 17, 2016

Version bouncing sounds good to me, lot's have changed since 0.2.0

I agree with the storage requirement, adding in path makes sense. How would it be to implement for kubernetes?

And how do we specify which containers use which volume mounts via the persistent storage integration?

I'm assuming using a volume mount?

POST: 

kind: Pod
apiVersion: v1
metadata:
  name: mypod
spec:
  containers:
    - image: nginx
      name: myfrontend
      volumeMounts:
      - mountPath: "/var/www/html"
        name: mypd
  volumes:
    - name: mypd
      source:
        persistentVolumeClaim:
         accessMode: ReadWriteOnce
         claimRef:
           name: myclaim-1

For docker we pass the path and then for openshift it's interconnect with k8s anyways, so no issues there.

@goern
Copy link
Contributor Author

goern commented Mar 17, 2016

@cdrage ja, the example looks good to me.

@cdrage
Copy link
Member

cdrage commented Mar 17, 2016

Okay so this looks good to me.

Although our kubernetes examples people will still have to specify the persistent volume, for ex:

spec:
  containers:
    - image: nginx
      name: myfrontend
      volumeMounts:
      - mountPath: "/var/www/html"
        name: mypd

The persistent volume requirement that we adding will solve the ability for creating persistent volume claims, but we still will need to declare it (possibly a parameter?) within each container artifact of Kubernetes which claim they will be using.

Perhaps in the future we can actually assign persistent volumes to each nulecule container.

If that makes sense 😕

@cdrage
Copy link
Member

cdrage commented Mar 17, 2016

Here's a (future) example were we possibly support a persistent volume per inherited app.

graph:
  - name: mariadb-centos7-atomicapp
    source: docker://projectatomic/mariadb-centos7-atomicapp
    volumes:
     - mariadb

  - name: helloapache-app
    params:
      - name: image
        description: The webserver image
        default: centos/httpd
      - name: hostport
        description: The host TCP port as the external endpoint
        default: 80
    artifacts:
      docker:
        - file://artifacts/docker/hello-apache-pod_run
      kubernetes:
        - file://artifacts/kubernetes/hello-apache-pod.json
      openshift:
        - inherit:
          - kubernetes
      marathon:
        - file://artifacts/marathon/helloapache.json
    volumes:
       - foobar
       - var-log-httpd

requirements:
  - persistentVolume:
      name: "var-log-httpd"
      accessMode: "ReadWriteOnce"
      size: 4
      path: "/var/log/httpd.log"
  - persistentVolume:
      name: "mariadb"
      accessMode: "ReadWriteOnce"
      size: 20
      path: "/database/folder"
  - persistentVolume:
      name: "foobar"
      accessMode: "ReadWriteMany"
      size: 10
      path: "/foo/bar"

@goern
Copy link
Contributor Author

goern commented Mar 17, 2016

ja we can, any proposal for a mapping? :)

@cdrage
Copy link
Member

cdrage commented Mar 18, 2016

    volumes:
       - foobar
       - var-log-httpd

:)

@cdrage
Copy link
Member

cdrage commented Apr 1, 2016

ping @goern @aweiteka @vpavlin

thoughts on the proposal I posted in the comment above?

@aweiteka
Copy link
Contributor

aweiteka commented Apr 1, 2016

Looks fine to me.

@cdrage
Copy link
Member

cdrage commented Jun 6, 2016

Since we're not going to be going further with the storage requirement in Nulecule, should we close this issue?

@goern
Copy link
Contributor Author

goern commented Jun 7, 2016

Why should we not declare deployment time requirements of an application within the Nulecule Spec?

@cdrage
Copy link
Member

cdrage commented Jun 7, 2016

@goern Because Nulecule will be focusing on deployment and distribution rather than implementing requirements such as persistent storage, which will be up to the user to implement.

@goern
Copy link
Contributor Author

goern commented Jun 7, 2016

Could you please write up the user stories so that we can figure out what 'deployment' and what 'implement requirements' is

@cdrage
Copy link
Member

cdrage commented Jun 8, 2016

@dustymabe are you able to help explain to @goern ? I'm not too good at explaining as to what happened at the face-to-face.

Essentially, in regards to Nulecule, we're focusing on the distributing and deployment of applications. Being able to package multi-container applications into one format (whether it is Docker container, .tar.gz, etc.) and being able to launch them.

The persistent storage doesn't fit into this situation and should be left to the user/client to decide what to use.

@cdrage
Copy link
Member

cdrage commented Jun 8, 2016

Unless I'm wrong and this should stay.. but if it does, we should implement more features other than persistent storage (maybe scaling?) so it's more viable than it is now...

We should discuss this further

@cdrage
Copy link
Member

cdrage commented Jun 15, 2016

@goern we're you able to understand as to we no longer require the persistent-storage dependency? We can discuss this in the open issue about it :)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Persistent storage types
3 participants