Removing the media-wiki readme; the markdown README is the default
This commit is contained in:
142
README.mw
142
README.mw
@@ -1,142 +0,0 @@
|
||||
= Openstack-Artifice =
|
||||
|
||||
== What ==
|
||||
|
||||
Artifice is a layer sitting on top of Ceilometer to provide easy interactions with ERP systems, by exposing a configurable interface for turning Ceilometer data into a single billable line item.
|
||||
|
||||
Artifice provides hooks to integrate with arbitrary ERP systems, by not imposing logic beyond the concept of a dated invoice that covers a given range.
|
||||
|
||||
What the ranges are, and how Ceilometer data is aggregated is intended to be configurable.
|
||||
|
||||
Artifice enforces its own rigid postgresql-backed data store, used to store what data has been billed, and for what time range. This is used by Artifice to add prevention of repeated billing of a range of data.
|
||||
|
||||
The Artifice data store will prevent overlapping bills for a given tenant and resource ever being stored, while still allowing for regeneration of a given invoice statement.
|
||||
|
||||
== Requirements: ==
|
||||
|
||||
Artifice requires:
|
||||
* Postgresql 9.1 or greater.
|
||||
* Python >=2.7.5, <3.0
|
||||
* Python modules:
|
||||
* pyaml
|
||||
* mock
|
||||
* requests
|
||||
* pyaml
|
||||
* OpenStack Grizzly or greater
|
||||
* Openstack-Keystone
|
||||
* Openstack-Ceilometer
|
||||
|
||||
== Installation ==
|
||||
|
||||
Installing Artifice is as simple as: dpkg -i openstack-artifice-<version>.deb
|
||||
|
||||
The library will be installed to /opt/stack/artifice, and the command-line tool 'artifice' will be added to the path.
|
||||
|
||||
== Configuration ==
|
||||
|
||||
Configuring Artifice is handled through its primary configuration file, stored in <code>/etc/openstack/artifice.conf</code>.
|
||||
|
||||
This is a yaml-format config file, in the format of:
|
||||
|
||||
<pre># Defines the database connection logic. This will be converted to a standard
|
||||
# database connection string.
|
||||
database:
|
||||
database: artifice
|
||||
host: localhost
|
||||
password: aurynn
|
||||
port: '5433'
|
||||
username: aurynn
|
||||
# Configuration passed to the invoice system. This is arbitrary and may be
|
||||
# anything that the invoice object may require.
|
||||
invoice:config:
|
||||
delimiter: ','
|
||||
output_file: '%(tenant)s-%(start)s-%(end)s.csv'
|
||||
output_path: /opt/openstack/artifice/invoices
|
||||
row_layout:
|
||||
- location
|
||||
- type
|
||||
- start
|
||||
- end
|
||||
- amount
|
||||
- cost
|
||||
main:
|
||||
# What invoice object we should be using
|
||||
invoice:object: billing.csv_invoice:Csv
|
||||
# Configuration for OpenStack
|
||||
openstack:
|
||||
# Location of the Keystone host
|
||||
authentication_url: http://foo
|
||||
# Location of the Ceilometer host
|
||||
ceilometer_url: http://localhost:8777
|
||||
# Default tenant to connect to. As this
|
||||
default_tenant: demo
|
||||
# Username to use
|
||||
username: foo
|
||||
# Password
|
||||
password: bar</pre>
|
||||
A sample configuration is included, but '''must''' be modified appropriately.
|
||||
|
||||
== Setup of Openstack environment ==
|
||||
|
||||
As mentioned, Artifice relies entirely on the Ceilometer project for its metering and measurement collection.
|
||||
|
||||
All development has (so far) occurred using a DevStack installation, but a production Ceilometer installation should work as expected.
|
||||
|
||||
=== DevStack ===
|
||||
|
||||
Installation on DevStack is relatively easy. First, prep the VM with DevStack. Since we need Ceilometer installed, we recommend a DevStack localrc similar to:
|
||||
|
||||
<pre>ADMIN_PASSWORD=openstack
|
||||
MYSQL_PASSWORD=openstack
|
||||
RABBIT_PASSWORD=openstack
|
||||
SERVICE_PASSWORD=openstack
|
||||
|
||||
# Enable Quantum
|
||||
disable_service n-net
|
||||
enable_service q-svc
|
||||
enable_service q-agt
|
||||
enable_service q-dhcp
|
||||
enable_service q-l3
|
||||
enable_service q-meta
|
||||
enable_service quantum
|
||||
|
||||
# Enable Swift
|
||||
enable_service swift
|
||||
|
||||
# Enable ceilometer!
|
||||
enable_service ceilometer-acompute,ceilometer-acentral,ceilometer-collector,ceilometer-api</pre>
|
||||
A localrc file can be found at '''devstack/localrc'''
|
||||
|
||||
Create your VM and install DevStack into it. A Vagrant-compatible bootstrap script that will install most of the necessary components is included in this distribution, at '''devstack/bootstrap.sh'''
|
||||
|
||||
Install Artifice and the packages it depends on from the Debian repositories.
|
||||
|
||||
Artifices' post-intallation hooks will have set up the Postgres database as expected, and Artifice will be ready to run.
|
||||
|
||||
=== Production OpenStack ===
|
||||
|
||||
TODO: Fill this out
|
||||
|
||||
== Using Artifice ==
|
||||
|
||||
As mentioned, Artifice comes with a command-line tool to provide some simple commands.
|
||||
|
||||
Actions one can perform with Artifice are:
|
||||
|
||||
* Bill; Given a date range, generates the current usage bill for a tenant. This will result in a CSV file.
|
||||
|
||||
=== Future things ===
|
||||
|
||||
Eventually we also want Artifice to:
|
||||
|
||||
* List current usage numbers
|
||||
* List historic usage numbers
|
||||
* Re-generate billing information
|
||||
|
||||
Things we may eventually want include:
|
||||
|
||||
* Listing this months' total usage of a given resource
|
||||
* Listing total usage by datacentre
|
||||
* Listing all usage ever
|
||||
* Etc
|
||||
|
||||
Reference in New Issue
Block a user