Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Mantychore supports different type of resources (switch, routers..), for that, exist .  In order to organise them, Mantychore implements different kinds of repositories that group the resources according to their type. The resource repositories

 For example, a router resource will have its repository and a switch resource will have another different. Consequently, any new switch resource will be registered in the same repository that the other switch.

manage the created resources in the platform, it also allows the persistence of them into the database. To allow Mantychore to support new resources it is needed to create a new repository to manage this new ones.

The feature set that provides a resource are represented by the capabilities. Each capability must be associated to a specified type of resource according to the functionalities their provide. For example, a BGP capability is associated with a router resource, but the same capability has not sense with switches because a switch type resource cannot configure BGP policies.

Since there will be a resource repository for each type of resource, is necessary to manage the different repositories. The ResourceManager will be in charge of this task. It

Finally, it is necessary a manager to the repositories and resources. Consequently, it will have to manage the management of resources, its persistence support, loading of configurations and other management tasks. Mantychore has implemented a ResourceManager where it will be responsible of all these actions.

...

For the creation of a resource, the ResourceManager uses a description file (ResourceDescriptor) which provides provides  the necessary parameter to configure a resource to work with. For example it contains the type, features and capabilities which our name or the capabilities that the resource supports. An example:Here is presented an example of a resource descriptor.

Code Block
<resourceDescriptor>
    <!-- Capability information. It specifies device model and version -->
    <capabilityDescriptors>
        <capabilityProperty value="junos" name="actionset.name"/>
        <capabilityProperty value="10.10" name="actionset.version"/>
        <information><type>chassis</type></information>
    </capabilityDescriptors>
    <!--  Queue capability information. It specifies device model and version. IT IS OBLIGATORY -->
    <capabilityDescriptors>
        <capabilityProperty value="junos" name="actionset.name"/>
        <capabilityProperty value="10.10" name="actionset.version" />
        <information><type>queue</type></information>
    </capabilityDescriptors>
    <!-- Resource information. It specify type and name-->
    <information>
        <type>router</type>
        <name>junos20</name>
    </information>
    <properties/>
</resourceDescriptor>

...