yuyu_web/site/search/search_index.json
2023-09-16 20:13:00 +07:00

1 line
No EOL
14 KiB
JSON

{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["trimmer","stopWordFilter"]},"docs":[{"location":"architecture/","title":"Architecture","text":""},{"location":"architecture/#yuyu-architecture","title":"Yuyu Architecture","text":""},{"location":"architecture/#yuyu-components","title":"Yuyu Components","text":"<p>Yuyu have two components for running bellow :</p>"},{"location":"architecture/#1-yuyu-server","title":"1. Yuyu Server","text":"<p>Yuyu server provide ability to manage openstack billing by listening to every openstack event. Yuyu server is a required component to use Yuyu Dashboard. There are 3 main component in Yuyu server: API, Cron, Event Monitor. More detail about Yuyu server at https://github.com/Yuyu-billing/yuyu</p> <ul> <li> <p>Yuyu API : Main component to communicate with Yuyu Dashboard.</p> </li> <li> <p>Yuyu Cron : Provide invoice calculation and rolling capabilities that needed to run every month.</p> </li> <li> <p>Yuyu Event Monitor : Monitor event from openstack to calculate billing spent.</p> </li> </ul>"},{"location":"architecture/#2-yuyu-dashboard","title":"2. Yuyu Dashboard","text":"<p>Yuyu dashboard is a panel at openstack dashboard that is used to manage your openstack bills. More detail about Yuyu server at https://github.com/Yuyu-billing/yuyu_dashboard</p>"},{"location":"billing-overview/","title":"Billing overview","text":"<p>The billing overview page is displayed in graphical form for easy viewing of total resources, active resources, and prices charged. This page can be seeing in Admin &gt; Billing &gt; Billing Overview.</p> <p></p>"},{"location":"billing-settings/","title":"Billing Invoices Settings","text":"<p>For company profile you can set on admin settings menu like bellow :</p> <p></p>"},{"location":"contact/","title":"Contact","text":""},{"location":"contact/#we-like-to-create-things-with-fun-open-minded-people-feel-free-to-ask","title":"We like to create things with fun, open-minded people. Feel free to ask!","text":"<p>Contact : yuyubilling@gmail.com</p>"},{"location":"cost/","title":"Usages cost","text":"<p>The usage cost page will display your usage details.</p> <p></p>"},{"location":"demo/","title":"Demo","text":"<p>Our resources is free, you can use for see how it work Yuyu Billing on openstack, please follow guide bellow :</p>"},{"location":"demo/#demo-access","title":"Demo access","text":"<ul> <li>https://demo.yuyu-billing.dev/horizon/</li> </ul>"},{"location":"demo/#lab-credentials","title":"Lab Credentials","text":"<pre><code>username : demo\npassword : bMpZEwXbIFP0r1w\n</code></pre>"},{"location":"email_configuration/","title":"Email activating","text":"<p>Besides from notification center, we can receive billing invoice using email, for configuration </p> <ul> <li>Update local_settings.py configuration file</li> </ul> <pre><code>cd /var/yuyu/\nnano yuyu/local_settings.py\n</code></pre> <p></p> <ul> <li>Running dataabase migration</li> </ul> <pre><code>python manage.py migrate\n</code></pre> <ul> <li>After we configure email, now we received information from email</li> </ul> <p></p>"},{"location":"features/","title":"Features","text":""},{"location":"features/#admin-dashboard","title":"Admin Dashboard","text":""},{"location":"features/#1-price-configuration","title":"1. Price Configuration","text":"<p>You can set the price on your openstack feature on this page.</p> <p></p>"},{"location":"features/#2-project-overview","title":"2. Project Overview","text":"<p>This page will display a summary of the usage of all projects on your openstack.</p> <p></p>"},{"location":"features/#3-projects-invoice","title":"3. Projects Invoice","text":"<p>This page will show the total usage of openstack in each project every month.</p> <p></p>"},{"location":"features/#4-billing-settings","title":"4. Billing settings","text":"<p>Here for disable or enable billing setting</p> <p></p>"},{"location":"features/#project-dashboard","title":"Project Dashboard","text":""},{"location":"features/#1-overview","title":"1. Overview","text":"<p>Summary of the usage in a project.</p> <p></p>"},{"location":"features/#2-invoice","title":"2. Invoice","text":"<p>Your total openstack usage price</p> <p></p>"},{"location":"features/#3-usage-cost","title":"3. Usage Cost","text":"<p>Details of your openstack usage</p> <p></p>"},{"location":"installation/","title":"Installation","text":""},{"location":"installation/#1-yuyu-api-event-monitor","title":"1. Yuyu API &amp; Event Monitor","text":"<ol> <li>Clone the latest source code and put it on any directory you want. Here i assume you put it on /var</li> </ol> <p><pre><code>cd /var\ngit clone https://github.com/Yuyu-billing/yuyu.git\ncd yuyu\n</code></pre> 2. Create virtualenv (Need activated)</p> <p><pre><code>virtualenv env --python=python3.8\nsource env/bin/activate\npip install -r requirements.txt\n</code></pre> 3. Update local_settings.py configuration file</p> <pre><code>cp yuyu/local_settings.py.sample yuyu/local_settings.py\nvi yuyu/local_settings.py\n</code></pre> <p>Bellow for configuration : <pre><code>YUYU_NOTIFICATION_URL = \"rabbit://openstack:password@127.0.0.1:5672//\"\nYUYU_NOTIFICATION_TOPICS = [\"notifications\"]\n</code></pre></p> <p></p> <p>You can get YUYU_NOTIFICATION_URL from neutron.conf, bellow if using kolla-ansible deployment.</p> <p><pre><code>cat /etc/kolla/neutron-server/neutron.conf | grep transport_url\n</code></pre> 4. Run database migration</p> <p><pre><code>python manage.py migrate\n</code></pre> 5. Yuyu API installation <pre><code>./bin/setup_api.sh\nsystemctl enable yuyu_api\nsystemctl start yuyu_api\nsystemctl status yuyu_api\n</code></pre> 6. Yuyu Event Monitor installation</p> <p><pre><code>./bin/setup_event_monitor.sh\nsystemctl enable yuyu_event_monitor\nsystemctl start yuyu_event_monitor\nsystemctl status yuyu_event_monitor\n</code></pre> 7. Crontab installation</p> <pre><code>crontab -e\n</code></pre> <p>Add on the end file bellow :</p> <p><pre><code>1 0 1 * * /var/yuyu/bin/process_invoice.sh\n</code></pre> 8. Disable virtualenv</p> <p>Last step for Yuyu API is need disabled virtualenv.</p> <pre><code>deactivate\n</code></pre>"},{"location":"installation/#2-yuyu-dashboard","title":"2. Yuyu Dashboard","text":"<ol> <li>Clone Repository</li> </ol> <p><pre><code>cd /var\ngit clone https://github.com/Yuyu-billing/yuyu_dashboard.git\ncd yuyu_dashboard\n</code></pre> 2. Setup Yuyu dashboard </p> <p><pre><code>./setup_yuyu.sh\n\n...\nEnter horizon location and press ENTER.\nexample: /var/www/html/horizon\n...\n</code></pre> 3. Install Yuyu Dashboard Depencencies</p> <p><pre><code>pip3 install -r requirements.txt\n</code></pre> 4. Add config settings on horizon local_settings.py</p> <p><pre><code>vi /var/www/html/horizon/openstack_dashboard/local/local_settings.py\n</code></pre> <pre><code>YUYU_URL=\"http://yuyu_server_url:8182\"\nCURRENCIES = ('IDR',)\nDEFAULT_CURRENCY = \"IDR\"\n</code></pre></p> <p>For YUYU_URL you can use</p> <p><pre><code>YUYU_URL=\"http://127.0.0.1:8182\"\n</code></pre> 5. Restart Horizon <pre><code>systemctl restart apache2\n</code></pre> 6. Restart memcached (If dashboard login view not proper) <pre><code>systemctl restart memcached\n</code></pre></p>"},{"location":"installation/#verify-installation","title":"Verify Installation","text":"<p>Access Dashboard, make sure Billing tab available in the navigation pane dashboard, next step need enabled billing &amp; create pricing.</p>"},{"location":"introduction/","title":"Introduction","text":""},{"location":"introduction/#what-is-yuyu","title":"What is Yuyu ?","text":"<p>Yuyu is a plugin in openstack that makes it easy for you to manage your openstack bills.</p>"},{"location":"introduction/#what-does-yuyu-count","title":"What does yuyu count?","text":"<p>Yuyu can set a price for the following OpenStack feature bellow :</p>"},{"location":"introduction/#1-pricing","title":"1. Pricing","text":"<p>Yuyu can set a price for the following OpenStack feature.</p>"},{"location":"introduction/#2-instance-flavor","title":"2. Instance Flavor","text":"<p>You can set the price for each Flavor that you have. Each instance that uses a flavor will be counted for Billing. You still be charged for instance even if the instance is stopped unless you delete it.</p>"},{"location":"introduction/#3-volume","title":"3. Volume","text":"<p>You can set the price for each volume type per 1 GB. You will be charged for every allocation. The the space allocated will be rounded up before calculating the price. For example you have a volume of 2.3 GB, that volume will be counted as 3 GB.</p>"},{"location":"introduction/#4-floating-ip","title":"4. Floating IP","text":"<p>You can set the price for each Floating IP that you allocate. </p>"},{"location":"introduction/#5-router","title":"5. Router","text":"<p>You can set the price for each Floating IP you allocate that has an external gateway set. Only router that has an external gateway that will be counted, router without external gateway will not be Counted</p>"},{"location":"introduction/#6-snapshot","title":"6. Snapshot","text":"<p>You can set the price for each snapshot you take per 1 GB. Same with volume, the space allocated will be rounded up before calculating the price.</p>"},{"location":"introduction/#7-image","title":"7. Image","text":"<p>You can set the price for each image you create per 1 GB. Same with volume and Snapshot, the space allocated will be rounded up before calculating the price.</p>"},{"location":"invoice/","title":"Download invoices summary","text":"<p>For usages summary document pricing currently in Alpha version you can download by PDF document with step bellow :</p> <ul> <li>Firstly go to <code>Invoices</code> menu, you can use standard user or admin. And choose for months.</li> </ul> <p></p> <ul> <li>And then download your document</li> </ul> <p></p>"},{"location":"notification/","title":"Notification Center","text":""},{"location":"pre-installation/","title":"Pre-Installation","text":""},{"location":"pre-installation/#virtualenv","title":"Virtualenv","text":"<p>Make sure you installed virtualenv before installing Yuyu</p> <pre><code>pip3 install virtualenv\napt install python3.8\n</code></pre>"},{"location":"pre-installation/#openstack-service-notification","title":"Openstack Service Notification","text":"<p>You need to enable notification for this openstack service if ceilometer and gnochi service not activated:</p> <ul> <li>Nova (nova.conf)</li> <li>Cinder (cinder.conf)</li> <li>Neutron (neutron.conf)</li> <li>Keystone (keystone.conf)</li> </ul>"},{"location":"pre-installation/#1-nova","title":"1. Nova","text":"<p>Open <code>nova.conf</code> configuration on your controller environment <pre><code>sudo nano nova.conf\n</code></pre></p> <p>Add configuration below <code>oslo_messaging_notifications</code></p> <pre><code>driver = messagingv2 \ntopics = notifications\n</code></pre> <p></p> <p>And add configuration below on <code>notifications</code></p> <pre><code>notify_on_state_change = vm_and_task_state\nnotification_format = unversioned\n</code></pre> <p></p>"},{"location":"pre-installation/#2-cinder","title":"2. Cinder","text":"<p>Open <code>cinder.conf</code> configuration on your controller environment</p> <pre><code>sudo nano cinder.conf\n</code></pre> <p>Add configuration below on <code>oslo_messaging_notifications</code></p> <pre><code>driver = messagingv2 \ntopics = notifications\n</code></pre> <p></p>"},{"location":"pre-installation/#3-neutron","title":"3. Neutron","text":"<p>Open <code>neutron.conf</code> configuration on your controller environment</p> <pre><code>sudo nano neutron.conf\n</code></pre> <p>Add configuration below on <code>oslo_messaging_notifications</code></p> <pre><code>driver = messagingv2 \ntopics = notifications\n</code></pre> <p></p>"},{"location":"pre-installation/#4-keystone","title":"4. Keystone","text":"<p>Open <code>keystone.conf</code> configuration on your controller environment</p> <pre><code>sudo nano keystone.conf\n</code></pre> <p>Add configuration below on <code>oslo_messaging_notifications</code></p> <pre><code>driver = messagingv2 \ntopics = notifications\n</code></pre> <p></p>"},{"location":"prerequisites/","title":"Prerequisites","text":""},{"location":"prerequisites/#system-requirement","title":"System Requirement","text":"<p>Before installing Yuyu, let's assume we already have installed apps bellow :</p> <ul> <li>Openstack</li> <li>or Openstack with enabling ceilometer and gnochi service</li> <li>Virtualenv</li> <li>Linux environment with Systemd</li> </ul>"},{"location":"prerequisites/#openstack-deployment-support","title":"OpenStack deployment support","text":"<p>Until alpha version for openstack deployment support, we have tested on :</p> <ul> <li>Openstack using Kolla-Ansible</li> <li>Openstack using Devstack</li> <li>Openstack using Manual deployment</li> </ul>"},{"location":"prerequisites/#openstack-version-support","title":"OpenStack version support","text":"<p>Currently we have tested several openstack version to support yuyu :</p> <ul> <li>Ussuri =&gt; Working </li> <li>Xena =&gt; Working</li> <li>Yoga =&gt; Working </li> </ul>"},{"location":"prerequisites/#openstack-installation","title":"OpenStack Installation","text":"<p>For openstack you can follow our documentation, deploy openstack using koll-ansible bellow :</p> <p>Openstack Install Guide</p>"},{"location":"preusages/","title":"Pre-Usages","text":"<p>Before yuyu calculates your openstack usage, there are a few things to do.</p> <ol> <li> <p>Complete price configuration items. If the price configuration is not complete then the system will show a warning and billing cannot be activated. For it we can follow this guide.</p> </li> <li> <p>Enable billing. If billing is disabled, yuyu never calculate openstack usage. Billing can be enabled if the price configuration is completed. Can set with Tab Admin -&gt; Billing -&gt; Billing Setting &amp; Click Enable </p> </li> </ol> <p></p>"},{"location":"price/","title":"How to create pricing","text":"<p>Pricing feature for openstack you can manage bellow detail :</p> <ul> <li>Flavor</li> <li>Volume</li> <li>Snapshot</li> <li>Floating IP</li> <li>Router </li> <li>Images </li> </ul>"},{"location":"price/#create-price","title":"Create price","text":"<ul> <li>Firstly you need access to admin user, then to billing menu and click to <code>Price Configuration</code> and you can choose your feature for example Flavor pricing.</li> </ul> <ul> <li>Then create your custom pricing for hourly &amp; monthly: </li> </ul> <ul> <li>And you can see, success to create flavor pricing</li> </ul>"}]}