← Back to team overview

fuel-dev team mailing list archive

Re: Advanced configuration of OpenStack settings in Fuel UI

 

Julia,

This is very cool. Also, gives a way for future plugins to clearly declare
their settings. Well done!

Thanks,
Roman


On Fri, Mar 28, 2014 at 11:58 AM, Julia Aranovich
<jkirnosova@xxxxxxxxxxxx>wrote:

> Hi all,
>
> I'm glad to introduce you an advanced configuration of OpenStack settngs
> in Fuel UI. An appropriate blueprint<https://blueprints.launchpad.net/fuel/+spec/ui-settings-tab-validation> was
> implemented and the code merged.
>
> Now we support the following cases:
>
>    - validation of simple text settings using *regular expressions*. It
>    can be email, password setting, etc.
>    To take advantage of this feature a new *regex* attribute should be
>    added into setting structure in openstack.yaml<https://github.com/stackforge/fuel-web/blob/master/nailgun/nailgun/fixtures/openstack.yaml#L144>
>     file:
>     regex:
>    source: "^[a-z]+$", // RegExp object source
>             error: "Invalid username" // Warning message to be displayed
>    on UI
>
>    - configuration of setting *dependencies*:
>       - setting can depend on some environment attribute. For example,
>       *Murano* component can't be installed on environment with Neutron
>       networking.
>       To set such dependency the following property should be added to
>       setting structure:
>       depends:
>              - "cluster:net_provider": "neutron"
>       - setting can depend on other settings. For example, in Storage
>       section *Ceph RadosGW for objects (Swift API)* can not be activated
>       without active *Ceph RBD for images (Glance)* setting.
>       To configure such dependency the following change should be made into
>       setting structure:
>       depends:
>              - "settings:storage.images_ceph": true
>
>
>    - configuration of setting *conflicts:*
>    - setting can conflict with other settings. For example, in Storage
>       section *Cinder LVM over iSCSI for volumes *and* Ceph RBD for
>       volumes (Cinder) *settings can not be activated at the same time.
>       To configure such conflict the following change should be made into
>       setting structure:
>       conflicts:
>       - "settings:storage.volumes_ceph": true
>
> So, *depends* and *conflicts* setting attributes are the lists of
> declarative conditions of the following format: "<model_name>:<model_attribute_path>":
> <model_attribute_value>. I want to notice that there are no separate
> fields with warning messages. Such warnings should be reflected in setting
> *description *attribute.
>
> Please see a design document<https://docs.google.com/document/d/1f_FKdzZdFh3KrUUrtAjTVScV7rn00pyxPeWwxb3jQ8k/edit?usp=sharing> for
> more detailed information and UI screenshots.
>
> Feel free for comments and asking questions.
>
> Best Regards,
> Julia Aranovich
>
> --
> Kind Regards,
> Julia Aranovich,
> Software Engineer,
> Mirantis, Inc
> +7 (905) 388-82-61 (cell)
> Skype: juliakirnosova
> www.mirantis.ru
> jaranovich@xxxxxxxxxxxx <jkirnosova@xxxxxxxxxxxx>
>
> --
> Mailing list: https://launchpad.net/~fuel-dev
> Post to     : fuel-dev@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~fuel-dev
> More help   : https://help.launchpad.net/ListHelp
>
>

References