Skip to main content


Configuring Unravel Billing Service


In Unravel v4.6.1.6, the Billing service is supported only for Databricks. Refer to Billing service.

To configure the billing service, do the following:

  1. Configure properties in the file

    Define the following properties in the /usr/local/unravel/etc/ file. If a property is not found, then you must add it to the file.




    Billing Report


    Set this to true to enable the billing service. The default value is false.



    Set this to any of the following plans:

    • pay_in_advance

    • pay_as_you_go


    Specify the start date of the plan in yyyy-mm-dd format. For example: 2021-01-01. The start date must be the first day of the month.

    When you add more credit, you must specify a new start date via this property. The new credit takes effect on the new start date. The earliest start date is the month after the current month.


    Specify the end date of the plan in yyyy-mm-dd format. For example: 2021-01-31.

    The end date should be the last day of the month and a date after the start date.

    Billing unit


    Set this to any of the following:

    • dbu

    • instance_hour

    For dbu, the cost of a cluster is attributed to the day when the cluster terminates.

    When dbu is selected, users need to create a pricing config file (see Create a pricing file that specifies different prices for different workload types.



    When unravel.billing.unit=dbu, this property (unravel.billing.defaultprice) specifies the default price in USD for any workload type that is not listed in the pricing config file.

    When unravel.billing.unit=instance_hours, this property specifies the price in USD for all instance types.

    When this property is not specified, the default value is 0.1 ($0.10).

    You must specify the value with at least one integer and one or two fractional digits. For example, 0.22 or 1.0.

    Starting credit


    Only applicable when the plan is unravel.billing.pricingplan=pay_in_advance.

    This property specifies the amount of money in USD that the customer pays in advance.

    The credits are deducted at the end of each day by the amount that corresponds to the usage (measured in unravel.billing.unit) multiplied by the price per unit.

    In the case of DBU, there can be a different price for each workload type, as specified in the pricing config file.

    You must specify the value with at least one integer and one or two fractional digits. For example, 0.22 or 1.0.


    For more details about the properties for email alerts, refer to Configuring email alerts.

    The following properties must be configured to set up the SMTP to receive the billing reports:

    • mail.smtp.port

    • mail.smtp.auth

    • mail.smtp.starttls.enable

    • mail.smtp.user



    • mail.smtp.localhost

    • mail.smtp.debug

    A sample of the Unravel SMTP setup is shown here:

    # Sample Unravel SMTP setup:


    Unravel email id to send Billing report to. Default is For example:


    All the admin users will receive the Billing report. However, to set any user as admin, you can specify the users in a comma-delimited list. For example:


    Specify the domain name for users who will receive the billing report. For example:

    Here is a sample of the Billing properties in file.

  2. Create a pricing file (only needed if unravel.billing.unit=dbu)

    If DBU is used as the billing unit to track Databricks usage, then you must create a pricing file to specify the pre-negotiated price for each workload type, as follows:

    1. Navigate to /usr/local/unravel/etc

    2. Create a JSON file named dbu_price_usd.json.

      Following is a sample JSON file, where the numeric values are the price (in USD) for the corresponding workload types.

      { "light": 0.5, "job compute": 1.2, "all purpose compute": 0.75 }
    3. Replace the values in the JSON file as needed.

  3. Restart Unravel

    After the above steps are completed, use the following command to restart Unravel for these changes to take effect:

    sudo /etc/init.d/ restart