Rally can generate load with passed users now!

Finally, I happy to announce that OpenStack Rally team, after more than 1 year of work, finished support of benchmarking with already existing users in OpenStack. This is crucial feature that simplifies adoption of Rally in enterprise world.

Why it’s so important?

There are 2 very important use cases from production world:

  1. It’s simpler to run Rally against production cloud
    Rally can use existing users instead of creating own which is impossible in case of r/o Keystone backends like LDAP and AD.
  2. It’s safer to run Rally against production cloud
    Rally can be run from isolated group of users and if something went wrong it won’t affect rest of the cloud users.

Let’s try it!

If you are not familiar with Rally take a look at our step by step guide

Registering OpenStack deployment in Rally

Let’s use Rally deployment plugin called “ExistingCloud” that just provides to Rally credentials of already existing cloud

Input file for rally deployment cloud should look like existing_users.json:

{
    "type": "ExistingCloud",
    "auth_url": "http://example.net:5000/v2.0/",
    "region_name": "RegionOne",
    "endpoint_type": "public",
    "admin": {
        "username": "admin",
        "password": "pa55word",
        "tenant_name": "demo"
    },
    "users": [
        {
            "username": "b1",
            "password": "1234",
            "tenant_name": "testing"
        },
        {
            "username": "b2",
            "password": "1234",
            "tenant_name": "testing"
        }
    ]
}

We should provide basic information such like region name auth url admin user and any amount of already existing in system users. Rally will use users for “users” section to generate load in future.

$ rally deployment create --file existings_users --name our_cloud 
+--------------------------------------+----------------------------+-----------+------------------+--------+
| uuid                                 | created_at                 | name      | status           | active |
+--------------------------------------+----------------------------+-----------+------------------+--------+
| 1849a9bf-4b18-4fd5-89f0-ddcc56eae4c9 | 2015-03-28 02:43:27.759702 | our_cloud | deploy->finished |        |
+--------------------------------------+----------------------------+-----------+------------------+--------+
Using deployment: 1849a9bf-4b18-4fd5-89f0-ddcc56eae4c9
~/.rally/openrc was updated

 

After that you are read to do all that let’s check that everything works:

$ rally show images

Images for user `admin` in tenant `admin`:
+--------------------------------------+---------------------------------+-----------+
| UUID                                 | Name                            | Size (B)  |
+--------------------------------------+---------------------------------+-----------+
| 041cfd70-0e90-4ed6-8c0c-ad9c12a94191 | cirros-0.3.2-x86_64-uec         | 25165824  |
| 87710f09-3625-4496-9d18-e20e34906b72 | Fedora-x86_64-20-20140618-sda   | 209649664 |
| b0f269be-4859-48e0-a0ca-03fb80d14602 | cirros-0.3.2-x86_64-uec-ramdisk | 3723817   |
| d82eaf7a-ff63-4826-9aa7-5fa105610e01 | cirros-0.3.2-x86_64-uec-kernel  | 4969360   |
+--------------------------------------+---------------------------------+-----------+

Images for user `b1` in tenant `testing`:
+--------------------------------------+---------------------------------+-----------+
| UUID                                 | Name                            | Size (B)  |
+--------------------------------------+---------------------------------+-----------+
| 041cfd70-0e90-4ed6-8c0c-ad9c12a94191 | cirros-0.3.2-x86_64-uec         | 25165824  |
| 87710f09-3625-4496-9d18-e20e34906b72 | Fedora-x86_64-20-20140618-sda   | 209649664 |
| b0f269be-4859-48e0-a0ca-03fb80d14602 | cirros-0.3.2-x86_64-uec-ramdisk | 3723817   |
| d82eaf7a-ff63-4826-9aa7-5fa105610e01 | cirros-0.3.2-x86_64-uec-kernel  | 4969360   |
+--------------------------------------+---------------------------------+-----------+

Images for user `b2` in tenant `testing`:
+--------------------------------------+---------------------------------+-----------+
| UUID                                 | Name                            | Size (B)  |
+--------------------------------------+---------------------------------+-----------+
| 041cfd70-0e90-4ed6-8c0c-ad9c12a94191 | cirros-0.3.2-x86_64-uec         | 25165824  |
| 87710f09-3625-4496-9d18-e20e34906b72 | Fedora-x86_64-20-20140618-sda   | 209649664 |
| b0f269be-4859-48e0-a0ca-03fb80d14602 | cirros-0.3.2-x86_64-uec-ramdisk | 3723817   |
| d82eaf7a-ff63-4826-9aa7-5fa105610e01 | cirros-0.3.2-x86_64-uec-kernel  | 4969360   |
+--------------------------------------+---------------------------------+-----------+

Conclusion

It goes without saying that support of benchmarking with predefined users  simplify usage of Rally for running loads against production clouds.

3 thoughts on “Rally can generate load with passed users now!

  1. Is it possible to run Rally against an environment without providing admin credentials?
    Also, I noticed that even if I created a deployment as in your example and the task was “VMTasks.boot_runcommand_delete” a new tenant and user was created for the test.

    I was expecting to see the user and tenant provided in the deployment json to be used to start the instance used in the task.

    Can you please comment on this or tell me if it’s possible to achieve this today with Rally?

    Thank you,
    George

  2. I’m noticing some random behavior on how Rally selects/uses tenants for the given task. For instance when I use the VMTasks.boot_runcommand_delete task and specifiy times:5, concurrency: 5 , it spawns several VMs under 1 or more tenants and none under others. I’ve tried this both with Rally setting up the tenants and users per tenant as well as manually creating the tenants/users/networks myself and having rally use the existing users. Basically, I need Rally to deploy 1 VM per tenant (I have 1 network assigned to a tenant) and not reuse any tenant during the test. Is this possible?

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA Image

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>