I was seeing the same charms present on store, that are very useful, are not anymore upgraded like Zappix.
I want to know if there is a way to make that available also for the last version of ubuntu, it is easy or hard to make that? Thanks
I think that it is often not too big a deal to upgrade a charm for the latest Ubuntu. It mostly has to do with updating the package versions for the new version of Ubuntu and then testing it to make sure it works.
If it is an Open Source charm then it should be simple enough to modify and build the charm locally to test the changes, at which point you could submit a pull request for the update, if the maintainer is still active.
I think Canonical could also help facilitate the publication of a replacement charm into the same namespace if the original author is truly inactive etc. If you’ve updated a fork of the charm and want it published, ask here and we can help.
do you know if there is an guide that explain how to make that?
I mean, to take an old charm and try to upgrade it of making it available on the last release of ubuntu, because I see that only some charm or bundle can be used on u18.04 LTS.
Juju charms encapsulate and package knowledge about how to set up specific workloads. The charm declares in metadata.yaml what series it supports, but the exact enablement work (setup, config, packages to install etc etc) to have something able to run on a newer Ubuntu series would be dependent on the workload.
There’s some generic charm writing doc here. The simplest thing that can be done is to add a new series to the charm’s list of supported series in metadata.yaml, eg
series:
- xenial
- trusty
- bionic
- focal
Sometimes that’s all that’s needed. But it depends on the workload.
To expand on that slightly, you can download the .zip file of the charm and edit its source code. Once you’re happy, you’re welcome to re-publish it with your own user account.
I was trying to deploy wordpress on my lab to make some test, the charm is gone well
ubuntu@openstack-aio:~$ juju status
Model Controller Cloud/Region Version SLA Timestamp
default msk microstack/microstack 2.7.4 unsupported 17:59:14Z
App Version Status Scale Charm Store Rev OS Notes
wordpress active 1 wordpress jujucharms 0 ubuntu exposed
Unit Workload Agent Machine Public address Ports Message
wordpress/0* active idle 0 10.20.20.133 80/tcp
Machine State DNS Inst id Series AZ Message
0 started 10.20.20.133 520c6941-423f-4d09-8f3d-290125c11754 bionic nova ACTIVE
but I’ve not understand if I’ve to deploy also mysql and apache/nginx .to use wordpress correctly…
I tried to find that and nginx works until trusty, apache2 is fine and mysql ??
My opinion if I’ve to use Juju in this way in a production environment is very hard to create a project
Thankfully if we can create a community around the charm, the process will be simplified. @maaudet has proven that Juju can be very helpful with web technologies:
I’m trying to create my first charm for MariaDB on my lab (to learn something about that) , it’s the first time that I make something like that and I’m sure that all steps are right. I’ve followed this guide and after the deploy of my charm via JUJU its own status is always in installing mode
$:juju status
Model Controller Cloud/Region Version SLA Timestamp
juju-dev maas-cloud-controller maas-cloud/default 2.7.3 unsupported 21:04:19Z
App Version Status Scale Charm Store Rev OS Notes
layer-lab maintenance 1 layer-lab local 0 ubuntu
Unit Workload Agent Machine Public address Ports Message
layer-lab/0* maintenance idle 0 10.0.0.19 Installing mariadb-server
Machine State DNS Inst id Series AZ Message
0 started 10.0.0.19 juju-dev bionic juju Deployed
Here is my metadata.yaml file
name: layer-lab
summary: <Fill in summary here>
maintainer: Ric Mag <ric.mag@ulab-maas>
description: |
<Multi-line description here>
series: ["bionic"]
tags:
# Replace "misc" with one or more whitelisted tags from this list:
# https://jujucharms.com/docs/stable/authors-charm-metadata
- misc
subordinate: false
provides:
provides-relation:
interface: enp1s0
requires:
requires-relation:
interface: enp1s0
peers:
peer-relation:
interface: enp1s0
and layer.yaml file
includes: ['layer:basic','layer:apt'] # if you use any interfaces, add them here
options:
apt:
packages:
- mariadb-server