cfe024a210
The deploy_kernel* and deploy_ramdisk* variables were confusingly named because they looked similar to deploy_image. I've renamed them to ipa_kernel* and ipa_ramdisk* to reflect that they are the CoreOS kernel and ramdisk from IPA and have updated the documentation. I also cleaned up a minor issue where we defined a path for the local copies of the kernel and ramdisk but didn't use it in the install playbook. I've also removed deploy_image_upstream_url from the offline installation documentation as we no longer use it. Partial-Bug: 1478726 Change-Id: Ia8c865521974e6bdd9e8e6a3ffa4c5f6b1f2f6ad
66 lines
2.7 KiB
ReStructuredText
66 lines
2.7 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.
|
|
|
|
Ansible Specific Steps
|
|
----------------------
|
|
|
|
The script ``scripts/env-setup.sh`` will do a ``git clone`` to create
|
|
``/opt/stack/ansible``, if it doesn't already exist. You can use the
|
|
environment variables ``ANSIBLE_GIT_URL`` and ``ANSIBLE_GIT_BRANCH``
|
|
to override the source URL and the branch name to pull from.
|
|
|
|
Ansible uses Git submodules, which means if you are cloning from
|
|
anything other than the canonical location (GitHub), you'll need
|
|
to commit a patched ``.gitmodules`` to that repo so that submodules
|
|
are also cloned from an alternate location - otherwise, the submodules
|
|
will still try to clone from GitHub.
|
|
|
|
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
|
|
|
|
ipa_kernel_upstream_url: file:///vagrant/coreos_production_pxe.vmlinuz
|
|
ipa_ramdisk_upstream_url: file:///vagrant/coreos_production_pxe_image-oem.cpio.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.
|