Dev-in-a-Box
Minimal evaluation site with no compute services
Intro
To get familiar with the setup procedures for chi-in-a-box, or to develop services, you can follow this (very) minimal setup guide.
Note: This doesn't include support for HAProxy, TLS, or any compute services (Nova, Ironic, or Zun). Please don't use this guide for a production site, as it compromises security and reliability for simplicity.
Prerequisites:
Baremetal or Virtual Machine with 4 cores, 8 gb ram, 40gb disk.
You must have a user account on the machine with passwordless sudo.
Installation
Prepare a working directory. We use
/opt
by convention. It must be writable by your current user.Clone the chi-in-a-box repo, install, and initialize your site-configuration
export an env var so you don't need to type "--site" for the remaining commands
Create a dummy loopback interface to bind services to. You can choose whatever interface name and IP you want. The name will be later used for the
network_interface
and the IP forkolla_internal_vip_address
in the next step.Edit
/opt/site-config/defaults.yml
to contain ONLY the following lines.Bootstrap the controller node, this will install apt packages, configure Docker, and modify /etc/hosts
Run prechecks to ensure common issues are avoided.
this will probably yell about nscd.service. If so, run the following, then rerun prechecks.
Next, we'll pull container images for all configured services. This is done by running:
We now need to generate the configuration that all of these services will use. This will combine the upstream defaults, contents of
chi-in-a-box
, and yoursite-config
, and template config files into/etc/kolla/<service_name>
If you've added additional configuration, this step can warn you about invalid or missing config values, before actually modifying any running containers.
Even if the step passes, you may want to inspect files under
/etc/kolla/
to make sure they match your expectations.
Finally, we want to deploy the containers for each service. This step will start each necessary container, including running one-off bootstrap steps. If you've updated any of the service configurations, this step will restart the relevant containers and apply that config. Technically, this step includes the
genconfig
step above, but it's mentioned separately for clarity.If all the steps so far have passed, all the core services should now be running! However, this isn't everything needed for a useful cloud.
post-deploy
consists of all the steps that require a functioning control plane. These include:Creating default networks
Creating compute "flavors"
Uploading default disk images for users to use
Installing various hammers and other utility services/cron-jobs.
To run this step, execute:
Use your site! You can access it by the following methods:
Horizon is listening on 127.0.0.1:80, you can access it by forwarding your browser over SSH, for example via sshuttle. The username is
admin
, and the password can be viewed by running the following command:You can use the Openstack CLI or API directly. The CLI tools are pre-installed in the chi-in-a-box virtualenv, and the admin credentials in an
admin-openrc
file in your site-config directory. Access the tools as follows:
Last updated