In reply to khnabeel:
When you have a constraint, it will only be used when you call randomize() for that class. Since you don’t randomize() your configuration object, is_active will be assigned the default value, which isn’t defined (i.e. it will be 0).
You can either assign a default value to is_active:
uvm_active_passive_enum is_active = UVM_ACTIVE;
Or you can call randomize().
Additionally, you should remove all `uvm_field_* macros. There are many threads which discuss why these shouldn’t be used.