You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@slider.apache.org by Chengeng Ou <cg...@freewheel.tv> on 2017/02/16 12:21:13 UTC

slider docker image name update problem

Hi, All.
I’m using slider to deploy dockers. Docker image name is written in metainfo.template.
However, I want to update docker image name, because a new image is published. So, I configure the new name in appConfigure.json, and type a command like “slider update appName --template appConfig.json”, hoping new configuration can override the old one in metainfo.template.
However, it returns an error: “ERROR main.ServiceLauncher - App definition must be packaged as a .zip file. File provided is”. But as for docker app, there’s no zip file.

I want to ask how can I achieve my goal, that is to configure a new docker image name in configuration. So any new instances will start with the new image one when I use “slider flex xxx –component +1”.

Thanks,
Chengeng

Re: slider docker image name update problem

Posted by Gour Saha <gs...@hortonworks.com>.
Sorry, the 2 dashes for --resources <res_file> got modified to a weird
character. Anyway, I meant pass the resources json with --resources option
along with the --template option.


On 2/17/17, 6:13 PM, "Gour Saha" <gs...@hortonworks.com> wrote:

>First, I think slider update requires you to pass ‹resources <res_file> as
>well, otherwise it messes up the internal resource state.
>
>Second, Slider update will not make any change to your running app. It
>will just update the hdfs state store which will not take effect until you
>do stop and start again. Or as Billie mentioned, you can do "slider
>upgrade² instead of update and do a rolling restart of your containers.
>Refer to the upgrade site documentation for more details.
>
>Third, can you set ³application.def" in your appConfig json file to
>".slider/cluster/<app_name>/appdef/appPkg.zip² (set <app_name> to your
>application name) and retry update or upgrade whichever one you want?
>
>
>-Gour
>
>On 2/17/17, 7:56 AM, "Billie Rinaldi" <bi...@gmail.com> wrote:
>
>>When using the Docker capability of the Agent Provider, the metainfo is
>>zipped into a simple app definition for compatibility with the old method
>>of providing app packages. You might want the slider upgrade command,
>>although I think that will restart existing containers in addition to
>>having new containers use a new configuration. Update is only for
>>changing
>>the appConfig, while upgrade can change the metainfo for an app. (I am
>>not
>>completely sure upgrade works with docker mode because I haven't tried
>>it,
>>but in browsing the code I am not seeing anything that makes me think it
>>won't work.)
>>
>>On Thu, Feb 16, 2017 at 4:21 AM, Chengeng Ou <cg...@freewheel.tv> wrote:
>>
>>> Hi, All.
>>> I¹m using slider to deploy dockers. Docker image name is written in
>>> metainfo.template.
>>> However, I want to update docker image name, because a new image is
>>> published. So, I configure the new name in appConfigure.json, and type
>>>a
>>> command like ³slider update appName --template appConfig.json², hoping
>>>new
>>> configuration can override the old one in metainfo.template.
>>> However, it returns an error: ³ERROR main.ServiceLauncher - App
>>>definition
>>> must be packaged as a .zip file. File provided is². But as for docker
>>>app,
>>> there¹s no zip file.
>>>
>>> I want to ask how can I achieve my goal, that is to configure a new
>>>docker
>>> image name in configuration. So any new instances will start with the
>>>new
>>> image one when I use ³slider flex xxx ­component +1².
>>>
>>> Thanks,
>>> Chengeng
>>>
>
>


Re: slider docker image name update problem

Posted by Gour Saha <gs...@hortonworks.com>.
First, I think slider update requires you to pass ‹resources <res_file> as
well, otherwise it messes up the internal resource state.

Second, Slider update will not make any change to your running app. It
will just update the hdfs state store which will not take effect until you
do stop and start again. Or as Billie mentioned, you can do "slider
upgrade² instead of update and do a rolling restart of your containers.
Refer to the upgrade site documentation for more details.

Third, can you set ³application.def" in your appConfig json file to
".slider/cluster/<app_name>/appdef/appPkg.zip² (set <app_name> to your
application name) and retry update or upgrade whichever one you want?


-Gour

On 2/17/17, 7:56 AM, "Billie Rinaldi" <bi...@gmail.com> wrote:

>When using the Docker capability of the Agent Provider, the metainfo is
>zipped into a simple app definition for compatibility with the old method
>of providing app packages. You might want the slider upgrade command,
>although I think that will restart existing containers in addition to
>having new containers use a new configuration. Update is only for changing
>the appConfig, while upgrade can change the metainfo for an app. (I am not
>completely sure upgrade works with docker mode because I haven't tried it,
>but in browsing the code I am not seeing anything that makes me think it
>won't work.)
>
>On Thu, Feb 16, 2017 at 4:21 AM, Chengeng Ou <cg...@freewheel.tv> wrote:
>
>> Hi, All.
>> I¹m using slider to deploy dockers. Docker image name is written in
>> metainfo.template.
>> However, I want to update docker image name, because a new image is
>> published. So, I configure the new name in appConfigure.json, and type a
>> command like ³slider update appName --template appConfig.json², hoping
>>new
>> configuration can override the old one in metainfo.template.
>> However, it returns an error: ³ERROR main.ServiceLauncher - App
>>definition
>> must be packaged as a .zip file. File provided is². But as for docker
>>app,
>> there¹s no zip file.
>>
>> I want to ask how can I achieve my goal, that is to configure a new
>>docker
>> image name in configuration. So any new instances will start with the
>>new
>> image one when I use ³slider flex xxx ­component +1².
>>
>> Thanks,
>> Chengeng
>>


Re: slider docker image name update problem

Posted by Billie Rinaldi <bi...@gmail.com>.
When using the Docker capability of the Agent Provider, the metainfo is
zipped into a simple app definition for compatibility with the old method
of providing app packages. You might want the slider upgrade command,
although I think that will restart existing containers in addition to
having new containers use a new configuration. Update is only for changing
the appConfig, while upgrade can change the metainfo for an app. (I am not
completely sure upgrade works with docker mode because I haven't tried it,
but in browsing the code I am not seeing anything that makes me think it
won't work.)

On Thu, Feb 16, 2017 at 4:21 AM, Chengeng Ou <cg...@freewheel.tv> wrote:

> Hi, All.
> I’m using slider to deploy dockers. Docker image name is written in
> metainfo.template.
> However, I want to update docker image name, because a new image is
> published. So, I configure the new name in appConfigure.json, and type a
> command like “slider update appName --template appConfig.json”, hoping new
> configuration can override the old one in metainfo.template.
> However, it returns an error: “ERROR main.ServiceLauncher - App definition
> must be packaged as a .zip file. File provided is”. But as for docker app,
> there’s no zip file.
>
> I want to ask how can I achieve my goal, that is to configure a new docker
> image name in configuration. So any new instances will start with the new
> image one when I use “slider flex xxx –component +1”.
>
> Thanks,
> Chengeng
>