#solum

/

      • devkulkarni
        have been busy with other stuff
      • noorul
        I think we should concentrate on one stuff at one time
      • devkulkarni
        do you want to chat now (have half an hour) or we could do it tomorrow for more time
      • yes
      • noorul
        half an hour today is fine
      • never know what happens tomorrow
      • devkulkarni
        okay. :)
      • give me few mins.
      • let me dig up the email
      • noorul
        ok
      • devkulkarni
        you mentioned using the build-api service to build an image corresponding to custom lang pack and upload it to glance.. makes sense to me.
      • in the irc meeting another point of view came up as well.
      • noorul
        What will be the input to build-api and what will be the output
      • what is that?
      • devkulkarni
        let me explain the other pov. a custom lang pack is nothing but a image with a predefined entry point (a wellknown script at a wellknown location on that image).
      • we did not go much further on that line of thought. we could explore that right now.
      • so lets say app developer wants a custom lang pack with chef related testing tools (chef spec, test kitchen, etc.)..
      • noorul
        And that script takes care of setting up the environment
      • devkulkarni
        yes.
      • but continuing with above example, an app developer would still need to provide that script
      • noorul
        So now the onus is on the developer to provide the image with this script.
      • devkulkarni
        or have a hook that calls some other script to setup the environment
      • aratim1 has quit
      • aratim joined the channel
      • paulczar is now known as zz_paulczar
      • aratim has quit
      • that is one view. operator could also make available some base image
      • aratim joined the channel
      • and app developer customizes it (by providing the script)
      • noorul
        base image which pulls a script from common location?
      • devkulkarni
        and common location being swift?
      • noorul
        metadata?
      • devkulkarni
        explain more..
      • noorul
      • philwhln joined the channel
      • devkulkarni
        oh okay.. so you are saying we could store the script in the metadata service
      • noorul
        yes
      • or the location of the script
      • devkulkarni
        yeah, in the case the script itself could be some place else.
      • noorul
        So, solum assumes that developer has the correct image
      • devkulkarni
        okay.. so going back to the use-case of chef.. as an app developer I write the script to install the required packages and upload it to metadata service. Then I call lang pack api (something like, POST /language-packs with {base_image_id, script location} as data
      • noorul
        which will bootstrap to setup required environment
      • devkulkarni
        I was thinking that solum will provide certain base images
      • it will be developers responsibility to provide and use the right script
      • developer might have a single script to work with different OS flavors
      • dimtruck is now known as zz_dimtruck
      • we could use the build-api resource actually
      • noorul
        for what?
      • devkulkarni
        instead of the language-packs resource
      • i mean for the POST kind of call.. its a minor point though
      • main idea is developer asks solum to create a custom language pack (image) by specifying two things:
      • - base image id (already available in Solum)
      • - location of a script
      • gokrokve joined the channel
      • noorul
        If we are going to go with this approach, I don't think we should care about this at all
      • devkulkarni
        care about what?
      • noorul
        base image and location of the script
      • why do you think we need that?
      • aratim has left the channel
      • devkulkarni
        how so? wouldn't Solum need to know what base image to start with and what script to inject in the wellknown location on the image and then invoke it?
      • noorul
        instead developer can give the image
      • devkulkarni
        yes, for that use case, solum is would not be really helping create custom lang packs at all.. solum will be basically supporting use of custom lang packs
      • noorul
        yes
      • devkulkarni
        may be that is okay.
      • in that case,
      • zz_dimtruck is now known as dimtruck
      • solum just needs to prescribe the wellknown location
      • right?
      • noorul
        the case where developer has no intention to provide the image and rather use some image that solum certifies?
      • along with a script?
      • devkulkarni
        what about that use case? it would still not require anything different from solum as compared to when users register their image, right?
      • noorul
        I think we are discussing two cases here
      • 1. In which developer already has an image. He uploads the image to glance. Gets the image id. Creates the language pack with this id.
      • TravT joined the channel
      • devkulkarni
        yes, that is one use case
      • noorul
        2. We provide a base image and developer provides a script to customize the image to get a new one and upload it.
      • devkulkarni
        totally agree.. and I thought you were suggesting that use case 2 we should not consider..
      • noorul
        My concern is, if we provide the base image, do we need to support that image.
      • There will be issues raised against that image
      • by the user
      • devkulkarni
        if an operator supports any image, then yes, they would have to keep up with patches etc. on those images
      • but that would be a standard operator procedure, right?
      • noorul
        you said solum providing base image.
      • IlyaE has quit
      • For the first case, do we have anything specific to work on?
      • devkulkarni
        what I meant was, for use case 2, yes - solum operator can provide base image
      • for use case 1
      • noorul
        ah
      • aratim joined the channel
      • so you emant solum operator. I thought solum project will host.
      • devkulkarni
        sorry. yeah, I meant solum operator
      • so for use case 1, the main thing that jumps out is ability to 'tag' images with keywords so that a developer can do glance-list (or GET /langaugage-packs/) and get back results that identifies what each custom lang pack contains
      • noorul
        I think the idea of language pack is to provide metadata about the image.
      • aratim has quit
      • aratim joined the channel
      • harlowja_away is now known as harlowja_
      • devkulkarni
        it is.. so I don't think we need anything additional except for tags to support first use case
      • noorul
        I am yet to understand why do we need tags?
      • devkulkarni
        as an app developer, I may have several custom lang packs (one for chef, one for c#, etc.).
      • gokrokve_ joined the channel
      • zz_paulczar is now known as paulczar
      • adrian_otto
        guys, I'd rather not be in the business of developing and supporting language packs
      • devkulkarni
        so some way to know what each contains (glance image ids would not be useful here)
      • adrian_otto
        as an open source project
      • there are build packs already out there that others are supporting, and that work fine
      • let's provide mechanisms to pull in and use those
      • and allow solum operators to provide their own
      • devkulkarni
        which specifically you have in mind?
      • alexheneveld has quit
      • adrian_otto
        the Heroku ones and the CF ones would be a great start
      • devkulkarni
        heroku, openshift, cf, each are bit different
      • adrian_otto
        and we may want to add openshift cartridges as well
      • noorul
        adrian_otto: Solum doesn't care about which does not fit into these packs
      • adrian_otto
        but we should not put ourselves in a position where we are being prescriptive about how a particular language should be build, tested or run.
      • let the experts in each language determine that organically
      • gokrokve has quit
      • noorul: I do not understand your remark
      • noorul
        adrian_otto: I do not think everyone is using heroku or whatever you mentioned above.
      • devkulkarni
        okay. thats a fair point. noorul, need to leave, will sync back again to find out what comes out of your and adrian_otto's discussion
      • adrian_otto
        as long as there is a way for a cloud operator (and optionally an end user of Solum) to register his/her own LP, then what compatibility features we have for popular runtimes is a non-issue.
      • we just offer an example environment, and instructions for how to set up your own
      • noorul
        I was trying to solve a use case in my company
      • adrian_otto
        and that's really not going to be that hard. It's creating a container image with a script in it. The script name is either fixed, or specified in the plan file. Sone.
      • s/Sone/Done/
      • noorul: ok, tell me more about that use case please
      • alexheneveld joined the channel
      • noorul
        adrian_otto: Was this discussed earlier? Having a script in plan file?
      • aratim has quit
      • adrian_otto
        the script can be within the container image specified by the LP, and the name of it can be in the plan file (if the default script name is not sued for some reason)
      • s/sued/used/
      • noorul
      • adrian_otto
        for example, maybe we execute /opt/build.sh and /opt/test.sh by default, and if you want something different, then you can specify it…. perhaps as part of the pipeline.
      • noorul
        makes sense
      • adrian_otto
      • you have a custom language pack, and a custom pipeline in that case
      • at the end of the testing pipeline, you produce a container image that has the start/stop script in the init scripts
      • noorul
        Yes, that is what we were discussing.
      • adrian_otto
        then when that image is deployed, the start script gets called, and your app starts
      • so that use case should be fully supported, provided the developer makes the LP and registers it.
      • noorul
        The question are we there?
      • IlyaE joined the channel
      • Or do we have some coding left to be there?
      • adrian_otto
        we do not have pipelines that can be changed by users yet
      • so you would be limited to what the default workflow does today
      • noorul
        Also we only deal with docker
      • adrian_otto
        there is a working VM build as well
      • noorul
        Hmm james-li was struggling to write functional tests without docker
      • adrian_otto
        yes, because we wanted our default CI to use Docker so we did not add 20+ minutes of time to every gate check
      • we could have tests that do VM creation in the build instead of a Docker build
      • they just run slower