Skip to main content

Cloud Custodian - OpenStack Provider

Project description

Custodian OpenStack Support

Work in Progress - Not Ready For Use.

Quick Start

Installation

pip install c7n-openstack

OpenStack Environment Configration

C7N will find cloud config for as few as 1 cloud and as many as you want to put in a config file. It will read environment variables and config files, and it also contains some vendor specific default values so that you don't have to know extra info to use OpenStack:

  • If you have a config file, you will get the clouds listed in it
  • If you have environment variables, you will get a cloud named envvars
  • If you have neither, you will get a cloud named defaults with base defaults

Create a clouds.yml file:

clouds:
 demo:
   region_name: RegionOne
   auth:
     username: 'admin'
     password: XXXXXXX
     project_name: 'admin'
     domain_name: 'Default'
     auth_url: 'https://montytaylor-sjc.openstack.blueboxgrid.com:5001/v2.0'

Please note: c7n will look for a file called clouds.yaml in the following locations:

  • Current Directory
  • ~/.config/openstack
  • /etc/openstack

More information at https://pypi.org/project/os-client-config

Create a c7n policy yaml file as follows:

policies:
- name: demo
  resource: openstack.flavor
  filters:
  - type: value
    key: vcpus
    value: 1
    op: gt

Run c7n and report the matched resources:

mkdir -p output
custodian run demo.yaml -s output
custodian report demo.yaml -s output --format grid

Examples

filter examples:

policies:
- name: test-flavor
  resource: openstack.flavor
  filters:
  - type: value
    key: vcpus
    value: 1
    op: gt
- name: test-project
  resource: openstack.project
  filters: []
- name: test-server-image
  resource: openstack.server
  filters:
  - type: image
    image_name: cirros-0.5.1
- name: test-user
  resource: openstack.user
  filters:
  - type: role
    project_name: demo
    role_name: _member_
    system_scope: false
- name: test-server-flavor
  resource: openstack.server
  filters:
  - type: flavor
    vcpus: 1
- name: test-server-age
  resource: openstack.server
  filters:
  - type: age
    op: lt
    days: 1
- name: test-server-tags
  resource: openstack.server
  filters:
  - type: tags
    tags:
    - key: a
      value: a
    - key: b
      value: c
    op: any

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

c7n_openstack-0.1.40-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

Details for the file c7n_openstack-0.1.40-py3-none-any.whl.

File metadata

  • Download URL: c7n_openstack-0.1.40-py3-none-any.whl
  • Upload date:
  • Size: 13.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for c7n_openstack-0.1.40-py3-none-any.whl
Algorithm Hash digest
SHA256 45abdc2436cd49fa5b39822276505b1cfd684f18ec05345f2cc76bd3bc3afece
MD5 8c2f06270827e6e63256f7b8d8a83e1c
BLAKE2b-256 a6da7e99acb212d1f374dff68d26da1fed4e21a276e0856b8c8a1bfa5dceeaa7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page