#cloud #cli-client #compute #lrz #cli-applications #user #api-client

app lrzcc-cli

Rust CLI client for the LRZ-specific features of the Openstack-based LRZ Compute Cloud

6 stable releases

new 1.3.0 Oct 9, 2024
1.2.1 Oct 1, 2024
1.2.0 Sep 30, 2024
1.1.2 Sep 24, 2024
1.1.1 Sep 15, 2024

#62 in Command line utilities

Download history 190/week @ 2024-09-09 143/week @ 2024-09-16 177/week @ 2024-09-23 349/week @ 2024-09-30

859 downloads per month

MIT license

240KB
7.5K SLoC

lrzcc-cli

CLI application written in Rust for LRZ-specific features of the Openstack-based LRZ Compute Cloud, https://cc.lrz.de, first and foremost the budgeting system.

Installation

Install the tool via cargo:

cargo install lrzcc-cli

Usage

As a general note, use the -h/--help to find out more about the specific commands of the tool.

API Access

As with the normal Openstack CLI client you need to source your Openstack RC file to access the API. You can download it when clicking on you username in the top-right corner in the webui and then "OpenStack RC File v3".

Source it via:

. di12abc-openrc.sh

replacing di12abc with you own username, and then enter your password. Note: this stores you credentials in environment variables starting with OS_ for OpenStack.

User Workflows

Get Own User

lrzcc user me

Note: role 1 indicates that you are a normal user, role 2 means you are a master user.

Display Cloud Usage

lrzcc -f json usage

Note: the -f json tells the tool to simply output the JSON response from the API.

List Flavor Prices

lrzcc flavor-price list

Calculate Own Consumption and Cost

lrzcc server-consumption
lrzcc server-cost

View User and Project Budget

lrzcc user-budget list
lrzcc project-budget list

Check of Budget is Over

lrzcc user-budget over -dc

Show Budget Over Tree

This hierarchical view also shows a breakdown of the cost down to the individual servers and is what the webui uses:

lrzcc -f json budget-over-tree

Note: the -f json tells the tool to simply output the JSON response from the API.

Master User Workflows

List Own Project and Users

lrzcc project list
lrzcc user list -p <project_id/name>

List Budgets of Own Project

lrzcc user-budget list -p <project_id/name>

List Budget Over Status of Project's Users

lrzcc user-budget over -p <project_id/name> -dc

Show Budget Over Tree of Project's Users

This hierarchical view also shows a breakdown of the cost down to the individual users and servers and is what the webui uses:

lrzcc -f json budget-over-tree -p <project_id/name>

Note: the -f json tells the tool to simply output the JSON response from the API.

Modify Budgets

lrzcc user-budget modify <user_budget_id> -a <amount>
lrzcc project-budget modify <project_budget_id> -a <amount>

Note: you cannot set a budget below the already acrued costs or modify the budget of a past year.

Dependencies

~14–26MB
~385K SLoC