Frequently Asked Questions
Setup and Configuration
How do I set the binary logs configuration and save disk space?
The binary log files are stored in /var/lib/mysql. Binary log is used for recovering data and replication.
Disabling MySQL binlogging
1. Open my.cnf using the following command: # vi /etc/my.cnf
2. Find the following lines and remove or comment it.
#log_bin = /var/log/mysql/mysql-bin.log
#expire_logs_days = 10
#max_binlog_size = 100M
3. Save and close the file.
4. Restart mysql server using the following command: # service mysql restart
Note: Disabling MySQl binlogging is not recommended if you are replicating.
Purging Master Logs
If you are replicating, then you need to periodically reset master or purge master logs to clear out the old logs as they are necessary for replication. mysql-bin.index stores a list of all binary logs which mysqld generates and auto-rotates. To clear the binlogs in conjunction with mysql-bin.index:
1. Purge the master logs using the following commands.
PURGE BINARY LOGS TO 'binlogname';
PURGE BINARY LOGS BEFORE 'datetimestamp';
For example,
PURGE BINARY LOGS TO 'mysql-bin.000123';
This will erase all binary logs before 'mysql-bin.000123'.
PURGE BINARY LOGS BEFORE DATE(NOW() - INTERVAL 5 DAY) + INTERVAL 0 SECOND;
This will erase all binary logs before midnight 5 days ago.
2. To delete binlog automatically and store five days' log, set the following:
mysql> SET GLOBAL expire_logs_days = 5;
3. Add this to /etc/my.cnf file.
[mysqld]
expire-logs-days=5
How to setup redundant CPBM management server?
Both instances will need to be behind a load balancer and a few settings need to be modified in cloud.properties:
vmops.jms.url=tcp://x.x.x.x:9125(by default this is set to tcp://localhost:9125, you must change it to the IP of the server)
vmops.jms.client.url=failover:(tcp://server1:9125,tcp://server2:9125)(you must add, in the same order on each server, the list of CPBM server(s) that are part of the installation: server1 and server2 can be either FQDNs or IP addresses)
vmops.mgmt.server.publicHost=xxx(this is the FQDN/IP on which the load balancer listens for incoming requests)
vmops.mgmt.server.publicPort=xxx(this is the port on which the load balancer listens for incoming requests)
vmops.mgmt.server.publicProtocol=http/https(this is the protocol on which the load balancer listens for incoming requests)
What functionality breaks if /client is not on the same FQDN as /portal?
If there is a different FQDN for CPBM and CloudPlatform, you will run into problems. For example, you are using cpbm.company.com for CPBM and cloudplatform.company.com for CloudPlatform. Admin logs into the portal at https://cpbm.company.com/portal. After clicking the Launch Cloud Console button, user is directed to https://cloudplatform.company.com/client. However, CloudPlatform will now try to make AJAX calls through the CPBM API proxy, which it assumes is at https://cloudplatform.company.com/portal/client. This will fail because /portal is not a valid location on the CloudPlatform server.
Which is the location to see the log for a Payment Gateway Charges failure?
The errors can be seen in regular logs such as catalina.out as well as specifically in BillingActivity.log which is present in the same directory as catalina.out . So for your reference you should be able to see it in /tmp/BillingActivity.log.
How to change the Service Provider logo in CPBM?
- Set the image path in the global configuration, example: /custom/images
- Create the folder /custom/images on each CPBM host
- Login as root user and select customize logo
- Select the logo that must be used
What is CAS? Why does CPBM need it?
- An open and well-documented protocol
- An open-source Java server component
- A library of clients for Java, .Net, PHP, Perl, Apache, uPortal, and others
- Integrates with uPortal, BlueSocket, TikiWiki, Mule, Liferay, Moodle and others
- Community documentation and implementation support
- An extensive community of adopters
For more information, visit http://www.jasig.org/cas
What is CAS technically: CAS is an Enterprise Java solution to web application authentication that also provides the benefit of SSO. Technically, SSO can be achieved because the authentication can be removed from the web application and handled centrally. And, when this authentication is handled by a single service, access to many services can be granted once and "remembered" for the life of the web session or even longer though not recommended. Also remember that the SSO feature does not have to be employed and yet CAS authentication still provides a quality authentication mechanism. CAS is a collaborative effort that has produced a very solid central authentication service using the Java development platform. CAS also provides a broad selection of clients for use with all of the enterprise and scripted web technologies. For more information, visit https://wiki.jasig.org/display/CASUM/Technical+Overview
Why does CPBM need CAS: CPBM supports the use of CAS for SSO, which enables access to multiple password protected systems after logging in just once.
What languages does CPBM support out-of-the-box (OOB)?
- English, en_US
- Japanese, jp
- German, de_DE
- Simplified Chinese, zh_CN
- Korean, kr
- International Spanish, es
- Brasilian Portuguese, pt_BR
- French, fr
How to change default channel?
- Go to Configuration > Account Management > default.channel
- Specify the channel name that you want to make default channel
The existing account will point to the old channel. You do not have to restart the server for reflecting the changes.
How to configure CPBM to access internet via proxy address?
- Go to the path /usr/share/vts3/bin/
- Edit the dmk.sh file as follows:
$JAVA_OPTS -Dhttp.proxyHost=<IP Address of Proxy Host> -Dhttp.proxyPort=8080 -Xbootclasspath/p:$KERNEL_HOME/endorsed/com.springsource.javax.mail-1.4.0.jar
How to update timezone in CPBM server?
- Go to the path /usr/share/vts3/bin/
- Edit the dmk.sh file as follows:
$JAVA_OPTS -Duser.timezone=<Update you timezone ID here> -Xbootclasspath/p:$KERNEL_HOME/endorsed/com.springsource.javax.mail-1.4.0.jar
The Tomcat Server from a CPBM host is configured to use a fixed value of 1024MB of RAM. Can I increase the assigned memory, if there is a lot of RAM available?
Yes. You can increase the -Xmx to half of the available RAM.
The values you see in the JVM options are default values and is the minimum requirement for the CPBM to run for POC or demo purposes. In production environment higher configurations are recommended.
What is the difference between "Scale up VM" and "Change Service" options?
- Scale up: This option enables you to increase the CPU and/or RAM size to change the service offering without stopping the VM
Note: You cannot decrease the CPU and/or RAM size.
- Change service: This option enables you to increase or decrease the CPU and/or RAM size to change the service offering only when the state of the VM is stopped
How to setup ActiveMQ accurately in a multinode setup?
- The ActiveMQ broker on the node comes up first and tries to acquire a lock on the cloud_portalmq database. If it acquires the lock then the broker gets started successfully, else it keeps on trying to acquire the lock. ActiveMQ broker uses the following configurations to connect to the cloud_portalmq database:
# JDBC URL for the MQ database vmops.mq.jdbc.url=jdbc:mysql://localhost/cloud_portalmq?relaxAutoCommit=true vmops.mq.jdbc.username=cloud vmops.mq.jdbc.password=cloud mq.jdbc.database.schemaname=cloud_portalmq
When the ActiveMQ broker gets started it is available at the following configuration:# URL to start the message broker at vmops.jms.url=tcp://localhost:9125
Note: All the configurations specified earlier are available in the cloud.properties file.
- The ActiveMQ listener comes up next and tries to connect to the available brokers. It uses the following configuration to connect to the broker:
vmops.jms.client.url=failover:(tcp://cpbmhost1:9125,tcp://cpbmhost2:9125)
This configuration provides all of the broker URLs in the cluster. The listener tries to connect to the broker in the 'failsafe' mode, which means that it tries to connect to first broker and if it is not successful then tries to connect to the second broker.Note: It is very important to note here that all the nodes must allow other nodes to connect on port 9125. So make sure that nodes are able to connect to each other on port 9125.
In a multinode setup, the node that comes up first gets the lock on the cloud_portalmq database and becomes the master broker. The other nodes become slave and keep trying to acquire the lock. If the master broker goes down, one of the slave, which gets the lock on cloud_portalmq first, becomes the master broker. JMS listener on all the nodes starts listening to the master broker. When the master broker is down the listener tries to listen to next broker provided in config vmops.jms.client.url
Why does CloudPortal Business Manager service take too long to start?
From all the CPBM nodes in a cluster only one node has the ActiveMQ broker running on port 9125. The other nodes keep waiting and can start the ActiveMQ broker only when the first node goes down. So, at any given moment of time only one node has the ActiveMQ broker running on port 9125 and all the other nodes push their messages to this broker.
Account Management
When does an account get suspended/restricted?
- The SpendLimit is crossed
- The campaign has expired
- The payment failure threshold has reached
How to reset the locked Root user account?
- Set failed_login_attempts=0 in users table in cloud_portal schema as follows:
UPDATE cloud_portal.users SET failed_login_attempts = 0, enabled = 1, locked = 0 WHERE id = 1;
- Open a new browser session (different browser or incognito window) to login
How to reset CPBM root password when it is not the default?
- If the root email is set properly, reset password will work
- If the root email is not set properly, run the following SQLquery:
update cloud_portal.users set salt='1300869425505AbRaCaDaBrA1943660404',password='b8bdee346e8d4eb0f02201e8751d24a324c89100'whereusername='root';
Product Management
Can there be bundles that include products from multiple cloud services?
A bundle can be used to provision only one resource. So you cannot have a bundle with multiple resources from across services. However, you can entitle (that is give away as part of) products from other services as part of a bundle. For example, you can create a VM bundle and include a few mailboxes.
How does "This product is replacing one or more products" work?
When selected, this product will not be available in a catalog until the catalog is synced and a new version is activated after that. This is done in conjunction with retiring one or more products as being replaced. This is required because in scenarios where a set of products are replaced by another set, the combined changes have to be automatically visible to the catalog/end customer.
What is the "Sync with Reference Catalog" feature?
The feature syncs the channel catalog with the current plan of the reference catalog. Charges are copied for the new products that come into being. Any new bundles created can be consumed in the channel catalog. Also, retired products are marked as retired in the channel catalog. Since syncing is a modification to the channel catalog plan, the changes will take effect only in the next plan of the channel catalog.
How to remove bundles in CPBM?
The service provider user with "Product create manage" role can unpublish the product bundle under the "Catalog" tab. Unpublishing makes the specific bundle unavailable to the user.
Why a service for a user cannot be enabled?
- If the user does not have appropriate cloud roles enabled, the services does not get enabled for that user
- If the master user of the account has not enabled a cloud service for the account, then the users in the specific account cannot see those services
- Sometimes if the cloud service instance is down/inaccessible while activating the user, the services will not be registered. In that case contact your master user to enable them manually
As a Product Manager, how to preview the catalog before activating the channel?
- Login as root/product manager
- Navigate to Channels > Select Channel > Catalog > Next Planned Version/Current/History
- Choose Preview Catalog option from the gear icon
How to modify prices for bundles and products?
- Login as root
- Navigate to Channels > Select Channel > Catalog > Next Planned Version
- Click Utility Card > Edit Pricing if you want to modify the product price
- Click Bundle > Edit Pricing if you want to modify the bundle price
- Click Schedule Activation and specify the new date
- Select Preview Catalog to verify the changes
How to upload product/bundle images?
- Create a directory on the CPBM server and provide write permissions
- Login as root
- Go to Administration > Portal > Settings
- Set the directory path
How to enable initial deposit for a account?
- Login as root user
- Navigate to the Administration > Account Types
- Select the Account Type
- Click on On-boarding Controls > Edit
- Enable Initial Deposit Required
When does the usage price show zero for a product?
- The entitlements provided are unlimited/more than usage
- The utility price for the product is set to zero
How to cancel a credit that is issued?
- Login as root/finance admin
- Select the account for which credit is issued
- Navigate to tenant's dashboard
- Click Payments tab
- Click Cancel Credit
How to improve the overall performance of the CPBM UI pages?
- Ensure that the connection is not getting closed in response to HTTP requests made from CPBM pages. This can be verified by using tools such as Firebug and by looking into response headers. The value of header "Connection" should be "keep-alive". If the value of the header is "closed", then check the configuration at reverse proxy server (web server) and make sure that connection is alive.
- Example: (Apache web server)
KeepAlive On
- Example: (Apache web server)
- Enable compression of response at the reverse proxy server (web server).
- Example: (Apache web server)
SetOutputFilter DEFLATE AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml text/json application/x-javascript
- Example: (Apache web server)
Comments