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 <[email protected]>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 > [email protected] <[email protected]> > > -- > Mailing list: https://launchpad.net/~fuel-dev > Post to : [email protected] > Unsubscribe : https://launchpad.net/~fuel-dev > More help : https://help.launchpad.net/ListHelp > >
-- Mailing list: https://launchpad.net/~fuel-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~fuel-dev More help : https://help.launchpad.net/ListHelp

