bifrost/doc/source/offline-install.rst
Peter Martini a2f468c682 Move explicit URLs in ironic-install to defaults
To facilitate offline installs, any explicit URLs should be
moved to a location where they can be easily overridden with
a local equivalent.

That way, a default install will use the canonical location, but
a user can easily override this behavior in inventory.

(Such gymnastics are not necessary for apt/yum/pip, because those
can be configured to point to local/alternate repositories independently).

** WIP - Needs *better* documentation **

Change-Id: I9dada2fe769e30abc06dac092b9f47b99969a954
Closes-Bug: #1464787
2015-06-18 08:09:43 -04:00

2.2 KiB

Bifrost Offline Install

The ansible scripts that compose Bifrost download and install software via a number of means, which generally assumes connectivity to the internet.

That connectivity is not required.

If you want or need to install Bifrost without having a dependency on a connection to the internet, there are a number of steps that you will need to follow (many of which may have already been done in your environment anyway).

Those steps can be broken down into two general categories; the first being steps that need to be done in your inventory file, and the second being steps that need to be done on your target host outside of Ansible.

Bifrost Specific Steps

As a general rule, any URL referenced by Bifrost scripts is configured in a playbook/roles/<role>/defaults/main.yml file, which means that all of those can be redirected to point to a local copy by creating a file named playbooks/host_vars/<hostname>.yml and redirecting the appropriate variables.

As an example, my current file looks like:

deploy_kernel_upstream_url: file:///vagrant/coreos_production_pxe.vmlinuz
deploy_ramdisk_upstream_url: file:///vagrant/coreos_production_pxe_image-oem.cpio.gz
deploy_image_upstream_url: file:///vagrant/ubuntu-14.04-server-cloudimg-amd64.tar.gz
cirros_deploy_image_upstream_url: file:///vagrant/cirros-0.3.4-x86_64-disk.img
dib_git_url: file:///vagrant/git/diskimage-builder
ironicclient_git_url: file:///vagrant/git/python-ironicclient
shade_git_url: file:///vagrant/git/shade
ironic_git_url: file:///vagrant/git/ironic

If this list becomes out of date, it's simple enough to find the things that need to be fixed by looking for any URLs in the playbook/roles/<role>/defaults/main.yml files, as noted above.

External Steps

Bifrost doesn't attempt to configure apt, yum, or pip, so if you are working in an offline mode, you'll need to make sure those work independently.

pip in particular will be sensitive; Bifrost tends to use the most recent version of python modules, so you'll want to make sure your cache isn't stale.