On Tue, Mar 22, 2016 at 12:25 PM, Tomas Kral <[email protected]> wrote:
> > On 03/18/2016 08:35 PM, Aaron Weitekamp wrote: > > On Tue, Mar 15, 2016 at 9:50 AM, Tomas Kral <[email protected] > > <mailto:[email protected]>> wrote: > > > > > > On 03/15/2016 02:04 PM, Aaron Weitekamp wrote: > > > On Tue, Mar 15, 2016 at 6:20 AM, Tomas Kral <[email protected] > > <mailto:[email protected]> > > > <mailto:[email protected] <mailto:[email protected]>>> wrote: > > > > > > > > > > > > On 03/14/2016 07:11 PM, Aaron Weitekamp wrote: > > > > On Mon, Mar 14, 2016 at 1:10 PM, Tomas Kral > > <[email protected] <mailto:[email protected]> <mailto:[email protected] > > <mailto:[email protected]>> > > > > <mailto:[email protected] <mailto:[email protected]> > > <mailto:[email protected] > > <mailto:[email protected]>>>> wrote: > > > > > > > > Thank you, that makes sense, but this is also what was > > afraid of :( > > > > > > > > We want to be able to export any arbitrary application > > that we know > > > > nothing about :( > > > > Now we need to figure out which object were generated > > by OpenShift > > > > internally and which one were created by developer. > > > > > > > > > > > > You're introducing an additional requirement. :) Can you > > confirm the > > > > initial problem is resolved? > > > > > > > > > > Not really, because I don't know how application was deployed. > > > My initial assumption that `oc export all` will somehow > > magically solve > > > this for every application was wrong :( > > > If I'm the one who deployed application than yes, I know > > what objects to > > > export. But if someone else created application it is hard > > for me to > > > figure out what to export. > > > > > > > > > I think we need to understand the full use case. Maybe there's > > > something that can be done to help you achieve what you're > > looking for. > > > Right now it's hard to understand why the person who did the > > original > > > deployment > > > isn't involved in the export or migration. Can you spell out what > > > you're trying to do? > > > > > > > Sure. > > > > (BTW: I'm CC'ing container-tools because we are starting to touch > > subjects that might be interesting for people there) > > > > We are trying to build tool that will allow users to export > > application > > from OpenShift as Nulecule application. > > Result should be Nulecule application with Kubernetes and OpenShift > > artifacts. > > > > We have following users stories in mind: > > > > 1. > > I create an application in OpenShift. > > Now I want to export it so it can be placed in any registry and then > > redeployed into Kubernetes or OpenShift. > > > > > > It's a good convention to add a label to every object created together, > > something like app=<thing> > > Then all of those things deployed together can be referenced, such as: > > > > oc export all -l app=<name> -n <my_namespace> --as-template=<name> > > And we are back to one of my original issues :-) > If I do this as you suggest, with 'all', then when deploying from this > template I get some SE Linux error that sadly I know nothing about :( > My current solution for this is to export everything except pods. > I just suggested using "all" to get all the things that were deployed together. We know kube doesn't understand routes or templates or deploymentconfigs or buildconfigs. So in my gist[1] I described the common openshift-kubernetes objects. [1] https://gist.github.com/aweiteka/a8bf75930e235879bcdd > > > > > > If you control the deployment you can pass this label in (web ui, oc > > new-app, API). > > > > > > > > > > 2. > > I created a new application from a bunch of 'container mirco-sevices' > > and components (i.e. a set of nested Nulecules, or templates) > > - for example, added management, added a DB etc etc. > > > > Now I want to export the new composite definition and ->Retain<- the > > granularity and nesting of my service definitions. > > > > > > I > > would recommend unique labels so you can reference things separately. > > > > > > > > Result would be set of Nulecule apps (some probably nested) and > > corresponding images that can be again placed in registry. > > > > > > 3. > > I want to create a new mirco service using OpenShift > > I want to export it for OTHER to use. > > > > > > > > Right now I'm focusing mainly on number one. > > > > > > > > > > > > > > > > > > If you're comfortable with exporting everything in a project > > then > > > > replace "all" with the set of resources Clayton listed. > > > > > > You and Clayton suggested doing `oc export dc,svc,route,is` > > but what if > > > application also includes ReplicationControllers that were > > created > > > directly without DeploymentConfig? > > > For example I have RC that was created "directly by user" and > > other RC > > > that was created by DC. Now I need to export only first RC and > > instead > > > of second one I should export DC. > > > > > > It looks like, that for our use case, we need to export 'all' > > and than > > > do some filtering. > > > This is was what my followup question was about. > > > > > > Is there a way how to figure out what objects were created by > > user and > > > what objects were generated by OpenShift? > > > Can annotations that I have mentioned be used for this? > > > > > > > It is > > > > dangerously presumptive that there's only one > > "application" in a > > > > project. You may export unexpected objects depending on what > > the user > > > > has deployed in the project. > > > > > > This is deliberate simplification to make things little easier > > for us. > > > We are exporting whole project, because right now I don't have > > any idea > > > how we are going to decide what is "one application" or how > > user of this > > > exporter should specify this. > > > > > > > > > > > > > > > I can see that ReplicationController that is generated by > > > > DeploymentConfig has annotation > > 'openshift.io/deployment-config.name > > <http://openshift.io/deployment-config.name> > > > <http://openshift.io/deployment-config.name> > > > > <http://openshift.io/deployment-config.name>: > > > > ...' and same apply for its Pods. > > > > > > > > For Pod that was created by ReplicationController (that > > is not from > > > > DeploymentConfig) I see annotation > > 'kubernetes.io/created-by <http://kubernetes.io/created-by> > > <http://kubernetes.io/created-by> > > > > <http://kubernetes.io/created-by>: ...' > > > > > > > > Can we rely on those annotations to decide what to > > export and what to > > > > leave behind? Is this documented somewhere? > > > > > > > > > > > > > > > > > > > > On 03/14/2016 04:48 PM, Clayton Coleman wrote: > > > > > Export is a lower level tool that does not *exactly* > > export an entire > > > > > application, but rather tries to give you the tools to > > build it. > > > > > > > > > > I would suggest instead of running "oc export all", > > you try "oc export > > > > > dc,svc,route,is". "all" includes pods, replication > > controllers, > > > > > build configs, and builds, some of which you do not > > need. We expect > > > > > at some point in the future to have a higher level > > "export-app" > > > > > command, but when you export you need to determine > > what you want to > > > > > copy over and what you want to leave behind. > > > > > > > > > > On Mon, Mar 14, 2016 at 11:13 AM, Tomas Kral > > <[email protected] <mailto:[email protected]> <mailto:[email protected] > > <mailto:[email protected]>> > > > > <mailto:[email protected] <mailto:[email protected]> > > <mailto:[email protected] <mailto:[email protected]>>>> wrote: > > > > >> Hi all, > > > > >> I'm working on project where we are basically using > `oc > > > export` for > > > > >> exporting project and importing it to another > OpenShift > > > instance. > > > > >> > > > > >> But it is not working as I would expect. > > > > >> > > > > >> My understanding of export feature is that it can > > be used > > > to move > > > > >> objects between clusters or projects and I can use `oc > > > export all` to > > > > >> move/copy whole project. > > > > >> > > > > >> I've deployed MLB Parks sample application > > > > >> (https://github.com/gshipley/openshift3mlbparks) > > > > >> > > > > >> Then I'm trying to move it to another project on same > > cluster > > > > using command: > > > > >> > > > > >> oc -n mlbparks export all | oc -n import create -f - > > > > >> > > > > >> > > > > >> But I get following errors: > > > > >> > > > > >> Error from server: replicationControllers "mongodb-1" > > > already exists > > > > >> Error from server: Pod "mlbparks-1-build" is > forbidden: > > > unable to > > > > >> validate against any security context constraint: > > ...... > > > > >> > > > > >> Rest of the error and all steps that I'm doing are > > here: > > > > >> http://paste.fedoraproject.org/339618/96469114/ > > > > >> > > > > >> > > > > >> I'm running Origin v1.1.1 > > > > >> > > > > >> > > > > >> Is there something that is fundamentally wrong with my > > > > understanding of > > > > >> `oc export`? > > > > >> > > > > >> > > > > >> -- > > > > >> Tomas > > > > >> > > > > >> _______________________________________________ > > > > >> dev mailing list > > > > >> [email protected] > > <mailto:[email protected]> > > > <mailto:[email protected] > > <mailto:[email protected]>> > > > > <mailto:[email protected] > > <mailto:[email protected]> > > > <mailto:[email protected] > > <mailto:[email protected]>>> > > > > >> > > http://lists.openshift.redhat.com/openshiftmm/listinfo/dev > > > > > > > > _______________________________________________ > > > > dev mailing list > > > > [email protected] > > <mailto:[email protected]> > > > <mailto:[email protected] > > <mailto:[email protected]>> > > > <mailto:[email protected] > > <mailto:[email protected]> > > > <mailto:[email protected] > > <mailto:[email protected]>>> > > > > > http://lists.openshift.redhat.com/openshiftmm/listinfo/dev > > > > > > > > > > > > > > > > > > > >
_______________________________________________ Container-tools mailing list [email protected] https://www.redhat.com/mailman/listinfo/container-tools
