cookbook 'abiquo', '= 0.5.0', :supermarket
Installs and configures an Abiquo platform
cookbook 'abiquo', '= 0.5.0'
knife supermarket install abiquo
knife supermarket download abiquo
This cookbook provides several recipes to install an upgrade an Abiquo platform. It allows to provision an Abiquo Monolithic, the Remote Services and a KVM hypervisor from scratch, as long as upgrading an existing Abiquo installation using the latest nightly builds.
- CentOS >= 6.5
This cookbook depends on the following cookbooks:
The cookbook contains the following recipes:
recipe[abiquo]- Installs an Abiquo Platform
recipe[abiquo::repository]- Configures the Abiquo yum repositories
recipe[abiquo::install_monolithic]- Installs an Abiquo Monolithic
recipe[abiquo::install_remoteservices]- Installs the Abiquo Remote Services
recipe[abiquo::install_kvm]- Installs the KVM hypervisor
recipe[abiquo::setup_monolithic]- Configures the Abiquo Server
recipe[abiquo::setup_remoteservices]- Configures the Abiquo Remote Services
recipe[abiquo::setup_kvm]- Configures the KVM hypervisor
recipe[abiquo::upgrade]- Upgrades an Abiquo Platform
recipe[abiquo::install_database]- Installs the Abiquo database
recipe[abiquo::install_jce]- Installs the JCE unlimited strength jurisdiction policy files
recipe[abiquo::monitoring]- Installs an Abiquo monitoring node with KairosDB and Cassandra
recipe[abiquo::certificate]- Configures the SSL certificates
The following attributes are under the
||The profile to install: "monolithic", "remoteservices", "kvm" or "monitoring"||String||"monolithic"|
||The value for the datacenter id property||String||"Abiquo"|
||The path where the image repository is mounted||String||"/opt/vm_repository"|
||If set, the NFS repository to mount||String||nil|
||The Abiquo license to install||String||nil|
||Hash with additional Abiquo properties to add to the Abiquo configuration file||Hash||nil|
||The main Abiquo yum repository||String||"http://mirror.abiquo.com/abiquo/3.2/os/x86_64"|
||A yum repository with nightly builds||String||nil|
||The database host used when running the database upgrade||String||"localhost""|
||The database port used when running the database upgrade||Integer||3306|
||The database user used when running the database upgrade||String||"root"|
||The database password used when running the database upgrade||String||nil|
||Install the database when installing the Monolithic profile||Boolean||true|
||Run the database upgrade when upgrading the monolithic profile||Boolean||true|
||The address of the RabbitMQ server||String||"127.0.0.1"|
||The port of the RabbitMQ server||Integer||5672|
||The username of the RabbitMQ server||String||"guest"|
||The password of the RabbitMQ server||String||"guest"|
||The address of the Redis server||String||"127.0.0.1"|
||The port of the Redis server||Integer||6379|
||If full virtualization is used in the KVM hypervisors||Boolean||false|
||In a KVM, the port where the Abiquo AIM agent will listen||Integer||8889|
||The port where the Tomcat listens to HTTP traffic||Integer||8009|
||The port where the Tomcat listens to AJP traffic||Integer||8010|
||If Chef will wait for the webapps to be running after restarting Tomcat||Boolean||false|
||The path to the SSL certificate||String||"/etc/pki/tls/certs/ca.cert"|
||The path to the certificate's key||String||"/etc/pki/tls/private/ca.key"|
||The host where KairosDB is running||String||"localhost"|
||The host where KairosDB is listening||Integer||8080|
||The version of KairosDB to install in the monitoring node||String||"0.9.4"|
||The release of the configured KairosDB version to install in the monitoring node||String||"6"|
||The name for the Cassandra cluster in the monitoring node||String||"abiquo"|
Resources and providers
The Abiquo cookbook provides the following LWRPs:
This LWRP will make the Chef run wait until the configured webapp is started.
host- The address where the webapp is running
port- The port where the webapp is listening
webapp- The name of the webapp
open_timeout- The timeout to open a connection to the webapp
read_timeout- The timeout to read from a connection to the webapp
abiquo_wait_for_webapp "api" do host "localhost" port 8009 retries 3 # Retry if Tomcat is still not started retry_delay 5 action :wait end
This LWRP will make the Chef run wait until the configured port is open.
host- The address where the service is running
port- The port where the service is listening
service- The name of the service
delay- The delay in seconds between retries
timeout- The timeout for a connection to be considered failed
abiquo_wait_for_port "cassandra" do host "localhost" port 9160 delay 10 timeout 5 action :wait end
The cookbook is pretty straightforwatd to use. Just set the
according to the profile you want to install or upgrade and and include one of the following recipes
in the run list:
recipe[abiquo]- To perform an installation from scratch
recipe[abiquo::upgrade]- To upgrade an existing installation
recipe[abiquo::monitoring]- To install a monitoring node with KairosDB and Cassandra
When installing the Abiquo Monolithic profile, you may also want to set the
attribute to match the hostname of the node. You can also use it together with the hostname cookbook to make sure the node will have it properly configured.
bundle install bundle exec rake # Run the unit and style tests bundle exec rake kitchen # Run the integration tests
License and Authors
- Author:: Ignasi Barrera (firstname.lastname@example.org)
Copyright:: 2014, Abiquo
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
|yum >= 0.0.0|
|selinux >= 0.0.0|
|selfsigned_certificate >= 0.0.0|
|java-management >= 0.0.0|
|iptables >= 0.0.0|
|cassandra-dse >= 0.0.0|
|ark >= 0.0.0|
|apache2 >= 0.0.0|
There are no cookbooks that are contingent upon this one.
- Configured the firewall in the kvm profile.
- Upgrade the database using the abiquo-liquibase script.
- Added integration tests with ServerSpec.
- Added a recipe to install a monitoring node.
- Upgraded base repositories to 3.6.
- Use the rpm signing keys from the abiquo-release-ee package.
- Removed the start, stop and update recipes.
- Changed the upgrade recipe to also upgrade the database.
- Added database configuration attributes.
- Added the abiquo-updates yum repository.
- Configured the rpm GPG sign keys that are not present in the abiquo-release-ee package.
- Fixed encofing in the UI configuration file.
- Fixed the NFS resource.
- Added support for Abiquo 3.3.
- Install Java and RabbitMQ from the Abiquo repositories.
- Added all missing signatures to the repository configuration.
- Configured the cookbook to install Abiquo 3.3.
- Support Java 8.
- Support using JCE unlimited strength encryption policies.
- Allow customization of the RabbitMQ and Redis properties.
- Dropped support to configure the Abiquo Tomcat in jpda mode.
- Redis is installed from the Abiquo packages.
- Initial release. Support for Monolithic installations from scratch and platform upgrades using nightly builds.
0.5.0 passed this metric
0.5.0 passed this metric