HDB++ installation

Hi All,

I am encountering errors while running Configuration Manager and Event Subscriber device servers. (libhdbpp, libhdbpp-mysql, hdbpp-cm, hdbpp-es compiled successfully)

While trying to resolve the errors, I need to confirm various package version compatible with the new HDB++ archiving solution. Packages included in the current setup are:

  • TANGO - 9.2.2
  • omniORB - 4.2.1
  • ZMQ - 4.0.7
  • MYSQL - 5.7.21

  • It would be helpful if someone who has installed new HDB++ Archiving solution can confirm if the above packages are compatible with it.

    Kind regards,
    Jyotin
    Edited 6 years ago
    Hi Everyone,

    This is to confirm that the above software packages are compatible with the new HDB++ Archiving solution. Configuration Manager and Event Subscriber device servers are started and the data is being archived in MySQL database. The issue was with the "libname" key that has to be specified in the LibConfiguration property. Thanks to Reynald for this post. It would be nice if this key is added to the documentation here.

    In general, the documentation has improved a lot which has helped to speed up the installation.

    I am now looking forward to installing hdbpp_configurator and extraction related tools for HDB++. Can anyone please help me to understand the actual use of hdb++cm-es software package?

    Kind regards,
    Jyotin
    hdbpp-cm-es package is a multiclass TANGO device server capable of both CongigurationManager and EventSubscriber devices.
    Can be used in place of hdbpp-cm and hdbpp-es devices.
    Cheers,
    Lorenzo
    lorenzo
    hdbpp-cm-es package is a multiclass TANGO device server capable of both CongigurationManager and EventSubscriber devices.
    Can be used in place of hdbpp-cm and hdbpp-es devices.
    Cheers,
    Lorenzo
    Hi Lorenzo,

    Thank you for the clarification.

    I was referring to a diagram (attached with this post), where it specifies about HdbConfigurator Server which is a Tango device server different than HdbConfiguration Manager. However, I am unable to located this module in HDB++ Github project.

    Could you please let me know if this server is available and what role does it play in the Archiving architecture?

    Kind regards,
    Jyotin
    Looks like something that automatically adds entries to the archive, through the ConfigurationManager device, reacting to dynamic attributes being added to devices. But this, in principle, should not be required, as dynamic attributes (and commands) are not meant to be "invented" and created/destroyed at runtime, the list of is supposed to always be the same in a device (though created dynamically at device startup).
    Lorenzo
    Po
    I was referring to a diagram (attached with this post), where it specifies about HdbConfigurator Server which is a Tango device server different than HdbConfiguration Manager. However, I am unable to located this module in HDB++ Github project.

    Could you please let me know if this server is available and what role does it play in the Archiving architecture?

    The HdbConfigurator device server is a Java device server.
    It was developed just to simplify the task of configurating dynamically several new attributes to be added in HDB++.
    At the ESRF, it is used to configure/add automatically some dynamic attributes into HDB++. We have some cases where the same device will create some dynamic attributes at startup depending on its configuration (device properties), if the configuration changes, different attributes might be created. In this specific case, we have the requirement to ensure these dynamic attributes are archived. So the device server will configure them via the HdbConfigurator device server.
    To be more concrete, for the people working in a synchrotron, we have a device, controlling the insertion devices used by a given beamline. Dynamic attributes are created for each undulator which can be controlled by this beamline. During a shutdown period, the undulator might have been replaced, so there will be new attributes created for the new undulators and the attributes related to the undulators which have been removed will no longer exist.

    The HdbConfigurator server will handle a queue and coordinate the requests sent to the HdbConfigurationManager device.
    It will help to configure several attributes in parallel. If one would like to do it with only the HdbConfigurationManager device, one would need to lock the device, set many attributes, send the addAttribute command and finally release the lock of the device.
    The HdbConfigurator server is doing that for you in the same way as the HDB++ Configuration Manager GUI is doing it.

    The source code is actually within the same repository as the HDB++ Configurator GUI since it is using some of the classes used by the GUI when adding many attributes into HDB++: https://github.com/tango-controls-hdbpp/hdbpp-configurator

    Hoping this helps,
    Reynald
    Rosenberg's Law: Software is easy to make, except when you want it to do something new.
    Corollary: The only software that's worth making is software that does something new.
    Edited 6 years ago
    Ooops, sorry.

    THe HdbConfiguratorServer is indeed using the same classes as the HDB++ Configuration GUI but its source code is actually currently available on tango-ds Sourceforge.
    It is listed in the TANGO classes catalog:
    http://www.tango-controls.org/developers/dsc/ds/274/

    Sorry for the confusion.

    Cheers,
    Reynald
    Rosenberg's Law: Software is easy to make, except when you want it to do something new.
    Corollary: The only software that's worth making is software that does something new.
    Thank you, Reynald and Lorenzo for the detailed explanation. I will install HdbConfiguratorServer and use it.

    Kind regards,
    Jyotin
    Hi

    Where to get HdbConfigurator's jar file? i'm not familiar with java, so i don't know how to make or package.
    Hi Jimmy,

    I am assuming that you have successfully compiled the new release of Event Subscriber and Configuration Manager device servers from the HDB++ Github project. These servers are required to configure the archiving using the HdbConfigurator GUI.

    You can find a google document (rudimentary) to install HDB++ Archiving solution along with the Configurator GUI at the following link:
    https://docs.google.com/document/d/1QP3pU62j1v7RWvHeX72JG3s8FqgsCg-bD74xDLP2bSY/edit?usp=sharing

    You can download the hdbpp-configurator.jar file to HDB++ installation directory using the following link:
    https://drive.google.com/file/d/1syVfKwOvfWxwlqR3xsoz-1_brpjz5JUu/view?usp=sharing

    Make sure that Event Subscriber and Configuration Manager device servers are running. Set the HdbManager environment variable using the following command from command terminal (In our case, Configuration Manager device name is archiving/hdb++/confmanager.01. Replace it with the device name based on your setup.):
    export HdbManager=archiving/hdb++/confmanager.01
    (Alternatively, you can add this line in /etc/environment file. Restart the system and execute subsequent command)
    Go to the folder containing the hdbpp-configurator.jar file and execute the following command:
    java -jar hdbpp-configurator.jar
    Hope this helps.

    TANGO community members are requested to review the HDB++ Installation Manual and suggest required changes by commenting on the document.

    Kind regards,
    Jyotin
    Edited 6 years ago
     
    Register or login to create to post a reply.