diff options
author | Dmitry Tantsur <dtantsur@protonmail.com> | 2019-08-28 16:07:01 +0200 |
---|---|---|
committer | Dmitry Tantsur <dtantsur@protonmail.com> | 2019-08-28 19:46:37 +0200 |
commit | e446a5e6c42c22bce541310dcdace2e37f2ce86d (patch) | |
tree | c5b5c96fa34b29f496943f44111ed2601bb05795 /doc/source | |
parent | 5271064c7647e43e4e344ee79d812e17d5d2fc4f (diff) | |
download | ironic-python-agent-e446a5e6c42c22bce541310dcdace2e37f2ce86d.tar.gz |
Remove support for CoreOS images
Change-Id: Id9737067c678d4d01b20eae0b4a681c6cf9171a8
Diffstat (limited to 'doc/source')
-rw-r--r-- | doc/source/admin/rescue.rst | 9 | ||||
-rw-r--r-- | doc/source/admin/troubleshooting.rst | 73 | ||||
-rw-r--r-- | doc/source/install/index.rst | 54 |
3 files changed, 14 insertions, 122 deletions
diff --git a/doc/source/admin/rescue.rst b/doc/source/admin/rescue.rst index 13658174..f4e351f0 100644 --- a/doc/source/admin/rescue.rst +++ b/doc/source/admin/rescue.rst @@ -28,12 +28,10 @@ in rescue mode. The below has information about supported images that may be built to use rescue mode. -CoreOS ------- +DIB +--- -The CoreOS image supports rescue mode when used with DHCP tenant networks. You -may follow the normal process for `building a CoreOS ironic-python-agent -image`_ to create an image that supports rescue mode. +The DIB image supports rescue mode when used with DHCP tenant networks. After the ``finalize_rescue`` command completes, DHCP will be configured on all network interfaces, and a `rescue` user will be created with the specified @@ -49,5 +47,4 @@ After the ``finalize_rescue`` command completes, DHCP will be configured on all network interfaces, and a `rescue` user will be created with the specified ``rescue_password``. -.. _`building a CoreOS ironic-python-agent image`: https://opendev.org/openstack/ironic-python-agent/src/branch/master/imagebuild/coreos/README.rst .. _`build a TinyIPA image`: https://opendev.org/openstack/ironic-python-agent-builder/src/branch/master/tinyipa/README.rst diff --git a/doc/source/admin/troubleshooting.rst b/doc/source/admin/troubleshooting.rst index 46eccfdd..d7437d56 100644 --- a/doc/source/admin/troubleshooting.rst +++ b/doc/source/admin/troubleshooting.rst @@ -13,16 +13,6 @@ the image. Below we will cover several ways to do this. Access via ssh -------------- -CoreOS -~~~~~~ -To enable the ``core`` user on pre-built or CoreOS images a ssh public key -will need to added. To do this you will need to: - -- Add ``sshkey="ssh-rsa AAAA..."`` to pxe_append_params setting in ironic.conf - file -- Restart the ironic-conductor with the command - ``service ironic-conductor restart`` -- ``ssh core@<ip-address-of-node>`` diskimage-builder (DIB) ~~~~~~~~~~~~~~~~~~~~~~~ @@ -72,43 +62,6 @@ Access via console If you need to use console access, passwords must be enabled there are a couple ways to enable this depending on how the IPA image was created: -CoreOS -~~~~~~ -CoreOS has support for auto login on the console [4]_. This can be enabled by: - -- Adding ``coreos.autologin`` to pxe_append_params setting - in the ``ironic.conf`` file. See [4]_ for more information on using - autologin. - -If you do not wish to enable auto login users can be added to CoreOS by editing -the cloud-config.yml file and adding the following [2]_:: - - users: - - name: username - passwd: $6$5s2u6/jR$un0AvWnqilcgaNB3Mkxd5... <example password hash> - groups: - - sudo - -If using a pre-built image the cloud-config.yml must first be extracted:: - - mkdir tmp_folder - cd tmp_folder - zcat ../coreos_production_pxe_image-oem-stable-mitaka.cpio | cpio --extract --make-directories - -To create a password hash the mkpasswd command can be used:: - - mkpasswd --method=SHA-512 --rounds=4096 - -After adding the user block with your favorite editor recompress the image:: - - find . | cpio --create --format='newc' |gzip -c -9 > ../coreos_production_pxe_image-oem-stable-mitaka.cpio.NEW.gz - -An alternative to editing the embedded cloud-config.yml [4]_ file is to pass a -new one on the kernel command line by: - -- adding ``cloud-config-url=http://example.com/cloud-config.yml`` - to pxe_append_params setting in the ``ironic.conf`` file - diskimage-builder (DIB) ~~~~~~~~~~~~~~~~~~~~~~~ Users wishing to use password access can be add the dynamic-login [0]_ or the @@ -131,7 +84,7 @@ Example:: export DIB_DEV_USER_USERNAME=username export DIB_DEV_USER_PWDLESS_SUDO=yes export DIB_DEV_USER_PASSWORD=PASSWORD - disk-image-create -o /path/to/custom-ipa debian ironic-agent devuser + ironic-python-agent-builder -o /path/to/custom-ipa -e devuser debian tinyipa ~~~~~~~ @@ -152,20 +105,6 @@ add ``ipa-debug=1`` to the kernel command line. To do this: - Restart the ironic-conductor with the command ``service ironic-conductor restart`` -Another method is to edit the cloud-config.yml file. IPA's instructions on -building a custom image can be found at [3]_. - -This essentially boils down to the following steps: - -#. ``git clone https://opendev.org/openstack/ironic-python-agent`` -#. ``cd ironic-python-agent`` -#. ``pip install -r ./requirements.txt`` -#. If not installed, please install the docker container engine. [5]_ -#. ``cd imagebuild/coreos`` -#. Edit ``oem/cloud-config.yml`` and add ``--debug`` to the end of the - ExecStart setting for the ironic-python-agent.service unit. -#. Execute ``make`` to complete the build process. - If the system is running and uses systemd then editing the services file will be required. @@ -183,14 +122,10 @@ Retrieving the IPA logs will differ depending on which base image was used. - logs will be found in the /var/log/ folder. -* Operating system that do use ``systemd`` (ie Fedora 22, CoreOS) +* Operating system that do use ``systemd`` (ie Fedora, CentOS, RHEL) - logs may be viewed with ``sudo journalctl -u ironic-python-agent`` - .. note:: - sudo is not required with the CoreOS images. - - Manually restart IPA ==================== @@ -208,7 +143,3 @@ References ========== .. [0] `Dynamic-login DIB element`: https://github.com/openstack/diskimage-builder/tree/master/diskimage_builder/elements/dynamic-login .. [1] `DevUser DIB element`: https://github.com/openstack/diskimage-builder/tree/master/diskimage_builder/elements/devuser -.. [2] `Add User to CoreOS`: https://coreos.com/os/docs/latest/adding-users.html -.. [3] `IPA image build reference`: https://github.com/openstack/ironic-python-agent/tree/master/imagebuild/coreos/README.rst -.. [4] `Booting CoreOS via PXE`: https://coreos.com/os/docs/latest/booting-with-pxe.html -.. [5] `Install docker engine`: https://docs.docker.com/engine/installation/ diff --git a/doc/source/install/index.rst b/doc/source/install/index.rst index 43455149..29b5b625 100644 --- a/doc/source/install/index.rst +++ b/doc/source/install/index.rst @@ -8,46 +8,19 @@ Unlike most other python software, you must build an IPA ramdisk image before use. This is because it's not installed in an operating system, but instead is run from within a ramdisk. -CoreOS ------- -One way to build a ramdisk image for IPA is with the CoreOS image [0]_. -Prebuilt copies of the CoreOS image, suitable for pxe, are available on -`tarballs.openstack.org <https://tarballs.openstack.org/ironic-python-agent/coreos/files/>`__. - -Build process -~~~~~~~~~~~~~ -On a high level, the build steps are as follows: - -1) A docker build is performed using the ``Dockerfile`` in the root of the - ironic-python-agent project. -2) The resulting docker image is exported to a filesystem image. -3) The filesystem image, along with a cloud-config.yml [1]_, are embedded into - the CoreOS PXE image at /usr/share/oem/. -4) On boot, the ironic-python-agent filesystem image is extracted and run - inside a systemd-nspawn container. /usr/share/oem is mounted into this - container as /mnt. - -Customizing the image -~~~~~~~~~~~~~~~~~~~~~ -There are several methods you can use to customize the IPA ramdisk: - -* Embed SSH keys by putting an authorized_keys file in /usr/share/oem/ -* Add your own hardware managers by modifying the Dockerfile to install - additional python packages. -* Modify the cloud-config.yml [1]_ to perform additional tasks at boot time. - diskimage-builder ----------------- -Another way to build a ramdisk image for IPA is by using diskimage-builder -[2]_. The ironic-agent diskimage-builder element builds the IPA ramdisk, which -installs all the required packages and configures services as needed. + +A production ready way to build a ramdisk image for IPA is by using +ironic-python-agent-builder_. The ``ironic-python-agent-ramdisk`` +diskimage-builder element builds the IPA ramdisk, which installs all the +required packages and configures services as needed. tinyipa ------- -Now, this method is provided -by `Ironic Python Agent Builder <https://opendev.org/openstack/ironic-python-agent-builder>`_ -repo. It provides a set of scripts to build a +Now this method is provided by ironic-python-agent-builder_ +repository. It provides a set of scripts to build a Tiny Core Linux-based deployment kernel and ramdisk (code name ``tinyipa``) under ``tinyipa`` folder. @@ -74,15 +47,12 @@ packaged with IPA, pass it an initrd and kernel. e.g.:: ./iso-image-create -o /path/to/output.iso -i /path/to/ipa.initrd -k /path/to/ipa.kernel This is a generic tool that can be used to combine any initrd and kernel into -a suitable ISO for booting, and so should work against any IPA ramdisk created --- both DIB and CoreOS. +a suitable ISO for booting, and so should work against any IPA ramdisk. IPA Flags ========= You can pass a variety of flags to IPA on start up to change its behavior. -If you're using the CoreOS image, you can modify the -ironic-python-agent.service unit in cloud-config.yaml [3]_. * ``--standalone``: This disables the initial lookup and heartbeats to Ironic. Lookup sends some information to Ironic in order to determine Ironic's node @@ -186,13 +156,7 @@ Operators wishing to build their own hardware managers should reference the documentation available at `Hardware Managers`_. .. _Hardware Managers: https://docs.openstack.org/ironic-python-agent/latest/contributor/hardware_managers.html - -References -========== -.. [0] CoreOS PXE Images - https://coreos.com/docs/running-coreos/bare-metal/booting-with-pxe/ -.. [1] CoreOS Cloud Init - https://coreos.com/docs/cluster-management/setup/cloudinit-cloud-config/ -.. [2] DIB Element for IPA - https://docs.openstack.org/diskimage-builder/latest/elements/ironic-agent/README.html -.. [3] cloud-config.yaml - https://opendev.org/openstack/ironic-python-agent/src/branch/master/imagebuild/coreos/oem/cloud-config.yml +.. _ironic-python-agent-builder: https://docs.openstack.org/ironic-python-agent-builder Indices and tables ================== |