As provider is required we could define on `ComputeResource` class a list of valid values

```python
# computeresource.py
class ComputeResource(Base):
    # ...

    PROVIDERS = ('Libvirt', 'Ovirt', 'EC2', 'Vmware', 'Openstack', 'Rackspace',
        'GCE')

    # ...
```

And define the provider in the factory as a random choice of that list, the following link could help http://docs.python.org/2/library/random.html#random.choice

```python
args = {
    # ...
    'provider': random.choice(ComputeResource.PROVIDERS),
    # ...
}
```

Or if providers will be a common constant, we can leave it in the `common.constants` module and define as the following:

```python
args = {
    # ...
    'provider': random.choice(FOREMAN_PROVIDERS.values()),
    # ...
}