a2f468c682
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
53 lines
2.2 KiB
ReStructuredText
53 lines
2.2 KiB
ReStructuredText
=======================
|
|
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:
|
|
|
|
.. code-block:: yaml
|
|
|
|
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.
|