はじめに
このブログでも何度か触れましたが、Ansible 2.10 から Python のパッケージとしては、ansible
と ansible-base
の2つができました。
ansible-base
は基本機能と約70の標準モジュールです。ansible
は ansible-base
と、元標準モジュール相当の collection のセットです。
ansible
は 9月に 2.10.0 がリリースされ、10月に 2.10.1 がリリースされました。pip
で --upgrade
するさいに、セットだったコレクションがどうなるか気になったのですが、試したところアップグレードされました。
あくまでも ansible-build-data
の定義に基づくようです。
この記事では具体的なログを掲載します。
■ 事前状態 (ansible 2.10.0)
インストール済み Python パッケージの確認
% pip freeze ansible==2.10.0 ansible-base==2.10.2 cffi==1.14.3 cryptography==3.1.1 Jinja2==2.11.2 MarkupSafe==1.1.1 packaging==20.4 pycparser==2.20 pyparsing==2.4.7 PyYAML==5.3.1 six==1.15.0
記憶が正しければ、ansible-base 2.10.2
のリリース前は、ansible 2.10.0
と ansible-base 2.10.1
だった気がします。
セットの collection の確認
ansible-build-data
の ansible-2.10.0.deps のとおりです。
(デフォルトで ~/.ansible/ansible_collection
インストールされるものとは別です)
% ansible-galaxy collection list -p ~/envs/a210/lib/python3.8/site-packages/ansible_collections/ # /Users/sakana/envs/a210/lib/python3.8/site-packages/ansible_collections Collection Version ------------------------- ------- amazon.aws 1.2.0 ansible.netcommon 1.2.1 ansible.posix 1.1.1 ansible.windows 1.0.0 arista.eos 1.0.3 awx.awx 14.1.0 azure.azcollection 1.0.0 check_point.mgmt 1.0.6 chocolatey.chocolatey 1.0.2 cisco.aci 1.0.0 cisco.asa 1.0.3 cisco.intersight 1.0.8 cisco.ios 1.0.3 cisco.iosxr 1.0.5 cisco.meraki 2.0.0 cisco.mso 1.0.0 cisco.nxos 1.1.0 cisco.ucs 1.5.0 cloudscale_ch.cloud 1.1.0 community.aws 1.2.0 community.azure 1.0.0 community.crypto 1.1.1 community.digitalocean 1.0.0 community.general 1.1.0 community.grafana 1.0.0 community.kubernetes 1.0.0 community.libvirt 1.0.0 community.mongodb 1.0.0 community.mysql 1.0.0 community.network 1.1.0 community.proxysql 1.0.0 community.rabbitmq 1.0.1 community.skydive 1.0.0 community.vmware 1.2.0 community.windows 1.0.0 community.zabbix 1.0.0 containers.podman 1.2.0 cyberark.conjur 1.0.7 cyberark.pas 1.0.5 dellemc.os10 1.0.1 dellemc.os6 1.0.2 dellemc.os9 1.0.2 f5networks.f5_modules 1.5.0 fortinet.fortimanager 1.0.5 fortinet.fortios 1.0.15 frr.frr 1.0.3 gluster.gluster 1.0.1 google.cloud 1.0.0 hetzner.hcloud 1.0.0 ibm.qradar 1.0.3 infinidat.infinibox 1.2.3 junipernetworks.junos 1.1.0 mellanox.onyx 1.0.0 netapp.aws 20.8.0 netapp.elementsw 20.8.0 netapp.ontap 20.8.0 netapp_eseries.santricity 1.0.8 netbox.netbox 1.0.2 ngine_io.cloudstack 1.0.1 ngine_io.exoscale 1.0.0 ngine_io.vultr 1.0.0 openstack.cloud 1.1.0 openvswitch.openvswitch 1.0.5 ovirt.ovirt 1.1.3 purestorage.flasharray 1.4.0 purestorage.flashblade 1.3.0 servicenow.servicenow 1.0.2 splunk.es 1.0.2 theforeman.foreman 1.1.0 vyos.vyos 1.0.4 wti.remote 1.0.1
■ アップグレード
% pip install ansible --upgrade Collecting ansible Using cached ansible-2.10.1.tar.gz (25.9 MB) Requirement already satisfied, skipping upgrade: ansible-base<2.11,>=2.10.2 in /Users/sakana/envs/a210/lib/python3.8/site-packages (from ansible) (2.10.2) Requirement already satisfied, skipping upgrade: jinja2 in /Users/sakana/envs/a210/lib/python3.8/site-packages (from ansible-base<2.11,>=2.10.2->ansible) (2.11.2) Requirement already satisfied, skipping upgrade: PyYAML in /Users/sakana/envs/a210/lib/python3.8/site-packages (from ansible-base<2.11,>=2.10.2->ansible) (5.3.1) Requirement already satisfied, skipping upgrade: cryptography in /Users/sakana/envs/a210/lib/python3.8/site-packages (from ansible-base<2.11,>=2.10.2->ansible) (3.1.1) Requirement already satisfied, skipping upgrade: packaging in /Users/sakana/envs/a210/lib/python3.8/site-packages (from ansible-base<2.11,>=2.10.2->ansible) (20.4) Requirement already satisfied, skipping upgrade: MarkupSafe>=0.23 in /Users/sakana/envs/a210/lib/python3.8/site-packages (from jinja2->ansible-base<2.11,>=2.10.2->ansible) (1.1.1) Requirement already satisfied, skipping upgrade: six>=1.4.1 in /Users/sakana/envs/a210/lib/python3.8/site-packages (from cryptography->ansible-base<2.11,>=2.10.2->ansible) (1.15.0) Requirement already satisfied, skipping upgrade: cffi!=1.11.3,>=1.8 in /Users/sakana/envs/a210/lib/python3.8/site-packages (from cryptography->ansible-base<2.11,>=2.10.2->ansible) (1.14.3) Requirement already satisfied, skipping upgrade: pyparsing>=2.0.2 in /Users/sakana/envs/a210/lib/python3.8/site-packages (from packaging->ansible-base<2.11,>=2.10.2->ansible) (2.4.7) Requirement already satisfied, skipping upgrade: pycparser in /Users/sakana/envs/a210/lib/python3.8/site-packages (from cffi!=1.11.3,>=1.8->cryptography->ansible-base<2.11,>=2.10.2->ansible) (2.20) Using legacy setup.py install for ansible, since package 'wheel' is not installed. Installing collected packages: ansible Attempting uninstall: ansible Found existing installation: ansible 2.10.0 Uninstalling ansible-2.10.0: Successfully uninstalled ansible-2.10.0 Running setup.py install for ansible ... done Successfully installed ansible-2.10.1 WARNING: You are using pip version 20.1.1; however, version 20.2.3 is available. You should consider upgrading via the '/Users/sakana/envs/a210/bin/python3 -m pip install --upgrade pip' command.
インストール済み Python パッケージの確認
ansible==2.10.0
だった箇所が ansible==2.10.1
になりました。
% pip freeze ansible==2.10.1 ansible-base==2.10.2 cffi==1.14.3 cryptography==3.1.1 Jinja2==2.11.2 MarkupSafe==1.1.1 packaging==20.4 pycparser==2.20 pyparsing==2.4.7 PyYAML==5.3.1 six==1.15.0
セットの collection の確認
ansible-build-data
の ansible-2.10.1.deps のとおりです。
たとえば、cisco.ios
collection は 1.0.3
から 1.1.0
になりました。
% ansible-galaxy collection list -p ~/envs/a210/lib/python3.8/site-packages/ansible_collections/ # /Users/sakana/envs/a210/lib/python3.8/site-packages/ansible_collections Collection Version ------------------------- ------- amazon.aws 1.2.1 ansible.netcommon 1.3.0 ansible.posix 1.1.1 ansible.windows 1.0.1 arista.eos 1.1.0 awx.awx 14.1.0 azure.azcollection 1.2.0 check_point.mgmt 1.0.6 chocolatey.chocolatey 1.0.2 cisco.aci 1.0.0 cisco.asa 1.0.3 cisco.intersight 1.0.8 cisco.ios 1.1.0 cisco.iosxr 1.1.0 cisco.meraki 2.0.0 cisco.mso 1.0.0 cisco.nxos 1.2.0 cisco.ucs 1.5.0 cloudscale_ch.cloud 1.2.0 community.aws 1.2.1 community.azure 1.0.0 community.crypto 1.2.0 community.digitalocean 1.0.0 community.general 1.2.0 community.grafana 1.0.0 community.kubernetes 1.1.1 community.libvirt 1.0.0 community.mongodb 1.0.0 community.mysql 1.1.0 community.network 1.2.0 community.proxysql 1.0.0 community.rabbitmq 1.0.1 community.skydive 1.0.0 community.vmware 1.3.0 community.windows 1.1.0 community.zabbix 1.0.0 containers.podman 1.3.1 cyberark.conjur 1.0.7 cyberark.pas 1.0.5 dellemc.os10 1.0.1 dellemc.os6 1.0.2 dellemc.os9 1.0.2 f5networks.f5_modules 1.5.0 fortinet.fortimanager 1.0.5 fortinet.fortios 1.0.15 frr.frr 1.0.3 gluster.gluster 1.0.1 google.cloud 1.0.1 hetzner.hcloud 1.1.0 ibm.qradar 1.0.3 infinidat.infinibox 1.2.3 junipernetworks.junos 1.1.1 mellanox.onyx 1.0.0 netapp.aws 20.9.0 netapp.elementsw 20.10.0 netapp.ontap 20.10.0 netapp_eseries.santricity 1.0.8 netbox.netbox 1.1.0 ngine_io.cloudstack 1.0.1 ngine_io.exoscale 1.0.0 ngine_io.vultr 1.0.0 openstack.cloud 1.2.0 openvswitch.openvswitch 1.0.5 ovirt.ovirt 1.1.4 purestorage.flasharray 1.4.0 purestorage.flashblade 1.3.0 servicenow.servicenow 1.0.2 splunk.es 1.0.2 theforeman.foreman 1.3.0 vyos.vyos 1.0.5 wti.remote 1.0.1
おわりに
もし、本体(ansible-base
)をそのままにして、collection のみをアップグレードしたい場合は、個別に ansible-galaxy collection install
するようになるのかなと思います。