There is nothing preventing directed cycles in the graph, although I'm not
sure how common they are in real bundles.

On Thu, 5 Jul 2018, 05:57 Ilias Tsoumas, <its...@unipi.gr> wrote:

> Merlijn thank you for your reply. It was enlightening about the relations
> of charms.
> Only a comment till now, is each bundle a directed acyclic graph (DAG)?
>
>
> On Tue, Jun 26, 2018 at 7:10 PM Merlijn Sebrechts <
> merlijn.sebrec...@gmail.com> wrote:
>
>> The format is
>>
>> - - <application-name1>:<endpoint-name1>
>>   - <application-name2>:<endpoint-name2>
>>
>> Where application-name is the name of the _instance_ of the charm (as
>> defined in the applications section of bundle.yaml) and endpoint-name is
>> the name of the endpoint (requires/provides from metadata.yaml) that is
>> used to connect the two nodes.
>>
>> Endpoint-name is optional if only one type of relation is possible
>> between the nodes (a relation is established between a required endpoint of
>> one node and a provides endpoint of the same interface type of the other
>> node). The : is not present if the endpoint name is not specified.
>>
>> So the relations section is a 2 dimensional list, the first dimension is
>> an array of all the relations and the second dimension specifies which
>> endpoints of which nodes that relation connects.
>>
>> And finally, the applications section is called "services" in some
>> bundles.
>>
>> I think that covers most of the strange quirks, let me know if you have
>> more questions.
>>
>> On Tue, 26 Jun 2018, 05:37 Ilias Tsoumas, <its...@unipi.gr> wrote:
>>
>>> Hello Merlijn and all,
>>>
>>> I developed a python script which fetching all the bundle.yml.
>>> Here is the repo: https://github.com/itsoum/BundlesFetcher
>>> Merlijn special thanks for the help about the API.
>>>
>>> Now, there rise a new "problem". As I had mentioned in the first-post
>>> above I fetch bundles for the relations between nodes(charms). But there
>>> isn't an obvious annotation technique about how relations are described
>>> inside each bundle.yaml.
>>> Check some different examples below
>>>
>>> https://github.com/itsoum/BundlesFetcher/blob/master/bundles_yaml/wordpress-site-3.yml
>>>
>>>
>>> https://github.com/itsoum/BundlesFetcher/blob/master/bundles_yaml/web-in-a-box-9.yml
>>> <https://github.com/itsoum/BundlesFetcher/blob/master/bundles_yaml/wordpress-site-3.yml>
>>>
>>>
>>> https://github.com/itsoum/BundlesFetcher/blob/master/bundles_yaml/hadoop-spark-1.yml
>>> <https://github.com/itsoum/BundlesFetcher/blob/master/bundles_yaml/wordpress-site-3.yml>
>>>
>>> For example in the first:
>>> relations:
>>> - - haproxy:reverseproxy
>>> - wordpress:website
>>> - - wordpress:cache
>>> - memcached:cache
>>> - - wordpress:db
>>> - mariadb:db
>>> - - mariadb-slave:slave
>>> - mariadb:master
>>> - - nagios:nagios
>>> - wordpress:juju-info which is the topology of application graph. The
>>> ':' isn't denotes the edge between two charms? If yes, why - wordpress:db
>>> and - mariadb:db?
>>> There us someone who knows the annotation method of relations? Could you
>>> explain?
>>>
>>> BR,
>>> Ilias
>>>
>>>
>>>
>>>
>>> On Tue, Jun 5, 2018 at 2:11 PM Ilias Tsoumas <its...@unipi.gr> wrote:
>>>
>>>> Hi Merlijn,
>>>>
>>>> First of all thank you for your quick and essential answer!
>>>>
>>>> Reply inline
>>>>
>>>> Great to hear you're doing cool stuff with Juju! I recently asked a
>>>>> similar question for a paper I've written for CLOUD 2018
>>>>> https://lists.ubuntu.com/archives/juju/2018-January/009845.html. If
>>>>> you want, I can send it to you in private (it's accepted but not published
>>>>> yet).
>>>>>
>>>>
>>>> Of course. I would like to read your paper. Also me and a colleague
>>>> work on performance estimations of app components (=charms). If I have
>>>> suspected properly your paper is related with performance
>>>> analysis/profiling thus it will be inspiration for us.
>>>>
>>>> Here is the documentation for the charm store api:
>>>>> https://github.com/juju/charmstore/blob/v5-unstable/docs/API.md
>>>>>
>>>>
>>>> I will check it.
>>>>
>>>> Here is an Jupyter notebook I use to get metrics of charm and layer
>>>>> usage:
>>>>> https://github.com/IBCNServices/reactive-pattern-results/blob/master/reactive-usage-stats.ipynb.
>>>>> It should be easy to modify that code to pull info about the bundles. As 
>>>>> an
>>>>> example; this is the URL to get all bundles in the Juju store:
>>>>> https://api.jujucharms.com/charmstore/v5/list?type=bundle
>>>>
>>>>
>>>> Thank you! I hope to be feasible to pull all bundle.yaml with one
>>>> query/request.
>>>>
>>>> BR,
>>>> Ilias
>>>>
>>>> On Mon, Jun 4, 2018 at 3:22 PM Merlijn Sebrechts <
>>>> merlijn.sebrec...@gmail.com> wrote:
>>>>
>>>>> Hi Ilias
>>>>>
>>>>>
>>>>> Great to hear you're doing cool stuff with Juju! I recently asked a
>>>>> similar question for a paper I've written for CLOUD 2018
>>>>> https://lists.ubuntu.com/archives/juju/2018-January/009845.html. If
>>>>> you want, I can send it to you in private (it's accepted but not published
>>>>> yet).
>>>>>
>>>>> Here is the documentation for the charm store api:
>>>>> https://github.com/juju/charmstore/blob/v5-unstable/docs/API.md
>>>>>
>>>>>    - download the entire zip for a bundle:
>>>>>    https://api.jujucharms.com/charmstore/v5/bundle/<bundle-name>/archive
>>>>>    - download a specific file of a bundle:
>>>>>    
>>>>> https://api.jujucharms.com/charmstore/v5/bundle/<bundle-name>/archive/bundle.yaml
>>>>>
>>>>> Here is an Jupyter notebook I use to get metrics of charm and layer
>>>>> usage:
>>>>> https://github.com/IBCNServices/reactive-pattern-results/blob/master/reactive-usage-stats.ipynb.
>>>>> It should be easy to modify that code to pull info about the bundles. As 
>>>>> an
>>>>> example; this is the URL to get all bundles in the Juju store:
>>>>> https://api.jujucharms.com/charmstore/v5/list?type=bundle
>>>>>
>>>>> Cleaning up the data will be the hard part probably, since there are a
>>>>> lot of unused/broken bundles in the store. I've used the downloads/month
>>>>> metric to figure out what charms are actually still used.
>>>>>
>>>>> Op ma 4 jun. 2018 om 14:05 schreef Ilias Tsoumas <its...@unipi.gr>:
>>>>>
>>>>>> Hello all,
>>>>>>
>>>>>> I have designed and I am developing a novel recommender system which
>>>>>> will provide recommendations at application graph (=bundle) composition
>>>>>> time. Now I need a real graphs dataset. I think that all juju bundles of
>>>>>> components is a good real dataset. Are there some how to aggregate all
>>>>>> these "bundle.yaml" files? Are there some api endpoint?
>>>>>> This work is funding from the European Union’s Horizon 2020 research
>>>>>> and innovation program under grant agreement No 761898 project Matilda.
>>>>>>
>>>>>> Kind regards,
>>>>>> Ilias Tsoumas
>>>>>> --
>>>>>> Juju mailing list
>>>>>> Juju@lists.ubuntu.com
>>>>>> Modify settings or unsubscribe at:
>>>>>> https://lists.ubuntu.com/mailman/listinfo/juju
>>>>>>
>>>>>
-- 
Juju mailing list
Juju@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju

Reply via email to