Juju: Difference between revisions

No edit summary
No edit summary
Line 1: Line 1:
[[wp:Juju (software)|Juju]] (formerly Ensemble) is an open source service orchestration management tool developed by Canonical Ltd., the company behind [[Ubuntu]]. Juju allows software to be quickly deployed, integrated and scaled on a wide choice of cloud services or servers.
[[wp:Juju (software)|Juju]] (formerly Ensemble) is an open source service orchestration management tool developed by Canonical Ltd., the company behind [[Ubuntu]]. Juju allows software to be quickly deployed, integrated and scaled on a wide choice of cloud services or servers.


Juju can deploy to LXC (for local environments), OpenStack (for HP Cloud), Windows Azure, Joyent or Amazon EC2
Juju can deploy to LXC <ref>See also: [[Docker]]</ref> (for local environments), OpenStack (for HP Cloud), Windows Azure, Joyent or Amazon EC2


Kapil Thangavelu wrote [https://github.com/kapilt/juju-digitalocean JuDo] - A juju provider for digital ocean using a client side plugin and manual provisioning.
Kapil Thangavelu wrote [https://github.com/kapilt/juju-digitalocean JuDo] - A juju provider for [[Digital Ocean]] using a client side plugin and manual provisioning.


== Links ==
== Links ==
Line 36: Line 36:
</source>
</source>


You'll end up with an address like this
You'll end up with an address like this <ref>
When setting up a service on EC2, make sure to obtain and assign an "elastic IP" so that the instance has a static IP.  Otherwise every shutdown will result in a different public IP address being assigned to the instance.
</ref>
http://52.5.215.128/mediawiki/index.php/Special:Version
http://52.5.215.128/mediawiki/index.php/Special:Version
with  
with  
* MediaWiki <code>1.19.14+dfsg-1</code> installed with no extensions.
* Ubuntu 14.04.2 LTS (Trusty Tahr)
* Apache 2.4.7 (Ubuntu) (with MaxRequestWorkers at 2048 which would require 32 servers while servers is set at 16 = sloppy)
* MediaWiki <code>1.19.14+dfsg-1</code> installed with no extensions, and no git
* PHP 5.5.9-1ubuntu4.7 (apache2handler)
* PHP 5.5.9-1ubuntu4.7 (apache2handler)
* MySQL 5.5.41-0ubuntu0.14.04.1-log
* MySQL 5.5.41-0ubuntu0.14.04.1-log


Make sure to obtain and assign an "elastic IP" so that the instance has a static IP




Line 158: Line 161:
</pre>
</pre>


Setting up a MediaWiki instance with Juju, using the https://jujucharms.com/mediawiki/trusty/3 charm was completely unacceptable.  The charm doesn't even setup a web server environment at all so it doesn't work "out of the box".  When I specified an Apache2 charm https://jujucharms.com/apache2/trusty/13/ the configuration has a miscompiled PHP and also conflicting configurations (ServerLimit, MaxRequestWorkers) that causes errors in the log.
<pre>
root@ip-172-31-57-182:~# /usr/sbin/apache2 -S
[Thu Apr 09 13:42:06.748287 2015] [core:warn] [pid 2247] AH00111: Config variable ${APACHE_LOCK_DIR} is not defined
[Thu Apr 09 13:42:06.748800 2015] [core:warn] [pid 2247] AH00111: Config variable ${APACHE_PID_FILE} is not defined
[Thu Apr 09 13:42:06.749138 2015] [core:warn] [pid 2247] AH00111: Config variable ${APACHE_RUN_USER} is not defined
[Thu Apr 09 13:42:06.749457 2015] [core:warn] [pid 2247] AH00111: Config variable ${APACHE_RUN_GROUP} is not defined
[Thu Apr 09 13:42:06.749808 2015] [core:warn] [pid 2247] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Thu Apr 09 13:42:06.786167 2015] [:crit] [pid 2247:tid 139742374446976] Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe.  You need to recompile PHP.
AH00013: Pre-configuration failed
root@ip-172-31-57-182:~# /usr/sbin/apache2 -M
[Thu Apr 09 13:42:19.687521 2015] [core:warn] [pid 2248] AH00111: Config variable ${APACHE_LOCK_DIR} is not defined
[Thu Apr 09 13:42:19.688010 2015] [core:warn] [pid 2248] AH00111: Config variable ${APACHE_PID_FILE} is not defined
[Thu Apr 09 13:42:19.688345 2015] [core:warn] [pid 2248] AH00111: Config variable ${APACHE_RUN_USER} is not defined
[Thu Apr 09 13:42:19.688604 2015] [core:warn] [pid 2248] AH00111: Config variable ${APACHE_RUN_GROUP} is not defined
[Thu Apr 09 13:42:19.688886 2015] [core:warn] [pid 2248] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Thu Apr 09 13:42:19.700934 2015] [:crit] [pid 2248:tid 140047498663808] Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe.  You need to recompile PHP.
AH00013: Pre-configuration failed
</pre>
{{References}}


[[Category:DevOps]]
[[Category:DevOps]]
[[Category:Service Orchestration]]
[[Category:Service Orchestration]]