From 85be272e7d6afde6d1d6fef97a7aab91baf84940 Mon Sep 17 00:00:00 2001 From: Artem Savinov Date: Wed, 24 Aug 2016 17:14:21 +0300 Subject: [PATCH] Add manifest to install custom repo on node with nsx packages We cannot distribute nsx-t packages together with the plugin. The user has to put packages in /var/www/naillgun/plugins/nsx-t-1.0/deployment_scripts/puppet/modules/nsxt/files/packages and we deploy custom repo with nsx-t packages on all openctack controller/compute nodes. Change-Id: I41dbb47bfa722061fc4b8b46ab8b94e6e3af8c94 --- .../puppet/manifests/create-repo.pp | 3 ++ .../modules/nsxt/files/packages/Release | 1 + .../puppet/modules/nsxt/files/pinning | 3 ++ .../modules/nsxt/manifests/create_repo.pp | 31 +++++++++++++++++++ deployment_tasks.yaml | 16 ++++++++++ 5 files changed, 54 insertions(+) create mode 100644 deployment_scripts/puppet/manifests/create-repo.pp create mode 100644 deployment_scripts/puppet/modules/nsxt/files/packages/Release create mode 100644 deployment_scripts/puppet/modules/nsxt/files/pinning create mode 100644 deployment_scripts/puppet/modules/nsxt/manifests/create_repo.pp diff --git a/deployment_scripts/puppet/manifests/create-repo.pp b/deployment_scripts/puppet/manifests/create-repo.pp new file mode 100644 index 0000000..87196cb --- /dev/null +++ b/deployment_scripts/puppet/manifests/create-repo.pp @@ -0,0 +1,3 @@ +notice('fuel-plugin-nsx-t: create-repo.pp') + +class { '::nsxt::create_repo': } diff --git a/deployment_scripts/puppet/modules/nsxt/files/packages/Release b/deployment_scripts/puppet/modules/nsxt/files/packages/Release new file mode 100644 index 0000000..a61129e --- /dev/null +++ b/deployment_scripts/puppet/modules/nsxt/files/packages/Release @@ -0,0 +1 @@ +Label: nsx-t-protected-packages diff --git a/deployment_scripts/puppet/modules/nsxt/files/pinning b/deployment_scripts/puppet/modules/nsxt/files/pinning new file mode 100644 index 0000000..ddaf1ce --- /dev/null +++ b/deployment_scripts/puppet/modules/nsxt/files/pinning @@ -0,0 +1,3 @@ +Package: * +Pin: release l=nsx-t-protected-packages +Pin-Priority: 9000 diff --git a/deployment_scripts/puppet/modules/nsxt/manifests/create_repo.pp b/deployment_scripts/puppet/modules/nsxt/manifests/create_repo.pp new file mode 100644 index 0000000..199e9b6 --- /dev/null +++ b/deployment_scripts/puppet/modules/nsxt/manifests/create_repo.pp @@ -0,0 +1,31 @@ +class nsxt::create_repo ( + $repo_dir = '/opt/nsx-t-repo', + $repo_file = '/etc/apt/sources.list.d/nsx-t-local.list', + $repo_pref_file = '/etc/apt/preferences.d/nsx-t-local.pref', +) { + file { $repo_dir: + ensure => directory, + mode => '0755', + source => "puppet:///modules/${module_name}/packages", + recurse => true, + force => true, + } + file { $repo_file: + ensure => file, + mode => '0644', + content => "deb file:${repo_dir} /", + replace => true, + } + file { $repo_pref_file: + ensure => file, + mode => '0644', + source => "puppet:///modules/${module_name}/pinning", + replace => true, + } + exec { 'Create repo': + path => '/usr/sbin:/usr/bin:/sbin:/bin', + command => "cd ${repo_dir} && dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz", + provider => 'shell', + require => File[$repo_dir], + } +} diff --git a/deployment_tasks.yaml b/deployment_tasks.yaml index 9eb626a..eaf0307 100644 --- a/deployment_tasks.yaml +++ b/deployment_tasks.yaml @@ -1,3 +1,19 @@ +- id: nsx-t-create-repo + version: 2.0.0 + type: puppet + groups: + - primary-controller + - controller + - compute + required_for: + - pre_deployment_end + requires: + - pre_deployment_start + parameters: + puppet_manifest: puppet/manifests/create-repo.pp + puppet_modules: puppet/modules + timeout: 120 + - id: nsx-t-install-plugin version: 2.0.0 type: puppet