final questions

19 views
Skip to first unread message

can...@intrinsic.world

unread,
Jan 11, 2016, 1:05:40 PM1/11/16
to fabric8

Hi,

I am almost fully set up. Thank you all for your help (also got very valuable input from the OpenShift mailing-list). It is starting to look better and better :-)

1) Because I couldn't find a way to create a one-server-install with the ansible provisioning scripts (which are great), I couldn't figure out how to properly route fabric8 to the worker node. I ran `gofabric8 -y -d node-subdomain` on the master node, but ended up having a route that references the master server; it is however installed under the node machine and to access it I had to add a /etc/hosts rule on my machine that looks like this:

<node-ip>                  fabric8.<master-subdomain>

...which is rather awkward. Obviously I did something wrong, but I couldn't find documentation on the correct way to proceed in a 1 master/1 node setup.

2) According to the documentation, fabric8 needs 8Gb, as does OpenShift. Are those 8Gb on top of the OpenShift-required 8Gb? What is an optimal setup in terms of RAM for a 1 master/1 node installment?

Cheers,

Candide

Christian Posta

unread,
Jan 11, 2016, 2:08:57 PM1/11/16
to can...@intrinsic.world, fabric8
On Mon, Jan 11, 2016 at 11:05 AM, <can...@intrinsic.world> wrote:

Hi,

I am almost fully set up. Thank you all for your help (also got very valuable input from the OpenShift mailing-list). It is starting to look better and better :-)
Awesome!  

1) Because I couldn't find a way to create a one-server-install with the ansible provisioning scripts (which are great), I couldn't figure out how to properly route fabric8 to the worker node. I ran `gofabric8 -y -d node-subdomain` on the master node, but ended up having a route that references the master server; it is however installed under the node machine and to access it I had to add a /etc/hosts rule on my machine that looks like this:

<node-ip>                  fabric8.<master-subdomain>

...which is rather awkward. Obviously I did something wrong, but I couldn't find documentation on the correct way to proceed in a 1 master/1 node setup.

Wondering if you just have all of your nodes under a single DNS namespace like "*.apps.domain.com"
and master would be at "master.domain.com" That way you don't need to worry about routing apps on specific nodes (since it really shouldn't matter). Add something like this in your subdomain: 


2) According to the documentation, fabric8 needs 8Gb, as does OpenShift. Are those 8Gb on top of the OpenShift-required 8Gb? What is an optimal setup in terms of RAM for a 1 master/1 node installment?

For fabric8 vagrant image we need 8G to be able to run the CI/CD app because we end up running Jenkins, Nexus, Gogs, forge backends, and when doing builds we start off with a fresh jenkins workspace, so we tend to need more memory to builds, etc. If you have multiple nodes, you can spread out those containers onto those nodes, and so the requirement isn't as strict for all nodes. In any event, capacity planning for OpenShift w/ or w/o fabric8 would still need to keep in mind what kind of apps/processing you're gonna be doing. I'd think 8GB boxes for a master and 1 node (where the master can also run containers) would be more than sufficient. If you've set it up so that only the single node can run containers, then you'll want to make sure it has appropriate Memory for the CI/CD apps if you intend to run those. 

HTH!

Glad you're making progress! Let us know if you run into anything else! 
 
Cheers,

Candide

--
You received this message because you are subscribed to the Google Groups "fabric8" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fabric8+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Christian Posta
twitter: @christianposta

can...@intrinsic.world

unread,
Jan 12, 2016, 2:52:44 PM1/12/16
to fabric8, can...@intrinsic.world
Wondering if you just have all of your nodes under a single DNS namespace like "*.apps.domain.com"
and master would be at "master.domain.com" That way you don't need to worry about routing apps on specific nodes (since it really shouldn't matter). Add something like this in your subdomain: 


2) According to the documentation, fabric8 needs 8Gb, as does OpenShift. Are those 8Gb on top of the OpenShift-required 8Gb? What is an optimal setup in terms of RAM for a 1 master/1 node installment?



So I had previously added the `osm_default_subdomain` directive in the wrong place. Now that that the inventory file is properly laid out, the ansible scrips have completed successfully.

Now the question arises: do I use the -d switch when deploying fabric8 with `gofabric8 deploy`?

Things I've noticed:
- if nothing is specified (no -d switch) gofabricate will route the fabric8 service with fabric8.vagrant.f8 which is obviously irrelevant
- if the subdomain generic is used with the -d switch then the route will be pointing the right direction but then when I go there, I will be redirected to an oauth authorization page that has the wrong subdomain (the node one); if I change the url to the master subdomain, I will hit the oauth page but then after authenticating I will briefly revisit the fabric8 page only to be redirected to the 404'ing oauth page again.

Looks like an inextricable conundrum to me.

Any ideas?

Candide
 

Christian Posta

unread,
Jan 12, 2016, 4:54:21 PM1/12/16
to can...@intrinsic.world, fabric8
Yah, it's a known issue at the moment unfortunately: https://github.com/fabric8io/fabric8/issues/5219

The work around is to create the app with the -d argument to be that of the master (master.vagrant.f8) and then when the route is created (fabric8.master.vagrant.f8) then delete that route and re-create the *routes* with the *.apps.vagrant.f8 subdomain like this:

> gofabric8 deploy --domain=master.vagrant.f8
> oc delete route fabric8.vagrant.f8
> gofabric8 routes --domain apps.vagrant.f8

after that, make sure you also have the oauth client set up to allow "fabric8.apps.vagrant.f8" to be authenticated:

oc get oauthclient fabric8 -o yaml >> oauthclient.yaml

edit oauthclient.yaml so that "fabric8.apps.vagrant.f8" appears at the end of the list, then 

oc replace -f oauthclient.yaml

and you should be good to go :)

let me know if you have other issues!



--
You received this message because you are subscribed to the Google Groups "fabric8" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fabric8+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

can...@intrinsic.world

unread,
Jan 12, 2016, 5:13:42 PM1/12/16
to fabric8, can...@intrinsic.world

 Awesome! This thing is finally working.
 I must say it is sometimes confusing that everything seems to be setup by default to use vagrant, which feels a bit toy-ish to me.

 Thank a lot,

 Candide

Christian Posta

unread,
Jan 12, 2016, 5:16:01 PM1/12/16
to can...@intrinsic.world, fabric8
On Tue, Jan 12, 2016 at 3:13 PM, <can...@intrinsic.world> wrote:

 Awesome! This thing is finally working.
Woohoo! 
 
 I must say it is sometimes confusing that everything seems to be setup by default to use vagrant, which feels a bit toy-ish to me.

Yah we're working on the rough edges :) Love to have people join the efforts :) Any contribution is worthwhile (code, docs, creating issues, mailing list questions, etc) so thanks for staying with it :)

can...@intrinsic.world

unread,
Jan 13, 2016, 5:49:42 AM1/13/16
to fabric8, can...@intrinsic.world
Hey Christian,

I spoke too fast. So at some point when I wanted to create a new project, the console just hung. I figured it could be due to the fact that I installed the console by individually downloading its template and that it was probably missing other components. So I decided to scratch it one more time but this time to document everything I did.

Here are my notes: https://www.evernote.com/shard/s40/sh/ef75586d-67fa-4065-a240-b6055024f9f9/d7e852f21b8c55a2

My problem now is that, although I did exactly as you prescribed, I'm getting a redirect loop to the oauth authorize page. You can try it by yourself, you know the password ;-)

https://paas.intrinsic.world:8443/

go to default, the choose the fabric8 pod, click its link

What am I still missing?

Cheers!

Candide

can...@intrinsic.world

unread,
Jan 13, 2016, 7:01:09 AM1/13/16
to fabric8, can...@intrinsic.world

Found it:

I forgot to add

corsAllowedOrigins:
  - .*

to master-config.yaml

(Just updated my notes)

Cheers,

Candide


Reply all
Reply to author
Forward
0 new messages